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