←2007-09-01 2007-09-02 2007-09-03→ ↑2007 ↑all
00:00:08 <oklopol> making all in/po/pr/fi - conversions would be 12
00:00:26 <oklopol> and that's a bit tedious when i could just wrap over prefix and have one for each
00:00:58 <oklopol> also, i'm going to generalize fixes when i have the time, and just have >>> convert <fix code>-<fix code> <expression>
00:01:46 <oklopol> plus the regex thing for specifying what's ws and what's objoken/funcoken, but i said that already
00:01:59 <oklopol> anyway, did anyone ever make a server?
00:02:01 <oklopol> irc server
00:02:34 <oklopol> pikhq: i know what you were trying to do, but just right after i'd first misunderstood and already replied :)
00:03:39 <oklopol> the inverse is pretty trivial if you don't sweat about redundant parens
00:05:18 <oklopol> how the fuck can a simple server-client code be over 10 lines long o_O
00:05:25 <oklopol> isn't python supposed to be concise...
00:07:33 <bsmntbombdood> WHY can't i fly this plain
00:07:51 <pikhq> A simple Tcl server is 7 lines. . .
00:07:58 <pikhq> http://wiki.tcl.tk/15315
00:08:08 -!- sebbu has quit ("@+").
00:08:23 <pikhq> Just a proc to accept new connects, bind the proc to a socket, and start the event loop. Easy.
00:08:36 <bsmntbombdood> that's not irc...
00:08:50 <oklopol> no, but that's a server
00:09:09 <oklopol> and irc server code is long of course
00:09:12 <pikhq> And oklopol was talking about barebones "accepts connections and does something" servers.
00:09:31 <pikhq> Well, yeah. Just getting the IRC parser & lexer up is a nice chunk of code.
00:09:36 <oklopol> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/200946 <<< like wtf is that
00:09:58 <oklopol> okay
00:10:02 <pikhq> Then you've got to get various parts of the server talking to each other, keeping state of which channels a person is in. . . Bit of a pain.
00:10:20 <pikhq> Wow, that's difficult.
00:10:29 <oklopol> that's not that long if you actually read it... but it's just server/client really isn't a task at all
00:10:40 <oklopol> it should be like WAITFOR <port number>
00:10:45 <pikhq> I *did* read it.
00:10:46 <oklopol> and CONNECT <port number>
00:11:07 <pikhq> Seems a bit excessive for to be Pythonic.
00:11:33 <pikhq> (admittedly, it's got a bit more than the Tcl example. . .)
00:11:58 <bsmntbombdood> i bet i could write an irc server in 100 lines in scchemes
00:12:06 <pikhq> Good luck with that.
00:12:16 <pikhq> I bet you'll need more for the IRC parser.
00:12:25 <oklopol> hmm... doubt that
00:12:30 <oklopol> split(" ")
00:12:32 <oklopol> :)
00:12:46 <oklopol> (i know, i know)
00:13:01 <bsmntbombdood> irc parsing in like 5 lines
00:25:36 <oklopol> kay... 6 lines and i have a connection
00:26:51 -!- ololobot has quit (Read error: 104 (Connection reset by peer)).
00:26:55 <oklopol> whoooops :D
00:27:25 -!- ololobot has joined.
00:36:34 <pikhq> bsmntbombdood: Dubious.
00:36:46 <pikhq> (well, unless you cheat, the Bison way. :p)
00:37:43 <bsmntbombdood> ?
00:38:11 <pikhq> Just specify the BNF syntax, and let some tool (or function) automagically parse from that.
00:38:26 <bsmntbombdood> irc syntax is regular
00:38:40 <bsmntbombdood> no need for bnf...
00:38:57 <pikhq> Oh, right.
01:50:28 -!- importantshock has joined.
01:58:31 <bsmntbombdood> yay i infinite looped my google earth plane
02:01:21 <bsmntbombdood> argh that's lame
02:01:42 <bsmntbombdood> it's says it can accelerate while going straight up, but it won't let me
02:18:51 <bsmntbombdood> and the maximum speed is only mach 1.3, not mach 2
02:28:49 <oklopol> wtf... in which case would print "m ========",m leave "m " out, like refuse to print the first characters of "m ========"
02:29:20 <oklopol> i'm doing a fucking string catenation and everything gets fucked up
02:29:51 -!- RodgerTheGreat has joined.
02:29:56 <RodgerTheGreat> howdy, everyone!
02:30:02 <RodgerTheGreat> I'm back from vacation!
02:30:02 <bsmntbombdood> finally!
02:30:09 <RodgerTheGreat> really?
02:30:13 <RodgerTheGreat> I was missed?
02:30:42 <oklopol> http://www.vjn.fi/pb/p513215652.txt <<< is there really something that can fuck up?
02:30:47 <oklopol> RodgerTheGreat: good to see you
02:32:17 <oklopol> the lines that should print "m = ..." fail to print "m "
02:32:33 <oklopol> and m=m+msg appends msg to the beginning of m
02:32:43 <oklopol> unless i'm really failing here, python is
02:33:19 <pikhq> The 3rd is the official PEBBLEversery.
02:35:52 <RodgerTheGreat> cool
02:36:21 <RodgerTheGreat> what are you going to do to celebrate, pikhq?
02:36:24 <pikhq> No idea.
02:36:32 <pikhq> Kinda nice that it's a Labor day, though.
02:37:19 <RodgerTheGreat> yeah
02:37:31 <RodgerTheGreat> almost as if everyone else is celebrating the anniversary with you
02:37:36 <pikhq> Hahah.
02:37:41 <RodgerTheGreat> with a little denial, you can have a great time
02:37:42 <pikhq> Way to go, US!
02:40:26 <oklopol> YAY, just learned the important lesson of never putting chr(13) in a python string...
02:47:50 <oklopol> basically, i debugged a function that catenates 2 strings and prints them for 2 ohurs
02:47:52 <oklopol> *hours
02:48:53 <oklopol> well, a bit over an hour, but anyway
02:49:34 <RodgerTheGreat> I've done things worse than that. Let me tell you a tale of a mergesort...
02:50:20 <RodgerTheGreat> my function started from a randomized array, made a copy, did shit, and then copied the sorted data back and returned the array (reasons for why become complicated.)
02:50:34 <RodgerTheGreat> anyway, I implement a mergesort... and it doesn't work
02:51:06 <RodgerTheGreat> 6 frustrating hours and at least 4 total rewrites later, I realize the problem wasn't with the SORT, I was copying back that wrong damn array!
02:54:20 <RodgerTheGreat> the lesson: when you start over on something, make sure you're starting over on all the right parts
02:54:48 <RodgerTheGreat> also, if I'd been smart enough to display more intermediate results on that one I might've figured it out faster
02:55:18 -!- Tritonio has quit (Remote closed the connection).
02:58:22 <oklopol> i had absolutely no idea where the problem could be... since i didn't know that chr(13) sometimes does carriage return and starts appending in the beginning of the string
02:58:37 <oklopol> "sometimes", because in my test runs, it doesn't do that
02:59:01 <oklopol> >>> print "oko"+chr(13)+"odo"
02:59:02 <oklopol> oko
02:59:27 <oklopol> but then again, why would it always work the same way
02:59:33 <oklopol> that'd be boring
03:00:57 <oklopol> also, i've been debugging for quite a while now just because i didn't bother to check what mirc SHOULD output @ connect
03:01:08 <oklopol> i just assumed it says something for every server reply
03:01:17 <oklopol> but nooooo, it just says for the first one
04:26:11 -!- poiuy_qwert has joined.
04:41:24 <oklopol> bsmntbombdood: i'm pretty sure you couldn't make an irc server that follows the spec completely in 100 lines
04:41:35 <oklopol> since there are over 100 lines of responces
04:41:43 <RodgerTheGreat> hm...
04:42:21 <RodgerTheGreat> depends on the language and the definition of a "line"
04:42:35 <oklopol> my irc server works now, though you can just join and change nick :P
04:42:44 <oklopol> and privmsg of course
04:42:59 <oklopol> RodgerTheGreat: usually line is 88 chars at most iirc
04:43:08 <oklopol> in shortness competitions
04:43:35 <RodgerTheGreat> hm
04:43:48 <oklopol> RodgerTheGreat: connect to my ip and join #test :P
04:44:09 <RodgerTheGreat> in a couple 20-line coding challenges, I've seen line defined as 255 characters or less
04:44:21 <oklopol> well that would be more sensible
04:44:31 <oklopol> i just recall it was 8x...
04:44:32 <RodgerTheGreat> usually with a max of 15 keywords or something like that
04:44:39 <RodgerTheGreat> maybe 80, like a terminal?
04:44:42 <oklopol> anyway, connect now! :)
04:44:44 <oklopol> yeah prolly
04:44:49 <RodgerTheGreat> alright, gimme a sec
04:45:02 <oklopol> you can't even /part yet :D
04:45:24 <oklopol> and i'm not sure if all clients will even work...
04:45:27 -!- rutlov has joined.
04:46:12 <RodgerTheGreat> normal IRC port?
04:46:16 <oklopol> 6667
04:46:18 <oklopol> yeah
04:46:20 <RodgerTheGreat> okles
04:50:27 -!- rutlov has left (?).
05:03:24 <RodgerTheGreat> http://en.wikipedia.org/wiki/Centralia%2C_Pennsylvania <- interesting article
05:03:53 <RodgerTheGreat> "There are no current plans to extinguish the fire, which is consuming an eight-mile seam containing enough coal to fuel it for 250 years."
05:05:03 <RodgerTheGreat> good night, everyone
05:05:55 <pikhq> Bonan nokton.
05:19:59 <pikhq> Everyone complains about the weather, but nobody does anything about it.
05:20:12 <pikhq> All in favor of designed a weather control device?
05:56:08 <oklopol> yeah, we need more rain
05:56:56 <bsmntbombdood> i meant line as wherever you normally put lines
05:58:59 <pikhq> We need to steal _Back to the Future, Part II_'s entire tech tree.
05:59:34 <bsmntbombdood> arr, no movies downloaded yet
05:59:54 <pikhq> (if nothing else, I want a flux capacitor)
06:06:15 -!- importantshock has quit (Remote closed the connection).
06:15:45 -!- jix_ has quit (Nick collision from services.).
06:16:03 -!- jix__ has joined.
06:27:43 <pikhq> Permission requested to change the topic in honor of PEBBLEversery on the 3rd. . .
06:37:32 <oklopol> PEBBLE!
06:38:47 * pikhq nods
07:54:23 -!- poiuy_qwert has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:20:58 -!- Tritonio has joined.
09:06:34 -!- sebbu has joined.
09:31:38 -!- sebbu2 has joined.
09:37:15 -!- sebbu has quit (Connection timed out).
09:37:16 -!- sebbu2 has changed nick to sebbu.
09:56:11 -!- RedDak has joined.
10:43:34 -!- RedDak has quit (Remote closed the connection).
12:12:57 -!- ehird` has joined.
12:30:51 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)).
12:48:10 -!- Tritonio has joined.
13:09:17 <ehird`> this is not happening
13:09:25 <ehird`> my site i made in 10 minutes is #1 on digg.
13:09:29 <ehird`> http://digg.com/playable_web_games/The_Most_Pointless_Website_Ever
13:11:08 <oklopol> wtf
13:11:20 <oklopol> are there 100 hits a second :|
13:12:10 <ehird`> login and look at the counter
13:12:16 <ehird`> (registering is just user and pass)
13:12:20 <ehird`> you can see the highscores going up
13:12:20 <ehird`> its crazy
13:12:24 <oklopol> i have logged in
13:12:27 <ehird`> ok
13:12:29 <ehird`> well yeah
13:12:34 <oklopol> that's... unbelievable :|
13:12:36 <ehird`> there are like 50 people logged into the digg account
13:12:42 <ehird`> i have no idea how it got to #1
13:12:47 <ehird`> but shit, im #1 on digg's front page.
13:13:04 <oklopol> how did you get ppl to know that page existed?
13:13:18 <ehird`> it started off in an irc channel
13:13:25 <ehird`> then i posted it on the forum whose irc channel it is
13:13:28 <ehird`> then someone posted it to digg
13:13:34 <ehird`> then other people on the forum digged it, then random people digged it
13:13:41 <ehird`> then it exploded
13:13:46 <ehird`> and got on the frontpage at the top
13:13:46 <oklopol> :DD
13:14:01 <ehird`> and i am very noble, not adding ads or anything
13:14:19 <ehird`> i want to code that shoutbox but i can't because it freezes the interface
13:14:20 <ehird`> :(
13:14:23 <ehird`> and i doubt all of them will refresh
13:14:47 <oklopol> darn
13:16:43 <oklopol> omg
13:16:50 <oklopol> i refreshed and the page died :P
13:18:58 <ehird`> i fixed it
13:19:00 <ehird`> in about 2 seconds
13:22:04 <oklopol> does the shoutbox work?
13:22:06 <oklopol> i mean
13:22:09 <oklopol> should it work now
13:22:42 <ehird`> no
13:22:44 <ehird`> it will soon
13:51:55 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
13:56:27 <ehird`> oh dear
13:56:29 <ehird`> /b/ found it
13:57:05 <oklopol> .D
13:57:05 <oklopol> :D
14:03:51 -!- RedDak has joined.
14:20:37 <oklopol> 160 or something per second
14:25:16 -!- RedDak has quit (Remote closed the connection).
14:36:16 -!- importantshock has joined.
14:40:41 -!- importantshock_ has joined.
14:40:53 -!- importantshock has quit (Nick collision from services.).
14:40:55 -!- importantshock_ has changed nick to importantshock.
14:57:40 <RodgerTheGreat> whoops
14:57:48 <RodgerTheGreat> 'morning, folks
14:58:29 <importantshock> \hey RodgerTheGreat
15:16:45 <oklopol> pikhq: is there gonna be network support for PEBBLE using that Sgeo's thing?
15:22:50 <pikhq> oklopol: Eventually.
15:23:29 <RodgerTheGreat> pikhq: I challenge you, sir, to create both an IRC client and server in PEBBLE
15:24:37 -!- sebbu2 has joined.
15:26:05 <oklopol> perhaps at least not before that thing exists
15:33:22 -!- sebbu has quit (Read error: 110 (Connection timed out)).
15:35:29 <pikhq> RodgerTheGreat: Evil. . .
15:35:36 <pikhq> I like it. :p
15:35:41 <RodgerTheGreat> yup
15:35:58 <RodgerTheGreat> it's the kind of idea I'm good at.
15:36:08 * importantshock hurts just thinking about that
15:37:11 <RodgerTheGreat> I dunno, *doing* it in PEBBLE shouldn't be all that horrible, but debugging it will be pure hell
15:39:39 <RodgerTheGreat> bbl
15:44:15 -!- sebbu has joined.
15:44:49 -!- sebbu has left (?).
15:49:02 -!- sebbu2 has quit (Connection timed out).
16:05:36 <oklopol> ehird`: the counter moves pretty fast, ay?
16:05:56 <oklopol> oh
16:06:03 -!- ihope has joined.
16:06:05 <oklopol> you took down my favorite game :<
16:06:30 <ihope> Hey, bsmntbombdood is missing.
16:06:56 <oklopol> that was a fast set subtraction
16:36:08 <ehird`> oklopol: sorry, but i like my server
16:36:32 <ehird`> THINGS WE HAVE LEARNED TODAY:
16:36:42 <ehird`> - digg users are automated bots with no natural processing power
16:36:59 <ehird`> - /b/ users have natural processing power but only use it for emulating automated bots with no natural processing power
16:36:59 <ihope> What's "natural" processing power?
16:37:09 <ehird`> ihope: processing power in the brain, not e.g. a cpu
16:37:20 <ehird`> Monthly Transfer: 10.36 GB (4.86 transmit / 5.51 receive)
16:37:21 * ihope nods
16:37:23 <ehird`> .36 over the limit!
16:37:25 <ehird`> In ONE DAY!
16:37:31 <ehird`> Yesterday it was 0.3
16:37:42 <ehird`> So 10gb in that short time!
16:38:10 <oklopol> oh :P
16:39:24 <ehird`> wow
16:39:24 <ehird`> Elliott,
16:39:25 <ehird`> I enjoyed Counter. Thank you!
16:39:25 <ehird`> I was me/Davman
16:39:26 <ehird`> Dave
16:39:27 <ehird`> -- email
16:39:34 <oklopol> :DD
16:39:35 <oklopol> fanmail
16:39:40 <ehird`> XD
16:41:26 <oklopol> god there's a lot to do in the irc server spec
16:41:49 <oklopol> i mean
16:41:56 <oklopol> that's not even the server-server spec
16:42:00 <oklopol> http://www.irchelp.org/irchelp/rfc/rfc2812.txt <<< server-client spec
16:42:16 <oklopol> even that has a LOT of shit
16:42:21 <ehird`> irc clients = simple
16:42:26 <ehird`> irc servers = not
16:42:29 <oklopol> yeah
16:42:51 <oklopol> i think i'll gradually grow mine to be closer and closer to the spec
16:45:26 <oklopol> it actually already has almost everything you need for irc...
16:45:38 <oklopol> join/part/privmsg
16:45:46 <oklopol> and whois
16:47:04 <ihope> What ever happened to RFC 1459?
16:47:57 <oklopol> that's old?
16:48:09 <oklopol> people die when they get old
16:52:59 <ihope> Hmm.
16:53:10 <ihope> So there are entirely new IRC specs now?
16:54:56 <oklopol> pretty much the same
16:54:59 <oklopol> just update
17:01:31 <ihope> Well, yes. New, but not entirely.
17:14:02 <oklopol> in python, can i delete the value the iterator poits to from the iterated thingie when doing a for loop
17:14:31 <RodgerTheGreat> well, you can't do that in most languages with iterators...
17:14:59 <oklopol> java!
17:15:16 <oklopol> glargh, it's such a frequent thing
17:15:49 <RodgerTheGreat> wouldn't it make more sense to break, or am I misunderstanding the question?
17:16:06 <oklopol> whut?
17:16:14 <oklopol> to... break?
17:16:33 <oklopol> i need to remove the current iterator value from the container
17:16:56 <ihope> Um...
17:17:22 <ihope> Would I understand this better if I'd previously known that iterators pointed to things?
17:17:52 <oklopol> like, i have [1,2,3], i iterate it through, and if i find 2, i remove it
17:18:04 <oklopol> and am left with [1,3]
17:18:07 <RodgerTheGreat> erm...
17:18:18 <RodgerTheGreat> that is *not* how iterators should be used at all
17:19:02 <oklopol> tell me a better way
17:19:10 <ihope> My guess is you want either a list comprehension or the filter function.
17:19:20 <oklopol> yes, if i do that functionally
17:19:29 <RodgerTheGreat> I would just iterate through the list manually- I mean, fuck iterators, really
17:20:02 <RodgerTheGreat> all they do is hide a FOR loop from you
17:20:18 <oklopol> i don't wanna duplicate the whole container every time i do this, so i don't want filter
17:20:33 <RodgerTheGreat> 'course, I'm the nutcase that regularly implements his own stacks inside objects simply because it seems easier that way
17:20:35 <oklopol> i want to do a constant time delete.
17:20:38 <oklopol> well
17:20:44 <oklopol> it's not a constant time delete anyway
17:20:51 <oklopol> but whaddyagonna do, it's python
17:21:04 <RodgerTheGreat> constant time delete = constant time find = hashmap
17:21:13 <oklopol> yarr
17:21:16 <oklopol> well
17:21:23 <ihope> So you have a variable containing [1,2,3] and you want to change it to [1,3]?
17:21:30 <ihope> Or, you know, something similar.
17:21:30 <oklopol> i guess i could make a hashing for my objects and have that
17:21:57 <oklopol> ihope: i want iterators to be removable from whatever they're iterating through
17:21:58 <RodgerTheGreat> see, my first guess would be to just remove the 2 from the *original* list, rather than trying to pull it out of the iterator
17:22:13 <RodgerTheGreat> but when you do it that way there's no advantage to using iterators in the first place
17:22:26 <oklopol> well yeah, i could just make another container and copy everything but 2 there
17:22:41 <RodgerTheGreat> not really what I meant, but that works too
17:22:50 <oklopol> what did you mean then?
17:23:24 <oklopol> i don't really care what iterators should be used for, all i know is i didn't want to do that functionally, but now i have to
17:23:37 <RodgerTheGreat> is python object-oriented?
17:23:41 <oklopol> ya
17:24:00 <RodgerTheGreat> then do it like you would in Java 1.4
17:26:32 <oklopol> http://www.vjn.fi/pb/p455223544.txt
17:28:21 <oklopol> hmm... i should make that for any size lists
17:28:25 <RodgerTheGreat> augh. Oh, jesus- tabs-as-block-delimeters...
17:28:28 <oklopol> i mean, any number of keys
17:29:41 <RodgerTheGreat> I think that code ought to do the trick
17:30:02 <oklopol> i know it does, it's just i feel it's a bit too much code for something that trivial :)
17:31:33 <oklopol> well, i'm pretty sure it works, and it worked when i tested it, i don't *know* it works for any case...
17:31:47 <oklopol> actually i've done one test case.
17:43:39 <oklopol> http://www.vjn.fi/pb/p225212312.txt
17:43:40 <oklopol> hihi
17:44:03 <oklopol> i love how python looks <3
17:44:13 <oklopol> when there's no ugly whitespace
17:44:18 <oklopol> cuz it goes all curly
17:46:33 <oklopol> for example that simple cartesian product... you have to hack it in with iteration and a boolean to indicate whether the thing was found
17:46:55 <oklopol> it's like 5 lines for something conceptually overtrivial
17:47:39 <oklopol> well, i guess i could just make the necessary functions myself and not expect python to have everything i need built-in
17:52:14 -!- bsmntbombdood has joined.
18:05:04 -!- sebbu2 has joined.
18:08:28 -!- sebbu2 has left (?).
18:15:27 -!- importantshock has quit (Read error: 113 (No route to host)).
18:16:24 -!- jix__ has quit (Nick collision from services.).
18:16:28 -!- jix_ has joined.
18:18:14 <ehird`> oklopol: itssss bacckkkkkk http://w.elliotthird.org/counter/
18:41:22 <oklopol> yayee
19:09:21 <ehird`> oklopol: your position in the rankings is being threatened
19:17:20 <oklopol> omg!
19:17:28 <oklopol> perhaps because i stopped playing :P
19:18:44 <oklopol> 16. now
19:24:11 <ihope> ehird`: what does that do?
19:24:24 <ihope> Is there a button people can click to make the counter go higher or something?
19:26:07 <ihope> Clearly, I should make a program that sends whatever thing to the server repeatedly.
19:27:01 <ihope> Or I could just hold down "enter".
19:28:10 <ihope> I wonder how many I have...
19:31:52 <ihope> Hmm, digg/digg is winning.
19:32:00 <ihope> Maybe I shouldn't have used a password :-P
19:32:40 <ihope> So, the main function is increment_counter().
19:32:58 <ehird`> people already do it
19:33:04 <ehird`> but if you do it on a personal account i will ban you
19:33:21 <ehird`> And yeah, the button is Increment counter and it sets the counter 1 higher.
19:33:28 <ehird`> The highscores are just the people who have clicked most.
19:33:41 <ihope> Do what on a personal account?
19:34:05 <ehird`> call the increment_counter repeatedly
19:34:09 <ihope> Oh.
19:34:17 <ehird`> i cant stop digg doing it because its many people
19:34:26 <ehird`> but anybody else - account deleted
19:34:38 <ihope> You can't delete the digg account? :-P
19:34:54 <ehird`> i can
19:34:59 <ehird`> but then digg would stop coming
19:35:03 <ehird`> and many people don't cheat on the digg account
19:35:28 <ihope> Well, I guess 3133 clicks is "the number".
19:35:53 -!- jix_ has quit ("CommandQ").
19:36:06 <ehird`> ?
19:36:08 <ehird`> oh
19:36:10 <ehird`> yeah
19:36:21 <ehird`> get to 3133 and you will be able to see your click count :p
19:38:20 <ehird`> davman is the guy who gave me fanmail for it..
19:38:43 <oklopol> hmm... i can't load the page anymore
19:38:53 <ehird`> http://w.elliotthird.org/counter/
19:38:55 <ehird`> try just clicking
19:40:14 <ihope> Yay.
19:40:24 <ehird`> you're on the highscores, ihope
19:43:19 <oklopol> i used to be, then i stopped getting connexion :<
19:44:15 <ehird`> oklopol: you're at #19
19:44:18 <ehird`> just, http://w.elliotthird.org/counter/
19:44:20 <ehird`> it should work
19:44:23 <ehird`> ping elliotthird.org or something
19:45:51 <ehird`> 119 users!
19:50:03 <oklopol> damn ihope
19:50:19 <oklopol> i hold enter down all the time and he goes up faster :)
19:50:19 <ihope> :-)
19:50:48 <oklopol> i'm on 3 networks + server my own + have torrents on + 4 bots running
19:51:04 <oklopol> that might... have something to do with it
19:51:34 -!- importantshock has joined.
19:53:00 <ehird`> hah, khauros is SO cheating
19:53:07 <ehird`> he's going up 90 per update
19:53:16 <ehird`> still, if he beats digg it'll be worth it
19:53:48 <ehird`> wow, i think he's actually gonna beat digg
19:55:02 -!- Tritonio_ has joined.
19:55:47 <oklopol> what's cheating?
19:56:11 <ehird`> javascript:function test(){increment_counter();self.setTimeout("test()",1);}test();
19:56:11 <ehird`> ^ that is cheating
19:56:23 <ehird`> it's an insta-ban-ticket unless you're about to beat digg like khauros is
19:56:26 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
19:56:37 <ihope> oklopol: at least you won't have to pass me for a while :-P
19:57:23 <ehird`> can digg stories get on the front page twice?
19:58:51 -!- jix_ has joined.
19:59:08 <oklopol> i now did the non programming version of that
19:59:15 <ihope> ehird`: are you going to wait for Khauros to pass digg and then ban? :-P
19:59:21 <oklopol> have my other keyboard on the floor with a glass on top of enter :)
19:59:37 <oklopol> is that cheating?
19:59:45 <ehird`> ihope: nah, ill just tell him to stop after
19:59:48 <oklopol> it's preventing me to use the computer
19:59:57 <ehird`> oklopol: it is kind of cheating but its allowed
20:00:10 <ihope> Oh, good, allowed.
20:00:19 <ihope> You really should specify the rules :-P
20:02:08 <oklopol> i thought games like this are always about connection speed :)
20:02:20 <oklopol> (and the ability to write oneliners)
20:02:42 <oklopol> ARGH
20:02:51 <oklopol> why does ihope own me all the time
20:03:21 <ihope> I dunno.
20:03:27 <ihope> Cable Internet?
20:03:34 <oklopol> yeah
20:03:47 <oklopol> i think it's the fact i'm using a browser
20:04:06 <oklopol> i made this program to fetch random pictures from a site people put their pics in
20:04:13 <oklopol> fetches 2-3 pics per sec
20:04:25 <oklopol> if you do it via browser, 3 pics / minute
20:04:34 -!- sebbu has joined.
20:04:36 <bsmntbombdood> my internet connection is terrible
20:04:38 <bsmntbombdood> i hate it
20:04:39 <oklopol> well, sometimes a lot faster, but never anything near my program
20:04:50 -!- sebbu has left (?).
20:05:04 <ehird`> KAHUROS OVERTOOK DIGG
20:05:11 <ehird`> bwahahaha
20:06:33 <oklopol> i get like 4/sec
20:06:34 <oklopol> ADSF
20:07:12 * ehird` disappears for a while
20:07:58 <bsmntbombdood> :)((
20:08:05 <ehird`> bsmntbombdood: ?
20:08:31 * ehird` really disappears now
20:09:40 <bsmntbombdood> :(
20:10:07 -!- importantshock has quit.
20:11:13 <ihope> Hey! Turris is moving! How unfair.
20:12:13 <bsmntbombdood> i'm disconected about 4 times an hour
20:12:22 <bsmntbombdood> in a good hour
20:19:40 <ihope> Okay, enough of that for now.
20:20:21 <ihope> I was using a browser for this...
20:26:07 <oklopol> ehird`: how long's that gonna be there?
20:26:12 * pikhq wonders where Sgeo's latest PSOX spec is
20:37:56 -!- RedDak has joined.
20:40:13 <oklopol> digg is still going at a quite impressing rate
20:50:00 <ihope> What's it at now?
20:51:26 <oklopol> 267393
20:52:06 <ihope> Hmm, indeed, rather impressive.
20:52:29 <ihope> Now, is there a contest like that except with "click a certain button" replaced by "send a byte to the server on a certain port"?
20:52:33 <ihope> :-)
20:52:35 <ihope> Game, rather.
20:53:39 <oklopol> there should be, since that's basically the same, but you don't have to cheat
20:53:53 <oklopol> though for many cheating might be the thrill
20:55:05 <RodgerTheGreat> there's a link-clicking game called "outwar" similar to that, as I recall
20:55:15 <RodgerTheGreat> the trick is that clicks have to be from different IPs
20:57:59 <ihope> oklopol: depends on what you count as cheating.
20:58:21 <ihope> Is telnet server < /dev/zero cheating?
20:58:59 <ihope> RodgerTheGreat: http://www.free-games.com.au/Detailed/205.html?
21:00:05 <ihope> Which, I suppose, is http://www.outwar.com/...
21:00:06 <oklopol> ihope: i mean ehird`'s game may be nicer as long as doing that is considered cheating
21:01:02 <RodgerTheGreat> ihope: think that's it
21:02:28 * ihope ponders choosing "Who is your favorite teacher?" for his security question
21:02:31 <oklopol> hhah! i'm waaaaaaaaaay before ihope now
21:02:46 <ihope> oklopol: "before"?
21:02:51 <oklopol> umm
21:02:51 * ihope uses a bogus answer instead
21:02:54 <oklopol> over?
21:02:58 <ihope> Ahead of?
21:03:01 <oklopol> yes!
21:03:14 <oklopol> before in the list
21:03:25 <ihope> How many do we each have?
21:03:41 <ihope> Shall I start moving again?
21:03:45 <oklopol> digg (290931)
21:03:45 <oklopol> digg (290931)
21:03:45 <oklopol> butter (211807)
21:03:47 <oklopol> fuck
21:03:47 <oklopol> butter (211807)
21:03:47 <oklopol> Khauros (200000)
21:03:49 <oklopol> Khauros (200000)
21:03:51 <oklopol> sigloiv (107808)
21:03:53 <oklopol> sigloiv (107808)
21:03:55 <oklopol> NOOOOOOO
21:03:57 <oklopol> thepillows (106158)
21:03:59 <oklopol> thepillows (106158)
21:04:01 <oklopol> sqrt (101207)
21:04:03 <oklopol> sqrt (101207)
21:04:05 <oklopol> Turris (101055)
21:04:05 <ihope> Um, I suggest /parting.
21:04:07 <oklopol> Turris (101055)
21:04:09 <oklopol> :<<<<<<<<<<<
21:04:11 <ihope> You're sort of spamming the channel.
21:04:11 <oklopol> Yareking (97664)
21:04:13 <oklopol> Yareking (97664)
21:04:15 <oklopol> Xybob (79340)
21:04:19 <oklopol> Xybob (79340)
21:04:21 <oklopol> MountainCable (73690)
21:04:23 <oklopol> MountainCable (73690)
21:04:25 <oklopol> http://petition.co.uk (61432)
21:04:27 <oklopol> http://petition.co.uk (61432)
21:04:29 <oklopol> oklopol (55258)
21:04:31 <oklopol> oklopol (55258)
21:04:33 <oklopol> mezane (54350)
21:04:35 <oklopol> xDDDDDDDDDDDDDD
21:04:37 <oklopol> mezane (54350)
21:04:39 <oklopol> wuha (52398)
21:04:41 -!- oklopol has quit (Remote closed the connection).
21:04:44 -!- oklopol has joined.
21:04:49 <oklopol> wtf
21:04:58 <oklopol> i'm pretty sure i selected just myself from the list
21:05:07 <ihope> Apparently, you didn't.
21:05:12 <oklopol> also, part wouldn't work, neither would closing the window
21:05:15 <ihope> What am I at?
21:05:18 <ihope> It wouldn't?
21:05:37 <oklopol> oklopol: 56208
21:05:47 <oklopol> ihope 44677
21:05:57 <oklopol> the button was a no-op
21:06:01 <ihope> Ah, indeed, you're past me.
21:06:02 <oklopol> disconnecting worked
21:06:54 <oklopol> gonna leave that on for a few weeks
21:06:59 <oklopol> THEN WE'LL SEE
21:07:00 <oklopol> MUAHAHA
21:07:05 <oklopol> ...
21:07:21 <ihope> I think you'll be on top by then :-P
21:07:28 <oklopol> heh, yeah :)
21:07:36 <oklopol> well...
21:07:47 <oklopol> i'm pretty sure there are bots that are left on forever there
21:07:51 <oklopol> or at least for long
21:08:28 <oklopol> it's a bit harder for me since i'm actually pressing enter all the time
21:08:44 <ihope> Find some coins and stack them :-)
21:08:51 <ihope> How many computers do you have?
21:08:57 <oklopol> i'm not that rich :P
21:09:05 <ihope> Oh. :-P
21:09:30 <oklopol> i just have bills
21:09:33 <oklopol> ..paper money
21:09:37 <ihope> Maybe I'll send you the oldest one we have. :-P
21:09:49 <oklopol> oldest coin?
21:09:55 <ihope> No, oldest computer.
21:10:01 <oklopol> oh
21:10:06 <ihope> It has a CPU speed display on the front.
21:10:06 <oklopol> how many COMPUTERS
21:10:15 <oklopol> the rich answer was for stacking coins
21:10:20 <ihope> Ah.
21:10:23 <oklopol> i have 3 computers here
21:10:28 <oklopol> + commodore 64
21:10:39 <oklopol> and i'm getting a small handheld one
21:10:44 <ihope> You're not rich enough to have coins?
21:10:47 <oklopol> :D
21:10:52 <oklopol> those are oooold
21:10:56 <oklopol> i just never throw anything out
21:11:19 <ihope> Are you in some weird country where coins are more valuable than bills rather than the other way around? :-P
21:11:25 <oklopol> :DD
21:11:34 <oklopol> no, i'm in a country where ppl tell jokes!
21:11:43 <ihope> Ah. That IS weird.
21:11:50 <oklopol> yeah
21:11:58 <ihope> We don't tell jokes here. Everybody is always completely serious.
21:12:28 <ihope> I looked up the world's funniest joke online. I doubted its veracity.
21:12:38 <ihope> Then I looked up the definition of "joke" online. Now I know.
21:13:29 <oklopol> please link!
21:13:45 <oklopol> i've never laughed at a *joke* joke
21:14:47 <ihope> http://en.wikipedia.org/wiki/World's_funniest_joke
21:15:33 <ihope> I generally don't laugh at things either.
21:16:05 <ihope> The funniest thing I remember is Student Bloopers.
21:16:56 <pikhq> Besides, the world's funniest joke is a Monty Python skit.
21:17:22 <pikhq> "Wenn ist das Nunstück git und Slotermeyer? Ja! ... Beiherhund das Oder die Flipperwaldt gersput."
21:17:50 * pikhq kills all the German speakers. >:D
21:18:04 <ihope> NO!
21:18:13 <ihope> You killed jix_, maybe!
21:18:21 <ihope> At least he died happily, maybe.
21:18:27 -!- jix_ has left (?).
21:18:29 <pikhq> Very happily.
21:18:47 <pikhq> After all, he did die of laughter.
21:18:55 <ihope> And of CommandW, I guess.
21:19:02 <ihope> "Nero was a cruel tyrany who would torture his poor subjects by playing the fiddle to them."
21:19:03 -!- jix_ has joined.
21:19:19 <pikhq> He's alive again.
21:19:49 <ihope> That's good.
21:19:59 <ihope> Stop violating continuity!
21:20:03 * ihope re-kills jix_
21:20:11 -!- jix_ has left (?).
21:21:09 -!- jix_ has joined.
21:21:54 <ihope> Look, if you're not going to stay dead, at least go back and time and make it so you were never killed.
21:23:15 <oklopol> /kill *.de
21:24:18 <ihope> D'oh.
21:24:30 <ihope> /kill *.*.*.183
21:24:47 <ihope> We might as well be random, now.
21:25:06 <oklopol> i've dropped in the list
21:26:10 <ihope> "Beethoven wrote music even though he was deaf. He was so deaf he wrote loud music. He took long walks in the forest even when everyone was calling for him."
21:26:17 <oklopol> perhaps i'll stay up to whole night and do absolutely nothing
21:26:31 <oklopol> that's not really a feat
21:26:37 <oklopol> that beethoven's thing
21:27:58 <ihope> "Beethoven expired in 1827 and later died for this."
21:27:58 <oklopol> >>> i okokokokokokokokokokokokokokokokoko
21:27:59 <ololobot> okokokokokokokokokokokokokokokokoko
21:28:03 <oklopol> whut?
21:28:28 <ihope> "Queen Victoria was the longest queen. She sat on a thorn for 63 years. He reclining years and finally the end of her life were exemplatory of a great personality. Her death was the final event which ended her reign."
21:28:35 <ihope> >>> i i i i i
21:28:35 <ololobot> i i i i
21:28:43 <ihope> How interesting. What is this?
21:29:12 <oklopol> that is... a cat command :)
21:29:21 <ihope> >>> o o o
21:29:27 <oklopol> >>> o k 5
21:29:27 <ololobot> okokokoko
21:29:36 <pikhq> /kill *
21:29:45 <ihope> > k o 5
21:29:54 <ihope> Yes, that certainly...
21:29:57 <pikhq> ihope: Source?
21:30:04 <ihope> http://www.cse.unsw.edu.au/~norman/Jokes-file/StudentBloopers.htm
21:30:42 <oklopol> was the first one somehow wrong too?
21:30:54 <ihope> The first what?
21:30:59 <oklopol> the beethoven thing
21:31:03 <ihope> Yup.
21:31:15 <ihope> Well, not so much wrong as just plain silly.
21:31:28 <oklopol> well the last sentence is kinda funny
21:31:46 <oklopol> the long walks thing
21:31:48 <ihope> "The First World War, cause by the assignation of the Arch-Duck by a surf, ushered in a new error in the anals of human history"?
21:31:52 <ihope> Ah, yes.
21:32:30 <pikhq> "the victims of the Black Death grew boobs on their necks."
21:32:52 <pikhq> "In midevil times most of the people were alliterate." Appropriate
21:33:16 <ihope> Indeed.
21:33:21 <oklopol> illiterate, should be?
21:34:02 <ihope> Yup.
21:34:02 <oklopol> >>> k o 5
21:34:03 <ololobot> o
21:34:07 <oklopol> whut
21:34:09 <oklopol> >>> x o 5
21:34:09 <ololobot> ooooooooo
21:34:13 <oklopol> >>> x k 5
21:34:13 <ololobot> kokokokok
21:34:17 <ihope> > i i 5
21:34:18 <oklopol> >>> x l 5
21:34:18 <ololobot> lolololol
21:34:29 <oklopol> >>> k l 5
21:34:29 <ololobot> l
21:34:31 <ihope> So, um, what's it do?
21:34:33 <oklopol> k indeed is... k
21:34:40 <oklopol> what does what do?
21:34:42 <oklopol> my bot?
21:34:48 <oklopol> >>> help
21:34:48 <ololobot> These are all the cmds currently in ololobot:
21:34:48 <ololobot> bf, bs, expr, help, numbda, pl, ul, dict, feed, sch, o, x, k, i, s, factors, in-pr, in-po, in-fi
21:34:50 <ihope> Yeah.
21:34:55 <oklopol> some have documentation
21:34:57 <oklopol> >>> help bf
21:34:58 <ololobot> This is a simple brainfuck interpreter.
21:34:58 <ololobot> Usage:
21:34:58 <ololobot> ">>> [Wnnn] code [<<< input]" to run, where [...]'s are optional.
21:34:58 <ololobot> Wnnn sets wrapping, nnn is any number that fits an irc message.
21:35:00 <ihope> How interesting.
21:35:04 <ihope> > help numbda
21:35:09 <pikhq> Well, *K* is /xy.x
21:35:10 <oklopol> >>>, really
21:35:15 <ihope> >>> help numbda
21:35:15 <ololobot> No info about numbda.
21:35:18 <oklopol> darn
21:35:26 <oklopol> just a few have info...
21:35:29 <ihope> Indeed, I keep using > for some reason.
21:35:32 <ihope> What is numbda?
21:35:38 <oklopol> numbda is a language i made some time ago
21:36:08 <oklopol> currently it's basically just basic arithmetic+vars+function calls+lambdas,
21:36:25 <oklopol> but the interpreter isn't working yet, fully, so iu haven't finished the lang
21:36:27 <oklopol> *i
21:36:44 <oklopol> it should be a language where lambdas are implicit
21:37:10 <oklopol> (x+3) == lambda x:x+3 if used out of x's namespace
21:37:28 <oklopol> otherwise (x+3) == ...well, x+3
21:38:23 <ihope> Hmm... I think I prefer more explicit stuff.
21:38:31 <oklopol> heh
21:38:33 <ihope> flip (+) 3, (+3), \x -> x+3.
21:39:48 <oklopol> if a subexpression uses a variable X that is not in the current namespace, that subexpression is considered a lambda that takes one argument, and sets X to that
21:40:12 <oklopol> otherwise the subexpression is not considered a lambda, but a simple expression that is evaluated.
21:40:31 <oklopol> >>> numda k={a->{b->a}};k!6!7
21:40:36 <ihope> What's (x + 3) * 4?
21:40:38 <oklopol> >>> numbda k={a->{b->a}};k!6!7
21:40:39 <ololobot> num:6
21:40:47 <oklopol> that doesn't work, in general.
21:41:04 <ihope> (x + 3) is the subexpression here?
21:41:20 <oklopol> yes
21:41:45 <ihope> So is the subexpression pretty much as small as it can reasonably be?
21:42:12 <oklopol> umm
21:42:18 <oklopol> it's the shortest possible x+3, yes
21:42:22 <oklopol> if you don't use spaces
21:43:03 <oklopol> it has first order lambdas, but operators are on a different level
21:43:13 <oklopol> you have to use ! to use your own lambdas/functionsa
21:43:15 <oklopol> *functions
21:43:27 <ihope> Spaces, you say?
21:43:47 <oklopol> >>> numbda k={a->{b->a}};s={a->{b->{c->(a!c)!(b!c)}}};s!k!k!4
21:43:47 <ololobot> num:4
21:44:04 <oklopol> spaces. (x + 3) * 4 -> (x+3)*4, i mean
21:44:47 <ihope> They're different, you mean?
21:44:57 <oklopol> no, the latter is just shorter
21:45:06 <oklopol> (23:40:21) (ihope) So is the subexpression pretty much as small as it can reasonably be? <<< i was sommenting to this
21:45:08 <ihope> Do spaces matter at all in this language?
21:45:16 <oklopol> yes, token separation
21:45:19 <oklopol> actually
21:45:22 <oklopol> no, they never do.
21:46:29 <oklopol> because -> is the only operator with two chars, and > isn't a prefix operator
21:47:17 <ihope> >>> numbda k={a->{b ->a}};s = {a->{b- >{c->(a!c ) !(b!c)}} };s !k!k!4
21:47:18 <ololobot> error:no-reason-error
21:47:24 <oklopol> hmm
21:47:24 <ihope> >>> numbda k={a->{b ->a}};s = {a->{b- >{c->(a!c ) !(b!c)}} };s !k!k!4
21:47:24 <ololobot> error:no-reason-error
21:47:32 <oklopol> in that implementation, i can't guarantee a thing :)
21:47:40 <oklopol> but... that should work
21:48:00 <oklopol> oh, indeed, you can't separate "->", or varnames
21:48:18 <oklopol> >>> numbda {a -> 3}
21:48:18 <ololobot> lazy:[apply opr:-> to id:a(0) and num:3]
21:48:26 <oklopol> >>> numbda {a -> 3}!4
21:48:26 <ololobot> num:3
21:48:28 <oklopol> >>> numbda {a -> 3} ! 4
21:48:29 <ololobot> num:3
21:48:44 <oklopol> >>> numbda k={a->{b ->a}};s = {a->{b->{c->(a!c ) !(b!c)}} };s !k!k!44
21:48:44 <ololobot> num:44
21:48:47 <oklopol> ah
21:49:04 <oklopol> you did exactly that, separated ->
21:49:38 <oklopol> separated "->" that is
21:49:59 <oklopol> i always parse -> in the end of a message as "i'm leaving"
21:50:51 <oklopol> my whole computer crashed from pressing enter :)
21:50:55 <oklopol> ubuntu <3
21:51:06 <ihope> Heh...
21:51:19 -!- jix_ has quit ("CommandQ").
21:51:30 <oklopol> i did the same thing on windows for just as long, though also had about 50 other programs running
21:51:40 <oklopol> nothing happened
21:53:29 <ihope> I think I'll implement SKI in my improved parser language.
21:53:40 <ihope> Then I'll come up with a spec for my improved parser language :-P
21:54:00 <oklopol> cle
21:54:20 <ehird`> im back
21:54:31 <oklopol> yay
21:54:39 <ihope> Hmm, now I'm wanting Ubuntu back.
21:54:55 <ihope> Because Gentoo is sort of not working :-P
21:55:29 <oklopol> my experience with ubuntu has been a bit bad
21:55:35 <ihope> I could get it to work with enough Google searches and support pestering, but...
21:55:44 <oklopol> it's crashed more times over my short use than my windows machines in a year
21:55:45 <ihope> It has?
21:55:55 <ihope> Hmm. I don't think it's ever crashed here.
21:56:22 <oklopol> mine is crashed right now
21:56:44 <ihope> What other things do you use?
21:57:01 <oklopol> "things"?
21:57:03 <oklopol> programs?
21:57:17 <ihope> Operating systems.
21:57:20 <oklopol> ah
21:57:28 <ihope> (Hmm, it's hard to type and regularly press the CD eject button at the same time.)
21:57:28 <oklopol> i have windows on this machine and ubuntu on the other
21:57:41 <oklopol> why do you press it?
21:58:16 <ihope> Well, it doesn't work while the Gentoo LiveCD is running, so I have to reboot it and then press the button before it checks for an OS on the CD.
21:58:57 <ihope> Now to try to get Ubuntu running, since its live CD is a little unreliable.
22:00:07 <ihope> Or maybe I should just RTF Gentoo M.
22:03:34 <ehird`> the only decent ubuntu
22:03:35 <ehird`> is xubuntu
22:03:38 <ehird`> and it ROCKS
22:04:08 <ehird`> it's fast as hell, comes with lots of decent apps, highly customizable but easy to use, and has many optional visual effects
22:04:11 <ehird`> it's perfect
22:06:21 <ehird`> xubuntu is perfect for both kde and gnome users i find
22:06:30 <ehird`> it's simple enough for gnome users to get the hang of it, but without the annoying bugs
22:06:43 <ehird`> and it's as configurable as kde users expect
22:08:30 <oklopol> all i can think of that an os could offer is a better file/networking/process system, as far as i know, unix's is pretty much the same as windows's
22:08:54 <oklopol> and i have no idea why i always start begging for a fight by saying stuff like that
22:09:02 <ihope> Heh.
22:09:19 <ihope> Does Windows have chroot?
22:09:31 <oklopol> for a while there i thought ubuntu had recovered :)
22:09:32 <oklopol> but noooo
22:09:36 <ihope> It's a teeny tiny bit essential :-P
22:09:44 <oklopol> okay, unix's access stuff is better
22:09:47 <ehird`> ihope: nope, it doesn;t
22:10:21 <oklopol> why is it essential?
22:10:34 <ihope> Hmm... maybe it's not that essential.
22:10:41 <oklopol> it's nice sometimes
22:10:42 <pikhq> oklopol: Sounds like Plan9.
22:10:46 <ihope> How easy is it to write a program that adds a user?
22:10:59 <oklopol> i don't see how you'd ever need to do that
22:11:09 <ihope> Sandboxing?
22:11:52 <oklopol> well yeah, but adding a user is just one means of doing that
22:11:59 <ihope> Indeed.
22:12:07 <ihope> How can it be done nicely under Windows?
22:12:10 <oklopol> no way
22:12:27 <oklopol> but then again, i don't really use other ppl's code, so i just write safe code.
22:12:36 <ihope> You don't?
22:12:47 <oklopol> i'm not into os
22:12:50 <oklopol> open source
22:12:55 <ehird`> plan9 is crazy xD
22:13:08 <ihope> Does that mean you wrote your own IRC client, too?
22:13:33 <ihope> Or by "code" do you mean "source code"?
22:13:39 <oklopol> that means i feel bad unless i do
22:13:43 <pikhq> oklopol: You don't like free software?!?
22:13:44 <oklopol> not that i necessarily do
22:13:50 <ehird`> i suffer from NIH
22:13:53 <oklopol> pikhq: i like receiving, not giving
22:14:00 <ehird`> i didn't write this? then i better rewrite a clone of it
22:14:02 <pikhq> *groan*
22:14:13 <ehird`> oklopol: so basically you're a selfish person
22:14:18 <ehird`> that's not the best life skill you can have ;P
22:14:21 <ihope> What's "NIH" stand for?
22:14:26 <pikhq> Not Invented Here.
22:15:13 <oklopol> ehird`: i do like to receive, but i do not encourage anyone to share.
22:15:53 <pikhq> Selfish.
22:15:58 <ehird`> exactly
22:16:02 <ihope> Well, they are giving it away.
22:16:08 <oklopol> (pikhq) oklopol: You don't like free software?!? <<< what was that for an argument then?
22:16:17 <pikhq> Free as in freedom.
22:16:25 <oklopol> ah
22:16:34 <pikhq> Not an argument, more asking "what the hell?"
22:16:42 <ehird`> i believe if you use free/open-source/whatever-fscking-term-you-like-to-debate-about software, it's good to consider releasing at least some of your software the same way
22:16:42 <oklopol> yeah, i get it
22:16:52 <ehird`> it just helps the continuum keep going
22:17:09 <oklopol> i do not understand how i can ever get money for my programs if i do open source
22:17:11 <pikhq> I've got a different belief, ehird. . .
22:17:13 <oklopol> and i do not want to die.
22:17:21 <oklopol> i will die without money
22:17:41 <oklopol> that's my only problem with open source
22:17:42 <ihope> GPL: if you add to this program, GIMME! :-P
22:17:47 <pikhq> And, as I've argued previously, you can make money with free software.
22:17:53 <ehird`> oklopol: SOLUTION - don't try and make money off software
22:17:57 <oklopol> and the fact people start bitching about minor details they don't like about my programming style
22:18:06 <oklopol> ehird`: okay... then how do i get money?
22:18:12 <ihope> oklopol: with a job?
22:18:15 <oklopol> ...
22:18:22 <oklopol> == programming
22:18:27 <ehird`> umm
22:18:28 <ehird`> don't?
22:18:30 <oklopol> that's all i ever want to do, naturally
22:18:34 <ehird`> well tough
22:18:37 <ehird`> this world is not a utopia
22:18:38 <ehird`> get real
22:18:40 <ihope> Programming jobs don't pay?
22:19:04 <oklopol> i never thought os ppl actually thought programming isn't something you can make a living off
22:19:07 <ehird`> ihope: programming is hardly the simplest industry to get into
22:19:09 <pikhq> I'll be sure to tell that to Sun, Red Hat, and Novell employees.
22:19:09 <oklopol> they really think that?
22:19:13 <ehird`> oklopol: no, I think that
22:19:27 <pikhq> oklopol: No, they think it doesn't matter whether or not you can; freedom is more important.
22:19:50 <oklopol> i prefer money over lazyness.
22:20:17 <ihope> I've suddenly forgotten what we're talking about.
22:20:25 <oklopol> i just said i don't like open source
22:20:25 <ehird`> oklopol: well, get a job other than programming... the probability of being able to sustain yourself fully from programming is very small
22:20:25 <ihope> Is it about how oklopol can make money?
22:20:31 <oklopol> i like saying that once in a while
22:20:43 * ihope shrugs
22:20:45 -!- ihope has left (?).
22:20:45 <oklopol> ehird`: like.. what?
22:20:59 <oklopol> what else can one do?
22:21:12 <ehird`> oklopol: ooh, let's think, one of the thousands of other jobs in the world?
22:21:18 <ehird`> hardly any choice is there!
22:21:28 <oklopol> i can't think of anything
22:21:32 <ehird`> ...
22:21:44 <ehird`> are you sheltered or just very ignorant?
22:21:50 <oklopol> i'm definately gonna do anything where i have to... do something but program
22:21:55 <oklopol> *not
22:22:03 <oklopol> i can't do anything else
22:22:06 <ehird`> hah
22:22:10 <ehird`> call me in 10 years
22:22:12 <pikhq> You could program and make money off of it. . .
22:22:12 <oklopol> :)
22:22:34 <pikhq> I hear Red Hat, Novell, Sun, etc. are willing to pay for free software developers.
22:22:34 <oklopol> pikhq: ehird` said that is not possible
22:22:47 <ehird`> oklopol: i did not
22:22:58 <ehird`> oklopol: i just said that it's hardly the most stable industry to get into easily
22:23:10 <pikhq> oklopol: Reality disagrees (although given the right circumstances, it could be difficult) ;)
22:23:11 <oklopol> i hope the os movement just dies, i'm a dreamer, you see.
22:23:22 <ehird`> oklopol: wow, uh, i'd like to see a future with that
22:23:27 <oklopol> me too <3
22:23:30 <ehird`> oklopol: you'll be running on... how shall i put it... low tech?
22:23:33 <ehird`> you're an idiot
22:23:34 <pikhq> And free software doesn't involve dreaming?
22:23:52 <oklopol> not really, you can't devote your life to something you don't get paid for
22:23:57 <ehird`> "OS MOVEMENT SHOULD DIE BECAUSE I WANT IT TO WHAT DO YOU MEAN TECHNOLOGY PROGRESS WOULD STOP <3" "I WILL NOT GET ANY JOB BUT PROGRAMMING"
22:24:03 <ehird`> oklopol: umm, heard of "hobbies"?
22:24:16 <pikhq> oklopol: I'll be sure to tell that to Gandhi.
22:24:44 <oklopol> pikhq: hardly a good point.
22:24:52 <pikhq> Stallman, then.
22:25:22 <ehird`> stallman is crazy-ass anyway
22:25:37 <oklopol> if there really aren't many programming jobs available when i finish university, i'll just be jobless i guess
22:25:47 <ehird`> great idea!
22:25:53 <ehird`> just wither away and die or something
22:25:53 <oklopol> best i can think of
22:25:54 -!- RedDak has quit (Remote closed the connection).
22:25:55 <ehird`> you'll be fine!
22:25:57 <pikhq> Somewhere without programming jobs is probably 3rd-world. . .
22:26:26 <oklopol> pikhq: i'm just responding to you ppl saying there aren't many programming jobs available.
22:26:30 <oklopol> i do know there are a lot
22:26:32 <pikhq> oklopol: That's ehird, not me.
22:26:33 <oklopol> even in this area
22:26:34 <ehird`> we NEVER SAID THAT
22:26:38 <ehird`> I never said that
22:26:47 <oklopol> pikhq: you said something vague about reality, i may have misinterpreted
22:27:01 <oklopol> oh
22:27:05 <oklopol> i did misunderstand
22:27:08 <pikhq> Yeah.
22:27:10 <oklopol> i humbly apologize.
22:27:12 <oklopol> now pizza ->
22:27:42 <ehird`> well his logic is outstanding
22:27:42 <ehird`> :/
22:28:14 <oklopol> mine?
22:28:55 <oklopol> (00:17:40) (oklopol) i never thought os ppl actually thought programming isn't something you can make a living off
22:28:58 <oklopol> (00:17:49) (ehird`) oklopol: no, I think that
22:29:05 <oklopol> i guess i failed with all the negations.
22:29:23 <oklopol> english is a bit ambiguous.
22:29:41 <oklopol> (00:19:01) (ehird`) oklopol: well, get a job other than programming... the probability of being able to sustain yourself fully from programming is very small <<< very small probability
22:30:12 <oklopol> i guess i misunderstood you
22:30:22 <oklopol> then this conversation has been most redundant :)
22:31:23 <pikhq> ehird`: Also, Stallman is no more a nutcase than you are. ;p
22:31:43 <oklopol> who's he?
22:31:47 <oklopol> i'll google
22:31:48 <ehird`> pikhq: no, stallman is a complete nutcase
22:31:53 <pikhq> ehird`: How so?
22:32:02 <ehird`> pikhq: you can't tell? :)
22:32:08 <pikhq> Prove it, please.
22:32:17 <ehird`> o.O
22:32:21 <ehird`> it's a subjective opinion
22:32:22 <ehird`> how can i prove it
22:32:26 <pikhq> Fine.
22:32:34 <pikhq> Demonstrate some things that make him a nutcase to you.
22:34:27 <oklopol> ehird`: just out of curiosity, what would you be willing to do if you didn't get a programming job?
22:34:32 <ehird`> his nutcasery, pikhq? ;)
22:34:41 <ehird`> oklopol: any reasonable job?
22:34:59 <oklopol> i could do porn
22:35:05 <oklopol> but can't think of anything else reasonable
22:35:20 <ehird`> hahahahaha
22:35:22 <ehird`> ahahahaha
22:35:23 <oklopol> what's a reasonable job?
22:35:35 <ehird`> get back to me when i've regained control over my lungs
22:35:36 <pikhq> ehird`: You suck at defending yourself.
22:35:48 <ehird`> pikhq: thanks?
22:36:00 <oklopol> ehird`: that wasn't a joke, really, but please answer :\
22:36:32 <oklopol> okay, in theory i could be a musician, but i don't enjoy the social aspect
22:36:42 <oklopol> just being a composer doesn't make a living
22:36:56 <oklopol> really, what's a reasonable job?
22:37:10 <oklopol> i doubt yours are the same as mine
22:37:20 <oklopol> would that be like... a shop clerk?
22:37:24 <oklopol> a thief?
22:37:28 <oklopol> that'd be cool :)
22:37:55 <oklopol> i could also be like a mad professor
22:38:03 <oklopol> say PONG when i hit yours
22:38:57 <oklopol> ehird`: lungs okay?
22:41:04 * ehird` is lying dead on the floor
22:41:20 <oklopol> i see
22:43:22 <oklopol> ehird`: are you gonna answer me? :<
22:43:47 <ehird`> ?
22:44:15 <oklopol> "just out of curiosity, what would you be willing to do if you didn't get a programming job?"
22:45:01 <ehird`> a regular job..
22:45:10 <oklopol> like...
22:45:13 <oklopol> one example
22:45:47 <oklopol> like... bus driver?
22:45:53 <oklopol> a cleaner?
22:46:09 <oklopol> beggar?
22:46:14 <oklopol> that's also be cool :D
22:46:21 <oklopol> *that'd
22:46:43 <ehird`> beggar wouldn't be cool
22:46:44 <ehird`> :p
22:47:11 <oklopol> if they allow computers in prisons, that's one thing i could do, do someting criminal and program all day
22:48:10 <oklopol> *something
22:48:42 <ehird`> heh
22:48:49 <oklopol> oh!
22:48:59 <oklopol> one thing i've always thought about is a janitor
22:49:21 <oklopol> like, for example, at a school
22:49:28 <oklopol> (if they still have janitors)
22:49:56 <oklopol> well, anything where you can lock yourself up somewhere, really
22:50:15 <oklopol> guess i'm a bit agoraphobic or smth
22:51:41 -!- ihope has joined.
22:52:19 <oklopol> and then i asked her to pee in my mouth
22:52:26 <ihope> What the...
22:52:33 <oklopol> that was kinda weird
22:52:40 <oklopol> hi ihope
22:52:53 <ihope> Did I join at exactly the wrong time?
22:53:06 <oklopol> sorry, just an old joke of mine
22:53:15 <ihope> :-)
22:53:17 <oklopol> :D
22:53:29 <ihope> Explains the lack of context in the logs :-P
22:53:36 <oklopol> heh, yeah
22:54:31 <oklopol> ehird` is mean :(
22:54:41 <ihope> No, ehird` is median!
22:54:44 <ehird`> i prefer "and then it got all over the keyboard, and oh god it was wet and sticky"
22:54:50 <ihope> 50th percentile exactly.
22:54:51 <ehird`> for out of context quotes
22:55:19 <oklopol> well yeah, but context ones are a bit different
22:55:21 <ihope> Maybe you could quote subject lines of spam.
22:55:22 <ehird`> because you can clarify it with "i was drinking soda and it spilled"
22:56:45 <ihope> There's "My boyfriend's . . .".
22:57:20 <ihope> Which I guess is the same template as "My new guy's . . .".
22:57:50 <ihope> Not sure about "When I tried to . . ." and "I just started . . .".
22:58:23 <ihope> Wow. Even "Can you tell me . . ." is one of that template.
22:58:35 <oklopol> umm... how do you use these?
22:59:12 <ihope> They're not really that good.
22:59:22 <ihope> There's more to it than the part I quoted.
22:59:28 <ihope> Check your spam folder for the rest. :-P
22:59:43 <oklopol> i don't get spam :<
22:59:52 <ihope> Oh.
23:00:07 <ihope> Why not?
23:00:20 <oklopol> i used to get some, but... then it just stopped
23:00:37 <ihope> Weird.
23:00:40 <ihope> ISP filtering?
23:00:44 <oklopol> i actually give the address away a lot
23:00:48 -!- theoros has joined.
23:01:11 <oklopol> i don't know anything about the email, it's a webmail from our school
23:01:27 <ihope> Sounds like that'd have a spam filter.
23:01:37 <oklopol> most likely
23:02:20 <ihope> I guess these subject lines are a little gross.
23:02:33 <oklopol> do tell
23:02:38 <ihope> Dirty, I mean.
23:02:42 <ihope> Sort of very dirty.
23:02:56 <oklopol> well yes, that's why i asked
23:03:19 <ihope> Want me to tell you one?
23:03:22 <oklopol> yes
23:03:53 <ihope> Perhaps not THAT dirty.
23:03:59 <ihope> Certainly a little dirty.
23:04:46 <oklopol> well yes, but can you make that undirty in the right context?
23:04:54 <oklopol> i've heard worse on this channel
23:05:05 <ihope> What do you mean?
23:05:09 <oklopol> you could've said it here, i mean
23:05:13 <oklopol> and
23:05:15 <ihope> Yeah, I could have.
23:05:24 <oklopol> "can you make that undirty in the right context?"
23:05:28 <oklopol> i think that's... pretty clear
23:05:33 * ihope shrugs
23:13:29 * ihope ponders SKI calculus
23:13:46 <ihope> I "should" be working on getting Gentoo going.
23:14:26 <oklopol> :D
23:14:34 <oklopol> that was a quick ponder
23:14:44 <ihope> No, I'm still pondering.
23:14:46 <oklopol> ah
23:14:51 <ihope> Actually, it's SK calculus.
23:14:52 <oklopol> what are you pondering about it?
23:14:56 <oklopol> yes yes
23:15:02 <oklopol> but ski sounds better
23:15:02 <ihope> How to implement it.
23:15:05 <ihope> Indeed.
23:15:06 <oklopol> in what?
23:15:09 <oklopol> in your okat
23:15:11 <oklopol> *okay
23:15:18 <ihope> I'll call it SKI calculus any way, then :-P
23:15:32 <oklopol> yeah, we all know the basics here anyway
23:15:35 <ihope> I'm implementing it in this parsing-based language.
23:15:48 <oklopol> parsing-based, wanna enlighten me?
23:15:56 <ihope> Every first-class value is a parser.
23:16:08 <oklopol> okay
23:16:31 <oklopol> so basically a function parses it's arguments?
23:16:35 <pikhq> No, it's SK"/x.SKKx" calculus.
23:16:45 <ihope> Parsers return strings, but a string is indistinguishable from a parser immediately returning that string.
23:17:03 <ihope> What a function parses isn't one of its arguments.
23:17:19 <ihope> Rather, what a parser parses.
23:17:30 <oklopol> Let's be more formal, like ihope would say.
23:17:36 <ihope> :-)
23:17:46 <oklopol> a parser does string->parser->string
23:17:46 <oklopol> ?
23:17:49 <oklopol> or what?
23:18:02 <ihope> Sort of tricky to put formally, I guess. Lemme think...
23:18:23 <oklopol> it's kinda like tree rewriting, but you have to serialize between steps?
23:19:27 * ihope ponders
23:20:08 <oklopol> okay
23:20:16 <oklopol> how is the overall data in a program presented?
23:20:18 <ihope> Okay, I think I've got it, greatly.
23:20:22 <oklopol> is it one string at every stage?
23:20:26 <oklopol> oky
23:20:30 <oklopol> then explain your way
23:20:35 <oklopol> oaky
23:21:24 <oklopol> oaky was a language i started making for tree-rewriting exactly, before i'd actually tried programming in a tree-rewriting language
23:21:33 <oklopol> i stopped because it wasn't esoteric enough
23:22:15 <ihope> First of all, there's the regexes, which are parsers. /foo/, for example, looks at the current string. If the string begins with "foo", it removes the "foo" from the beginning and returns "foo". If the string doesn't begin with "foo", it fails.
23:22:39 <oklopol> okay.
23:23:13 <ihope> parser[string] runs parser with string as its current string, then returns whatever the parser returns, ignoring the new current string.
23:23:59 <oklopol> so /foo/["okokoko"] would fail, /foo/["fookokoko"] would return "foo"?
23:24:07 <ihope> Yup.
23:24:12 <oklopol> what's failing?`
23:24:20 <ihope> /fo*/ matches f followed by any number of o.
23:24:32 <ihope> I'll get to failing later.
23:24:36 <oklopol> okay.
23:24:45 <oklopol> i might guess what that means, but do continue
23:24:48 <ihope> So /fo*/["fooooobar"] returns "fooooo".
23:24:55 <oklopol> ya
23:25:03 <ihope> I guess there's no better time to explain failing than now.
23:25:13 <oklopol> do do that
23:25:26 <ihope> Next piece of syntax: parser | otherparser
23:25:32 <oklopol> yeah, okay
23:26:14 <ihope> That runs parser on the current string. If parser returned something, it returns whatever parser returned. If parser failed, it pretends parser didn't run at all, then acts like otherparser.
23:26:48 <ihope> So (/foo/|/bar/)["fooquux"] returns "foo", while (/foo/|/bar/)["barquux"] returns "bar".
23:27:09 <oklopol> so... o="oh"; f="ohoho"; ((o|f)"x")["ohohox"] won't match?
23:27:19 <oklopol> you prolly don't get my syntax...
23:27:39 <oklopol> "oh" and "ohoho" are regexes
23:27:39 <oklopol> so
23:27:54 <oklopol> o=/oh/; f=/ohoho/; ((o|f)/x/)["ohohox"]
23:27:56 <ihope> You like the letter "o", don't you? :-P
23:28:04 <oklopol> :)
23:28:13 <oklopol> i seem to do.
23:28:21 <ihope> Assuming you mean concatenation there... hmm, lemme think about that.
23:28:32 <ihope> Yes, you're right.
23:28:36 <oklopol> that is the problem with that kind of trivial failing
23:29:07 <oklopol> but, you can just make the programmer have their own way of getting around that.
23:29:07 <ihope> (o|f) would chomp the "oh" and leave /x/ with "ohox".
23:29:07 <oklopol> yeah
23:29:17 <ihope> Next piece of syntax: parser + otherparser
23:29:25 <oklopol> that's like &
23:29:28 <oklopol> or
23:29:29 <oklopol> well
23:29:31 <oklopol> just explain :)
23:30:01 <ehird`> who wants to take up implang again?
23:30:10 <ehird`> the first revival didn't work =p
23:30:15 <ihope> This runs parser, then otherparser, and returns the results, concatenated.
23:30:18 <ihope> ehird`: the planned language?
23:30:55 <oklopol> ihope: the problem is regexes are usually stronger than that in that they can go back in time and always choose the right path
23:31:02 <ehird`> ihope: yeah
23:31:10 * ihope shrugs
23:31:26 <oklopol> if you fail at the end of the test, you should go back to where it last branched and retry
23:31:26 <ihope> I could add another alternation operator to fix that.
23:31:37 <oklopol> though, i think you can just have other functionality to get past that
23:31:54 <ehird`> ihope: why shrug? :)
23:32:09 <oklopol> he always shrugs, just learn to ignore it!
23:32:14 <ehird`> :P
23:32:17 <ihope> ehird`: I was shrugging at oklopol's pointing-out of the regex problem.
23:32:19 <ihope> oklopol: :-P
23:32:23 <oklopol> :D
23:32:35 <oklopol> anyway, please do continue if you have other stuff
23:33:21 <ehird`> ihope: ah :p
23:33:30 <ihope> Next and biggest piece of syntax is stuff like this: {parserone; x <- parsertwo; parserthree}
23:33:32 <ehird`> ihope: so you haven't responded to the query about the planned languag?
23:33:38 <ihope> ehird`: no, not really.
23:33:54 <ihope> This runs parserone, then runs parsertwo, then sets x to whatever parsertwo returned, then runs parserthree.
23:34:02 <oklopol> ehird`: don't stop the lecture!
23:34:10 <ehird`> oklopol: heh
23:34:43 <oklopol> ihope: {a;b;c;...;z} is like a+b+c+d+e+...+z?
23:34:46 <ihope> x is only in scope for the rest of the block, so it's not really a variable so much as... something else, I guess.
23:35:00 <ihope> Oh, right. After it runs parserthree, it returns what parserthree returned.
23:35:05 <oklopol> oh
23:35:28 <oklopol> i see, so ; is... ^a^b$b
23:35:38 <oklopol> >>> pl ^a^b$b
23:35:39 <ololobot> `ki
23:35:42 <ehird`> :s
23:35:48 <oklopol> that's... wrong
23:35:56 <oklopol> or...
23:36:01 <ihope> Well, it's part of the syntax, just like {} is.
23:36:11 <ihope> It separates the statements inside the block.
23:36:18 <oklopol> yeah
23:36:33 <ehird`> ^a^b$b is `ki
23:36:51 <ihope> A declaration takes this form: "function(parameter,otherparameter): expression."
23:36:51 <oklopol> hmm...
23:36:58 <oklopol> oh
23:37:00 <oklopol> fuck
23:37:02 <oklopol> i'm an idiot :)
23:37:06 <oklopol> yeah indeed it is
23:37:10 <oklopol> i don't know what i failed
23:37:17 <ehird`> sooo, anyone want to take up implang?
23:37:24 <ihope> ehird`: maybe!
23:37:30 <ehird`> ,-<
23:37:31 <ehird`> *<_<
23:37:49 <ihope> Functions take strings; if you try to pass a "non-string-like" parser into a function, you get a runtime error.
23:37:56 <oklopol> i'm gonna do some german work tonight, i think
23:37:59 <oklopol> later that is
23:38:04 <ihope> Strings can act as parsers, too: a string ignores the current string and returns itself.
23:38:25 <oklopol> ah okay
23:38:43 <ihope> So function(/regex/) or function(fail) is a runtime error, since /regex/ doesn't ignore the current string and fail doesn't return anything.
23:38:56 <ihope> (Assuming fail has suddenly turned into a keyword, which it hasn't. :-P)
23:39:18 <ehird`> #thelang for planned implang mk.3
23:39:43 <ihope> Sort of interestingly, // is stringlike: it ignores the current string and returns "".
23:39:51 <ihope> So it's the same as "".
23:39:54 <ihope> And yes, I technically didn't tell you about string literals :-P
23:39:56 <oklopol> {fail<-//;function(fail)}
23:40:01 <oklopol> then it works right?
23:40:21 <oklopol> well i know they exist.
23:40:32 <oklopol> you wouldn't have told me if you had something weirder
23:40:35 <ihope> Yes, that works, because fail is what // returned here.
23:40:37 <oklopol> would've
23:40:59 <oklopol> hmm
23:41:10 <ihope> I think there are three "strengths" of alternation operator.
23:41:31 <oklopol> {foo=/asdf/;bar=/.*/}["asdfololololo"] = "ololololo"?
23:41:46 <oklopol> whoops
23:41:50 <oklopol> {foo=/asdf/;/.*/}["asdfololololo"] = "ololololo"?
23:41:54 <ihope> The "weakest" one assumes that if the string is looked at and the parser doesn't fail immediately, it will never fail.
23:41:54 <oklopol> like that?
23:42:05 <ihope> oklopol: yep.
23:42:23 <oklopol> three?
23:42:28 <ihope> This allows the second option to be forgotten.
23:42:46 <oklopol> what if /asdf/ fails?
23:42:59 <ihope> If part of a block fails, the entire block fails.
23:43:06 <oklopol> ah.
23:43:59 <oklopol> you haven't shown me a way to get a new string to parse
23:43:59 <ihope> The "medium" strength doesn't make the assumption that the weakest one does, but it assumes that if the first parser succeeds, it can forget about the second option then.
23:44:04 <oklopol> hmm
23:44:09 <ihope> What do you mean?
23:44:10 <oklopol> sorry, i wasn't clear
23:44:12 <oklopol> wait
23:44:31 <oklopol> hmm
23:44:51 <oklopol> like, you have to have a way to pass a parser around to be able to get any looping going
23:45:48 <ihope> The "strongest" alternation doesn't make even the assumption that the medium one does: even if the first parser succeeds, any later failure will cause it to switch to the second parser.
23:48:36 <oklopol> yeah
23:48:40 <ihope> I think I like the weakest alternator best. It's easy to "work around", and is quick to remove things from memory.
23:49:10 <oklopol> but, to be able to do ski, do you have any kind of flow control?
23:49:16 <oklopol> or parser-passing
23:49:26 <oklopol> string *result* catenation etc
23:49:54 <oklopol> otherwise your program just parses one big string character by character
23:49:59 <ihope> Results can be concatenated fine.
23:50:11 <ihope> {x <- parser; y <- parser; parser[x+y]}
23:50:29 <oklopol> hmm...
23:50:46 <oklopol> that'd use what parser[x+y] returns as the last parser?
23:51:17 <oklopol> umm
23:51:22 <oklopol> indeed, that returns a string
23:51:31 <oklopol> and a string always returns itself
23:52:06 <ihope> Parsers return strings.
23:52:11 <oklopol> yes
23:52:38 <oklopol> it took me a second it doesn't matter if that string that's returned is used as a parsed.
23:52:40 <oklopol> *parser
23:52:45 <oklopol> *to realize
23:52:46 <oklopol> ...
23:53:03 <oklopol> hmm
23:53:29 <oklopol> can you pass parsers around?
23:53:33 <ihope> Nope.
23:53:41 <oklopol> can you do a <- ... ; {a}?
23:53:44 <oklopol> i mean
23:53:48 <oklopol> scopes
23:53:49 <oklopol> like that
23:54:11 <oklopol> because recursion is impossible otherwise
23:54:14 <ihope> {a <- ...; {a}} works fine.
23:54:20 <oklopol> okay
23:55:01 <ihope> http://pastebin.ca/677964
23:55:18 <ihope> A = s; B = k; C = `.
23:56:05 <oklopol> where's the actual parser?
23:56:49 <oklopol> ah you call foo
23:57:48 <ihope> That program happens to be built from single-letter regexes only.
23:59:15 <ihope> And it works with the weakest alternator.
23:59:32 <ihope> And, assuming I didn't make any big mistakes, it's a valid SK interpreter.
←2007-09-01 2007-09-02 2007-09-03→ ↑2007 ↑all