< 1207526441 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzzzzzzzz < 1207526845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :omg, there's a problem with the actual semantics, not the program < 1207526878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is that i want objects to store state, but this effectively prevents recursion in certain cases < 1207526939 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i would have to start having my functions copy themselves as they evaluate, if they see they aren't unique in the program, and they start changing the namespace < 1207526947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, what's the problem, that's like 5 lines of code < 1207526957 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :can't you just have closures? < 1207526969 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :which close a mutable env < 1207527003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1207527017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a function is basically just that < 1207527024 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1207527025 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except it also holds some code < 1207527036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(= test {(-> $get n) (-> n [])}) (test 5) (get test) <<< this should return 5, because test stores its state < 1207527053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with my current implementation, this meant a function that recursively calls itself actually *calls itself* < 1207527088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the other simple way is to store no state < 1207527103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in which case this example doesn't work, but recursion works easily < 1207527116 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*means < 1207527156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so basically, the semantics require the runtime environment to detect recursion and copy namespaces. < 1207527164 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1207527176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least that's the simplest way i can think of to implement it < 1207527186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it is simple, so there is really no prob < 1207527476 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1207527500 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh, shoot, forgot to put bin2arr.c in the jsmips dir 8-O < 1207527520 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1207528009 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Massive failure :P < 1207528072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, dirtiest solution ever, but it works < 1207528092 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an object checks if it on the call stack when it's evaluated, and it copies its namespace if it is < 1207528093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1207528110 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Wanna see! < 1207528112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Linky! < 1207528114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :quicksort works yay < 1207528227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p643464352.txt < 1207528244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is especially ugly without infix < 1207528357 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If I had to classify this code on a scale of 1 to WTF, I'd give it WTF < 1207528510 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1207528516 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think it's fairly clear < 1207528530 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I see the issue. < 1207528530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's wtf about it? < 1207528543 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :This won't work with MIPS -O0, because it loads the 'c' variable off the stack every time it uses it. < 1207528548 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207528555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"this code" < 1207528556 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So it gets overwritten and then loads some garbage variable off the stack :P < 1207528570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :read "that code" and assumed you meant mine < 1207528652 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I said "this code" X-P < 1207528657 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You should mark c as a register. < 1207528673 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Or rather, mark all of those as registers :P < 1207528718 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207528740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm < 1207528745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bringing seabot in here wasn't the best idea < 1207528747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It uses ! as a prefix.. < 1207528750 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ergo: < 1207528751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1207528751 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :wtf is help? < 1207528753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1207528754 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1207528756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's not meant to happen < 1207528756 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1207528757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207528769 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207528773 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :WTF /is/ help? < 1207528775 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207528776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1207528776 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :cdecl: cdecl < 1207528776 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :help: help < 1207528776 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :karma: karma- karma karma+ < 1207528778 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :meta: load reload unload < 1207528778 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1207528780 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1207528797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!reload help < 1207528797 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the help plugin. < 1207528798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1207528798 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :cdecl: cdecl < 1207528798 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :help: help < 1207528798 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :karma: karma karma+ karma- < 1207528798 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :meta: load reload unload < 1207528799 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I don't know whether MIPS is frozen, or writing over the stack is extremely slow for this emulator :P < 1207528800 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1207528802 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1207528807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1207528809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!karma- EgoBot < 1207528809 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot's karma lowered to -1. < 1207528812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207528812 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1207528833 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Oh fuck you, seabot. < 1207528861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1207528862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207528869 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1207528879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!cdecl int EgoBot < 1207528879 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :declare EgoBot as int < 1207528881 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :seabot's karma lowered to -∞. Yeah. That's right, bitch. < 1207528882 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1207528884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!cdecl lame EgoBot < 1207528885 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :syntax error < 1207528886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aww < 1207528887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207528888 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1207528894 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1207528897 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1207528898 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hi calamari :P < 1207528946 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207528951 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207528952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seabot will use @ for a prefix now < 1207528953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@help < 1207528954 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :cdecl: cdecl < 1207528954 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :help: help < 1207528954 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :karma: karma karma+ karma- < 1207528954 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :meta: load reload unload < 1207528979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Will you like it if I make it use egobfi for interpreting brainfuck? ;) < 1207529001 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Only if it also interprets: < 1207529002 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1207529006 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1207529008 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1207529017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: It's not just an esolang bolt. :-) < 1207529020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bot < 1207529025 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Ah :P < 1207529063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'sea'bot shows its origins: a bot for ##free-c < 1207529065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is about C < 1207529066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207529069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(which is arguably an esolang) < 1207529076 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine < 1207529080 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Error: Program must have at least one command < 1207529097 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :why does freenode need another C channel? < 1207529172 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :is it a sign of senility when you can't remember how to program in an esolang you wrote yourself? < 1207529187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vixey: there's only one: ##C < 1207529190 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and ##C has PoppaVic < 1207529228 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine 1[0=72,0$,0+29,0$,0+7,0$,0$,0+3,0$,1=32,1$,0-24,0$,0+24,0$,0+3,0$,0-6,0$,0-8,0$,1+1,1$,1-23,1$]0 < 1207529232 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Hello World! < 1207529298 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: what if a program is more than one line? < 1207529314 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: isn't whitespace ignord in linguine? < 1207529343 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1207529388 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine 1[]1 < 1207529394 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Error [line 1]: missing or invalid command < 1207529400 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :calamari: not if you're Ben Olmstead < 1207529409 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine 1[0=0]1 < 1207529426 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1207529430 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 calamari: linguine < 1207529432 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 calamari: ps < 1207529443 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!slow bots for $100 < 1207529446 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1207529521 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine 1[0=0]2\n2[0=0]0 < 1207529526 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Error [line 1]: bad jump line number `2\n2[0=0]0' < 1207529545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Upload it, specify a url < 1207529556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/paste/ put it here, choose 'raw' < 1207529560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then !linguine THATURL < 1207529570 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :iirc, my esobot could handle multiple line input :) < 1207529583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!linguine http://rafb.net/p/2vhKkd81.txt < 1207529585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1207529588 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 calamari: linguine < 1207529590 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 ehird: linguine < 1207529592 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!kill 1 < 1207529592 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :3 ehird: ps < 1207529593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seeeee < 1207529594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207529594 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Process 1 killed. < 1207529595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!kill 2 < 1207529599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!kill 1 < 1207529600 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :No such process! < 1207529602 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Process 1 killed. < 1207529612 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207529639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Want a url for the thingy! < 1207529678 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :NO CAN GIVE, NOT WANT UPLOAD < 1207529682 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine http://rafb.net/p/o4spP929.txt < 1207529684 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I'll email you the test.html if you want. < 1207529701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Blargh :( < 1207529703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Come on :p < 1207529754 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1207529774 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!linguine http://rafb.net/p/EYRZBj28.txt < 1207529776 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :99 bottles of beer on the wall, < 1207529797 0 :oklopol!n=nnscript@spark.turku.fi JOIN :#esoteric < 1207529797 0 :oklopol!unknown@unknown.invalid QUIT :Remote closed the connection < 1207529814 0 :oklopol!n=nnscript@spark.turku.fi JOIN :#esoteric < 1207529864 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1207529868 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 calamari: linguine < 1207529870 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 calamari: ps < 1207529926 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :interesting to be receiving output from an unlisted process :) < 1207529939 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/jsmips/Nonworking%20Continuations.html < 1207529950 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Enjoy watching the spinner spin. < 1207530025 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool, test.html crashed my firefox < 1207530081 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Works fine in mine. < 1207530098 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Firefox is in fact my test platform. < 1207530125 0 :ais523!unknown@unknown.invalid QUIT :"(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"" < 1207530157 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah.. not sure why but ff crashes randomly for me.. tried it again and it was fine < 1207530184 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if it has anything to do with running in 32-bit mode on the 64-bit kernel < 1207530198 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034 < 1207530207 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Wow < 1207530263 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :took about 9 minutes for that < 1207530377 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but I was also running JSMIPS X-P < 1207530385 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you ported gcc, binutils, and newlib for your lang? < 1207530393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :calamari: no < 1207530396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its not his instruction set < 1207530401 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he is just implementing it in JS < 1207530406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and gcc already compiles to it < 1207530410 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Because MIPS rulz. < 1207530436 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ahh bummer.. was hoping someone understood gcc backends < 1207530466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you will be interested in this! < 1207530475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I wrote a python function that takes a python 1 liner and expands it < 1207530479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :usable for e.g. bots < 1207530483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it uses one syntax extension < 1207530490 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :after a block thing like 'if foo:' < 1207530493 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if it sees { < 1207530499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that means 'newline and increase indentation' < 1207530502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarrrr < 1207530503 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I once spent all of ten minutes trying to port GCC to MISC, then went "NOPE" and quit. < 1207530505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if it sees the matching }, that means 'drop identation' < 1207530506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1207530521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if foo: { if bar: { print "hi" } else: { print "bye" } } else: { print "wtf"; 2+2 } < 1207530523 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: yeah GCC is a pita < 1207530531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it is clever, so it doesn't break dict syntax or strings < 1207530534 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why the :'s < 1207530542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because {} can be dictionary syntax < 1207530543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :":" always means indentation < 1207530547 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right. < 1207530551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207530551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1207530553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if foo: ... } < 1207530554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :looks ugly < 1207530555 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207530560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a bit < 1207530561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :+ its easier to parse this way < 1207530566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1207530780 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :World's most obscure insult: "I'm sure you've read the manual page on checking filesystems." < 1207530786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hahah < 1207530794 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'll show you the function < 1207530798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but it's REALLY REALLY UGLY < 1207530799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207530803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do < 1207530809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://rafb.net/p/GoqPxY60.txt < 1207530820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wow that's long < 1207530826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my oklotalk-- parser is shorter :-) < 1207530831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :usage: < 1207530834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make_1liner(string) < 1207530843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :python-oneliner-thingy in, python code out < 1207530882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, iterative solution < 1207530891 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: not sure what the simplest target is that gcc supports, but one possibility is taking the asm output and compiling that for the desired lang < 1207530911 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Probably MIPS I, and yeah, MIPS->MISC wouldn't actually be too tough. < 1207530914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can't do it via regexps < 1207530917 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: its really the only way < 1207530931 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i meant iterative versus recursive < 1207530976 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: in any case I know it's not x86 :) < 1207531057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ah < 1207531064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :recursive would just be manual iterative in this case < 1207531106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1207531130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I mean, i'd just end up emulating the stuff I have in my iterative version < 1207531136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. manually transforming it into recursive form < 1207531141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is, it has no natural recursive form < 1207531145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :apart from translating the iterative form < 1207531152 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :8| < 1207531157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a-ha.. < 1207531159 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lessee < 1207531179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hmm < 1207531180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in my bot < 1207531187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :should declarations persist across @pythons? < 1207531188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1207531190 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python a = 2 < 1207531191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python a < 1207531191 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :wtf is python? < 1207531195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gives you 2 < 1207531195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1207531206 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should it persist across bot runs? :D < 1207531217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in my opinion yes, because it's nice and floody to be able to use a bot as a repl < 1207531221 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :shhure: D < 1207531233 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should the bindings be per-user or for everyone? < 1207531237 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207531254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you could do something fun like have _XXX be for personal use < 1207531256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except < 1207531262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you'd need to parse the code < 1207531263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1207531272 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :_something_here that was < 1207531285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 'my' (from perl) < 1207531287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my x = 2 < 1207531288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;D < 1207531301 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can get: < 1207531303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my_x = 2 < 1207531304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :though < 1207531316 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh, i know! < 1207531322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, actually shouldn't be hard to do storing based on name < 1207531324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :user-specific, but you can access others bindings < 1207531330 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1207531334 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :calamari.x < 1207531339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo.psox_variable < 1207531339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :something like that < 1207531344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1207531345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably more like: < 1207531347 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wha? < 1207531361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bindings.Sgeo.psox_variable < 1207531365 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, I'll hijack _ for that < 1207531368 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oklopol: /.*/ -> you don't get it -> don't need to < 1207531368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :_.Sgeo.psox_variable < 1207531387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so you can doo: < 1207531393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doo doo < 1207531394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :weird_func = _.oklopol.weird_func < 1207531412 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmyappy. < 1207531416 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :We're having a public Python bot and we can store variables there under our name? < 1207531417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :looks okay < 1207531428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: something like that, except not yet. < 1207531428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: seabot will execute python, yeah < 1207531460 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :"Frontends vary internally, having to produce trees that can be handled by the backend. The parsers are hand-coded recursive descent parsers." < 1207531510 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :funny that they don < 1207531513 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :'t use bison < 1207531536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: instead of _, users < 1207531540 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :users.oklopol.weird_func < 1207531876 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207531893 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207531897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207531897 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :UnpickleableError: Cannot pickle objects < 1207531900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Darnit. < 1207531987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207531987 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207531990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207531990 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207531992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2+2 < 1207531992 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1207531994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207531994 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532009 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'close' < 1207532010 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532010 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532012 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532013 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'close' < 1207532020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532020 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'close' < 1207532024 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207532030 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207532032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532032 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532075 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Weird.. < 1207532085 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532085 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532086 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532098 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532098 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207532131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532131 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532132 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: EOL while scanning single-quoted string (, line 1) < 1207532148 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532149 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532149 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532150 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'special' is not defined < 1207532158 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :@python sucks < 1207532158 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'special' is not defined < 1207532161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532162 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532163 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :>O< < 1207532167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vixey: justify that < 1207532169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'hi' < 1207532173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'hi' < 1207532173 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'MagicGlobals' object has no attribute '_print_' < 1207532176 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :ehird: forced indentation of code < 1207532192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vixey: sooo.. give me a use case for not indenting code < 1207532199 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :during editing < 1207532211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your editor must be horrible < 1207532235 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :I've used lots of editors ... < 1207532275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532275 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'hi' < 1207532287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1207532288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207532288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207532290 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Very odd < 1207532299 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532299 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207532300 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207532303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a' < 1207532326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python {} < 1207532326 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{} < 1207532331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { 2 } < 1207532331 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207532335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { 2 } else: { 3 } < 1207532335 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 3) < 1207532339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm, oh < 1207532398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532398 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { 2 } else: { 3 } < 1207532400 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'NoneType' object has no attribute 'start' < 1207532439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532439 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532440 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { 2 } else: { 3 } < 1207532440 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207532447 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532447 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'MagicGlobals' object has no attribute '_print_' < 1207532481 0 :vixey!unknown@unknown.invalid QUIT :"Leaving" < 1207532530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532530 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (python.py, line 82) < 1207532563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532563 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532565 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'cStringIO.StringO' object has no attribute 'strip' < 1207532655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532655 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532656 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532656 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'cStringIO.StringO' object has no attribute 'strip' < 1207532669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532669 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532670 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1207532676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2+2 < 1207532679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2+2 < 1207532682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1207532768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207532769 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207532769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2+2 < 1207532770 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1207532776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532776 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1207532780 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 0: { print 'hello world'; 2+2 } else: { 3 } < 1207532780 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1207532869 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207532875 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207532878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 0: { print 'hello world'; 2+2 } else: { 3 } < 1207532878 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207532891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's almost working :D < 1207532892 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207532898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 0: { print 'hello world'; 2+2 } else: { 3 } < 1207532898 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1207532902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1: { print 'hello world'; 2+2 } else: { 3 } < 1207532902 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1207532903 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1207532905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah! < 1207532909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print 'a'*500 < 1207532914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1207532916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207532922 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :a' < 1207532927 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207532933 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207532934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207532934 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207532936 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207532940 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207532942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haha whut < 1207532942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1207532944 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207532948 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207532950 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :a' < 1207533053 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533059 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533062 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533062 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533083 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533085 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533115 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500+'h!' < 1207533115 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533120 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533123 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500+"h!" < 1207533127 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: sorry, its debug time < 1207533129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207533130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :v < 1207533130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533131 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533136 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn you robot! < 1207533150 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533155 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533157 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533196 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533202 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533206 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: How many characters will egobot write on one line? < 1207533207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533208 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533219 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533232 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'a'*500 < 1207533235 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 1207533235 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaa' < 1207533260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python sys < 1207533261 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'sys' is not defined < 1207533262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys < 1207533275 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python help(sys) < 1207533276 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'sys' is not defined < 1207533280 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207533282 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It's per user. < 1207533285 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :python import sys < 1207533287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python help(sys) < 1207533288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Help on built-in module sys: < 1207533288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NAME < 1207533288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : sys < 1207533288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :FILE < 1207533288 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : (built-in) < 1207533288 0 :seabot!unknown@unknown.invalid QUIT :Excess Flood < 1207533292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need to add a delay < 1207533292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207533306 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533309 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can users share data? < 1207533320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Soon you can do: 'users.ehird.sys' < 1207533324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533324 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207533328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmmm whut < 1207533341 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533342 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533343 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207533344 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :{} are legal in Python? < 1207533345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ahh < 1207533346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i seeeee < 1207533351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: No, but I preprocess the code < 1207533354 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't think they .. oh < 1207533363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's a special syntax so that you can fit anything on one line. < 1207533368 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1207533378 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although I don't think the #python people would like that < 1207533387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: #python people are asses < 1207533396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and I'd like to see their suggestion for getting python code on one line < 1207533397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's the only way < 1207533400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533400 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533403 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :IndentationError: unexpected indent (line 2) < 1207533415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533416 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533417 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :IndentationError: unexpected indent (line 2) < 1207533427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh, hmm. < 1207533427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Odd. < 1207533443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533443 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533445 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'MagicGlobals' object has no attribute '_getattr_' < 1207533449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yay < 1207533467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533467 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533468 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not callable < 1207533474 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what if one user wants to keep data from other users? < 1207533486 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :looks like I've been missing out on fun < 1207533488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: why the fsck are they using a public bot to evaluate python < 1207533491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533491 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533493 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not callable < 1207533534 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1207533553 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python test = False; while(not Test): {print 'Hi'; test = True} < 1207533553 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'Test' is not defined < 1207533558 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python test = False; while(not test): {print 'Hi'; test = True} < 1207533559 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Hi < 1207533576 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So it's something to do with calling a function in sys < 1207533584 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I know what the problem is. < 1207533606 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533606 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; while True: { print 'ping'; sys.sleep(3) } < 1207533609 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'module' object has no attribute 'sleep' < 1207533616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh, duh < 1207533625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import time; while True: { print 'ping'; time.sleep(3) } < 1207533634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ayup, just as I thought < 1207533645 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..what's the problem now? < 1207533665 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Alright, I gotta go. I'll be back tomorrow night, and hopefully say some more. < 1207533667 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :G'night! < 1207533673 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :bye wildhalcyon < 1207533695 0 :wildhalcyon!unknown@unknown.invalid PART #esoteric :? < 1207533698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@help < 1207533701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ayup < 1207533725 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1207533726 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@help < 1207533759 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It isn't multi-threaded yet < 1207533770 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import time; while True: { print 'ping'; time.sleep(3) } < 1207533796 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'str' object has no attribute 'sender' < 1207533808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533809 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python import time; while True: { print 'ping'; time.sleep(3) } < 1207533813 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :ping < 1207533816 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :ping < 1207533818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1207533819 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :ping < 1207533821 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533827 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; sys.exit(1) < 1207533836 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207533837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I THINK everything should work, all I have to do now is make it secure < 1207533837 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207533840 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1207533843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And DON'T DO THAT < 1207533849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Do you realise how annoying that is? < 1207533850 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207533854 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1207533856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207533860 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How is it going to be secured? < 1207533865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: RestrictedPython < 1207533869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pypi.python.org/pypi/RestrictedPython < 1207533882 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It gives you a function that you can use instead of compile() < 1207533893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then you just provide some hooks into the environment you eval it in (the globals) < 1207533898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and those get called on things like e.g. importing < 1207533905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207533905 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207533910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207533910 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'ehird' < 1207533914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, of course < 1207533937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207533938 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207533939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207533940 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: can't pickle function objects < 1207533944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Darn < 1207533973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p234644461.txt <<< rational number class and quicksort on it < 1207534003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :test\ratqs.ot ==> [[rat 0 5] [rat 1 3] [rat 34 82] [rat 2 4] [rat 3 5] [rat 5 6] [rat 61 48] [rat 8 3] [rat 93 23] [rat 8 1]] < 1207534009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> [0.0/5,1/3.0,34.0/82,2/4.0,3.0/5,5/6.0,61.0/48,8/3.0,93.0/23,8/1.0] < 1207534009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[0.0, 0.33333333333333331, 0.41463414634146339, 0.5, 0.59999999999999998, 0.83333333333333337, 1.2708333333333333, 2.6666666666666665, 4.0434782608695654, 8.0] < 1207534014 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seems it succeeds < 1207534026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534026 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534032 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SafetyError: Nuh-uh! < 1207534033 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, what language? < 1207534035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hum < 1207534037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fun, i've never done a language with extendable types before < 1207534041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oklotalk-- < 1207534045 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; sys.exit < 1207534046 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SafetyError: Nuh-uh! < 1207534052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Huh what < 1207534055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ohy < 1207534058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Of course < 1207534070 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python sys.version < 1207534070 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SafetyError: Nuh-uh! < 1207534076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes yes yes < 1207534076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :shut up < 1207534077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207534098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: once you're done, do realize you are supposed to be the one vaguely interested. < 1207534126 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Yes < 1207534128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am going to look < 1207534134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarrrr, no hurry < 1207534156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i'm going to take a break now, the current subset seems to work quite nicely < 1207534159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534159 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207534161 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207534162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534162 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534179 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534180 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SafetyError: Nuh-uh! < 1207534183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :huh whut < 1207534186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or i could just keep on working < 1207534189 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1207534193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oic < 1207534205 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python user.Sgeo < 1207534206 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'user' is not defined < 1207534208 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo < 1207534209 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SafetyError: Nuh-uh! < 1207534212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207534231 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Please shut up when I just found a bug and am trying to fixi t < 1207534232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207534272 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python "I WANNA TRY TOO" < 1207534278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python print "I WANNA TRY TOO" < 1207534278 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :I WANNA TRY TOO < 1207534289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python for i in range(1000): {print "I WANNA TRY TOO"} < 1207534290 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name '_getiter_' is not defined < 1207534293 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-< < 1207534324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes yes yes < 1207534326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gimme a second < 1207534326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1207534327 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how are you planning on preventing floods like that? < 1207534356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Making output go sloooow. < 1207534357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And a @kill < 1207534359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534360 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python "HI" < 1207534367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, thanks oklopol < 1207534369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You found a bug < 1207534382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534382 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{} < 1207534387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And 'nother < 1207534388 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python str("Hi") < 1207534388 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'Hi' < 1207534404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534405 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Totally bizzare < 1207534411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 'hi' < 1207534411 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python "Hi" < 1207534414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207534415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Weird. < 1207534418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534419 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{} < 1207534420 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python str("Hi") < 1207534420 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :'Hi' < 1207534428 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python 2 < 1207534428 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207534431 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534432 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534434 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python "Hi" < 1207534437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534437 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'Sgeo': } < 1207534462 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python dir(users.Sgeo) < 1207534462 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'Sgeo' < 1207534474 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python dir(users['Sgeo']) < 1207534474 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'getitem' is not defined < 1207534475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534475 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534477 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534483 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python < 1207534486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534486 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534487 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534487 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534488 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'Sgeo': } < 1207534489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207534489 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'ehird' < 1207534496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python type(users) < 1207534497 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oshi- < 1207534503 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird'] < 1207534503 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'getitem' is not defined < 1207534517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534517 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534521 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :if it's a dict, it should be like user['ehird'] not users.ehird < 1207534525 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534530 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534530 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :BRING < 1207534530 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'Sgeo': } < 1207534533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what do you think 'oshi-' means < 1207534589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534589 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534590 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534590 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534592 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534593 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'getitem' is not defined < 1207534601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207534601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ofc < 1207534637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534637 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534639 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534642 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207534643 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'ehird' < 1207534655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.__class__ < 1207534655 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: Line 1: "__class__" is an invalid attribute name because it starts with "_". < 1207534661 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1207534667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Stupid RestrictedPython < 1207534716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534716 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534718 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534718 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'Sgeo': } < 1207534718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534719 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'Sgeo': } < 1207534726 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['Sgeo'] < 1207534726 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534734 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python test = 5 < 1207534739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534739 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534741 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['Sgeo']['test'] < 1207534741 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'test' < 1207534743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534743 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'Sgeo': } < 1207534743 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1207534745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo < 1207534745 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'Sgeo' < 1207534748 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fdfkgdfg < 1207534751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: just stop for a sec, k < 1207534788 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he could help code somehow < 1207534798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534798 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534800 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo < 1207534800 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :RuntimeError: maximum recursion depth exceeded < 1207534805 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534805 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534817 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why was it recusing if I wasn't in there? < 1207534817 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534819 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534819 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207534821 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'name' is not defined < 1207534827 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what do you do for protection? < 1207534828 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534828 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207534830 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534851 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I just ditched RestrictedPython. Now I'll protect it via __builtins__, modified globals, and __import__ < 1207534858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird.users < 1207534859 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird.users.ehird.users < 1207534862 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'dict' object has no attribute 'ehird' < 1207534864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hee < 1207534866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1207534866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oshi < 1207534869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sounds possible < 1207534895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207534896 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207534897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird.users.ehird.users < 1207534897 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'MagicGlobals' object has no attribute 'users' < 1207534900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534900 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': } < 1207534911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: this IS abusable -- you can modify the users dict how you please < 1207534912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it's __d < 1207534918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you have to do all this: < 1207534918 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['Sgeo'] < 1207534918 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534937 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :__d? < 1207534938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird._MagicGlobals__data < 1207534938 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{} < 1207534953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207534953 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'Sgeo': } < 1207534956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, whatever. < 1207534986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def fact(n): { if n == 0: { return 1 } else: { return n * fact(n-1) } } < 1207534987 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python type(users['Sgeo']) < 1207534987 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534996 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python fact < 1207534996 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207534999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python fact(2) < 1207534999 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'fact' is not defined < 1207535002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WTF < 1207535004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python fact < 1207535004 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207535012 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python x = fact; x(2) < 1207535014 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird']['fact'] < 1207535014 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535017 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird']['fact'](5) < 1207535017 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'fact' is not defined < 1207535021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207535022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1207535032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its erroring on the recursive fact < 1207535036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird'] < 1207535037 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python dir(users['ehird']) < 1207535041 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :['_MagicGlobals__blab', '_MagicGlobals__data', '_MagicGlobals__users', '__builtins__', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__import__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', '__weakref__', 'special', 'stdout'] < 1207535053 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird']['fact'] < 1207535053 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python dir(users['ehird']['fact']) < 1207535056 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__get__', '__getattribute__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name'] < 1207535061 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird']['fact'].func_dict < 1207535061 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{} < 1207535065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1207535067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i dunno why this is happening < 1207535070 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :func_dict? < 1207535071 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users['ehird']['fact'].func_globals < 1207535072 0 :seabot!unknown@unknown.invalid QUIT :Excess Flood < 1207535084 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207535099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def id(x): { return x } < 1207535104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python id(2) < 1207535104 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1207535110 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def void(): { return void } < 1207535112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python void() < 1207535113 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'void' is not defined < 1207535115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python void < 1207535116 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535118 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you see? < 1207535133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print repr(void.func_globals)[:20] < 1207535133 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'__builtins__': {'I < 1207535134 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :yes, but what's func_dict supposed to be? < 1207535135 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print repr(void.func_globals)[:100] < 1207535136 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'__builtins__': {'IndexError': , 'all': , 'hel < 1207535143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print repr(void.func_globals)[100:200] < 1207535143 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :p': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDec < 1207535168 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :everything that the function sees as global, I guess? < 1207535187 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python def void: {return void} < 1207535188 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207535194 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python def void(): {return void} < 1207535206 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python void.func_globals['void'] = void < 1207535211 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :python void() < 1207535213 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python void() < 1207535214 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535216 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207535219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1207535223 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ugly workaround though < 1207535255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo.void < 1207535255 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :AttributeError: 'MagicGlobals' object has no attribute 'void' < 1207535267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo['void'] < 1207535267 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@reload python < 1207535276 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Reloaded the python plugin. < 1207535277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.Sgeo.void < 1207535277 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'Sgeo' < 1207535282 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1207535283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I keep wiping yours < 1207535289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1207535289 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535301 0 :Sgeo!unknown@unknown.invalid NICK :`Sgeo < 1207535307 0 :`Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python print "Hi" < 1207535308 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Hi < 1207535312 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207535312 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , '`Sgeo': } < 1207535315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users['`Sgeo'] < 1207535315 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535331 0 :`Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python getattr(users, "`Sgeo") < 1207535332 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207535339 0 :`Sgeo!unknown@unknown.invalid NICK :Sgeo < 1207535411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Feed in your cellular automata thing < 1207535414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207535416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you wrote a function to do it < 1207535419 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i don't have it anywhere < 1207535420 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207535423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but now, it can be multiple statements and everything < 1207535427 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1207535428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it'll be a lot more convenient < 1207535438 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can rewrite one, or you can search it for me < 1207535442 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; sys.exit < 1207535446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: rewrite it to use the cool stuff < 1207535446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207535448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i don't *have* it < 1207535451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207535452 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python import sys; sys < 1207535457 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1207535458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes yes it's buggy < 1207535458 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207535464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: here's the general rule: < 1207535467 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@python str("hi, I'm alive") < 1207535467 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :"hi, I'm alive" < 1207535478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo: { bar } is foo:, with 'bar' as the indented block < 1207535483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what automaton do you want < 1207535484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo; bar is foo, a newline, and bar < 1207535488 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know the rules! < 1207535491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but of course the newline is bumped up to the right indent < 1207535492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and ok < 1207535499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how about that famous rule one < 1207535500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thing < 1207535500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1207535507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also i'm gonna write it in real python first, because i'm scared i might fail :< < 1207535516 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rule one < 1207535517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207535542 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what's rule one? < 1207535559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1207535560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not rule 1 < 1207535563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rule one is trivial < 1207535565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the turing complete one < 1207535568 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207535569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :110 < 1207535574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1207535575 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a lower number < 1207535586 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what are we talking about? < 1207535594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :110 + a few identical ones < 1207535600 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for instance the reverse < 1207535605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and two others, iirc < 1207535621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, it's 110 alright < 1207535623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll do < 1207535623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now < 1207535629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1207535630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207535680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1207535689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :110 grows in the wrong direction, i'll reverse it < 1207535720 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so it's... 116 < 1207535790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://codespeak.net/pypy/dist/pypy/doc/sandbox.html < 1207535791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I might use that < 1207535795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because pypy is cool < 1207535795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207535936 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :interacting through stdio? Why does that sound familiar.., < 1207535960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Huh? < 1207535986 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"instead, whenever it would like to perform such an operation, it marshals the operation name and the arguments to its stdout and it waits for the marshalled result on its stdin." < 1207536014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh. that's nothing like psox < 1207536021 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was being silly < 1207536028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay i'm implementing a bit verbosely < 1207536036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i guess that's okay < 1207536294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can't wait < 1207536295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207536393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmph, should be ready already < 1207536394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :almost < 1207536536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so okay < 1207536539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's < 1207536542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1207536549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's < 1207536549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1207536550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asd someone show me some of it < 1207536557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ??? < 1207536559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wanna see if it's right < 1207536565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1207536566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't wanna! :D < 1207536569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :110 < 1207536571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what are you talkng about < 1207536596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Rule_110_cellular_automaton < 1207536602 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: try doing the 2,3 machine < 1207536603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207536631 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION actually helps someone with a regex question in #python .. < 1207536643 0 :tola_!unknown@unknown.invalid QUIT : < 1207536646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you have a wikipedia article! < 1207536655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Alex_Smith_%28The_Simplest_Universal_Computer_Proof_contest_winner%29 < 1207536783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but anyhoo < 1207536784 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Rule 110 < 1207536785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :show it! < 1207536790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just define it < 1207536791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1207536797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def rule110(foo): { ... } < 1207536815 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what are these rules? < 1207536821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: cellular automata < 1207536825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Rule 110 is turing complete < 1207536835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :GLAH it should work noq < 1207536836 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now < 1207536855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not really in a very fast coding mood right now < 1207536866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... fuck if this takes over half an huor < 1207536868 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hour < 1207536879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it should work? try it :D < 1207537171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try it < 1207537175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i need to go soon :( < 1207537180 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1207537181 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :done < 1207537186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1207537188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try it in @python < 1207537188 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now to convert... < 1207537270 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pasiodjf < 1207537276 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :; splits or terminates < 1207537312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def next_row(p,rule=110,spl=(0,-1)): {rule=to_bits(rule);ret=[];z=[0,0]+p+[0,0];for i in xrange(1,len(z)-1):{ret.append(next(z[i-1:i+2],rule))};if spl[1]==0:{return ret[spl[0]:]};return ret[spl[0]:spl[1]] < 1207537323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you missed a } < 1207537323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is the function to get the next row < 1207537328 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207537330 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207537349 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def next_row(p,rule=110,spl=(0,-1)):{rule=to_bits(rule);ret=[];z=[0,0]+p+[0,0];for i in xrange(1,len(z)-1):{ret.append(next(z[i-1:i+2],rule))};if spl[1]==0:{return ret[spl[0]:]};return ret[spl[0]:spl[1]]} < 1207537353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but < 1207537356 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need a few others < 1207537370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1207537371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hurry < 1207537374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't have much time :p < 1207537384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1207537422 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def next(l,r):{r=reverse(r);for i in xrange(len(r)): {if r[i]==True and l==to_bits(i,3): {return True }};return False} < 1207537492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def to_bits(n,l=8):{ret=[];while n:{ret.append(n%2);n/=2};return reverse(ret+[0]*(l-len(ret)))} < 1207537499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: your original was a one-liner < 1207537500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207537508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and this could easily be made one < 1207537520 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just made it a bit more generic, for the fuck of it < 1207537521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python row=[True] < 1207537530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python row=next_row(row) < 1207537532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python row < 1207537532 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :[True] < 1207537535 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207537539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whhhell < 1207537552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python next_row(row) < 1207537552 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'to_bits' is not defined < 1207537556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1207537557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :joy < 1207537562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the broken global bindings < 1207537566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you want me to onelinerize it? < 1207537598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how long will that taeke < 1207537605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not that long < 1207537609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :4 minutes..? < 1207537609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how long < 1207537611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207537611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1207537612 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1207537674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :done < 1207537679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now to your format < 1207537708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i hope its just one function < 1207537710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise itll break < 1207537719 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used inner functions < 1207537728 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that okay? < 1207537732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1207537804 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ... < 1207537865 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def next_row(p,rule=110,spl=(0,-1)):{def next(l,r):{r=reverse(r);for i in xrange(len(r)):{if r[i]==True and l==to_bits(i,3):{return True}};return False};def to_bits(n,l=8):{ret=[];while n:{ret.append(n%2);n/=2};return reverse(ret+[0]*(l-len(ret)))};rule=to_bits(rule);ret=[];z=[0,0]+p+[0,0];for i in xrange(1,len(z)-1):{ret.append(next(z[i-1:i+2],rule)) };if spl[1]==0:{return ret[spl[0]:]};return ret[spl[0]:spl[1]]} < 1207537873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmph < 1207537876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't fit? :D < 1207537879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is that it? < 1207537880 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it ended at < 1207537882 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :spl[1]]} < 1207537888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if that's right, quick test it < 1207537888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1207537890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should be < 1207537890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have about 60 seconds < 1207537901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python next_row([True]) < 1207537907 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207537912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print next_row([True]) < 1207537912 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'next_row' is not defined < 1207537915 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1207537916 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1207537919 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sec < 1207537919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print users.oklopol.next_row([True]) < 1207537919 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'reverse' is not defined < 1207537924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :adsölfkioarsgkj < 1207537925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCK < 1207537949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def next_row(p,rule=110,spl=(0,-1)):{def next(l,r):{r=reversed(r);for i in xrange(len(r)):{if r[i]==True and l==to_bits(i,3):{return True}};return False};def to_bits(n,l=8):{ret=[];while n:{ret.append(n%2);n/=2};return reversed(ret+[0]*(l-len(ret)))};rule=to_bits(rule);ret=[];z=[0,0]+p+[0,0];for i in xrange(1,len(z)-1):{ret.append(next(z[i-1:i+2],rule)) };if spl[1]==0:{return ret[spl[0]:]};return ret[spl[0]:spl[1]]} < 1207537954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python print next_row([True]) < 1207537954 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: argument to reversed() must be a sequence < 1207537958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What < 1207537962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :PL < 1207537963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1207537964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gtg < 1207537968 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait wait < 1207537971 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: feel free to try and fix it in pure python < 1207537973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ill run it tomorrow < 1207537973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bye < 1207537976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1207537979 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207537979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :darn, so close < 1207537986 0 :ehird!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1207537990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it does already work in pure python. < 1207537992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207537993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1207539232 0 :vixey!n=vicky@amcant.demon.co.uk JOIN :#esoteric < 1207539733 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hi vixey < 1207539756 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1207539771 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :no rest for the wicked < 1207539802 0 :oklofok!n=nnscript@spark.turku.fi JOIN :#esoteric < 1207540064 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :howdy < 1207540981 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207541290 0 :AnMaster!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1207541290 0 :Sgeo!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1207541290 0 :Quendus!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1207541291 0 :GregorR!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1207541505 0 :Parma-Quendion!n=Quendion@145.175.adsl.brightview.com JOIN :#esoteric < 1207541505 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1207541505 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1207541505 0 :Quendus!n=Quendion@145.175.adsl.brightview.com JOIN :#esoteric < 1207541505 0 :GregorR!n=gregor@71.237.179.105 JOIN :#esoteric < 1207541524 0 :Quendus!unknown@unknown.invalid QUIT :Connection reset by peer < 1207541931 0 :oklofok!unknown@unknown.invalid QUIT :No route to host < 1207543501 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207543601 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1207543839 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :so, what are people up to this evening? < 1207543848 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Being quite happy. < 1207543861 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that's a very expansive response < 1207543864 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Due to drugs) < 1207543869 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207543897 0 :Sgeo_!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1207543954 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm grading quizzes and chipping away at my respect for humanity < 1207543970 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :1) 1 + 1 = [ ] < 1207543971 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1207544030 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't be surprised at an answer like that, with this class < 1207544043 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I've had people routinely misspell their own names, so all bets are off < 1207544049 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :WOW < 1207544089 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's a melange of painful ignorance and hilarity < 1207544137 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Can you give us an example? < 1207544159 0 :Sgeo__!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1207544160 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :s/us/Gregor/ :P < 1207544175 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo{_{_,},}: Stop growing underscores :p < 1207544183 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :lol GregorR < 1207544195 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :The same page at popsci keeps causing me to freeze < 1207544196 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm, well, I haven't run across any real doozeys yet in this batch, but there's been some pure gold in the past < 1207544230 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :One guy wrote his first name and no last name on a paper, in a CLASS OF 93 STUDENTS. 5 people had that first name. < 1207544252 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't have made a difference though, because he got a zero on the assignment, too < 1207544260 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Noyce. < 1207544261 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :nearly a third of the class is retaking it < 1207544276 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Why does http://www.popsci.com/scitech/article/2008-02/anonymity-experiment keep causing my computer to freeze? < 1207544279 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Firefox 2.0.0.12 < 1207544286 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Flash9 < 1207544293 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Ubuntu 7.04 < 1207544326 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :we have a lot of quizzes that are just "write your name on a sheet of paper" and people still fuck it up, misspelling their names, writing illegibly (think first-grader with a crayon illegibly) and turning in the quiz... without their name on it. < 1207544375 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So, uh, what sort of class is that? < 1207544390 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"Object Oriented Design" < 1207544410 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Jebus. People somehow manage to get /to/ that class while still being dumbf***s? < 1207544429 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's a painfully easy class- when I took it I got over 100% overall. This is why I can mock their failures. < 1207544468 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's basically the first thing you take after passing basic "intro to Java" style stuff. Most of it isn't even CODING, it's just learning how to properly spec and design OO projects < 1207544542 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :The writing skills really bring me to tears. I cannot BELIEVE people can get into college without being able to write a coherent sentence that doesn't look like it was scrawled by someone with cerebral palsy. < 1207544566 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :There's a whole class of people who get into CS but are too effing stupid to ever get it. I call them "gamers", although it's actually a bigger set. Anyway, usually they've all been weeded out by the time you get to any real courses, so this surprises me a bit. < 1207544593 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :OOD *IS* the class that weeds these people out, as far as I can tell. < 1207544612 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is in a database class. < 1207544613 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Aaaaaaaaaaaaaah. < 1207544627 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: are you an IT major or what? < 1207544637 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :No major, I'm non-matric < 1207544663 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :My college offers "Computer Information Systems", they shut down CS < 1207544675 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :D:> < 1207544680 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :good fucking lord < 1207544684 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that's horrible < 1207544686 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to Purdue next year 8-D < 1207544756 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I have a friend from the UK who's taking Software Engineering because his university doesn't recognize CS as a field (what the christ), and he told me they're dropping their Data Structures course next year. < 1207544828 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207544944 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should go to a different college? < 1207544957 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'd highly recommend it < 1207544959 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I know I wouldn't go to a college that didn't offer a Major in CS. < 1207544976 0 :Sgeo_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207544977 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I can say that MTU, at least, has a CS department that doesn't seem to be spiraling into the shitter < 1207544995 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I mean, every university hsa the right to offer or not offer whatever they feel like, but you also have the right to go too a university that DOES offer what you need. < 1207544997 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :I mean, CIS does have a programming branch or whatever it's called < 1207545040 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'd say if you aren't going to a university that doesn't offer the major you're interested in, you're wasting your money. < 1207545054 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1207545059 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Let me try to reduce the negatives there: < 1207545060 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat, s/aren't/are/? < 1207545073 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1207545074 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If you ARE going to a university that DOES offer the major you're interested in, you're wasting your money. < 1207545087 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yes, I inserted a superfluous negative there < 1207545108 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :This is what happens when I get distracted in mid-thought < 1207545111 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, I don't think those are equivelent < 1207545124 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION isn't sure though < 1207545130 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh wait, you're right. < 1207545868 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :is it bad that I tend to instantly form a negative opinion of someone who writes their name with a roman numeral/ number after it, such as "John Smith III" or "Ted Borglan the second"? < 1207546009 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it just strikes me as tremendously narcissistic. < 1207547031 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"III" isn't, "the second" or "II" is (IMHO) < 1207547052 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"The second" is the same as "Junior", so that's just pretentious. < 1207547093 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But "The third"/"III" is not replaceable, and just part of the persons name. It's part of their full name, so that's how they write it. < 1207547101 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I fail to understand why pretentiousness doesn't carry past a single generation < 1207547147 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, honestly writing a middle name in most non-legal or administrative cases is rather pretentious as well, so I'd argue that applies to "III" < 1207547179 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Do you find somebody who writes Bob Forpthop Jr. pretentious? (Assuming of course that their father's name is Bob Forpthop) < 1207547262 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure. < 1207547275 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :possibly. < 1207547314 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heh - it seems to me like writing III after is no different (Jr. Jr. is just stupid), so the opinion should be the same if nothing else :P < 1207547376 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207547400 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :how about parents showing some creativity naming their children, avoiding the problem altogether? < 1207547412 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1207547415 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207547417 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :If you want to keep a "family name", alternate generations or something < 1207547440 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If I have a son, I'm naming him Jesus Muhammed God, just to offend everyone. < 1207547446 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1207547502 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*Jesus Muhammed Yawhe < 1207547512 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No, just YHWH < 1207547515 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Jesus Muhammed Buddah Xenu Yahweh < 1207547525 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :HE WILL UNITE THE WORLD < 1207547545 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'd probably be inclined to name a child something out of fashion but interesting, like Otto or Orville < 1207547550 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1207547559 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :For some reason the names coming to mind at the moment start with "O" < 1207547565 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hey, calamari < 1207547591 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi RodgerTheGreat < 1207547598 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :There's a family name in my family that hasn't been used for, oh, ten generations or so. < 1207547599 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Name him empty string < 1207547600 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Dodofur. < 1207547618 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If I have a son that I hate, I'll name him Dodofur. < 1207547648 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :How do you know that you hate him at birth? < 1207547661 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Idonno, I guess that's the trick. < 1207547677 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :if it pisses on you moments after birth, it could be a sign < 1207547679 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :However, I hate children, so it's pretty much "he exists" :P < 1207547707 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Then don't have children. < 1207547714 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Wasn't planning on it :P < 1207547727 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I tend to be very polarized about children. Some are polite and interesting and I like them, while others are evil little bastards < 1207547737 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Get a vasectomy D: < 1207547860 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Um. < 1207547983 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :freeze some sperm ahead of time incase you change your mind. Best of both worlds! < 1207548039 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No need. < 1207548047 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just adopt the kid at 7 year. < 1207548053 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That way, less crying and shitting. < 1207548059 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But then my genes won't promulgate :P < 1207548090 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Of course, statistics tells us that your genes are extremely unlikely to promulgate beyond ten or so generations - and if they do, everyone in the nation will have them. < 1207548133 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Plus, who cares. < 1207548144 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I'm dead, it won't matter! < 1207548158 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks his genes should be spread < 1207548162 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Facts indicate that you don't actually survive through your biological childrens. < 1207548176 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I spread my genes everyday. < 1207548190 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Of course, they mostly end up in the trash can < 1207548204 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :I meant, if more people had my genes, the world would be a better place, in my not so humble opinion < 1207548214 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'd posit that being a good parent and raising your child is significantly more beneficial than spreading your genes < 1207548223 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :fucking is easy, parenting is hard < 1207548234 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :we need less of the former and more of the latter < 1207548252 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :or at least birth control for the former < 1207548253 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahahaha, another T-shirt worthy phrase from RodgerTheGreat X-D < 1207548259 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: :D < 1207548267 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What if you fuck your child? < 1207548272 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :unless you were making fun of me in which case :( < 1207548274 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Then you're Australian. < 1207548283 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: read that article too, eh? < 1207548286 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Zing! < 1207548298 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yup :P < 1207548375 0 :lifthrasiir!n=lifthras@haje8.kaist.ac.kr JOIN :#esoteric < 1207548523 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I don't think I should draw a picture to go with that quote, though < 1207548529 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahaha < 1207548570 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :although I'm now imagining a portal-style schematic diagram with "DO" and "DO NOT" panels < 1207548624 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN THE LOVELESS PARENT/CHILD RELATIONSHIP < 1207548644 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That could use a bit more refinement :P < 1207548676 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :be my guest < 1207548736 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :LOVE YOUR CHILD LIKE YOU LOVE YOUR PENIS < 1207548744 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Of course, it could be misinterpreted. < 1207548761 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahahahaha < 1207548772 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"vigorously, near your computer" < 1207548793 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN THE MAN-PENIS RELATIONSHIP. < 1207548801 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :sound advice < 1207548839 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1207548862 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN THE ABORTION CLINIC. < 1207548883 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"IT IS MUCH TOO LATE YOU NOW REQUIRE A WOODCHIPPER AND/OR LARGE DOG" < 1207548906 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what a large dog going through a woodchipper sounds like < 1207548921 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, you could just sort of leave some pills lying around. < 1207548934 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: if you're an unwanted baby, victory < 1207548941 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Are we discussing methods of infanticide? < 1207548942 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :and if you accidentaly drop him on the floor, we understand. < 1207548947 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :We're not judging you. < 1207548951 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1207548996 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how many toddler's death are somehow premeditated. < 1207549018 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's not like it's hard to make them kill themselves! < 1207549026 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: We're just discussing DO NOT PUT THE BABY. < 1207549033 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which lends itself to infanticide easily. < 1207549049 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But it's "do NOT put the baby in the wood chipper"! :P < 1207549079 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY-> Brainstorm for bad baby locations->Infanticide < 1207549082 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1207549093 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN THE T4 GAS CHAMBER. < 1207549095 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But well, some people just can't do thing simply. < 1207549101 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Putting the baby in the freezer < 1207549119 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's the deal with that? < 1207549140 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"DO NOT PUT THE BABY IN THE MANDELBROT SET... SOMEWHERE." and just have a black-and-white image of the mandelbrot set. < 1207549142 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Do you want to be reminded of your infanticide everytime you get some TV dinner? < 1207549167 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"woah, jesus I need to clean this damn thing" < 1207549173 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahah < 1207549211 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can do much better than that. < 1207549219 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1207549233 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If anybody wants to make new DNPTBs, feel free :P < 1207549252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lessee here. . . I have devices that emit toxic gases, I have access to 120V AC, I have devices that irradiate items. . . < 1207549269 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I have devices that rotate items at fairly high speeds. . . < 1207549278 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Infanticide: because everything's a weapon. < 1207549310 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why do you need such high tech gizmos? < 1207549313 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Two words : < 1207549316 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Plastic bag < 1207549320 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: make a new DNPTB T-shirt with pikhq's phrase < 1207549325 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :DO IT < 1207549328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207549345 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: One word: knife. < 1207549348 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: gladware, baby-size < 1207549352 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I don't want to make T-shirts that could potentially be taken to be a statement on abortion. < 1207549357 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: one word: rock. < 1207549361 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A knife would be too suspiscious < 1207549371 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: One word: drop. < 1207549377 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If you have knives lying around, it's a little suspiscious. < 1207549386 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Plastic bag is okay though < 1207549393 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: half of the time that just makes them retarded < 1207549397 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: So, *every kitchen* is suspicious? < 1207549408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: I have yet to specify a height. < 1207549410 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, if the knives are lying on the floor! < 1207549411 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :retarded babies get old real fast, I'd imagine < 1207549416 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking 'Empire state building'. < 1207549438 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Most people store their knives in drawers, or at least on high tables < 1207549441 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm. well, in that case the weapon is really the building, no? < 1207549449 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, the weapon is gravity. < 1207549464 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: Fine, fine. < 1207549481 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Rat poison? < 1207549492 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(that's cruel. Even for someone talking about infanticide) < 1207549497 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: I store my knives in a colorful baby-height pile of children's toys and stuffed animals < 1207549499 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Only if you have rats! < 1207549517 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN ROOM 101 < 1207549552 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY IN THE DISTOPIA. < 1207549557 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/DIS/DYS/ < 1207549589 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :funetic spelings r fun < 1207549602 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT PUT THE BABY ON 4CHAN < 1207549606 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"grate" might've been more amusing there < 1207549651 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this is a really nifty painting: http://img.waffleimages.com/d89ca2727870ca4377777eab22885e7c611992dd/daim2.jpg < 1207550549 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Bye all < 1207550571 0 :Sgeo__!unknown@unknown.invalid QUIT :Remote closed the connection < 1207551858 0 :GreaseMonkey!n=saru@122-57-226-168.jetstream.xtra.co.nz JOIN :#esoteric < 1207552504 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :'night all < 1207552517 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1207554351 0 :jix!n=jix@paed-gw.schule.bremen.de JOIN :#esoteric < 1207554520 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :RISCy men do it with their ARMs. < 1207554910 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :harr harr < 1207555057 0 :Judofyr!unknown@unknown.invalid QUIT : < 1207555199 0 :clog!unknown@unknown.invalid QUIT :ended < 1207555200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1207555921 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1207557699 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207557967 0 :Iskr!n=i@host88-16-dynamic.56-82-r.retail.telecomitalia.it JOIN :#esoteric < 1207562150 0 :olsner!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207563043 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Read error: 110 (Connection chickened out)" < 1207563847 0 :jix!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1207570185 0 :ais523!n=ais523@pp01-fap02.bham.ac.uk JOIN :#esoteric < 1207573438 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1207575428 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1207576452 0 :ais523!unknown@unknown.invalid QUIT :"(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"" < 1207577998 0 :sebbu2!n=sebbu@ADijon-152-1-17-137.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1207578322 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207578551 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207578551 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1207579363 0 :ehird!n=ehird@91.105.71.115 JOIN :#esoteric < 1207579382 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders... < 1207579405 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :xkcd should do a comic entitled "My Hobby: breaking the fourth wall" < 1207579421 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the character would be breaking the fourth wall in the wrong way of course < 1207579453 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g. thinking it is a movie, or a book, or maybe just "talking to the camera" in the wrong direction. < 1207580378 0 :jix!n=jix@dyndsl-091-096-046-063.ewe-ip-backbone.de JOIN :#esoteric < 1207580928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hello, wold. < 1207580949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : e ruytrryt uighilfghnm,.bvcn,bmnvcnm,./mnbvm,.mnbvcncxzcvzccvjkhjj'l;kjhjlhfgjffdsghjhgdsfghjkdfxghjfdsghjkoopiuytyuuyt < 1207580953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, that was me cleaning my keyboard. < 1207581053 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC : No, he should not. < 1207581525 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://www.bash.org/?52 < 1207581707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207581884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I regularly destroy my todo.txt when cleaning my keyboard < 1207581903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It turns from 'Do blah blah blah blah blah blah' into 'Do blah blah blah b lsdf$af)_a0-#9080ewe < 1207581904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :qwe < 1207581904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1207581905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :' < 1207581934 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I notice that you dind't clean the qwa keys above < 1207581961 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207581967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I did, I just didn't press down on them hard < 1207581984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This keyboard isn't a gradual push < 1207581994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's either not pressed, or totally pressed < 1207582002 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :why can't you clean it into a text editor or something, rather than irc? < 1207582038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: because i can't be bothered to think about stuff like that when it only takes a few seconds :-) < 1207582081 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207582087 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207582109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1207582110 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207582116 0 :ehird!unknown@unknown.invalid NICK :seabot < 1207582121 0 :seabot!unknown@unknown.invalid NICK :ehird < 1207582136 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207582136 0 :seabot!unknown@unknown.invalid QUIT :Remote closed the connection < 1207582148 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207582150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Finally. < 1207582249 0 :seabot!unknown@unknown.invalid QUIT :Excess Flood < 1207582258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well I figured out how to abuse it < 1207582258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1207582605 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I didn't see it say a word < 1207583037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :privmsg < 1207585261 0 :Tritonio_!unknown@unknown.invalid QUIT :"Bye..." < 1207586232 0 :sekhmet!n=pez@adsl-76-204-90-133.dsl.mdsnwi.sbcglobal.net JOIN :#esoteric < 1207586350 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207586352 0 :pikhq_!n=pikhq@209.248.125.70 JOIN :#esoteric < 1207586446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no oklopol :( < 1207586451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I was going to tell him something! < 1207586452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Humph < 1207586453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1207586603 0 :pikhq_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207586650 0 :pikhq!n=pikhq@209.248.125.70 JOIN :#esoteric < 1207588449 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207588485 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207589172 0 :oklopol!n=nnscript@oklopol.yok.utu.fi JOIN :#esoteric < 1207589322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you are heeere < 1207589333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i just woke up < 1207589337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I thought I had implemented continuations in Python but it turns out I didn't :( < 1207589358 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i basically went to sleep when you left, and woke up now < 1207589376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i did make a parser from python to your format and finished the program first < 1207589378 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: doesn't stackles Python already have continuations? < 1207589384 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*stackless < 1207589398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: And PyPy has a real sandbox. < 1207589416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, Rubinius is better designed than the current RubyVM. < 1207589420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :All of these mean nothing. < 1207589424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's freenode's maximum line length? < 1207589425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Anyway, Stackless removed continuations. < 1207589428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: not sure < 1207589449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see, i actually wrote the automaton to especially test your multiple line input < 1207589457 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thought you had that < 1207589503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ? < 1207589513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :talking about the 110 < 1207589533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see, unlike you, i haven't had a day between this moment and our conversation < 1207589541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207589542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207589552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's coding 110 -> sleep -> back to irc to talk about it < 1207589553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I am redesigning Seabot < 1207589562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1207589564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll put it up < 1207589568 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so feel free to play < 1207589581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i could remake the prog to be a bit shorter < 1207589583 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or a lot shorter < 1207589585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207589598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wasn't my other version in ruby? < 1207589604 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not < 1207589608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :both < 1207589608 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1207589609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ruby and non-ruby < 1207589619 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207589708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: there ya go < 1207589715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lessee < 1207589719 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1207589940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: #python be hatin' on me for my braces < 1207590028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1207590030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :prolly < 1207590055 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p611563426.txt < 1207590078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :efmtfy(python_koed) < 1207590098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uhhh whut < 1207590103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, koed has become my official way to type that because it's so nice to write < 1207590106 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207590107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i seeee < 1207590135 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1207590159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coool it works < 1207590167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it does? < 1207590168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fun < 1207590169 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, wha? < 1207590175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't really test it :D < 1207590180 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :went to sleep < 1207590184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :/ coma < 1207590184 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what works? < 1207590195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p611563426.txt < 1207590223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just ehird's python braces format thing parser the other way around < 1207590228 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what a great explanation < 1207590235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"if x:{True}else:{while Foo:{print 'hi';2}}" < 1207590238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's what it gave me < 1207590249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was that right? < 1207590251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1207590255 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, good < 1207590265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now I am going to rewrite the parser, and write deparser that's more stable < 1207590269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and call it 'bracism' :D < 1207590273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was trivial to parse of course, it's the other way that requires anything < 1207590289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not that it requires *anything* still < 1207590317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm.... i went to sleep because no shops were open... and now they're soon closed again < 1207590337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why must others want to live when the sun is up :< < 1207590354 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and why doesn't python have anything < 1207590383 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no easy way to iterate in slices of three < 1207590505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you keep runnign into pythons limitations < 1207590510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you should make Soup < 1207590511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Super Python < 1207590518 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1207590522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i made oklotalk ;) < 1207590527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is like Python, but has continuations and slicer thingies and okokokoko < 1207590531 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although it's even more retarded currently, of course < 1207590532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and oklotalk isn't like python :p < 1207590554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well indeed, it's quite different < 1207590571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, the program flow is different, it's similarly dynamic though. < 1207590598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python has quite little computational stuff built-in < 1207590602 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: BUT YOU SHOULD MAKE SOUPPP < 1207590604 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... so does almost every language < 1207590610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Continuations should be implemented in Soup itself < 1207590619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and Soup just provides a first-class callstack < 1207590621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207590621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which isn't nice for us who have a fear of importing modules. < 1207590626 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1207590626 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And you can make MULTIPLE CALLSTACKS < 1207590634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :CallStack.current() < 1207590635 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BUT < 1207590636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well python has a viewable callstack < 1207590636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :CallStack() < 1207590640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then on a CallStack() < 1207590642 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can do < 1207590644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.switch() < 1207590650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you can make your own magical callstack then switch to it! < 1207590653 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sounds awesome < 1207590659 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but this would allow pushing and popping and slicing and assigning to elements < 1207590670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you could even make exceptions implemented in Soup < 1207590673 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it would be a list < 1207590688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just make a .throw() method that unwinds the CallStack.current < 1207590720 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a global stack where you can push and pop return continuations with try and... leaving try's scope < 1207590722 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: don't make it a list, because 1. it should be a linked list. why? because then continuations are free (no copying) 2. you need special things like .switch() 3. it shouldn't contain anything other than CallStackFrames < 1207590723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or soemthing < 1207590753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a list, in soup, is a conceptual list, you don't need to know what it is < 1207590769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but CallStack has special methods that are not what lists have < 1207590775 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well sure < 1207590778 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& treating it as a list would be useless < 1207590782 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the better way < 1207590784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's duck typing < 1207590786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is to have an interface-thingy < 1207590789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of Sequence < 1207590789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it can just have methods added < 1207590794 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and make an Array which is a Sequence < 1207590800 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and LinkedList which is too < 1207590808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then CallStack which is a Sequence but not an Array or LinkedList < 1207590818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you don't need to make Sequence concrete < 1207590831 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well sequence is that i meant by list here < 1207590831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sequence is just having e.g. __index__(thing) < 1207590837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you see what i mean? < 1207590841 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, i meant at < 1207590843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that < 1207590843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so CallStack shouldn't be a list < 1207590845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it shoudl just be indexable < 1207590848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is obvious < 1207590852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you don't need to point THAT out < 1207590886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: anyway, Soup should have MAGIC MODULES < 1207590889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which e.g. change the syntax < 1207590889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1207590891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'import braces' < 1207590894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :will give you my syntax < 1207590895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207590904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you gotta admit, SOUP IS AWESOME < 1207590905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1207590910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now I want it too!! < 1207590913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1207590913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let's implement it :q < 1207590921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :import p < 1207590923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1207590925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :import soup < 1207590930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :import sexpee < 1207590939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(def hello () (print "hi")) < 1207590942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hello() + 3 < 1207590945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MIXING SYNTAX < 1207590945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207590959 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Soup should be implemented in Python, amirite < 1207590990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hoh, that sounds like fun < 1207591002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yesss < 1207591020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: soup will require a lot of draft planning though < 1207591026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there will need to be a soup.Parser class < 1207591030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of which the default is just one :p < 1207591065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :though YAGNI (You Aren't Gonna Need It) and Do The Simplest Thing That Could Possibly Work dictates that we should delay that feature until later < 1207591107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1207591143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: name something else cool that python has and soup doesn't < 1207591245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: or don't < 1207591286 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: don't say i need to okloping you! < 1207591326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):return "".join([i and "1" or "0" for i in r]);def next(l):return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)];for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):;n.append(next(r[i-1:i+2]));r=n}};do(10) < 1207591336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmph < 1207591340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python do(10) < 1207591340 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'do' is not defined < 1207591341 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207591342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what < 1207591344 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :darn < 1207591345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python useres.oklopol.do(10) < 1207591345 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'useres' is not defined < 1207591347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol.do(10) < 1207591348 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'do' < 1207591348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1207591355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users < 1207591355 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'ehird': , 'oklopol': } < 1207591357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol < 1207591357 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1207591359 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207591360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol['do'] < 1207591360 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'do' < 1207591361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1207591363 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no it should work... < 1207591365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or hmm... < 1207591367 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait a sec < 1207591370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: seabot's python stuff is just borked < 1207591381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh, that's something else Soup should have! a Sandbox built in < 1207591391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so that something like seabot can just be done by subclassing Sandbox < 1207591394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])}def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]}for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):;n.append(next(r[i-1:i+2]));r=n}};do(10) < 1207591394 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 11) < 1207591395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and specifying what you want to allow < 1207591397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes? :D < 1207591411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1207591426 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but hmm... < 1207591435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : for i in xrange(1,len(r)-1):;n.append(next(r[i-1:i+2])) < 1207591437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your ; is the borkage < 1207591452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1207591465 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ih < 1207591466 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oaihgs < 1207591470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: now what about SOUP :D < 1207591472 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tabs don't work. < 1207591478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that isn't python < 1207591481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it use brances < 1207591485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :braces* < 1207591488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i added that so it can be used on one line < 1207591492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1207591496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])}def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]}for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):;n.append(next(r[i-1:i+2]));r=n}};do(10) < 1207591496 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 11) < 1207591500 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1207591501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])}def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]}for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):n.append(next(r[i-1:i+2]));r=n}};do(10) < 1207591501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1207591502 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 15) < 1207591505 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it didn't copy < 1207591506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck < 1207591534 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])}def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]}for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):{n.append(next(r[i-1:i+2]))}r=n}};do(10) < 1207591534 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 16) < 1207591536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207591540 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1207591567 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1207591571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16 is do(10) < 1207591582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])}def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]}for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):{n.append(next(r[i-1:i+2]))}r=n}} < 1207591585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python do(10) < 1207591585 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1207591586 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :11 < 1207591586 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :111 < 1207591586 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :1101 < 1207591586 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :11111 < 1207591586 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :110001 < 1207591588 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :1110011 < 1207591590 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :11010111 < 1207591592 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :111111101 < 1207591592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1207591593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tah-dah < 1207591594 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :1100000111 < 1207591600 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python def do(n):{r=[1];def f(r):{return "".join([i and "1" or "0" for i in r])};def next(l):{return {"111":0,"110":1,"101":1,"100":0,"011":1,"010":1,"001":1,"000":0}[f(l)]};for i in xrange(n):{print f(r);r=[0,0]+r+[0];n=[];for i in xrange(1,len(r)-1):{n.append(next(r[i-1:i+2]))};r=n}};do(10) < 1207591601 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 19) < 1207591604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1207591606 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the ;do(10) < 1207591608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :messes it up < 1207591608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :somehow < 1207591610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh of course < 1207591612 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course! < 1207591613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1207591615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :compile 'single' < 1207591618 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :only supports ONE statement/expr < 1207591620 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :@python 10 PRINT "HELLO WORLD" 20 GOTO 10 < 1207591620 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 1) < 1207591628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1207591632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python while True: { print "HELLO WORLD" } < 1207591633 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :HELLO WORLD < 1207591633 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :HELLO WORLD < 1207591633 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :HELLO WORLD < 1207591633 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :HELLO WORLD < 1207591633 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :HELLO WORLD < 1207591633 0 :seabot!unknown@unknown.invalid QUIT :Excess Flood < 1207591637 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1207591642 0 :seabot!n=seabot@91.105.71.115 JOIN :#esoteric < 1207591649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you need rate limiting < 1207591664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, in that case it wasn't exactly my fault, so i guess i can be at peace < 1207591680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean the bot need it < 1207591684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def PRINT(x): { print x } < 1207591711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python class GOTOC: { def __getattr__(self, name): { globals()[name]() } } < 1207591716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python GOTO = GOTOC() < 1207591719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python GOTO < 1207591719 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: '__repr__' < 1207591722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouhc < 1207591725 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def l0(): { PRINT("HELLO WORLD"); GOTO.l0 } < 1207591732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python l0() < 1207591732 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: global name 'PRINT' is not defined < 1207591733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that makes my eyes hirt < 1207591735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hurt* < 1207591735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :awwww < 1207591736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :almost < 1207591736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207591750 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python l0.__dict__['PRINT'] = PRINT < 1207591757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python l0.func_globals['PRINT'] = PRINT < 1207591761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python l0.func_globals['GOTO'] = GOTO < 1207591764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python GOTO.l0 < 1207591764 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'l0' < 1207591767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1207591768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1207591770 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python globals() < 1207591770 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :{'__builtins__': {'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'isinstance': , 'copyright': Copyright (c) 2001-2006 Python Software Foundation < 1207591770 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :All Rights Reserved. < 1207591770 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :Copyright (c) 2000 BeOpen.com. < 1207591770 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :All Rights Reserved. < 1207591770 0 :seabot!unknown@unknown.invalid QUIT :Excess Flood < 1207591773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh shi < 1207591774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1207591776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1207591777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD < 1207591777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was a nice idea < 1207591788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you still need rate limiting < 1207591792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i don't care. < 1207591796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on the send to irc < 1207591796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seabot is going to be rewritten < 1207591798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: IN SOUP RIGHT? < 1207591799 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1207591809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is SOUP? < 1207591813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Soup, actually < 1207591816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it means Super Python < 1207591824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :one with braces? < 1207591831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is the thing that OKLOPOL AND I ARE THINKING OF AWESOME FEATURES FOR < 1207591834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ISN'T THAT RIGHT OKLOPOL < 1207591847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :SURE < 1207591885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, about features... we both agree it should be *awesome*, right? < 1207591889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1207591900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, we should write this down. < 1207591920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need to go buy me some onion rings, and make my fire alarm go FRIIIIIIIIIII < 1207591962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah, i'll open a text file < 1207591963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but first.. < 1207591973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/j7c2ZA16.html < 1207592112 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1207592115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and one that doesn't overflow the stack: < 1207592116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/XLdxub19.html < 1207592244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :omg soup will rock < 1207592244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207592266 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actions in my python < 1207592272 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :first class actions < 1207592278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what has the world come to < 1207592285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :did you see my last one? < 1207592288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was a mini-interpreter < 1207592288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207592289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did < 1207592307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe yeah < 1207592315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: anyway I had another Soup idea < 1207592320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should have pluggable GCs < 1207592325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can subclass GC < 1207592329 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then do something like < 1207592345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :System.use_gc(MySubClass) < 1207592351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it'll use that for all gcs < 1207592351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1207592352 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just < 1207592355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MySubClass.collect() < 1207592357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to use it once < 1207592381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: awesome? :D < 1207592393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1207592404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :everything needs to be changeable at runtime < 1207592407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no < 1207592409 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's oklotalk < 1207592413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1207592414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207592417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Soup is just Python, but TOTALLY SUPER < 1207592424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should we have a special import, that does stuff only once < 1207592429 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, import can be executed anywhere < 1207592434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but if it changes syntax... < 1207592450 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or changes gc, also a small ellipsis htere < 1207592452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*there < 1207592457 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, 'import' won't be as clever as Python's < 1207592459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1207592462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207592466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically, < 1207592467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr < 1207592473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no syntax will change the syntax of 'import' < 1207592482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, at the start of interpreting, all the imports are scanned < 1207592488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then the syntax is decided on that < 1207592495 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep yep < 1207592497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or... just make all imports appear at the beginning of the file < 1207592500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thats' simpler < 1207592503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i've never used one elsewhere < 1207592503 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, better < 1207592512 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1207592521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably it will just do it as a normal statement < 1207592528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have, occasionally, when writing stuff in a cli where you cannot go back a line :-) < 1207592528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just the 'defined behaviour' is that < 1207592539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but that's a bit different < 1207592545 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"oh, right, i need math" < 1207592573 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it could just not do anything if it tries something that doesn't work at runtime < 1207592587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, i think we should defer the custom syntax thing to later < 1207592595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise our heads will hurt < 1207592595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps, perhaps < 1207592596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207592607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :SHOP ME GO NOW REALLY GO GO -> < 1207592614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aww < 1207592617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :be back :p < 1207593342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :SUCCESS! < 1207593356 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need channel-specific caps lock < 1207593381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207593461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna berakfast now < 1207593466 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*breakfast < 1207593480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :after that, prolly oklotalk time.... :| < 1207593494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :d'aww < 1207593495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what about < 1207593495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SOUP < 1207593496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so many features, so little time < 1207593502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you could like < 1207593505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :start prototyping oklotalk < 1207593506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in SOUP < 1207593508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :! :D < 1207593511 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1207593512 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :see? < 1207593513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what a great idea < 1207593514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207593517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well oklotalk needs to work by wednesday < 1207593525 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok but you can do soup too :p < 1207593556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"so i created this language, and then another language, implemented the first one in python and the second in the first one" < 1207593594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sounds like something you din 2 days < 1207593597 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*do inm < 1207593598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*in < 1207593605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: YOU CAN MULTITHREAD < 1207593605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207593642 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :shuuuuure < 1207593642 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1207593693 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but Soup is too awesome not to SOUPIFY < 1207593749 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whhhhell < 1207593755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps after thursdays < 1207593777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: bah :P < 1207593787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'll just prod you questions about it, and thou shalt have no choice! mwahaha < 1207593803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1207593807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my only weakness < 1207593819 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1207593824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: your other weakness - pastebins < 1207593831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if i pastebin some code and describe it and ask somethinig < 1207593835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :YOU SHALL HAVE NO CHOICE < 1207593835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mwahaha < 1207593840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::<< < 1207593842 0 :vixey!unknown@unknown.invalid PART #esoteric :? < 1207594504 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1207594619 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1207594629 0 :jix!n=jix@host-091-096-151-144.ewe-ip-backbone.de JOIN :#esoteric < 1207597890 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207597922 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207598102 0 :olsner!n=salparot@79.136.60.96 JOIN :#esoteric < 1207598433 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1207598586 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1207598983 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at some of the latest xkcd's and concludes that Munroe is probably now only doing stick figures out of tradition... < 1207598999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well, no < 1207599006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if they weren't stick figures, it would lose the xkcd feel < 1207599016 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's what i mean by tradition < 1207599031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, i was kinda saying that it wasn't the 'ohh, its just how we've always done it' < 1207599036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :more that it's an integral part of xkcd < 1207599138 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at some of the _first_ xkcd's and concludes it has always been that way, really < 1207599313 0 :Iskr!unknown@unknown.invalid QUIT :"Leaving" < 1207599345 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the earliest ones had some non-stick-figures < 1207599385 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean that he was always able to do better < 1207599417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: link < 1207599448 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in a mo... < 1207599606 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there, not a stick figure: http://xkcd.com/1/ < 1207599654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hoh, it seems i've read all xkcd < 1207599661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when, wonders i < 1207599697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a long time ago in a ... wait, wrong webcomic < 1207599742 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I forgot to check xkcd today < 1207599744 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and freefall < 1207599764 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://xkcd.com/7/ http://xkcd.com/11/ http://xkcd.com/22/ http://xkcd.com/23/ http://xkcd.com/31/ That probably most of them < 1207599796 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://xkcd.com/26/ is the first really geeky one, I think... < 1207599835 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait, that's BS < 1207599905 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :10 is the first one with geek culture < 1207599998 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I discovered that one can see the latest Dr Who on the web: http://www.bbc.co.uk/doctorwho/s4/videos/ < 1207600001 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :legally too < 1207600026 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh the pi one is fun < 1207600037 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but mathematically silly < 1207600075 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :aaaand the first joke to get a life of its own: http://xkcd.com/37/ < 1207600100 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, the first "My hobby", I think < 1207600100 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well indeed, should be like in hex < 1207600108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and leet < 1207600112 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :speak < 1207601306 0 :sebbu!unknown@unknown.invalid QUIT :No route to host < 1207602216 0 :sebbu!n=sebbu@ADijon-152-1-17-137.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1207602713 0 :wildhalcyon!n=chatzill@c-69-243-94-185.hsd1.md.comcast.net JOIN :#esoteric < 1207602719 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :high < 1207602785 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :low < 1207603139 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :brow < 1207603145 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :beat < 1207603170 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :off < 1207603176 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :side < 1207603180 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :winder < 1207603194 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Come on, no phrases start with "winder" :P < 1207603235 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :farms < 1207603240 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION googled < 1207603325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1207603340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :High low brow beat off 'side winder farms. < 1207603363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So... a low-brow person, on drugs, stimulated themself beside a wind farm < 1207603398 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's remarkable especially as i never expected it to be a sentence < 1207603453 0 :sekhmet_!n=pez@adsl-71-150-251-143.dsl.mdsnwi.sbcglobal.net JOIN :#esoteric < 1207603488 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# Enemy lasagna / Robust below wax / Semiautomatic aqua / Accompany slacks / ... # < 1207603548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you say so < 1207603555 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://video.google.com/videoplay?docid=7084489538066105747 < 1207603558 0 :sekhmet!unknown@unknown.invalid QUIT :Nick collision from services. < 1207603562 0 :sekhmet_!unknown@unknown.invalid NICK :sekhmet < 1207603572 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :one of his odder ones < 1207603584 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207603614 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207603617 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# Word Disassociation # < 1207603617 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# Word Disassociation # < 1207603619 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# Word Disassociation # < 1207603647 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: You may stop flooding now < 1207603647 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1207603719 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is intersting to see which ones are pronounced differently in America < 1207603740 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g. "Advertisement" < 1207604178 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Ad-ver-TIES-ment :P < 1207604395 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I was going to organise my ad-VER-tisments by colour-co-ordinating them. < 1207604439 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i pronounce it as ADVERTISEMENTS, the press is on the entire word < 1207604446 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*ADVERTISEMENT < 1207604468 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OK, but is it -ize-ment or -izment? < 1207604492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's so loud you can't tell. < 1207604507 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So it's really just FG(UDS)GHF(ESW HF(SHF(*E&WYR(_A&F(AAAAAAAAAAAAAHG < 1207604513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :quite. < 1207605280 0 :sekhmet!unknown@unknown.invalid QUIT :Remote closed the connection < 1207605284 0 :sekhmet!n=pez@99.154.63.96 JOIN :#esoteric < 1207606739 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1207608210 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207608229 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207608836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1207608872 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=6cAs1YBELmA < 1207608876 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, geeky < 1207608884 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :waitamo... < 1207608906 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :do American houses really have the flag hanging on the wall indoors? < 1207608925 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :some < 1207608935 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1207608936 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :depends on how patriotic/neurotic/insane the owner is < 1207608997 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :its not a huge deal < 1207609023 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :This guy is so blatently pre-uni < 1207609031 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1207609048 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in his lyrics rather than just in appearance < 1207609613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1207609627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a language where all variables are mutable, but cells, would be interesting < 1207609649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x -> 5; y -> x+2; // here y is 7 < 1207609658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x -> y; // here y is ... < 1207609711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, dictionaries are functions < 1207609714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and scopes are dictionaries < 1207609729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :CurrentScope[#x] -> 5; is x -> 5; < 1207609800 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :war is peace! freedom is slavery! < 1207609825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: and scopes are functions < 1207609930 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the problem is that "x = y" sets the two variables to be the same cell, whereas "x = y + 0" sets x to be a new cell which contains that value that y happened to have at that time. < 1207609963 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :also, wasn't there an esolang where every program gradually made every number integer to every other integer? < 1207609973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: and that is wrong < 1207609981 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x = y + 0 means that the value of 'x' is the value of 'y', plus 0 < 1207609990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'here y is ...' meant 'here y loops forever' < 1207610003 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1207610015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(random note on the scope-function-dictionary thing: you could extend that by using {...} as dictionary syntax) < 1207610016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1207610026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :{X -> 2; Y -> 3} is like: < 1207610034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Foo[#X] -> 2; Foo[#Y] -> 3 < 1207610034 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1207610038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :except with Foo anonymous < 1207610040 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207610067 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Forte < 1207610134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, here's BCT < 1207610134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BCT[{0,...},{_,....}] -> ....; < 1207610134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BCT[{1,X,...},{1,....}] -> {1,....,X}; < 1207610134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BCT[{1,X,...},{_,....}] -> ....; < 1207610150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(decided that if {} could be dictionaries it could damn well be lists too) < 1207610163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the ellipsis semantics are a bit vague though < 1207610229 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can replace the dots with underscores to make it ignored variable elements, too < 1207610229 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1207610230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Head[{X,___}] -> X; < 1207610230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Tail[{_,XS}] -> XS; < 1207610309 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207610344 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207610387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/User:Tom_Duff < 1207610389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow! < 1207610399 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ChrisCunningham, Tom Duff... esolangs is famous :) < 1207610629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :chris cunningham? < 1207610639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: inventor of the wiki < 1207610651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know -- http://c2.com/cgi/wiki, the first wiki < 1207610654 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :circa 1995 < 1207610668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh that was the first? < 1207610694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION got up a director or something on google < 1207610712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :chris cunningham is also a director who makes videos for people like Aphex Twin < 1207610718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but is not the same as the wiki one :) < 1207610735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err wait < 1207610737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :crap < 1207610739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I meant Ward Cunningham < 1207610741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1207610741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207610744 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1207610752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Biota inventor < 1207610757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& wiki guy < 1207610769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm < 1207610776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I swore I saw Ward CUnningham on the wiki as a user < 1207610795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh well then < 1207610797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Just Tom Duff. < 1207610799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Still pretty cool < 1207610807 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAAAAAAAAAAAAAAAAAAAAAAAA < 1207610815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: BBBBBBBBBBBBBBBBBBBBBBBBBB < 1207610821 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :looking at the tom duff page led me to http://esolangs.org/wiki/Image:Explor.gif < 1207610821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah just a page < 1207610837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: that's great < 1207610838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my eyes hurt < 1207610852 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :god that's painful to look at < 1207610858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: squint your eyes when looking at it < 1207610862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your head will move to the left < 1207610863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :automatically < 1207610870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wheeee < 1207611181 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: mine doesn't < 1207611188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mine does < 1207611189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1207611193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but my screen is very good < 1207611194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1207611338 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION praises Sun for the system of transistion from raw to parameterised types. < 1207611366 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :generics? < 1207611369 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION larts Sun for not having parameterised types in the first bloody place. < 1207611378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Generics are crap. < 1207611381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207611386 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :better than nothing < 1207611395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they're definately not parameterised types < 1207611419 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why are you using java < 1207611446 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it is a type, it has parameters < 1207611458 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lament: because the code is already written in it < 1207611459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: java can be used to write good code < 1207611468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you just have to be good at packing characters to avoid hideous verbosity < 1207611471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and avoid IDEs < 1207611482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: but as a language it isn't nice at all i agree < 1207611498 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I'd have thought that me talking about adding parameters to types would be a give-away that old Java code was involved. < 1207611503 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why would you avoid IDEs? < 1207611509 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1207611519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: Java IDEs generate huge monstrosities of code. < 1207611535 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how else am I going to maintain 120,000 lines of code containing repetitions that the language can't capture < 1207611556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, define macros for it. but the way IDEs handle it is crap < 1207611568 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :c'mon, to break package cycles recently, I have to automatically extract about 40 interfaces < 1207611579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they encourage verbose, high-calorie 'empty-code' by making it easy < 1207611579 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: um, Java ... macros < 1207611584 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yup < 1207611584 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: in your editor. < 1207611620 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :so I shouldn't use the IDE because it makes it easy to generate lots of code... < 1207611623 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: sorry? IDEs don't have to generate any code < 1207611630 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why would an ide generate code? < 1207611631 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :... but I should define editor macros to generate lots of code < 1207611637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: when you can get the same effect for less code < 1207611656 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i use an IDE (VS) all the time at work and it doesn't generate any code for me < 1207611666 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I was mostly joking < 1207611675 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :our code is too big < 1207611708 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there are several dimensions of functionality that we will probably never need again < 1207611711 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1207611713 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but which add indirection < 1207611714 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Java is evil < 1207611732 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION loves IDE < 1207611748 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :anything which makes programming easier is good. < 1207611752 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: better than C++ < 1207611758 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in this case at least < 1207611773 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that's like saying, the spanish inquisition is better than the nazis. < 1207611783 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: I respectfully disagree. < 1207611798 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: ok, what advantage does C++ have? < 1207611822 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :It offers a more terse syntax than Java < 1207611828 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: Java is a below-mediocre language. Not an 'evil' one. < 1207611867 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Java is what happens when take early-90s C++ and drag it half-way to Lisp < 1207611900 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Here's the deal. Java and C++ are the two worst non-esolang languages I can think of. We're quibbling over the bottom of the heap. < 1207611907 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :stuff like GC, more type safety, exceptions with actual stack traces, etc < 1207611914 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: no, really < 1207611923 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :early Pascal sucks far more < 1207611941 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :operations couldn't be generic in array length < 1207611982 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I've been reading too much smalltalk propaganda and have become disallusioned with type safety. GC is a nice java feature though. < 1207611996 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: Ruby is scads worse than Java could possibly be construed as being < 1207612006 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: ????????????????????????????? < 1207612030 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: in this case, by "type safety", I meant strong typing < 1207612033 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Ruby is a festering boil of a language, seriously < 1207612066 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh yes, and Java has a guarantee that you fellow programmers will neither use pointers nor force their use upon you < 1207612087 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: explain < 1207612099 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, I interpreted "type safety" to mean static typing. < 1207612104 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1207612111 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well... < 1207612112 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's kinda silly to say java has no pointers when it has null pointer exceptions :) < 1207612137 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a mere terminological difference < 1207612144 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Ruby is a mishmash of disparate syntax styles. It is painful to look at, and the structure of the language is inconsistent. < 1207612149 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :static typing really helped when we were doing a recent major refactoring... < 1207612164 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :... it found a whole class of bugs < 1207612167 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: but damn it lets you write code fast < 1207612201 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there were about 100 instances of that bug, and unit tests took a few minutes to run each time, and caught one instance of it each time < 1207612229 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, what language was this in? < 1207612233 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Java < 1207612238 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Java has pointers, it just disallows most math on them and auto-dereferences them. You can think of it as always passing primitives by value and objects by reference, which, 95% (if not more) is what you actually want. < 1207612249 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :static types not only appear in the code right before your eyes, but Eclipse will give you a red squiggly line if you screw up < 1207612263 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I see it as having nearly all the advantages of pointers without the hideous problems that haunt C++ programs < 1207612269 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :*can haunt < 1207612269 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: yes < 1207612272 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: IDEs are wonderful, yeah < 1207612288 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but any compiler would have picked them up too < 1207612331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: link to that self-containing set pic? < 1207612331 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants sane IDE support for haskell < 1207612331 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I personally don't like IDEs because I find them extremely distracting and unhelpful, but their usefulness in the workplace is arguable. They're a *horrible* way to introduce someone to a language, though. < 1207612364 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :In an educational environment, (mainly introductory classes) IDEs should. not. be. used. < 1207612368 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure what's distracting about IDEs < 1207612373 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Tab-completion rots your brain < 1207612382 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: Depends on the IDE < 1207612384 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :when I think "IDE" I generally think of Eclipse or similar < 1207612388 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: do you use tab-completion on IRC? < 1207612439 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't have anything to do with coding. I'm not trying to learn the "#Esoteric API" < 1207612448 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, how did your IDE catch the type errors if Java implements static typing? < 1207612453 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: well, do you? < 1207612464 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yes, and I stand by my statement that it rots your brain < 1207612469 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: um, by looking at the static types < 1207612475 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :There's tab completion on IRC? < 1207612475 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: does tab-completion on IRC rot your brain? < 1207612491 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: type R and press Tab. < 1207612493 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, how was it an error? < 1207612506 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :lament... BRILLIANT! < 1207612516 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: but beware - it will rot your brain. < 1207612517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: ping < 1207612521 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: I was putting one kind of thing in a list and taking another out < 1207612525 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: Hello! You must be new here. < 1207612526 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :lament, my brain has already been rotted < 1207612527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Welcome to IRC! < 1207612542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Please leave your brain at the door. < 1207612544 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I don't use IRC much. Pretty much for #esoteric < 1207612558 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :when I upgraded from old-style lists (dynamic element type) to new-style lists (static element type) all those problems became obvious < 1207612560 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1207612677 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :We split one major concept in the program in two basically by chasing type errors < 1207612743 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, I'm still not convinced that static typing fixed your bug. I'll give it to you though.