00:01:39 <oerjan> no for how to get the information back
00:02:59 <oerjan> ah yes, it was the links at the end of http://msdn2.microsoft.com/en-us/library/ms705672.aspx
00:04:36 <oklopol> i don't actually know what you call it
00:04:47 <oerjan> since /dev/lp is the printer
00:05:24 <oerjan> this made up out of thin air, naturally
00:05:58 <oklopol> i mean, the thingie that moves around in the loudspeaker, what's it called?
00:06:26 -!- jix has quit (Read error: 110 (Connection timed out)).
00:09:12 <oerjan> wikipedia says "diaphragm"
00:10:09 <oklopol> i wonder where i've seen that then :|
00:10:41 <oklopol> 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 <SevenInchBread> hot swapping is interesting... I wonder how smalltalk and Erlang do it.
00:19:58 <bsmntbombdood> http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/
00:23:04 <oerjan> my impression from Lambda the Ultimate is that they highly recommend those
00:23:47 -!- SevenInchBread has quit (Read error: 104 (Connection reset by peer)).
00:25:39 -!- SevenInchBread has joined.
00:26:14 <bsmntbombdood> there's probably some way to make wget download all the .avi files from that page
00:29:53 <oerjan> have you consider looking at the man page? :)
00:33:11 <oerjan> mind you that page is big
00:33:22 <GregorR> wget's man page is fairly overwhelming.
00:36:11 <oerjan> actually I guess it is compressed already
00:52:25 -!- sebbu has quit ("http://www.parti-geek.com/programme.php").
01:01:15 <oerjan> and with a little reordering, == I
01:01:48 <oerjan> essentially church numerals _are_ primitive recursion
01:20:10 -!- ShadowHntr has quit ("End of line.").
01:56:00 -!- ShadowHntr has joined.
01:59:57 -!- ShadowHntr has quit (Client Quit).
02:26:23 <RodgerTheGreat> does anyone know a PHP function that can do the same as java.String.startsWith() ?
02:28:02 <bsmntbombdood> What's the deal with people who serve everything through one php/cgi script?
02:28:20 <bsmntbombdood> Why would you want to write a slow and buggy webserver on top of a real one?
02:38:18 <RodgerTheGreat> ...because hardcoding everything is infinitely superior
02:38:52 <RodgerTheGreat> or do you prefer flat-file storage systems? Mind-bleedingly efficient
02:39:29 <oerjan> Nah we just use literal sector numbers
03:50:07 -!- SevenInchBread has quit (Read error: 145 (Connection timed out)).
05:33:41 -!- wooby has joined.
05:35:22 -!- RodgerTheGreat has quit.
05:47:44 <oklopol> databases have more than one dimension then?
05:51:28 <oerjan> 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:59:31 <oklopol> 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: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:41:20 <nooga> my raytracer written in SADOL almost works
08:42:55 <nooga> http://pastebin.ca/401307 :D
08:43:22 <nooga> http://esolangs.org/wiki/SADOL
08:44:01 <nooga> almost like perl :}
08:50:37 <nooga> vector operations look kool
08:54:51 <Sukoshi> I would clap if I knew what a raytracer was.
08:56:46 <nooga> http://en.wikipedia.org/wiki/Ray_tracing
08:57:10 <nooga> this one has only diffuse lightning and ball primitive
08:58:01 <nooga> but i'll code reflection and some cool shaders
08:58:07 <Sukoshi> 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 <nooga> here :P http://fuzzyphoton.tripod.com/howtowrt.htm
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 <ais523> And first, an apology.
11:56:32 * ais523 apologises for not providing the source code to their Dupdog interpreter
11:56:48 <ais523> because I wrote it in a Thutu wimpmode, and so nobody else could have run it
11:57:25 <ais523> 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 <ais523> ~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 <ais523> ~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 <ais523> ~exec exec(self.bf3+self.bf4)
11:59:27 <ais523> ~bf ,[.,]!bsmnt_bot needs better persistence
11:59:28 <bsmnt_bot> 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:44:56 <RodgerTheGreat> http://img.waffleimages.com/7a1f19b0d0ba1e5bac2d3ef48bb1c9de7a8efaef/bikecrash.gif
13:13:36 <RodgerTheGreat> the truth of that assumption, however, is questionable
13:14:11 <RodgerTheGreat> and I think we can all agree that's an esoteric way to say "no"
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:35 <EgoBot> 1 ais523: daemon ul bf
16:06:37 <EgoBot> 2 ais523: daemon deadfish funge93
16:06:39 <EgoBot> 3 ais523: daemon dog funge93
16:10:22 -!- nazgjunk has joined.
16:11:40 <ais523> ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS):SaS
16:11:40 <bsmnt_bot> !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS):SaS
16:11:43 <EgoBot> ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS)
16:11:45 <bsmnt_bot> !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS):SaS(:SaS)
16:11:47 <EgoBot> ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS)
16:11:48 <bsmnt_bot> !ul (~bf ,[.,]!!ul ):SaS(:SaS):SaS(:SaS)
16:11:51 <EgoBot> ~bf ,[.,]!!ul (~bf ,[.,]!!ul ):SaS(:SaS)
16:11:55 <EgoBot> ~bf ,[.,]!!ul (~bf ,[.,]!!ul )
16:14:44 <ais523> ~bf >,[>,]<[<]>.[>.]<[<]>.[>.]!~bf >,[>,]<[<]>.[>.]<[<]>.[>.]!
16:15:12 <ais523> ~bf >,[>,]<[<]>[.>]<[<]>[.>]!~bf >,[>,]<[<]>[.>]<[<]>[.>]!
16:15:13 <bsmnt_bot> ~bf >,[>,]<[<]>[.>]<[<]>[.>]!~bf >,[>,]<[<]>[.>]<[<]>[.>]!
16:15:49 <ais523> seems that it interpreted outputting a NUL as end-of-string
16:26:05 <ais523> this gives me an idea for an Easy quine
16:26:57 <ais523> +[->,[>,]<[<]>.[>.]<[<]>.[>.]<[<]]+[->,[>,]<[<]>.[>.]<[<]>.[>.]<[<]]
16:27:21 <ais523> (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:45:41 -!- FabioNET has joined.
17:51:08 -!- FabioNET has quit (Remote closed the connection).
18:00:34 -!- FabioNET has joined.
18:15:01 <ais523> !ul ((!ul )SaS(:^)S):^
18:15:05 <EgoBot> !ul ((!ul )SaS(:^)S):^
18:19:54 <ais523> ~bf >,[>,]<[.<]>[>]<[.<]!~bf >,[>,]<[.<]>[>]<[.<]!
18:19:54 <bsmnt_bot> !]<.[<]>[>]<.[<],>[,> fb~!]<.[<]>[>]<.[<],>[,> fb~
18:20:15 <oklopol> wow, i actually figured out someone else's quine's idea
18:20:36 <ais523> this sort of thing is what's nice about Easy
18:20:48 <ais523> it's more or less Brainfuck, but you can intersperse expected input with the program
18:20:59 <ais523> in quite a similar way to using ! for input like bsmnt_bot's interpreter does
18:21:09 <oklopol> oh, easy is a language, i thought it was a glorified way to say i'm a noob :P
18:21:30 <ais523> come to think of it, I don't think the bots have an Easy interpreter
18:21:35 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
18:21:37 <EgoBot> 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:22:47 <ais523> I don't think it would be too hard to write one for bsmnt_bot
18:23:50 -!- sebbu has joined.
18:24:12 <ais523> ~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 <ais523> ~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 <ais523> ~exec exec self.bf5+self.bf4
18:26:08 <ais523> ~easy ,H.,e.,l.,l.,o., .,w.,o.,r.,l.,d.,!.
18:26:36 <ais523> besides I hadn't allowed for , inside square brackets
18:26:37 <oklopol> where did you tell it ~easy?
18:26:45 <ais523> ~bf ,[.,]!Hope I haven't crashed this
18:26:57 <ais523> "~easy" was at the end of bf6's definition
18:27:11 <ais523> which I called bf4 by mistake, but at least I was consistent
18:27:37 <ais523> ~easy +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
18:27:59 <ais523> ~exec sys.stdout(self.raw_regex_queue())
18:27:59 <bsmnt_bot> TypeError: 'list' object is not callable
18:28:02 <ais523> ~exec sys.stdout(self.raw_regex_queue)
18:28:03 <bsmnt_bot> [(<_sre.SRE_Pattern object at 0xb7d09c98>, <bound method IRCbot.pong of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d8a60>, <bound method IRCbot.do_quit of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d2220>, <bound method IRCbot.do_raw of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object
18:28:07 <bsmnt_bot> at 0x80d2020>, <bound method IRCbot.do_ctcp of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d2690>, <bound method IRCbot.do_exec of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d28c8>, <bound method IRCbot.do_exec of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x8061cb8>, <bound me
18:28:12 <bsmnt_bot> thod IRCbot.do_ps of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d2b30>, <bound method IRCbot.do_kill of <__main__.IRCbot instance at 0xb7c7816c>>), (<_sre.SRE_Pattern object at 0x80d8078>, <function <lambda> at 0xb7c795a4>), (<_sre.SRE_Pattern object at 0x80d7b60>, <function <lambda> at 0xb7c836bc>), (<_sre.SRE_Pattern object at 0x80d6088>
18:28:17 <bsmnt_bot> , <function bfarg at 0xb7c7964c>)]
18:28:28 <ais523> is that a real channel?
18:29:03 <ais523> ~easy +++++++++++++++++++++++++++++++++++.
18:29:20 <ais523> ~easy ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
18:29:33 <ais523> no obvious errors are coming out there
18:29:57 <ais523> ~exec This is not a real Python command.
18:30:43 <ais523> ~exec self.pop_raw_regex_queue()
18:30:43 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'pop_raw_regex_queue'
18:30:50 <ais523> ~exec self.raw_regex_queue.pop()
18:31:54 <ais523> ~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 <ais523> ~exec exec self.bf5+self.bf6
18:32:07 <bsmnt_bot> IndentationError: expected an indented block (line 27)
18:32:35 <ais523> ~bf ,[.,]!Is this still working?
18:33:11 <ais523> ~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 <ais523> ~exec self.bf3+self.bf4
18:33:28 <ais523> ~bf ,[.,]!Should be working now
18:33:46 <ais523> no errors, no response...
18:33:58 <ais523> ~exec sys.stdout("Is bsmnt_bot still running?")
18:34:05 <ais523> ~bf ,[.,]!Should be working now
18:34:53 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue.peek()))
18:34:53 <bsmnt_bot> AttributeError: 'list' object has no attribute 'peek'
18:35:05 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[0]))
18:35:05 <bsmnt_bot> (<_sre.SRE_Pattern object at 0xb7d09c98>, <bound method IRCbot.pong of <__main__.IRCbot instance at 0xb7c7816c>>)
18:35:18 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[10]))
18:35:18 <bsmnt_bot> IndexError: list index out of range
18:35:21 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[8]))
18:35:22 <bsmnt_bot> (<_sre.SRE_Pattern object at 0x80d8078>, <function <lambda> at 0xb7c795a4>)
18:35:44 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[8][2]))
18:35:44 <bsmnt_bot> IndexError: tuple index out of range
18:35:58 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[8][1]))
18:36:08 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[8][0]))
18:36:09 <bsmnt_bot> <_sre.SRE_Pattern object at 0x80d8078>
18:36:21 <ais523> ~exec sys.stdout(repr(self.raw_regex_queue[8][0].group(1)))
18:36:58 <ais523> 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:43:23 <ais523> program bsmnt_bot to do Easy
18:43:48 <ais523> http://esolangs.org/wiki/Easy
18:43:58 <ais523> like BF, but input is interspersed with the program
18:44:05 <ais523> it's considerably better for quines than BF is
18:44:47 <ais523> I interpreted your smiley as a TM marker there for a bit
18:51:02 <ais523> the little TM that you put at the end of something to show it's a company or if you're just being ironic
19:07:44 <ais523> !dog )"?gnikorw I mA"(toudts.sys cexe~
19:07:45 <EgoBot> ~exec sys.stduot("Am I wroking?")
19:07:51 <ais523> !dog )"?gnikorw I mA"(tuodts.sys cexe~
19:07:55 <EgoBot> ~exec sys.stdout("Am I wroking?")
19:10:46 <ais523> now both bots have crashed...
19:10:46 <ais523> sometimes restarting EgoBot helps...
19:10:51 <EgoBot> 1 ais523: daemon ul bf
19:10:53 <EgoBot> 2 ais523: daemon deadfish funge93
19:10:55 <EgoBot> 3 ais523: daemon dog funge93
19:14:50 <ais523> well, that's EgoBot back up at least
19:17:11 <ais523> !ul (~exec sys.stdout("Is bsmnt_bot not listening to me or not listening to anyone?"))S
19:17:13 <EgoBot> ~exec sys.stdout("Is bsmnt_bot not listening to me or not listening to anyone?")
19:17:23 <ais523> 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 <oerjan> ~exec list_dir("/bot")
21:42:55 <oerjan> ~exec sys.stdout(list_dir("/bot"))
21:43:07 <oerjan> ~exec sys.stdout("Anyone there?")
21:44:04 <oerjan> ~exec self.raw("PRIVMSG #esoteric :I'm here")
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:25:11 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)).
22:25:14 -!- bsmnt_bot has joined.
22:30:18 <oerjan> ~exec sys.stdout(list_dir("/bot"))
22:30:18 <bsmnt_bot> NameError: name 'list_dir' is not defined
22:30:48 <oerjan> ~exec sys.stdout(dir_list("/bot"))
22:30:48 <bsmnt_bot> NameError: name 'dir_list' is not defined
22:31:12 <lament> what the hell is list_dir
22:32:20 <lament> ~exec sys.stdout(os.listdir(os.getcwd()))
22:32:21 <bsmnt_bot> ['bin', 'bot', 'etc', 'lib', 'usr']
22:32:32 <lament> ~exec sys.stdout(os.listdir('bot'))
22:32:32 <bsmnt_bot> ['scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'ircbot.py']
22:33:26 <oerjan> ~exec sys.stdout(os.listdir("/bot/scripts"))
22:33:52 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:38:08 <oerjan> ~exec with open("/bot/scripts/foo") as f: sys.stdout(f.readline())
22:41:19 <oerjan> ~exec f = open("/bot/scripts/foo"); sys.stdout(f.readline()); f.close()
22:41:42 <oerjan> ~exec f = open("/bot/scripts/foo"); sys.stdout(f.readlines()); f.close()
22:42:17 <oerjan> ~exec sys.stdout(os.listdir("/lib"))
22:42:18 <bsmnt_bot> ['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 <oerjan> ~exec sys.stdout(os.listdir("/"))
22:42:24 <bsmnt_bot> ['bin', 'bot', 'etc', 'lib', 'usr']
22:42:30 <oerjan> ~exec sys.stdout(os.listdir("/bot"))
22:42:30 <bsmnt_bot> ['scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'ircbot.py']
22:42:36 <oerjan> ~exec sys.stdout(os.listdir("/bin"))
22:42:40 <oerjan> ~exec sys.stdout(os.listdir("/usr"))
22:42:44 <oerjan> ~exec sys.stdout(os.listdir("/usr/lib"))
22:42:45 <bsmnt_bot> ['libpthread.so', 'libskey.so.1', 'python2.4', 'libdl.so', 'libpython2.4.so.1.0']
22:42:52 <oerjan> ~exec sys.stdout(os.listdir("/usr/include"))
22:43:00 <oerjan> ~exec sys.stdout(os.listdir("/usr/include/python2.4"))
22:43:00 <bsmnt_bot> ['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 <bsmnt_bot> 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 <bsmnt_bot> .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 <oerjan> ~exec sys.stdout(os.listdir("/usr/bin"))
22:52:54 <oerjan> ~exec f = __import("urllib").urlopen("http://oerjan.nvg.org"); sys.stdout(f.readline()); f.close()
22:52:54 <bsmnt_bot> NameError: name '__import' is not defined
22:53:01 <oerjan> ~exec f = __import__("urllib").urlopen("http://oerjan.nvg.org"); sys.stdout(f.readline()); f.close()
22:53:02 <bsmnt_bot> IOError: [Errno socket error] (-2, 'Name or service not known')
22:53:19 <oerjan> ~exec f = __import__("urllib").urlopen("http://oerjan.nvg.org/"); sys.stdout(f.readline()); f.close()
22:53:27 <bsmnt_bot> IOError: [Errno socket error] (-2, 'Name or service not known')
22:55:04 <oerjan> ~exec f = __import__("urllib").urlopen("http:/129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close()
22:55:04 <bsmnt_bot> IOError: [Errno http error] no host given
22:55:14 <oerjan> ~exec f = __import__("urllib").urlopen("http://129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close()
22:55:19 <bsmnt_bot> IOError: [Errno socket error] (-2, 'Name or service not known')
22:55:43 <oerjan> more than just DNS lacking, i see
22:56:51 <oerjan> it's going to be a pain to download scripts then.
22:57:40 <oerjan> otoh i can appreciate you don't want to give us that much power :)
22:59:12 <oerjan> ~exec f = __import__("urllib").urlopen("http://129.241.210.70/~oerjan/"); sys.stdout(f.readline()); f.close()
22:59:13 <bsmnt_bot> IOError: [Errno socket error] (-2, 'Name or service not known')
23:00:00 <oerjan> wow that is some error list
23:01:29 -!- calamari has joined.
23:02:53 <oerjan> ~bf ++++++++[->++++++++<]>.
23:11:57 <bsmntbombdood> not sure what's wrong with the internets inside the chroot
23:20:10 <oerjan> it looks slightly unbalanced, maybe put the lambda and shield a bit more to the right
23:21:13 <oerjan> perhaps a slightly larger shield too
23:21:29 <oerjan> not sure about the last one
23:23:41 <lament> why are you drawing knights of lambda calculus stuff.
23:25:23 <oerjan> perhaps a thicker shield border to balance the lambda more too
23:27:10 <oerjan> and then we might start thinking about colors.
23:28:48 <lament> 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 <oerjan> in theory F could be a color map, so the shields could have different colors
23:30:03 <oerjan> maybe you could be a knight of SKI calculus. that would suit #esoteric better. :)
23:31:23 <oerjan> is that design based on anything official of the KotLC (which i know little about) ?
23:32:16 <bsmntbombdood> that image was too small, so i vectorized it and made it bigger
23:33:08 <oerjan> it seems like most of my suggestions amounted to making your design more similar to the original.
23:39:14 <oerjan> we could do something like YF above = above F(F(...)), and Y written out in SKI terms
23:40:45 <oerjan> anyhow the inside of parenthesis would be shrunk of course
23:46:26 <oerjan> wikipedia mentions the combinator by John Tromp: S S K (S (K (S S (S (S S K)))) K)
23:48:47 <oerjan> essentially yes, but a shorter version than the usual one
23:54:01 <bsmntbombdood> the ackermann function in lambda calculus for church numerals