00:00:51 hating events? 00:01:39 no for how to get the information back 00:01:54 mm yeah 00:02:59 ah yes, it was the links at the end of http://msdn2.microsoft.com/en-us/library/ms705672.aspx 00:03:33 seems so 00:03:40 i'll read tomorrow maybe 00:04:12 i wants my set_lp :< 00:04:20 lp... why lp? 00:04:24 ls maybe 00:04:36 i don't actually know what you call it 00:04:36 set_audio 00:04:47 since /dev/lp is the printer 00:05:08 oki 00:05:24 this made up out of thin air, naturally 00:05:58 i mean, the thingie that moves around in the loudspeaker, what's it called? 00:06:03 the cone of death? 00:06:26 -!- jix has quit (Read error: 110 (Connection timed out)). 00:09:12 wikipedia says "diaphragm" 00:09:33 and also cone 00:10:00 oh 00:10:09 i wonder where i've seen that then :| 00:10:17 cone wanted to come out 00:10:41 even though i was thinking about tree cones 00:13:58 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 00:18:02 -!- sekhmet has joined. 00:19:27 hot swapping is interesting... I wonder how smalltalk and Erlang do it. 00:19:54 zomg! 00:19:58 http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/ 00:21:44 ... 00:21:47 whooooo... a lecture. 00:23:04 my impression from Lambda the Ultimate is that they highly recommend those 00:23:22 * bsmntbombdood is downloading 00:23:45 I still haven't finished SICP though 00:23:47 -!- SevenInchBread has quit (Read error: 104 (Connection reset by peer)). 00:25:39 -!- SevenInchBread has joined. 00:26:14 there's probably some way to make wget download all the .avi files from that page 00:27:06 I, however, don't know it 00:29:53 have you consider looking at the man page? :) 00:31:10 * oerjan is sorry already. 00:31:31 aha 00:31:45 wget -r -l1 -A.avi 00:32:46 yes, man pages are nice 00:33:11 mind you that page is big 00:33:20 huge 00:33:22 wget's man page is fairly overwhelming. 00:33:43 1593 lines 00:34:22 heh, i don't have enough space for everything 00:35:00 even compressed? 00:35:26 the total is about 10GB 00:35:39 slightly less 00:36:11 actually I guess it is compressed already 00:36:16 being video 00:36:43 yeah 00:52:14 \n c f. n (\m.f m) c 00:52:25 -!- sebbu has quit ("http://www.parti-geek.com/programme.php"). 00:54:03 == \n c f. n f c 00:54:13 the "prim" function for church numerals 00:59:20 no 00:59:45 hmm 01:01:15 and with a little reordering, == I 01:01:45 \n c f.n (\m.f m (prim m c f)) c 01:01:48 essentially church numerals _are_ primitive recursion 01:13:52 * bsmntbombdood watches sussman 01:18:05 er, abelson 01:20:10 -!- ShadowHntr has quit ("End of line."). 01:20:45 and he is incredibly boring 01:33:36 agh 01:33:46 i hate the "box" analogy for functions 01:56:00 -!- ShadowHntr has joined. 01:59:57 -!- ShadowHntr has quit (Client Quit). 02:16:10 I think of functions as.... do-ers 02:16:34 or just a tool. 02:16:39 it has one purpose. 02:17:29 OO-style objects.... are more like swiss army knives. 02:24:07 or just a function. 02:24:41 not everything needs an analogy 02:26:23 does anyone know a PHP function that can do the same as java.String.startsWith() ? 02:26:40 or do I have to do something using strpos? 02:26:48 haha, php 02:26:50 haha, java 02:27:07 an evil and a greater evil 02:27:16 hey, make fun of Java all you want. PHP is useful. 02:28:02 What's the deal with people who serve everything through one php/cgi script? 02:28:20 Why would you want to write a slow and buggy webserver on top of a real one? 02:28:56 that's not what I do... 02:29:16 I just use PHP to tie mysql tables into my pages 02:36:19 databases ftl 02:38:18 ...because hardcoding everything is infinitely superior 02:38:52 or do you prefer flat-file storage systems? Mind-bleedingly efficient 02:39:24 anyway, nvm. I managed to find documentation. 02:39:29 Nah we just use literal sector numbers 02:39:47 flat file storage systems 02:39:53 must be interesting finding a FORTH plugin for apache 03:50:07 -!- SevenInchBread has quit (Read error: 145 (Connection timed out)). 05:33:41 -!- wooby has joined. 05:34:41 good night everyone 05:35:22 -!- RodgerTheGreat has quit. 05:47:44 databases have more than one dimension then? 05:47:49 though he's gone again 05:51:28 i suppose dependent on how you look at it, a relational database could have either two dimensions (row and column) or as many as they have columns 05:52:39 w 05:52:53 hat? 05:53:00 bad focus 05:59:31 then again, that's only an abstraction, any file can be considered having multiple dimensions if it seems appropriate 05:59:56 -!- wooby has quit (Read error: 113 (No route to host)). 06:27:57 -!- Sgeo has quit ("Leaving"). 06:39:34 -!- GreaseMonkey has joined. 06:43:04 -!- oerjan has quit ("Good night"). 06:58:44 -!- wooby has joined. 07:57:42 afk food 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:14:29 -!- Sukoshi has joined. 08:20:20 -!- ShadowHntr has joined. 08:40:56 ha' 08:41:20 my raytracer written in SADOL almost works 08:42:37 ha' 08:42:46 my bot written in C almost works 08:42:54 wait. what's SADOL? 08:42:55 http://pastebin.ca/401307 :D 08:43:22 http://esolangs.org/wiki/SADOL 08:44:01 almost like perl :} 08:49:01 sadol looks quite nice 08:49:41 thx 08:50:37 vector operations look kool 08:51:34 #### #### ### :D 08:54:51 I would clap if I knew what a raytracer was. 08:55:38 * GreaseMonkey claps 08:55:40 i know 08:56:46 http://en.wikipedia.org/wiki/Ray_tracing 08:57:10 this one has only diffuse lightning and ball primitive 08:58:01 but i'll code reflection and some cool shaders 08:58:07 Is that an actually helpful article, or something like Mathworld's definition of a bounded function being ``A property which a closed topological space exhibits''. 08:59:39 here :P http://fuzzyphoton.tripod.com/howtowrt.htm 09:06:17 hm 10:12:18 gtg to bed, gnight everyone 10:12:55 -!- GreaseMonkey has quit ("RoboMonkey works....ish"). 10:43:00 -!- fizzie has quit (Read error: 60 (Operation timed out)). 10:45:11 -!- Sukoshi has quit ("今、眠っていい。留守番電話でメッセジを入ったいなら、電話番号は555ー5555。普通"). 11:37:29 -!- wooby has quit. 11:55:36 -!- ais523 has joined. 11:56:19 And first, an apology. 11:56:32 * ais523 apologises for not providing the source code to their Dupdog interpreter 11:56:48 because I wrote it in a Thutu wimpmode, and so nobody else could have run it 11:57:25 But now, it's in the pastebin: http://pastebin.ca/raw/401416 (Dupdog interpreter), http://pastebin.ca/raw/401410 (Thutu2 wimpmode; work in progress) 11:58:28 ~exec self.bf3="def bfarg(x,y):\n p=y.group(2)\n a=y.group(3)+unichr(0)\n o=''\n p=p+'!'\n t=[0]*30000\n i=0\n l=0\n while p[i]!='!':\n if p[i]=='[' and t[l]==0:\n c=1\n while c>0:\n i=i+1\n if p[i]=='[': c=c+1\n if p[i]==']': c=c-1\n if p[i]==']' and t[l]!=0:\n c=1\n while c>0:\n i=i-1\n if p[i]==']': c=c+1\n if p[i]=='[': c=c-1\n" 11:58:48 ~exec self.bf4=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(a[0])\n a=a[1:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\S+ PRIVMSG (\S+) :~bf ([^!]*)!?(.*)',bfarg)" 11:59:16 ~exec exec(self.bf3+self.bf4) 11:59:27 ~bf ,[.,]!bsmnt_bot needs better persistence 11:59:28 bsmnt_bot needs better persistence 12:02:47 -!- ais523 has quit ("I'm about to be thrown out of the room with my IRC client in (one of the hazards of public computers)"). 12:10:26 -!- jix has joined. 12:38:54 -!- RodgerTheGreat has joined. 12:40:47 'morning, guys 12:44:56 http://img.waffleimages.com/7a1f19b0d0ba1e5bac2d3ef48bb1c9de7a8efaef/bikecrash.gif 13:11:17 i assume that's you 13:13:13 you are entitled to assume that 13:13:36 the truth of that assumption, however, is questionable 13:14:11 and I think we can all agree that's an esoteric way to say "no" 13:17:20 bbl 13:17:29 bie 13:26:31 ug 13:38:45 bak 15:25:48 -!- tgwizard has joined. 15:29:25 -!- tgwizard has quit (Client Quit). 15:29:30 -!- tgwizard has joined. 15:31:39 -!- tgwizard has quit (Client Quit). 16:01:29 -!- ais523 has joined. 16:06:32 !ps d 16:06:35 1 ais523: daemon ul bf 16:06:37 2 ais523: daemon deadfish funge93 16:06:39 3 ais523: daemon dog funge93 16:06:41 4 ais523: ps 16:07:05 ~ps 16:07:05 None 16:10:22 -!- nazgjunk has joined. 16:11:40 ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS):SaS 16:11:40 !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS):SaS 16:11:43 ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS) 16:11:45 !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS) 16:11:47 ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS) 16:11:48 !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS) 16:11:51 ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS) 16:11:52 !ul (~bf ,[.,]!!ul ):SaS(:SaS) 16:11:55 ~bf ,[.,]!!ul (~bf ,[.,]!!ul ) 16:11:56 !ul (~bf ,[.,]!!ul ) 16:14:44 ~bf >,[>,]<[<]>.[>.]<[<]>.[>.]!~bf >,[>,]<[<]>.[>.]<[<]>.[>.]! 16:14:44 ~bf >,[>,]<[<]>.[>.]<[<]>.[>.]! 16:15:12 ~bf >,[>,]<[<]>[.>]<[<]>[.>]!~bf >,[>,]<[<]>[.>]<[<]>[.>]! 16:15:13 ~bf >,[>,]<[<]>[.>]<[<]>[.>]!~bf >,[>,]<[<]>[.>]<[<]>[.>]! 16:15:49 seems that it interpreted outputting a NUL as end-of-string 16:26:05 this gives me an idea for an Easy quine 16:26:57 +[->,[>,]<[<]>.[>.]<[<]>.[>.]<[<]]+[->,[>,]<[<]>.[>.]<[<]>.[>.]<[<]] 16:27:21 (where EOF is 0, and the entire second half of the program is interpreted as input as soon as the square brackets become balanced). 16:51:44 -!- ShadowHntr has quit ("End of line."). 17:04:46 hm 17:28:15 hm what? 17:30:34 * SimonRC eats lunch 17:45:41 -!- FabioNET has joined. 17:51:08 -!- FabioNET has quit (Remote closed the connection). 18:00:34 -!- FabioNET has joined. 18:15:01 !ul ((!ul )SaS(:^)S):^ 18:15:05 !ul ((!ul )SaS(:^)S):^ 18:19:54 ~bf >,[>,]<[.<]>[>]<[.<]!~bf >,[>,]<[.<]>[>]<[.<]! 18:19:54 !]<.[<]>[>]<.[<],>[,> fb~!]<.[<]>[>]<.[<],>[,> fb~ 18:19:57 Huh? 18:20:15 wow, i actually figured out someone else's quine's idea 18:20:36 this sort of thing is what's nice about Easy 18:20:48 it's more or less Brainfuck, but you can intersperse expected input with the program 18:20:59 in quite a similar way to using ! for input like bsmnt_bot's interpreter does 18:21:09 oh, easy is a language, i thought it was a glorified way to say i'm a noob :P 18:21:30 come to think of it, I don't think the bots have an Easy interpreter 18:21:33 !help 18:21:35 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 18:21:37 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 18:21:58 nope 18:22:47 I don't think it would be too hard to write one for bsmnt_bot 18:23:50 -!- sebbu has joined. 18:24:12 ~exec self.bf5="def bfarg(x,y):\n p=y.group(2)+unichr(0)\n o=''\n p=p+'!'\n t=[0]*30000\n i=0\n l=0\n while p[i]!='!':\n if p[i]=='[' and t[l]==0:\n c=1\n while c>0:\n i=i+1\n if p[i]=='[': c=c+1\n if p[i]==']': c=c-1\n if p[i]==']' and t[l]!=0:\n c=1\n while c>0:\n i=i-1\n if p[i]==']': c=c+1\n if p[i]=='[': c=c-1\n" 18:25:29 ~exec self.bf4=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(t[l+1])\n t=t[:l]+t[l+2:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\S+ PRIVMSG (\S+) :~easy ([^!]*)!?(.*)',bfarg)" 18:25:43 ~exec exec self.bf5+self.bf4 18:26:08 ~easy ,H.,e.,l.,l.,o., .,w.,o.,r.,l.,d.,!. 18:26:24 hmm 18:26:25 nope, not working 18:26:36 besides I hadn't allowed for , inside square brackets 18:26:37 where did you tell it ~easy? 18:26:45 ~bf ,[.,]!Hope I haven't crashed this 18:26:46 Hope I haven't crashed this 18:26:57 "~easy" was at the end of bf6's definition 18:27:03 yeah 18:27:06 indeed 18:27:11 which I called bf4 by mistake, but at least I was consistent 18:27:37 ~easy +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. 18:27:59 ~exec sys.stdout(self.raw_regex_queue()) 18:27:59 TypeError: 'list' object is not callable 18:28:02 ~exec sys.stdout(self.raw_regex_queue) 18:28:03 [(<_sre.SRE_Pattern object at 0xb7d09c98>, >), (<_sre.SRE_Pattern object at 0x80d8a60>, >), (<_sre.SRE_Pattern object at 0x80d2220>, >), (<_sre.SRE_Pattern object 18:28:07 at 0x80d2020>, >), (<_sre.SRE_Pattern object at 0x80d2690>, >), (<_sre.SRE_Pattern object at 0x80d28c8>, >), (<_sre.SRE_Pattern object at 0x8061cb8>, thod IRCbot.do_ps of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d2b30>, >), (<_sre.SRE_Pattern object at 0x80d8078>, at 0xb7c795a4>), (<_sre.SRE_Pattern object at 0x80d7b60>, at 0xb7c836bc>), (<_sre.SRE_Pattern object at 0x80d6088> 18:28:17 , )] 18:28:18 #bsmnt_bot_errors 18:28:26 he's crying. 18:28:28 is that a real channel? 18:28:31 yes 18:28:36 /whois oklopol 18:29:03 ~easy +++++++++++++++++++++++++++++++++++. 18:29:20 ~easy ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. 18:29:33 no obvious errors are coming out there 18:29:57 ~exec This is not a real Python command. 18:29:58 SyntaxError: invalid syntax 18:30:43 ~exec self.pop_raw_regex_queue() 18:30:43 AttributeError: IRCbot instance has no attribute 'pop_raw_regex_queue' 18:30:50 ~exec self.raw_regex_queue.pop() 18:31:54 ~exec self.bf6=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(t[l+1])\n t=t[:l]+t[l+2:]\n i=i+1\nsys.stdout(o)\nself. register_raw(r'\S+ PRIVMSG (\S+) :~easy (.*)',bfarg)" 18:32:07 ~exec exec self.bf5+self.bf6 18:32:07 IndentationError: expected an indented block (line 27) 18:32:35 ~bf ,[.,]!Is this still working? 18:32:43 :< 18:33:11 ~exec self.bf4=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(a[0])\n a=a[1:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\S+ PRIVMSG (\S+) :~bf ([^!]*)!?(.*)',bfarg)" 18:33:17 ~exec self.bf3+self.bf4 18:33:28 ~bf ,[.,]!Should be working now 18:33:46 no errors, no response... 18:33:58 ~exec sys.stdout("Is bsmnt_bot still running?") 18:33:59 Is bsmnt_bot still running? 18:34:05 ~bf ,[.,]!Should be working now 18:34:53 ~exec sys.stdout(repr(self.raw_regex_queue.peek())) 18:34:53 AttributeError: 'list' object has no attribute 'peek' 18:35:05 ~exec sys.stdout(repr(self.raw_regex_queue[0])) 18:35:05 (<_sre.SRE_Pattern object at 0xb7d09c98>, >) 18:35:18 ~exec sys.stdout(repr(self.raw_regex_queue[10])) 18:35:18 IndexError: list index out of range 18:35:21 ~exec sys.stdout(repr(self.raw_regex_queue[8])) 18:35:22 (<_sre.SRE_Pattern object at 0x80d8078>, at 0xb7c795a4>) 18:35:44 ~exec sys.stdout(repr(self.raw_regex_queue[8][2])) 18:35:44 IndexError: tuple index out of range 18:35:58 ~exec sys.stdout(repr(self.raw_regex_queue[8][1])) 18:35:59 at 0xb7c795a4> 18:36:08 ~exec sys.stdout(repr(self.raw_regex_queue[8][0])) 18:36:09 <_sre.SRE_Pattern object at 0x80d8078> 18:36:21 ~exec sys.stdout(repr(self.raw_regex_queue[8][0].group(1))) 18:36:21 AttributeError: group 18:36:58 OK, I've just managed to get myself confused. It's quite hard to poke around bsmnt_bot's internals when you don't actually know much Python 18:41:23 heh 18:43:09 what are you trying to do? 18:43:23 program bsmnt_bot to do Easy 18:43:35 easy? 18:43:48 http://esolangs.org/wiki/Easy 18:43:58 like BF, but input is interspersed with the program 18:44:05 it's considerably better for quines than BF is 18:44:24 Python Is Easy :) 18:44:47 I interpreted your smiley as a TM marker there for a bit 18:50:41 a what marker? 18:51:02 the little TM that you put at the end of something to show it's a company or if you're just being ironic 18:51:58 :) 19:07:44 !dog )"?gnikorw I mA"(toudts.sys cexe~ 19:07:45 ~exec sys.stduot("Am I wroking?") 19:07:51 !dog )"?gnikorw I mA"(tuodts.sys cexe~ 19:07:55 ~exec sys.stdout("Am I wroking?") 19:10:46 !ps d 19:10:46 now both bots have crashed... 19:10:46 !quit 19:10:46 sometimes restarting EgoBot helps... 19:10:49 Huh? 19:10:51 1 ais523: daemon ul bf 19:10:53 2 ais523: daemon deadfish funge93 19:10:55 3 ais523: daemon dog funge93 19:10:57 4 ais523: ps 19:12:33 ~ul (Test)S 19:12:41 !ul Test(S) 19:12:47 !ul (Test)S 19:12:49 Test 19:14:50 well, that's EgoBot back up at least 19:17:11 !ul (~exec sys.stdout("Is bsmnt_bot not listening to me or not listening to anyone?"))S 19:17:13 ~exec sys.stdout("Is bsmnt_bot not listening to me or not listening to anyone?") 19:17:23 not to anyone, it seems 19:27:03 -!- FabioNET has quit (Client Quit). 19:45:04 -!- RodgerTheGreat has quit. 19:51:16 -!- UpTheDownstair has joined. 19:56:46 -!- ais523 has quit ("It seems my IRC client pre-empted Underload's quoting scheme by several years by trapping quit messages in parentheses"). 20:09:54 -!- nazgjunk has quit (Connection timed out). 20:12:06 -!- sebbu2 has joined. 20:21:42 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 20:21:51 -!- GregorR has quit ("leaving"). 20:30:57 -!- sebbu has quit (Read error: 110 (Connection timed out)). 21:36:10 -!- oerjan has joined. 21:42:31 ~exec list_dir("/bot") 21:42:55 ~exec sys.stdout(list_dir("/bot")) 21:43:07 ~exec sys.stdout("Anyone there?") 21:44:04 ~exec self.raw("PRIVMSG #esoteric :I'm here") 21:44:17 dead as a doornail 21:47:04 -!- UpTheDownstair has quit (Read error: 104 (Connection reset by peer)). 21:47:30 -!- nazgjunk has joined. 21:58:43 -!- UpTheDownstair has joined. 22:03:52 -!- Sgeo has joined. 22:05:45 -!- nazgjunk has quit (Read error: 145 (Connection timed out)). 22:06:27 -!- nazgjunk has joined. 22:12:43 -!- GregorR has joined. 22:21:16 -!- UpTheDownstair has quit (Connection timed out). 22:24:31 geg 22:24:36 *heh 22:24:37 hmm 22:25:08 foo 22:25:11 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 22:25:14 -!- bsmnt_bot has joined. 22:25:15 odd 22:27:39 :-S 22:30:18 ~exec sys.stdout(list_dir("/bot")) 22:30:18 NameError: name 'list_dir' is not defined 22:30:48 ~exec sys.stdout(dir_list("/bot")) 22:30:48 NameError: name 'dir_list' is not defined 22:31:12 what the hell is list_dir 22:31:16 or dir_list 22:32:20 ~exec sys.stdout(os.listdir(os.getcwd())) 22:32:21 ['bin', 'bot', 'etc', 'lib', 'usr'] 22:32:32 ~exec sys.stdout(os.listdir('bot')) 22:32:32 ['scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'ircbot.py'] 22:33:26 ~exec sys.stdout(os.listdir("/bot/scripts")) 22:33:26 ['foo'] 22:33:52 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:34:24 os.listdir 22:38:08 ~exec with open("/bot/scripts/foo") as f: sys.stdout(f.readline()) 22:38:08 SyntaxError: invalid syntax 22:38:24 python2.4 22:40:09 #!%&/= 22:41:19 ~exec f = open("/bot/scripts/foo"); sys.stdout(f.readline()); f.close() 22:41:19 fooo 22:41:42 ~exec f = open("/bot/scripts/foo"); sys.stdout(f.readlines()); f.close() 22:41:42 ['fooo\n'] 22:42:17 ~exec sys.stdout(os.listdir("/lib")) 22:42:18 ['libm.so.6', 'libreadline.so.5', 'libacl.so.1', 'libdl-2.4.so', 'libresolv.so.2', 'libutil.so.1', 'libncurses.so.5', 'libattr.so.1', 'libcrypt.so.1', 'ld-linux.so.2', 'libdl.so.2', 'libpthread.so.0', 'libpam_misc.so.0', 'libpam.so.0', 'libc.so.6', 'librt.so.1'] 22:42:24 ~exec sys.stdout(os.listdir("/")) 22:42:24 ['bin', 'bot', 'etc', 'lib', 'usr'] 22:42:30 ~exec sys.stdout(os.listdir("/bot")) 22:42:30 ['scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'ircbot.py'] 22:42:36 ~exec sys.stdout(os.listdir("/bin")) 22:42:37 ['ls', 'bash'] 22:42:40 ~exec sys.stdout(os.listdir("/usr")) 22:42:41 ['bin', 'lib', 'include'] 22:42:44 ~exec sys.stdout(os.listdir("/usr/lib")) 22:42:45 ['libpthread.so', 'libskey.so.1', 'python2.4', 'libdl.so', 'libpython2.4.so.1.0'] 22:42:52 ~exec sys.stdout(os.listdir("/usr/include")) 22:42:52 ['python2.4'] 22:43:00 ~exec sys.stdout(os.listdir("/usr/include/python2.4")) 22:43:00 ['dictobject.h', 'pyerrors.h', 'traceback.h', 'Numeric', 'structmember.h', 'pyfpe.h', 'pymem.h', 'pymactoolbox.h', 'osdefs.h', 'bitset.h', 'parsetok.h', 'timefuncs.h', 'py_curses.h', 'tupleobject.h', 'pgenheaders.h', 'sliceobject.h', 'compile.h', 'bufferobject.h', 'weakrefobject.h', 'enumobject.h', 'pydebug.h', 'marshal.h', 'pyconfig.h', 'stringobject.h', 'pythonrun.h', 'c 22:43:00 odecs.h', 'pygetopt.h', 'structseq.h', 'rangeobject.h', 'ucnhash.h', 'datetime.h', 'metagrammar.h', 'cStringIO.h', 'graminit.h', 'methodobject.h', 'eval.h', 'descrobject.h', 'genobject.h', 'token.h', 'cobject.h', 'classobject.h', 'cellobject.h', 'boolobject.h', 'Python.h', 'grammar.h', 'symtable.h', 'longobject.h', 'node.h', 'pythread.h', 'floatobject.h', 'pgen.h', 'opcode 22:43:01 .h', 'pystate.h', 'object.h', 'patchlevel.h', 'setobject.h', 'intobject.h', 'intrcheck.h', 'objimpl.h', 'pystrtod.h', 'abstract.h', 'frameobject.h', 'complexobject.h', 'errcode.h', 'import.h', 'unicodeobject.h', 'pyport.h', 'sysmodule.h', 'fileobject.h', 'iterobject.h', 'ceval.h', 'funcobject.h', 'modsupport.h', 'listobject.h', 'moduleobject.h', 'longintrepr.h'] 22:43:35 ~exec sys.stdout(os.listdir("/usr/bin")) 22:43:36 ['dc', 'nice', 'python2.4'] 22:52:54 ~exec f = __import("urllib").urlopen("http://oerjan.nvg.org"); sys.stdout(f.readline()); f.close() 22:52:54 NameError: name '__import' is not defined 22:53:01 ~exec f = __import__("urllib").urlopen("http://oerjan.nvg.org"); sys.stdout(f.readline()); f.close() 22:53:02 IOError: [Errno socket error] (-2, 'Name or service not known') 22:53:19 ~exec f = __import__("urllib").urlopen("http://oerjan.nvg.org/"); sys.stdout(f.readline()); f.close() 22:53:27 IOError: [Errno socket error] (-2, 'Name or service not known') 22:55:04 ~exec f = __import__("urllib").urlopen("http:/129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close() 22:55:04 IOError: [Errno http error] no host given 22:55:14 ~exec f = __import__("urllib").urlopen("http://129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close() 22:55:19 IOError: [Errno socket error] (-2, 'Name or service not known') 22:55:27 darn. 22:55:43 more than just DNS lacking, i see 22:56:51 it's going to be a pain to download scripts then. 22:57:40 otoh i can appreciate you don't want to give us that much power :) 22:58:44 hm... 22:59:12 ~exec f = __import__("urllib").urlopen("http://129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close() 22:59:13 IOError: [Errno socket error] (-2, 'Name or service not known') 23:00:00 wow that is some error list 23:01:29 -!- calamari has joined. 23:02:53 ~bf ++++++++[->++++++++<]>. 23:08:56 heh 23:09:24 it's not intentional 23:10:43 indeed? 23:11:57 not sure what's wrong with the internets inside the chroot 23:15:25 http://bsmntbombdood.mooo.com/knight_lambda.png 23:15:32 how's it look? 23:16:12 huge 23:18:08 that's better 23:20:10 it looks slightly unbalanced, maybe put the lambda and shield a bit more to the right 23:21:13 perhaps a slightly larger shield too 23:21:29 not sure about the last one 23:21:40 hmm 23:23:17 how about that? 23:23:31 about what? 23:23:41 why are you drawing knights of lambda calculus stuff. 23:25:23 perhaps a thicker shield border to balance the lambda more too 23:27:10 and then we might start thinking about colors. 23:27:18 colors are icky 23:27:31 lament: because 23:28:40 gah 23:28:44 I suck at inkscape 23:28:48 i think by this point in history it's quite a bit lame to claim to be in any way affiliated with the KotLC unless you're at least an MIT student. 23:28:49 in theory F could be a color map, so the shields could have different colors 23:30:03 maybe you could be a knight of SKI calculus. that would suit #esoteric better. :) 23:30:26 We would have to come up with some clever design 23:31:23 is that design based on anything official of the KotLC (which i know little about) ? 23:31:47 yeah 23:31:58 http://en.wikipedia.org/wiki/Image:Lambda.png 23:32:16 that image was too small, so i vectorized it and made it bigger 23:32:47 oh. 23:33:08 it seems like most of my suggestions amounted to making your design more similar to the original. 23:33:45 the edge detection didn't work so well 23:39:14 we could do something like YF above = above F(F(...)), and Y written out in SKI terms 23:39:35 or perhaps even: 23:39:44 eh no. 23:40:45 anyhow the inside of parenthesis would be shrunk of course 23:40:54 now what was it 23:46:26 wikipedia mentions the combinator by John Tromp: S S K (S (K (S S (S (S S K)))) K) 23:48:13 is that Y? 23:48:47 essentially yes, but a shorter version than the usual one 23:53:51 http://pastebin.ca/raw/402527 23:54:01 the ackermann function in lambda calculus for church numerals