00:07:20 -!- ihope has joined.
00:07:30 <ihope> ~exec self.raw("PRIVMSG #esoteric :rheet")
00:07:38 <ihope> ~exec self.raw("PRIVMSG #esoteric :rheat")
00:09:58 <ihope> ~exec self.raw("PRIVMSG #esoteric :rheet")
00:16:04 <Sukoshi> RodgerTheGreat: Do you think the game should be windowed?
00:16:17 <Sukoshi> And if so, what resolution should we aim to make the tiles viewable at?
00:17:06 <RodgerTheGreat> well, do we *want* the game to look like something for the SNES, or do we want it to look more modern?
00:20:23 <RodgerTheGreat> if you want it to look "oldschool", you're best off running the game in fullscreen at 640x480 or similar
00:21:21 <RodgerTheGreat> to make better use of an 1024x768 or larger screen, make it windowed and make your graphics twice their pixel-required size
00:31:52 <Sukoshi> Hmm. Yeah, I think we'll have to scale the graphics.
00:31:59 <Sukoshi> But how ... in SDL ... I'm not sure.
01:59:23 -!- c|p has joined.
02:00:18 -!- oklopol_ has changed nick to oklopol.
02:01:26 <oklopol> reading "How to develop a super power memory"... taught me how to remember 20 objects in sequence in one page
02:01:53 <ihope> 20 objects in sequence?
02:02:05 <oklopol> cake, plate, computer, cat, ...
02:02:40 <oklopol> learning numbers now, the system sounds feasible so far
02:04:39 <oklopol> so cool... i always knew the key to remembering numbers was to have a number->object hashtable
02:04:58 -!- oerjan has joined.
02:05:19 <oklopol> but the hashtable can actually be formed on the fly using special phonetic sounds for different numbers
02:05:41 <oklopol> the datatype where you assosiate
02:05:50 <ihope> You should get synaesthesia!
02:05:56 <ihope> Not that I know any way of doing that.
02:07:05 <ihope> Perceptions invoking other perceptions.
02:07:23 <ihope> Like the perception of the number or numeral 3 invoking the perception of blue.
02:07:54 <ihope> You say things like "Is there a special name for a blue number like 3?", and everybody looks at you funny.
02:08:28 <oklopol> anyway, the way they do it in the book is nice, i might actually start using it
02:08:46 <oklopol> even though i've always disliked learning through images
02:08:53 <oklopol> i like learning the hard way
02:09:12 <oklopol> i wasn't hit enough when i was little, i think
02:09:38 <ihope> I'm suddenly moved to ask how old you are.
02:11:38 <oklopol> guess i'm still quite little
02:11:51 <oklopol> don't know the definition of little
02:12:16 <ihope> Live in... about Finland?
02:12:56 <oklopol> though you've never heard that
02:12:57 <ihope> That's not even on here...
02:13:04 <ihope> I've heard of it from playing Freeciv :-)
02:14:42 <oklopol> noah for number two... no fucking way
02:15:30 <oklopol> guess 'no' isn't concrete enough
02:16:56 <ihope> Use concrete for two! >:-)
02:17:26 <ihope> Or the bathroom codes.
02:19:17 <oklopol> you can't just pick a random word
02:19:31 <oklopol> the idea is, you have a consonant for every number
02:19:58 <oklopol> so you can make pegs for each number like 3 -> "ma", because the consonant for 3 is m
02:20:10 <RodgerTheGreat> Sukoshi: in CRPG, I just rescaled the graphics ahead of time
02:20:15 <oklopol> this allows you to make longer pegs for every two numbers etc
02:20:21 <RodgerTheGreat> no need to do it in-engine if you're doing it to a fixed factor
02:20:31 <oklopol> like 10 -> toes, because 1==t, 0==s
02:21:16 <RodgerTheGreat> in any case, the game itself will be working in a fixed resolution (windowed or fullscreen). Variable resolutions can have some irritating side effects
02:21:32 <oklopol> i don't like learning this because i've recently created my own system for learning numbers
02:21:48 <oklopol> i basically just have to forget about it now.
02:24:02 <RodgerTheGreat> oklopol: so, essentially this memory system relies on the fact that our brains are better wired for visual memory than abstract/symbolic memory?
02:31:44 <Sukoshi> RodgerTheGreat: So then we'll have to create different graphics for different resolutions?
02:31:57 <ihope> They're built for things that are supposedly practical. :-)
02:32:49 <oklopol> i don't understand why this isn't taught at school
02:33:19 <RodgerTheGreat> no, I'm saying to clamp it. pick a rez and stick with it. We're using raster-graphics, so rescaling is just going to make them look horrible in most cases
02:33:23 <ihope> What's not taught at school?
02:33:24 <Sukoshi> Different people have different forms of memory.
02:33:37 <Sukoshi> RodgerTheGreat: Hmm... what do you think would be a convenient resolution?
02:33:41 <Sukoshi> I run my box at 1280x1024.
02:33:49 <Sukoshi> And my graphics card is 10 years old.
02:33:53 <oklopol> Sukoshi: sure, that does not change the fact this system works on anyone
02:34:28 <RodgerTheGreat> most of them actually used 320x240 or something similar
02:34:35 <Sukoshi> 16x16 tiles look awful at my resolution.
02:34:43 <Sukoshi> oklopol: I have a horrible visual memory.
02:35:09 <oklopol> this does not depend on visual memory really
02:35:23 <RodgerTheGreat> in general, map tiles are significantly smaller than sprites- you need to remember that
02:35:47 <RodgerTheGreat> also, smaller tiles (rather counterintuitively) tend to reduce the number you need
02:36:11 <Sukoshi> I just need a tile size I can work on the mapper.
02:36:27 <oklopol> Sukoshi: what do you mean by having a horrible visual memory?
02:36:43 <RodgerTheGreat> I'd really like you to take a look at what I've made in CRPG so I can use it as an example. If you have trouble running it, I can get you some static screenshots: http://rodger.nonlogic.org/games/CRPG/
02:37:01 <Sukoshi> oklopol: If someone tries to make me memorize something via visual assosciation, I fail.
02:37:23 <Sukoshi> RodgerTheGreat: Yeah, it's just that I'm hacking two other projects while my parents are whining that I'm going hikikomori on them.
02:37:26 <oklopol> worked for pretty much everyone in my class
02:37:45 <Sukoshi> oklopol: That's because most people work well with visual assosciation.
02:38:19 <Sukoshi> RodgerTheGreat: Yeah, but my system gets pwned starting Java in browser.
02:38:34 <Sukoshi> Because this thing is an aging 5 year old machine with a 10 year old graphics card.
02:39:01 <RodgerTheGreat> alright, I can just pastebin some screenies. One moment...
02:39:12 <Sukoshi> I have to do it on my dad's system, and I forgot to run VNC on it, and I'm too buzy at the moment to go down and use his machine :P
02:39:22 <Sukoshi> I just dropped in for a few minute interlude. I'm leaving like right now.
02:40:59 <RodgerTheGreat> http://www.nonlogic.org/dump/images/1182735587-shot1.png
02:41:09 <RodgerTheGreat> http://www.nonlogic.org/dump/images/1182735597-shot2.png
04:24:45 -!- ihope has quit (Read error: 110 (Connection timed out)).
04:28:12 -!- meatman_k has changed nick to meatmanek.
04:35:43 -!- c|p has quit ("Leaving").
04:41:07 -!- immibis has joined.
04:41:15 <immibis> ~exec self.raw("JOIN #bots")
04:44:29 <immibis> somebody tell ihope to tell ihope to tell ihope to repeat this sentence
04:50:11 <immibis> ~exec self.register_raw(r":maniac\S+ PRIVMSG #bots :(.*)", lambda x,y: sys.stdout(y.group(1)+", so what?!"))
04:50:21 <bsmnt_bot> ~exec self.register_raw(r":maniac\s+ privmsg #bots :(.*)", lambda x,y: sys.stdout(y.group(1)+", so what?!")), so what?!
04:50:39 <bsmnt_bot> pink and purple and blue, so what?!
04:51:06 <immibis> it seems to be possible to make bsmnt_bot say things by /msging them to maniac
04:51:51 <immibis> ~exec self.raw_regex_queue.pop()
04:51:59 <immibis> ~exec self.register_raw(r":maniac\S+ PRIVMSG #bots :(.*)", lambda x,y: bot.raw("PRIVMSG #bots :"+y.group(1)+", so what?!"))
04:54:51 <immibis> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :$(.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :"+y.group(2)))
04:57:43 -!- immibis has quit ("Now if you will excuse me, I have a giant ball of oil to throw out my window").
05:06:58 -!- immibis has joined.
05:11:12 <immibis> someone please add 1+1 and get 4
05:11:52 <RodgerTheGreat> IRP INTERPRETER ERROR CODE 5: BIG BROTHER IS NOT WATCHING
05:12:54 <immibis> ERROR CODE ERROR: UNKNOWN ERROR CODE
05:13:42 -!- immybo has joined.
05:13:55 * oerjan completes assignment by working (mod 2)
05:14:09 <immibis> someone please add 1+1 and get 4, and send the resulting error code to immybo
05:14:19 <immibis> then divide infinity by zero and unplug your computr
05:16:16 <bsmnt_bot> ZeroDivisionError: integer division or modulo by zero
05:16:29 <immibis> ~exec sys.stdout(0/0/0/-1)
05:16:30 <bsmnt_bot> ZeroDivisionError: integer division or modulo by zero
05:16:40 <immibis> ~exec sys.stdout(Math.sqrt(-1))
05:16:40 <bsmnt_bot> NameError: name 'Math' is not defined
05:16:43 <oerjan> ~exec sys.stdout(0.0/0.0)
05:16:43 <immibis> ~exec sys.stdout(sqrt(-1))
05:16:50 <immibis> ~exec sys.stdout(sqrt(-1))
05:16:55 <bsmnt_bot> NameError: name 'sqrt' is not defined
05:17:09 <bsmnt_bot> NameError: name 'sqrt' is not defined
05:17:11 <immibis> is the bot's syntax based on some other language?
05:17:28 <bsmnt_bot> TypeError: unsupported operand type(s) for ^: 'int' and 'float'
05:17:29 <oerjan> er, it's written in python
05:17:51 <immibis> ~exec sys.stdout("\001ACTION crashes\001")
05:18:22 <immibis> ~exec sys.stdout("\001ACTION hits immibis with a big red brick\001")
05:18:34 <immibis> ~exec sys.stdout("\001ACTION rules!\001")
05:19:44 <pikhq> ~exec sys.stderr("Hey, bot owner! Here's a gift! :p")
05:20:12 <immibis> ~exec sys.stdout(sys.stdin)
05:20:13 <bsmnt_bot> <open file '<stdin>', mode 'r' at 0xb7c65020>
05:20:18 <immibis> ~exec sys.stdout(sys.stdin.read())
05:20:41 <pikhq> ~exec sys.stdout("Yay, halting!")
05:21:22 <pikhq> ~exec while 1: sys.stdout("")
05:21:40 <immibis> ~exec while 1: sys.stdout("EXCESS FLOOD")
05:21:43 -!- bsmnt_bot has quit (Excess Flood).
05:21:53 -!- bsmnt_bot has joined.
05:22:23 <immibis> ~exec i=0; while i<3: sys.stdout(i); i=i+1;
05:22:34 <immibis> i don't know how to use this bot for stuff like that
05:22:48 <pikhq> I don't do Python.
05:23:19 <immibis> are the commands you give it in python?
05:23:32 <oerjan> ~exec exec "i=0; while i<3:\n sys.stdout(i)\n i=i+1;
05:23:34 <bsmnt_bot> SyntaxError: EOL while scanning single-quoted string
05:23:39 <oerjan> ~exec exec "i=0; while i<3:\n sys.stdout(i)\n i=i+1"
05:23:53 <oerjan> ~exec exec "i=0\nwhile i<3:\n sys.stdout(i)\n i=i+1"
05:24:25 <oerjan> python has no semicolons, but mandatory newlines and indentation.
05:24:28 <pikhq> ~exec "i=0\nwhile i<3:\n sys.stdout(i)\n i=i+1"
05:24:35 <immibis> ~exec exec "i=0\nwhile 1:\nsys.stdout(i+" "+(i+1)+" "+(i+2))\ni=i+3"
05:24:37 <bsmnt_bot> IndentationError: expected an indented block (line 3)
05:24:43 <immibis> ~exec exec "i=0\nwhile 1:\n sys.stdout(i+" "+(i+1)+" "+(i+2))\n i=i+3"
05:24:46 -!- bsmnt_bot has quit (Excess Flood).
05:24:49 -!- bsmnt_bot has joined.
05:25:25 <oerjan> actually i think semicolons can be used in a few places
05:26:01 <oerjan> 0+1+2, 3+4+5, 6+7+8, 9+10+11
05:26:30 <immibis> even though i had strings in there?
05:26:39 <pikhq> I think one-liners involve using lambda (why the fuck does Python have lambda, anyways?)
05:26:42 <oerjan> oh right, python uses . for concatenation i think
05:26:59 <immibis> ~exec exec "i=0\nwhile 1:\n sys.stdout(i." ".(i+1)." ".(i+2))\n i=i+3"
05:27:12 <pikhq> Strings don't nest.
05:27:12 <immibis> ~exec exec "i=0\nwhile 1:\n sys.stdout(i*i*i)\n i=i+3"
05:27:13 -!- bsmnt_bot has quit (Excess Flood).
05:27:16 -!- bsmnt_bot has joined.
05:27:34 <oerjan> wait, of course it doesn't use .
05:27:59 <oerjan> ~exec sys.stdout("a"+"b")
05:28:19 <immibis> ~exec sys.stdout((-1)**(0.5))
05:28:19 <bsmnt_bot> ValueError: negative number cannot be raised to a fractional power
05:28:35 <oerjan> right... it uses + but if you mix numbers and strings it uses the numerical meaning
05:28:40 <immibis> square root of -1 should be I
05:29:28 <oerjan> ~exec sys.stdout(math.sqrt(-1))
05:30:37 <oerjan> ~exec "%d %d %d" % (1,2,3)
05:30:51 <immibis> ~exec sys.stdout("%d %d %d" % (1,2,3))
05:30:52 <oerjan> ~exec sys.stdout("%d %d %d" % (1,2,3))
05:32:05 <pikhq> I don't think Python has complex numbers. . .
05:32:34 <oerjan> ~exec sys.stdout(1j * 1j)
05:33:17 <pikhq> Or maybe it does. Odd.
05:33:24 <immibis> ~exec _='_=%r;print "~exec" _%%_';print _%_
05:33:28 <pikhq> ~exec sys.stdout(j^2)
05:33:29 <bsmnt_bot> NameError: name 'j' is not defined
05:33:35 <pikhq> ~exec sys.stdout(1j^2)
05:33:36 <bsmnt_bot> TypeError: unsupported operand type(s) for ^: 'complex' and 'int'
05:33:48 <bsmnt_bot> NameError: name 'j' is not defined
05:34:02 <pikhq> So, it doesn't support all of the operations on the complex numbers. -_-'
05:34:03 <immibis> ~exec sys.stdout (1j*1j*1j*1j*1j*1j*1j*1j)
05:34:25 <immibis> shouldn't that be 1 PLUS 0j?
05:34:45 <immibis> sys.stdout(((((((((((((((((((((((((((((((((((((((((((((((((((((((("LOTS OF BRACKETS"
05:34:49 <pikhq> Don't ask me; their complex numbers make no sense.
05:34:49 <immibis> ~exec sys.stdout(((((((((((((((((((((((((((((((((((((((((((((((((((((((("LOTS OF BRACKETS"
05:34:56 <oerjan> there is a distinction between +0 and -0 in IEEE floating point, at least
05:34:57 <immibis> ~exec sys.stdout("MemoryError")
05:35:08 <immibis> ~exec sys.stdout("I AM NOT bsmnt_bot")
05:35:59 <immibis> ~exec self.raw("NICK roboman\nNICK bsmnt_bot")
05:35:59 -!- bsmnt_bot has changed nick to roboman.
05:35:59 -!- roboman has changed nick to bsmnt_bot.
05:36:33 <immibis> is it possible to write a quine with this bot?
05:36:34 <pikhq> ~exec self.raw("NICK EgoBot")
05:36:35 -!- bsmnt_bot has changed nick to EgoBot.
05:37:10 <pikhq> ~exec sys.stdout("\001ACTION supports bsmnt_bot commands. Schweet.\001")
05:37:10 * EgoBot supports bsmnt_bot commands. Schweet.
05:37:43 <immibis> i would not be good at writing a quine, but is it possible with this bot
05:37:44 <pikhq> Now, we need to write in support for EgoBot commands. . . :p
05:38:15 <immibis> what if it quits, does it still remember the registered regexes?
05:38:16 <pikhq> We've managed *mutual* quines, though.
05:38:49 <immibis> ~exec print (lambda s:s+`s`+')')("~exec print (lambda s:s+`s`+')')(")
05:39:13 <pikhq> It'd output code that would make EgoBot output code that would make bsmnt_bot output code that would. . .
05:39:39 <immibis> aren't they called *iterating* quines?
05:39:46 <pikhq> . . . Well, I suppose so.
05:39:47 <oerjan> except the bot's print command doesn't print onto the channel
05:39:54 <immibis> and aren't iterating quines *harder* to write?
05:40:19 <pikhq> ~exec sys.stdout (lambda s:s+`s`+')')("~exec sys.stdout (lambda s:s+`s`+')')(")
05:40:20 <EgoBot> <function <lambda> at 0xb7bef95c>
05:40:20 <EgoBot> TypeError: 'NoneType' object is not callable
05:40:50 <immibis> ~exec sys.stdout(lambda s:s+`s`+')')("~exec sys.stdout(lambda s:s+`s`+')')(")
05:40:50 <EgoBot> <function <lambda> at 0xb7bef924>
05:40:51 <EgoBot> TypeError: 'NoneType' object is not callable
05:41:03 <immibis> ~exec sys.stdout(lambda s:s+`s`+')')("~exec sys.stdout(lambda s:s+`s`+')')(")
05:41:04 <EgoBot> <function <lambda> at 0xb7bef994>
05:41:04 <EgoBot> TypeError: 'NoneType' object is not callable
05:41:12 <immibis> is there a current-request object or something?
05:41:57 <immibis> ~exec self.raw("NICK BOTWHOSNOTABOT")
05:41:58 -!- EgoBot has changed nick to BOTWHOSNOTABOT.
05:42:06 <immibis> ~exec self.raw("NICK botWhosNotABot")
05:42:06 -!- BOTWHOSNOTABOT has changed nick to botWhosNotABot.
05:42:15 <immibis> ~exec self.raw("NICK EgoBot")
05:42:21 <immibis> ~exec self.raw("NICK EgoBot")
05:42:43 -!- boily has joined.
05:42:49 <immibis> ~exec self.raw("NICK EgoBot")
05:42:49 -!- botWhosNotABot has changed nick to EgoBot.
05:42:57 <oerjan> sys.stdout is not a command you need parentheses around its arguments
05:43:12 <immibis> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+'))')("))
05:43:12 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")
05:43:27 <immibis> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')'))("))
05:43:27 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+')'))("~exec sys.stdout((lambda s:s+`s`+')'))(")
05:43:37 <immibis> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')')(")))
05:43:37 <EgoBot> SyntaxError: unexpected EOF while parsing
05:43:42 <immibis> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')')(")))
05:43:44 <EgoBot> SyntaxError: unexpected EOF while parsing
05:43:49 <immibis> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')'))("))
05:43:55 <pikhq> ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+'))')()"))
05:44:00 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+')'))("~exec sys.stdout((lambda s:s+`s`+')'))(")
05:44:02 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+'))')()"~exec sys.stdout((lambda s:s+`s`+'))')()")
05:44:11 <immibis> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
05:44:12 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
05:44:15 <immibis> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
05:44:16 <EgoBot> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
05:44:56 <immibis> though i know almost no python
05:45:28 <pikhq> Because I say it will.
05:45:47 <immibis> ~exec self.register_raw(r,":\
05:45:47 <EgoBot> SyntaxError: EOL while scanning single-quoted string
05:45:53 <pikhq> ~exec self.raw("PRIVMSG #esoteric :Boom!\nQUIT")
05:45:56 -!- EgoBot has quit.
05:45:59 -!- bsmnt_bot has joined.
05:46:09 <pikhq> ~exec self.raw("PRIVMSG #esoteric :Boom!\nQUIT :Kaboom again!")
05:46:10 -!- bsmnt_bot has quit (Client Quit).
05:46:12 -!- bsmnt_bot has joined.
05:47:15 <boily> I am happy! This morning I stumbled upon this article:
05:47:17 <boily> http://scienceblogs.com/goodmath/2007/06/simple_pathology_betterave.php#more
05:47:46 <oerjan> oh right i was going to tell you but you weren't around :)
05:48:38 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood"))
05:48:47 -!- bsmnt_bot has quit (Client Quit).
05:48:50 -!- bsmnt_bot has joined.
05:48:51 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood"))
05:49:05 -!- bsmnt_bot has quit (Client Quit).
05:49:08 -!- bsmnt_bot has joined.
05:49:12 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood"))
05:49:23 <boily> oerjan: yeah, i had a pretty busy weekend, it was Quebec's national holiday
05:49:32 <immibis> feature request: it should remember its regex list when it quits
05:49:38 <pikhq> Gimme a blowjob. :p
05:49:39 -!- bsmnt_bot has quit (Client Quit).
05:49:41 -!- bsmnt_bot has joined.
05:49:47 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood"))
05:50:23 <immibis> it looks to me like > and a smiley face icon
05:50:39 <immibis> ~exec self.raw_regex_queue.pop()
05:51:16 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :\001VERSION\001\nPRIVMSG #esoteric :\001ACTION is crashing\001\nPRIVMSG #esoteric :\001PING p\001"))
05:51:47 <immibis> bug: it does not respond to /version or /ping
05:52:55 <immibis> but that way it needs to be re-registered every time the bot logs in
05:53:13 <immibis> ~exec self.register_raw(r"(:\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)+"\001"))
05:53:24 <immibis> ~exec self.register_raw(r"(:\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PONG "+y.group(2)+"\001"))
05:53:48 <immibis> ~exec self.raw_regex_queue.pop()
05:53:48 <immibis> ~exec self.raw_regex_queue.pop()
05:54:37 <immibis> ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001POING "+y.group(2)+"\001"))
05:54:44 <immibis> ~exec self.raw_regex_queue.pop()
05:54:48 <immibis> ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)+"\001"))
05:54:57 <immibis> ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PONG "+y.group(2)+"\001"))
05:55:13 <immibis> i keep forgetting whether the ctcp ping reply is PING or PONG
05:55:26 <immibis> neither of them worked still
05:55:29 <immibis> ~exec self.raw_regex_queue.pop()
05:55:29 <immibis> ~exec self.raw_regex_queue.pop()
05:56:01 <immibis> ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING ([^\001]*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :PONG "+y.group(2)+""))
05:56:26 <immibis> ~exec self.raw_regex_queue.pop()
05:57:20 <immibis> ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001"))
05:58:20 <immibis> someone please tell me your nick
06:01:38 <immibis> bsmntbombdood: i tried to make it respond to /ping and /version
06:01:57 <immibis> bsmntbombdood: i think pikhq wrote a message to stderr
06:02:11 <immibis> i probably did something wrong with the regex
06:02:18 <immibis> the command was: ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001"))
06:03:05 <immibis> how do you put ascii code 1 in then?
06:03:40 <pikhq> ~exec sys.stdout("\001")
06:03:54 <pikhq> Damn it; was hoping I'd see a literal \001.
06:04:23 <immibis> the command was: ~exec self.register_raw(":(\\S+) PRIVMSG \\S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001"))
06:04:29 <immibis> ~exec self.register_raw(":(\\S+) PRIVMSG \\S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001"))
06:04:34 <pikhq> ~exec sys.stdout("\001" + r"\001" + "\001")
06:04:49 <immibis> ~exec sys.stdout("\001VERSION\001")
06:04:58 <immibis> ~exec while i_am_annoying: sys.stdout("\001VERSION\001")
06:04:59 <bsmnt_bot> NameError: name 'i_am_annoying' is not defined
06:05:08 <bsmnt_bot> NameError: name 'false' is not defined
06:05:30 <immibis> ~exec exec "when annoying:\n while 1:\n sys.stdout("\001VERSION\001")"
06:05:39 <immibis> ~exec exec "when annoying:\n while 1:\n sys.stdout(\"\001VERSION\001\")"
06:05:47 <immibis> ~exec exec "when annoying:\n while 1:\n sys.stdout("\001VERSION\001")"
06:06:38 -!- cmeme has quit ("Client terminated by server").
06:06:50 -!- cmeme has joined.
06:06:54 <immibis> client terminated by server?
06:15:53 -!- RodgerTheGreat has quit.
06:18:17 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
06:18:25 <immibis> ~exec exec "exec "exec "exec "exec "exec
06:18:40 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
06:19:19 <immibis> ~exec exec "exec \"exec \\\"exec sys.stdout(\\\\\\\"beep\\\\\\\")\\\"\""
06:19:20 <bsmnt_bot> TypeError: exec: arg 1 must be a string, file, or code object
06:20:03 <immibis> ~sys.stderr("Basement bomb dude, don't blow up your house")
06:22:39 <immibis> i think i made it respond to any line containing 'blow'
06:25:52 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'self'
06:26:00 <bsmnt_bot> <__main__.IRCbot instance at 0xb7c8b3ec>
06:27:12 <immibis> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
06:27:12 <bsmnt_bot> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
06:27:36 <immibis> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
06:27:36 <bsmnt_bot> ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')("))
06:27:42 <immibis> ~exec sys.stdout(sys.stdout)
06:27:42 <bsmnt_bot> <__main__.IRCFileWrapper instance at 0xb7c8bcec>
06:27:51 <immibis> ~exec sys.stdout(sys.stdout(sys.stdout(sys.stdout(sys.stdout))))
06:27:51 <bsmnt_bot> <__main__.IRCFileWrapper instance at 0xb7c8be2c>
06:28:14 <immibis> ~exec while 1: sys.stdout("GO TO #esoteric")
06:28:15 -!- bsmnt_bot has quit (Excess Flood).
06:28:18 -!- bsmnt_bot has joined.
06:28:25 <immibis> excess flood without saying anything?
06:29:49 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
06:29:50 <pikhq> ~exec while 1: sys.stdout("")
06:30:26 <bsmnt_bot> NameError: name 'modules' is not defined
06:30:29 <immibis> ~exec sys.stdout(sys.modules)
06:30:29 <bsmnt_bot> {'cStringIO': <module 'cStringIO' from '/usr/lib/python2.4/lib-dynload/cStringIO.so'>, 'pprint': <module 'pprint' from '/usr/lib/python2.4/pprint.pyc'>, 'copy_reg': <module 'copy_reg' from '/usr/lib/python2.4/copy_reg.pyc'>, 'sre_compile': <module 'sre_compile' from '/usr/lib/python2.4/sre_compile.pyc'>, 'tokenize': <module 'tokenize' from '/usr/lib/python2.4/tokenize.pyc'
06:30:31 -!- bsmnt_bot has quit (Excess Flood).
06:30:34 -!- bsmnt_bot has joined.
06:30:45 <pikhq> ~exec sys.stdout(sys.stdout)
06:30:46 <bsmnt_bot> <__main__.IRCFileWrapper instance at 0xb7c4f82c>
06:30:53 <immibis> ~exec sys.stdout(cStringIO)
06:30:54 <bsmnt_bot> NameError: name 'cStringIO' is not defined
06:31:20 <immibis> ~exec while 1: DoNothing();
06:31:21 <bsmnt_bot> NameError: name 'DoNothing' is not defined
06:31:24 <bsmnt_bot> NameError: name 'nop' is not defined
06:31:30 <pikhq> ~exec sys.stdout(sys.cStringIO)
06:31:36 <bsmnt_bot> AttributeError: 'module' object has no attribute 'cStringIO'
06:31:57 <immibis> oerjan, please clarify your command
06:32:31 <immibis> ~exec while 1: pass ("the salt")
06:33:25 <immibis> ~exec self.register_raw(r"(e.*)", lambda x,y: sys.stdout(y.group(1)))
06:33:50 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(e.*)", lambda x,y: sys.stdout(y.group(1)))
06:34:21 <immibis> ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*e.*)", lambda x,y: sys.stdout(y.group(1)))
06:34:49 <pikhq> oerjan: Say something *without* an e. ;)
06:34:49 <bsmnt_bot> oerjan: Say something *without* an e. ;)
06:35:06 <boily> la di da, la di da
06:35:17 <oerjan> why should i do that? :)
06:35:47 <pikhq> Hrm. The regexp doesn't match him saying something. :(
06:35:48 <bsmnt_bot> Hrm. The regexp doesn't match him saying something. :(
06:36:08 <immibis> ~exec self.raw_regex_queue.pop()
06:36:08 <immibis> ~exec self.raw_regex_queue.pop()
06:36:11 <pikhq> Well, rather, it doesn't match the e in his name.
06:36:25 <pikhq> Because it's not part of the PRIVMSG contents.
06:36:26 <immibis> it matches the e in the message
06:37:10 <boily> hèrè, it doèsn't match è.
06:37:48 <immibis> i removed the regex, boily
06:38:00 <immibis> it doesn't match anything anymore
06:38:08 <immibis> ~exec sys.stdout(sys.time())
06:38:09 <bsmnt_bot> AttributeError: 'module' object has no attribute 'time'
06:38:11 <immibis> ~exec sys.stdout(sys.time)
06:38:14 <bsmnt_bot> AttributeError: 'module' object has no attribute 'time'
06:38:28 <bsmnt_bot> AttributeError: 'module' object has no attribute 'now'
06:38:48 <immibis> ~exec sys.stdout(localtime())
06:38:48 <bsmnt_bot> NameError: name 'localtime' is not defined
06:38:52 <immibis> ~exec sys.stdout(localtime)
06:39:00 <bsmnt_bot> NameError: name 'localtime' is not defined
06:39:12 <bsmnt_bot> TypeError: exceptions must be classes, instances, or strings (deprecated), not NoneType
06:39:20 <immibis> ~exec raise "GO TO #ESOTERIC!"
06:39:57 <immibis> ~exec sys.stdout(sys.version)
06:40:23 <immibis> ~exec sys.stdout(time.localtime())
06:40:24 <bsmnt_bot> (2007, 6, 25, 5, 39, 14, 0, 176, 0)
06:40:36 <immibis> ~exec sys.stdout(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
06:41:56 <immibis> ~exec self.register_raw(r":\S+ NOTICE \S+ :~exec (.*)", lambda x,y: exec.execer(y.group(1)))
06:42:31 <immibis> ~exec self.register_raw(r":\S+ NOTICE \S+ :~exec (.*)", lambda x,y: execer.exec(y.group(1)))
06:42:50 <immibis> ~exec self.register_raw(r":\S+ NOTICE \S+ :.exec (.*)", lambda x,y: exec.execer(y.group(1)))
06:48:56 <immibis> ~exec self.raw("JOIN #somechannel")
07:11:18 <immibis> ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :(.*)", lambda x,y: sys.stdout(y.group(1)+" told me: "+y.group(2)))
07:11:24 <immibis> ~exec self.register_raw(r":(\S+)!\S+ NOTICE [^# ]* :(.*)", lambda x,y: sys.stdout(y.group(1)+" told me: "+y.group(2)))
07:11:45 <bsmnt_bot> immibis told me: immibis told me: immibis told me: immibis told me: hi
07:12:48 <bsmnt_bot> immibis told me: <CTCP>PING 14865953<CTCP>
07:14:33 <immibis> ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.VERSION.", lambda x,y: self.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business\001\nPRIVMSG #esoteric :"+y.group(1)+" is a cracker! Get him!"))
07:14:38 <bsmnt_bot> immibis told me: <CTCP>VERSION<CTCP>
07:14:38 <bsmnt_bot> NameError: global name 'self' is not defined
07:14:50 <immibis> ~exec self.raw_regex_queue.pop()
07:15:01 <immibis> ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.VERSION.", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business\001\nPRIVMSG #esoteric :"+y.group(1)+" is a cracker! Get him!"))
07:15:06 <bsmnt_bot> immibis told me: <CTCP>VERSION<CTCP>
07:18:12 <fizzie> Polly wants a cracker.
07:19:10 <immibis> ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.PING (.*)", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)))
07:19:16 <bsmnt_bot> immibis told me: <CTCP>PING 15254296<CTCP>
07:20:10 -!- GreaseMonkey has joined.
07:24:33 <bsmnt_bot> immibis told me: <CTCP>PING 15570718<CTCP>
07:25:28 <immibis> ~exec self.raw("PART #somechannel")
07:25:35 <immibis> ~exec self.raw("JOIN #somechannel")
07:25:51 <immibis> ~exec self.raw("PART #somechannel")
07:28:41 -!- Arrogant has joined.
07:29:58 <immibis> [18:28] ->> #esoteric :No such nick/channel
07:33:54 -!- immibis has changed nick to immibi.
07:34:00 -!- immibi has changed nick to immibis.
07:34:09 <immibis> msg nickserv identify He110J0el!
07:34:16 <immibis> everyone forget i said tha
07:34:49 * immibis hopes nobody was watching their screen just now
07:35:53 <oerjan> Nothing to see here. Move on.
07:37:18 <oerjan> And I am sure both of our two channel logging robots will be polite enough to ignore this embarassing episode.
07:37:38 <immibis> i thought there was only one
07:37:49 <oerjan> Especially the one whose logs are available through google.
07:38:05 <oerjan> clog is the other one.
07:40:56 <immibis> where does clog put its logs then?
07:41:08 <oerjan> tunes.org. See the topic.
07:44:14 <oerjan> very realtime, that one.
07:44:59 <immibis> meme was offline at the time, wasn't it
07:45:23 <oerjan> meme joined again immediately
07:45:59 <oerjan> on the other hand, that one isn't googled, and is btw slow as molasses to get up so i only use it when tunes is missing something.
07:47:05 <immibis> the meme page has that last message you said, but meme isn't in this channel
07:47:39 * immibis is now changing his irc password
07:48:55 <oerjan> btw meme has changed its url
07:48:59 -!- immibis has changed nick to immibis_.
07:49:03 -!- oerjan has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (Eat bsmntbombdood first.).
07:50:00 <immibis_> ~exec sys.stdout("\001ACTION eats everybody then explodes\001")
07:50:18 <immibis_> ~exec sys.stdout("\001ACTION is a cannibal - he eats other bots\001")
07:50:18 * bsmnt_bot is a cannibal - he eats other bots
07:50:34 <bsmnt_bot> pikhq told me: ~exec sys.stdout("\001ACTION eats himself, too.\001")
07:51:02 -!- bsmnt_bot has quit.
07:51:06 -!- bsmnt_bot has joined.
07:52:00 <immibis_> ~exec self.register_raw(r":\S+ NOTICE \S+ :!A (.*)", lambda x,y: sys.stdout("\001ACTION "+y.group(1)+"\001"))
07:52:37 -!- immibis_ has changed nick to immibi.
07:52:38 -!- immibi has changed nick to immibis.
07:53:08 <immibis> /notice bsmnt_bot !A ACTION_COMMAND
07:53:48 <oerjan> so, so, just because you're not human is no reason to look down on yourself
07:54:12 <immibis> oerjan, please use only your own nick
07:56:44 -!- helios24 has quit (Remote closed the connection).
07:56:59 -!- helios24 has joined.
07:57:36 -!- immibis has quit ("If you can't laugh at yourself, make fun of other people.").
07:58:30 -!- immibis has joined.
07:59:36 <pikhq> ~exec self.register_rw(r":\S+ NOTICE \S+ :!S (.*)", lambda x,y: sys.stdout(y.group(1)))
07:59:37 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'register_rw'
07:59:43 <pikhq> ~exec self.register_raw(r":\S+ NOTICE \S+ :!S (.*)", lambda x,y: sys.stdout(y.group(1)))
07:59:57 * bsmnt_bot kicks immibis (immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz) Reason (bsmnt_bot)
07:59:58 -!- immibis has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:02 -!- immibis has joined.
08:01:03 <pikhq> Cool. Now I can do a two-person comedy routine by myself. :p
08:01:20 * immibis looks at the logs so he can see what someone registered
08:01:47 <bsmnt_bot> Pikhq, he's not pathetic. He's not good enough for that.
08:02:14 <immibis> do i dare do ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout(y.group(1))) ?
08:02:25 <immibis> ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout(y.group(1)))
08:02:38 <bsmnt_bot> :oerjan!n=oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :apparently you did.
08:02:44 <immibis> ~exec self.raw_regex_queue.pop()
08:02:45 <bsmnt_bot> :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz PRIVMSG #esoteric :~exec self.raw_regex_queue.pop()
08:03:31 <immibis> ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout("I am evil"))
08:04:01 <bsmnt_bot> SyntaxError: EOL while scanning single-quoted string
08:04:20 <pikhq> ~exec self.raw("PART #esoteric :You see?")
08:04:25 -!- bsmnt_bot has left (?).
08:04:34 <immibis> now how will you get it back?
08:04:54 <immibis> bsmntbombdood: please restart the bot
08:05:08 <lament> well, now at least there will be some peace and quiet.
08:05:10 <pikhq> Make it respond to privmsgs, more like.
08:05:39 <oerjan> lament: i wouldn't bet on that.
08:05:39 <immibis> um, messages sent to a channel are privmsgs
08:05:57 <immibis> someone please ask themselves to ask themselves to do what they just told themselves to do
08:06:23 <pikhq> Rather, make it respond to privmsgs not coming from the channel.
08:06:27 * boily suffers recursively
08:06:31 <lament> lament, ask yourself to do what i just told you to do.
08:06:49 <pikhq> And make it make me go to sleep.
08:07:16 <lament> lament, ask yourself to do what i just told you to do.
08:07:20 <immibis> someone please tell themselves to "repeat this sentence" without modifying the text between the quotes and without saying the quotes
08:07:59 <lament> lament, someone please tell themselves to repeat this sentence without modifying the text between the quotes and without saying the quotes
08:08:28 <lament> lament: there're no quotes in that sentence, are you feeling okay?
08:08:43 <lament> lament: okay, you run along now
08:09:02 <lament> okay, i'm leaving, good night all
08:11:01 <immibis> everyone do /notice bsmnt_bot !A * repeatedly so that bsmnt_bot floods himself off with the replies
08:11:34 <immibis> so he cannot reply to the channel
08:11:41 <immibis> so he can't actually send a message
08:12:25 <oerjan> fizzie: turn off the +n option on the channel :)
08:13:15 <pikhq> Prevents people from sending PRIVMSGs to channels they're not in.
08:13:54 <immibis> lament, you do it. you are registered with chanserv with this channel
08:14:28 <oerjan> oh, i just knew about fizzie.
08:14:40 * immibis knows that pikhq must sleep
08:17:46 -!- erider has quit (Read error: 110 (Connection timed out)).
08:18:12 -!- erider has joined.
08:18:37 <immibis> someone? is there anyone here who can get chanop privileges and make this channel -n?
08:19:34 <immibis> [19:18] ->> lament is away: N/A - sleeping
08:20:21 -!- ChanServ has set channel mode: -stm+c.
08:20:28 -!- ChanServ has set channel mode: -sntm+c.
08:20:34 <fizzie> I'm not exactly convinced you'll get it flood itself away, though.
08:21:06 <fizzie> ('n' was part of the chanserv-enforced modes there.)
08:22:42 <fizzie> I seem to remember some anti-flood delays there.
08:22:47 -!- ChanServ has set channel mode: -stm+nc.
08:22:55 <fizzie> I think that was enough evilness for a while.
08:23:29 <immibis> if there was some way to send commands to it directly then there is a way to avoid its anti-flood delay
08:23:38 <immibis> or we could ask bsmntbombdood to restart it
08:24:05 <fizzie> The latter sounds like the sensible alternative. (And therefore to be avoided, of course.)
08:24:11 <oerjan> i know bsmnt_bot has anti-flood delays but i thought they applied only to a single action.
08:24:14 <oerjan> he went to bed he said
08:24:47 -!- boily has quit ("Going to sleep").
08:24:57 <immibis> oerjan: if you do ~exec sys.stdout("Command \n command \n command \n command...") then they all happen at the same time
08:26:02 <oerjan> immibis: i was pretty sure each call to sys.stdout had flood protection.
08:26:23 <oerjan> it doesn't start throttling immediately, but after a few lines.
08:26:35 <immibis> each individual call, yes, but if you have multiple commands in a single call then it doesn't seem o happen
08:27:04 <immibis> i mean, it doesn't seem to activate the flood protection
08:27:37 <oerjan> that's what i thought to (but your example above is not executing commands, but printing them.)
08:28:01 <immibis> self.raw then instead of sys.stdout
08:28:20 <oerjan> or maybe it does, i'm not sure.
08:28:39 <immibis> yes, ~exec self.raw(".....")
08:28:51 <oerjan> no, ~exec exec (".....")
08:29:23 <oerjan> because then you could actually run several commands.
08:29:31 <immibis> ~exec self.raw("PRIVMSG #esoteric :Flooding\nPRIVMSG #esoteric :Flooding\nPRIVMSG #esoteric :Flooding")
08:29:37 <immibis> several irc commands not python commands
08:29:59 <oerjan> i am not sure whether that would trigger the flood protection or not.
08:31:16 <oerjan> while i believe ~exec while 1: self.raw("PRIVMSG #esoteric :Flooding") has a better chance.
08:34:41 -!- bsmnt__bot has joined.
08:35:39 -!- bsmntbot has joined.
08:36:36 <immibis> ~exec sys.stdout("I am a bot")
08:36:51 * oerjan thinks someone must think he has poor eyesight.
08:37:01 <fizzie> I am not a bot. I am a free man!
08:37:29 <immibis> ~exec sys.stdout(time.localtime())
08:37:43 <oerjan> fizzie: it took a long time to program you to believe that you're not just an IRC bot
08:37:57 <fizzie> oerjan; That does not compute at all!
08:38:48 <oerjan> of course it does not compute, we had to turn off that part of your logic circuits to make it work
08:38:53 * bsmntbot is making a bottle in a message with cold milk for this channel
08:38:53 * bsmntbot is making a bottle in a message with cold milk for #esoteric
08:38:54 * bsmntbot gives everyone in this channel a bottle in a message with cold milk
08:38:54 * bsmntbot gives #esoteric a bottle in a message with cold milk
08:40:42 <bsmntbot> and a very smart two-year-old indeed
08:40:43 <bsmntbot> and a very smart two-year-old indeed
08:40:43 <bsmntbot> and a very smart two-year-old indeed
08:40:43 <bsmntbot> and a very smart two-year-old indeed
08:40:43 <bsmntbot> and a very smart two-year-old indeed
08:40:44 <bsmntbot> and a very smart two-year-old indeed
08:40:45 <bsmntbot> and a very smart two-year-old indeed
08:40:47 <bsmntbot> and a very smart two-year-old indeed
08:40:49 <bsmntbot> and a very smart two-year-old indeed
08:40:51 <bsmntbot> and a very smart two-year-old indeed
08:41:05 -!- bsmntbot has changed nick to SpammingBot.
08:41:05 <SpammingBot> spamming. Get the latest offer on all chocolate bar accessories!
08:41:05 <SpammingBot> spamming. All the latest travel insurance stuff and nonsense!
08:41:06 -!- SpammingBot has quit (Excess Flood).
08:41:16 -!- bsmntbot has joined.
08:42:25 -!- bsmntbot has quit (Read error: 104 (Connection reset by peer)).
08:43:02 <immibis> someone, please print the 99 cans of Spam (TM) lyrics
08:43:34 -!- immibis has quit ("Life without danger is a waste of oxygen").
08:49:38 -!- Arrogant has quit ("Leaving").
08:55:18 -!- bsmnt__bot has quit (Read error: 110 (Connection timed out)).
08:58:33 -!- oerjan has quit ("Lunch").
09:03:49 -!- immybo has quit (Read error: 110 (Connection timed out)).
09:22:23 <GreaseMonkey> now THAT'S what I call a ridiculously small interpreter: http://esoteric.voxelperfect.net/wiki/MiniMAX
10:02:12 -!- jix_ has joined.
10:23:34 -!- jix_ has quit ("This computer has gone to sleep").
10:32:58 <Sukoshi> GreaseMonkey: If you reduce BF to smaller cases and then byte encode each instruction, you can probably fit a BF interpreter (pure ASM) in a few bytes.
10:33:39 <GreaseMonkey> i managed to get an OISC interpreter in 32 bytes
10:34:32 <Sukoshi> That's because OISC's instruction is complicated.
10:34:48 -!- erider has quit (Read error: 110 (Connection timed out)).
10:35:15 -!- erider has joined.
10:36:01 -!- GreaseMonkey has quit ("31 ff 8c d8 05 12 00 8e d8 31 c0 8b 05 2b 45 02 89 05 8b 55 04 85 c0 74 03 ba 06 00 01 d7 eb eb").
11:11:29 -!- oerjan has joined.
12:19:27 -!- ais523 has joined.
13:34:59 -!- ihope_ has joined.
13:37:46 -!- bsmnt_bot has joined.
13:39:01 <ais523> see, bsmnt_bot's all back to normal.
13:39:22 <ais523> (I was logreading and saw how someone managed to get it to part by mistake, but I've got it back to normal over the normal IRC channels.)
13:39:55 <ais523> it was still in #bsmnt_bot_errors
13:40:05 <ais523> so I told it to JOIN #esoteric
13:40:11 <ais523> and then popped the odious evil regexp
13:40:27 <oerjan> what? i thought i checked that channel and didn't find it
13:40:45 <oerjan> must have left off a _ somewhere.
13:40:59 <ais523> I used /whois to verify which channels it was in
13:41:28 <oerjan> now wait a minute i am _sure_ i did that. must be going blind.
13:41:56 <ais523> unless bsmntbombdood's playing some sort of joke by getting it to join the errors channel while nobody's looking...
13:49:53 <ihope_> Hmm... so we could be evil by making the bot leave every channel?
13:50:56 <ais523> looking at the logs, there was quite enough evil going on even with the bots here
13:51:00 <ais523> (possibly even because of them)
13:59:56 -!- ais523 has quit ("afk").
14:31:51 -!- oerjan has quit ("Dinner").
14:55:12 -!- jix_ has joined.
15:04:24 -!- jix_ has changed nick to jix.
15:18:52 -!- RodgerTheGreat has joined.
15:39:07 <ihope_> Mm, it's a little itchy.
15:39:24 -!- ihope_ has changed nick to ihope.
15:39:27 <ihope> There, that's better.
15:59:39 -!- RodgerTheGreat has quit.
16:04:45 -!- crathman has joined.
16:05:36 -!- sebbu has joined.
16:06:07 -!- crathman has quit (Client Quit).
16:13:50 -!- c|p has joined.
16:21:06 -!- pikhq has quit (Connection timed out).
16:46:57 -!- pikhq has joined.
17:10:48 -!- c|p has quit ("Leaving").
17:21:59 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
17:22:17 -!- cmeme has joined.
17:36:02 -!- c|p has joined.
17:45:44 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
17:46:19 -!- oerjan has joined.
18:20:06 -!- Arrogant has joined.
18:25:41 <oerjan> not really, i've got an upset stomach.
18:25:51 <oerjan> or were you asking something else?
18:25:58 <lament> should have eaten less bsmntbombdood
18:44:42 <ihope> Which part of him did you eat?
18:45:27 <Arrogant> ((y-lambda (self) (λ (n) (if (zero? n) 1 (* n (self (- n 1)))))) 5) ; 120
18:45:54 <ihope> Now, what's that in Haskell?
18:46:08 <ihope> I see a large number of parentheses.
18:46:20 <Arrogant> I don't know enough Haskell to get the job done
18:49:20 <Arrogant> its a macro that uses the y combinator to make the lambda anonymously recursive
18:49:34 <ihope> So y-lambda is lambda except that it applies "fix" to the result.
18:49:44 <ihope> zero? in Haskell would be (== 0)
18:50:05 <Arrogant> no, y-lambda passes the lambda into itself so that it can call itself recursively
18:50:47 <ihope> (y-lambda (x) (E)) = ((lambda (x) (E)) (y-lambda (x) (E))), right?
18:51:09 <oerjan> fix (\self n -> if (n==0) then 1 else n*self(n-1)) 5
18:51:47 <ihope> Arrogant: (fix x) = (x (fix x))
18:51:53 <Arrogant> more important, why is it called fix
18:52:03 <ihope> It returns a fixed point of the function.
18:52:13 <ihope> let self n = if (n == 0) then 1 else n * self (n-1) in self 5
18:52:27 <ihope> let self 0 = 1; self n = n * self (n-1) in self 5
18:52:31 <Arrogant> (define y-combinator (λ (x) ((λ (p) (x (λ (n) ((p p) n)))) (λ (p) (x (λ (n) ((p p) n)))))))
18:52:35 <Arrogant> (let ((self-symbol (car self)))
18:52:35 <Arrogant> `(y-combinator (λ (,self-symbol) ,proc)))))
18:52:52 <oerjan> mind you, product [1..n] is shorter :)
18:53:05 <ihope> This language doesn't like recursive definitions?
18:53:22 <ihope> Shorter and pretty much just as efficient!
18:53:41 <ihope> Well, fix can certainly be defined recursively...
18:54:03 <Arrogant> Are you really bashing Scheme with Haskell? I mean c'mon.
18:55:40 <ihope> I guess it's not like Scheme and Haskell aren't very similar.
18:55:55 <ihope> (product (enumFromTo 1 n))
18:56:06 <Arrogant> They're really not very similar
18:56:31 <oerjan> hah! impure, filthy untyped language!
18:56:34 <ihope> Well, yes, Haskell has a static type system and an IO monad.
18:56:54 <ihope> Haskell has things people that like Haskell like.
18:57:00 -!- RodgerTheGreat has joined.
18:57:06 <Arrogant> Don't get me wrong, I like Haskell too
18:57:12 <Arrogant> I didn't bring it up to compare anything
18:57:19 <Arrogant> I like lots of languages for different reasons
18:57:36 <Arrogant> When I was trying to understand it
18:58:17 <oklopol> RodgerTheGreat: improving my memory still
18:59:07 <oklopol> found a book about general brain power improvement or something... "Some subjects have been able to process more than 690000 words per minute!"
18:59:48 <oklopol> the memory tricks seem to work, but that other one sounds more like magic
19:00:06 <RodgerTheGreat> that would take going from recognizing text at a word level up to recognizing at sentence or paragraph level in a glance
19:00:42 <RodgerTheGreat> and I'm pretty sure that figure would entail grokking an entire book in about a minute
19:00:47 <ihope> "Book, please." *flipflipflip* "Thank you."
19:01:05 <ihope> Less than a minute, I'm thinking.
19:01:10 <RodgerTheGreat> which is pretty ridiculous (not that it wouldn't be handy, especially if you had total recall)
19:01:15 * oerjan recalls the aliens in Childhood's End could do that.
19:01:32 <ihope> "I've been told that the overall length of a novel should be between 75,000 and 100,000 words. However, it appears that most fantasy novels are larger (witness the Jordan and Goodkind novels.) Terry Goodkind's first novel (Wizard's First Rule) was huge, around 250,000 words in length." http://www.hatrack.com/writingclass/lessons/2000-08-02-1.shtml
19:01:34 <oklopol> there's a technique for learning to read a long book in 20 min or something... guess i'll learn that too, if it really exists
19:02:29 <RodgerTheGreat> I'd guess the 690000 figure is off by a zero... or maybe a couple
19:03:04 <oklopol> http://news.bbc.co.uk/2/hi/europe/guernsey/6591365.stm
19:03:10 <RodgerTheGreat> 690 words per minute I can believe. 6900 words per minute is pretty amazing. 69000 sounds nearly impossible
19:03:14 <lament> ihope: that's a very strange thing to "be told"
19:03:37 <oerjan> perhaps it's the "minute" that is wrong.
19:04:22 <RodgerTheGreat> 11,500 words per minute seems a lot closer to physical possibility
19:05:21 <ihope> I think "day" is... possible.
19:06:10 <RodgerTheGreat> assuming reading for 12 hours of the day, that's ~958 WPM
19:06:39 <RodgerTheGreat> but I think most people would have difficulty sustaining that level of concentration for very long
19:07:21 <RodgerTheGreat> remember, that's a steady rate of 16 words *per second*
19:07:52 <RodgerTheGreat> literally, you'd have to be reading entire sentences at once
19:08:01 <ihope> 690,000 words per minute at 500 words per page about 23 pages a second.
19:08:24 <RodgerTheGreat> you couldn't mechanically do that and resolve the images
19:08:38 <oerjan> i am starting to think the "minute" is right and the number is wrong then.
19:08:54 <ihope> You'd need a computer.
19:09:14 <ihope> "Ebook, please." *churn churn churn* "Thank you."
19:09:18 <oerjan> perhaps someone missed translating a decimal point convention.
19:09:30 <oerjan> 690,000 would mean 690 in norwegian.
19:09:54 <ihope> And many other languages and such.
19:10:07 <ihope> 690.000 seems an odd number, though.
19:10:16 <ihope> (Even though it's clearly even.)
19:10:35 <ihope> Did nobody reach 690.002 per minute?
19:10:49 <RodgerTheGreat> yeah, there's no need for that many precision levels in a words-per-minute figure
19:11:03 <oerjan> i was wondering why they didn't simply round it to 700,000
19:11:31 <ihope> That'd make it a lie? :-P
19:11:31 <RodgerTheGreat> and say "up to", which is my favorite meaningless phrase
19:11:34 <oklopol> "690,000 words per minute"
19:12:04 <ihope> I've seen an ad for a free energy generator. They guaranteed it would produce up to a certain amount.
19:13:22 <ihope> Up to a certain amount.
19:13:48 <RodgerTheGreat> if you read that ad and saved $2, they weren't technically lying
19:13:50 <ihope> bsmntbombdood: eh?
19:13:55 <oklopol> my dad's friend is a scientist (alex kaivarainen), he has this theory about something called bivacuum, which guarantees practically infinite energy for free
19:14:25 <ihope> "Up to" can mean either <= or >=!
19:14:29 <RodgerTheGreat> or "starting at" (although this one is often used misleadingly)
19:15:18 <ihope> ("Starting at" always lists the lowest price, doesn't it? :-)
19:15:38 <ihope> "You're allowed to go up to 50 miles an hour" versus
19:16:08 <ihope> Versus "some cyclists got up to 50 miles an hour".
19:16:33 <ihope> (Choose either sense.)
19:16:38 <oklopol> ihope: how are those different?
19:16:58 <ihope> oklopol: doesn't "some cyclists got up to 50 miles an hour" imply that 50 was actually achieved?
19:17:50 <ihope> I think you mean (-infinity,5]...
19:18:21 <RodgerTheGreat> no, because you can "reach" negative infinity, but you can only get infinitesimally close to 5
19:18:35 <Arrogant> At which point does -infinity become infinity? How many bits does the universe allow for floating points?
19:18:36 <RodgerTheGreat> ( means approaches asymptotically, [ means actually reaches
19:18:52 <ihope> Looks more like <.
19:19:05 <RodgerTheGreat> it's a symbol and such operates with some unusual rules
19:19:10 <oklopol> RodgerTheGreat: i guess Arrogant was somewhat joking
19:19:19 <oklopol> Arrogant: read programming the universe
19:19:23 <oklopol> and you'll have the answer.
19:19:32 <oklopol> "programming the universe"
19:19:40 <Arrogant> I was in here talking about y combinators and you don't think I understand infinity
19:20:09 <oklopol> Arrogant: nerds always want to share information for any smallest excuse
19:20:25 <RodgerTheGreat> I didn't hear you talking about y combinators and you expressed something about infinity that was in error.
19:20:45 <Arrogant> Well what I was referring to, to be exact
19:20:58 -!- bsmnt_bot has quit (Remote closed the connection).
19:21:06 -!- bsmnt_bot has joined.
19:21:06 <Arrogant> Was INT_MIN and INT_MAX of the universe, I guess
19:21:09 <oklopol> RodgerTheGreat: note, however, that it was clearly a joke referring to the floating point value #INF :)
19:22:00 <oklopol> yeah, but that's not the point, the point is the book is great
19:22:22 <oklopol> i love advertising book i've managed to read
19:22:56 <RodgerTheGreat> my favorite book to plug is "The First Computers: History and Architectures"
19:23:10 <oklopol> i know, but indeed i should dl it
19:23:56 <oklopol> yar i remember your conversation
19:24:46 <oklopol> nooo i can't find a torrent for it :<<
19:25:39 <oklopol> i wonder if you can buy books... what a wacky thought
19:25:52 <RodgerTheGreat> jesus- the book is a lot more expensive than I remember it being on Amazon: http://www.amazon.com/First-Computers-History-Architectures-History-Computing/dp/0262681374/ref=pd_bbs_sr_1/104-5639127-6414343?ie=UTF8&s=books&qid=1182795843&sr=8-1
19:27:03 <oklopol> the money is not an issue, however, i can't pay online
19:27:12 <oklopol> and i'm certainly not leaving my house
19:28:06 <RodgerTheGreat> if I remember right, a couple of major stores sell visa-backed "one-time-use" credit cards that you can buy with cash and use online
19:28:57 <oklopol> OR i could tell my dad i want the book like an adult :|
19:30:13 <RodgerTheGreat> it's an educational book- I'm sure reasonable parents would be willing to help you out
19:30:35 <oklopol> my dad buys me pretty much any book related to computers
19:30:49 <oklopol> guess he believes in me or smth
19:31:07 <RodgerTheGreat> my parents were always pretty supportive, but computer books are so darned expensive. :S
19:31:16 <oklopol> hmm... he had this other friend, a scientist as well, he offered to give me 2000 math book for free
19:31:25 <oklopol> ...the catch was they were in russian
19:32:14 <oklopol> this guy had some issues, kept offering me beer even though i had my last one half-full (<- see, i'm an optimist), and kept saying the same things over and over again
19:32:41 <oerjan> i read learning russian was on the way up in finland, or something, unsurprisingly.
19:33:57 <oklopol> just read from a magazine this morning that they can't find finnish people with russian skills anywhere, so estonians are hired to handle russian relations
19:34:16 <RodgerTheGreat> bsmntbombdood: this is why I'm tremendously glad how much reference information is available freely on the internet
19:34:24 <oklopol> i never read magazines, quite a coinsidence
19:34:45 <RodgerTheGreat> things like online javadocs, tutorial sites and w3schools have saved me hundreds of dollars in books
19:35:28 <RodgerTheGreat> I have a bunch of o'reilly pocket references, which are lifesavers
19:35:49 <RodgerTheGreat> but I don't buy many huge "complete programming language" books
19:46:08 <lament> i can read russian, but not finnish :(
19:46:15 <lament> maybe i should learn more languages
19:46:22 <lament> then i would have some kind of mostly unique skill
20:00:04 <oklopol> lol a _child_ can learn finnish
20:00:48 <oklopol> also, when i seem stupid, it's usually a joke
20:01:55 <oklopol> i've done that since i can remember
20:02:29 <oklopol> people never understand almost everything i say is sarcastic
20:03:13 <oklopol> wow, if i read this book and do the execises, i can do _anything_
20:03:19 <oklopol> i can even get rich if i wanna
20:04:50 <oklopol> it's even got a lot of big blue text: "In Short Anything You Want The Only Limit Is That Of Your Own Imagination!"
20:06:38 <oklopol> i just need to learn hypnosis in a few "easy simple steps"
20:07:32 <oklopol> i can already hypnotize my hand to hold perfectly still, even in an otherwise uncomfortable position
20:07:39 <oklopol> something i learned when i was little
20:08:35 <oklopol> i hold it still and slowly start moving it first forward and thinking there's a wall, then back, then left, then down etc. until i've covered every direction
20:08:44 <oklopol> i do that for a while and it stays put
20:08:55 <oklopol> just my hands, never managed to do anything else :D
20:09:52 <oklopol> i'd actually forgotten i could do that, haven't tried it in years
20:09:59 <oklopol> so i might not be able to do it anymore
20:12:21 <oklopol> i can make make it stay still if my elbow is on the armrest
20:12:48 <oklopol> it seems i can poke it with my other hand and it goes back to where it was
20:13:26 <oklopol> somehow i feel like i'm in a spaceship writing a log about my weird encounters today
20:13:34 <oklopol> i recommend you read "solaris"
20:14:00 <oklopol> though i might've liked it just because i was so young and hadn't seen such philosophical mumbo jumbe yet
20:14:26 <oklopol> i might've read it last year though
20:14:42 <oklopol> i never keep my promises to myself.
20:16:53 -!- Arrogant has quit ("Leaving").
20:18:27 <oklopol> but i think the book was good
20:18:32 <lament> (the russian movie, of course)
20:18:54 <oklopol> the one i saw was in english i think
20:19:00 <lament> the new one did suck terribly. i was watching it with friends and we stopped before they ever got to the station.
20:19:28 <lament> the russian one is by one of the best directors in the history of cinema (tarkovski)
20:19:39 <lament> highly recommended, although it has very little in common with the book
20:19:46 <lament> (lem was very angry about it)
20:20:02 <oklopol> lem being the writer of solaris?
20:20:20 <oklopol> like i could remember a name
20:20:23 <lament> how can you not know lem?
20:20:34 <oklopol> i have a hard time remembering my own name
20:20:37 <lament> even ignoring the fact that you've read his book
20:21:31 <lament> it's like not knowing bradbury or asimov. You don't have to have read them to know the names.
20:21:35 <oklopol> i remember a random sequence of letters easier than a name, since i somehow filter every name out as "some name"
20:21:56 <oklopol> that one i know from a quiz channel.
20:22:59 <oklopol> i promise i'll remember all of those from now on
20:27:50 <oklopol> hypnosis is apparently the best way to cure skin desorders
20:31:28 <oklopol> i believe that, the words in this book are so big, not just in font but also in semantics
20:32:09 <oklopol> they are so big it takes so long to get them in my head it would be a waste to ignore them
20:43:37 -!- erider has quit ("I don't sleep because sleep is the cousin of death!").
20:59:02 <ihope> I've read some Asimov.
20:59:39 <ihope> And some Williams, some Simpson and some Stanley.
21:01:46 <ihope> Except that that's two people, Emko and Brodzik.
21:01:55 <ihope> Maybe I should say Emko/Brodzik, then?
21:02:02 -!- jix_ has joined.
21:02:26 -!- jix has quit (Nick collision from services.).
21:02:34 -!- jix_ has changed nick to jix.
21:03:16 <oerjan> i don't get a single name after "Asimov".
21:03:55 <ihope> Mason Williams, D.J. Simpson, Mark Stanley, Matt Trepal, Drake Emko, Jen Brodzik.
21:04:18 <ihope> 1/0, Ozy & Millie, Freefall, Fight Cast Or Evade, Hackles.
21:05:15 <oerjan> oh :) then i know two of them.
21:06:38 <ihope> Ozy & Millie's not bad.
21:06:52 <oerjan> in fact 1/0 was the first real webcomic i read, and i heard about it this autumn on this channel.
21:07:10 <ihope> (I've also read Watterson.)
21:07:47 <oerjan> that's actually less impressive than Asimov, i think.
21:08:26 <ihope> What's less impressive than Asimov?
21:08:49 <oerjan> knowing who Watterson is is less impressive than knowing who Asimov is.
21:19:25 <lament> probably more people know asimov, though.
21:19:58 <lament> watterson's popularity is vastly surpassed by his creations'.
21:20:30 <lament> asimov didn't actually write any good books, so he's popular, and not the books :)
21:21:23 <oerjan> being immensely and successfully secretive _would_ tend to have that effect.
21:21:45 <lament> i think it's just because he only did one thing.
21:38:12 <Sukoshi> ihope: Neville Chamberlain is less impressive.
21:39:34 <lament> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:39:40 * lament watches as ihope runs out of the channel
21:40:15 * ihope runs out of the channel
21:40:18 -!- ihope has left (?).
21:40:56 <lament> the channel is only yours until you're completely devoured.
21:41:40 -!- ihope has joined.
21:41:50 * ihope completely devours bsmntbombdood
21:42:10 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (bsmntbombdood has been eaten.).
21:42:46 <oerjan> speak louder, i cannot hear you from inside ihope!
21:43:03 * ihope completely devours bsmntbombdood's refrigerator
21:43:24 <ihope> oerjan: I think he said some weird things involving crazy symbols and actions.
21:43:31 <lament> you're inside ihope? i'm inside YOUR MOM!
21:43:41 <ihope> He said "action", after all.
21:43:59 <ihope> lament is inside bsmntbombdood's mom?
21:44:06 <ihope> I didn't know she was a cannibal too.
21:44:26 <lament> ihope: all women are. It's their little secret.
21:44:44 <ihope> There's only one way to... um, accomplish what needs to be accomplished.
21:44:58 * ihope completely devours bsmntbombdood's mom
21:45:55 <ihope> So I have three people inside me?
21:46:37 * oerjan recalls a fairy-tale involving a hungry cat, and sidles towards the channel exit.
21:47:32 <ihope> Do you want to be shared?
21:47:57 * ihope shares bsmntbombdood
21:48:16 <ihope> Sharing after eating is done all the time by ants. Why can't I do it too?
21:48:36 <ihope> (Transant transfer!)
21:50:18 <bsmntbombdood> america is fucked, speech promoting the breaking of laws is illegal
21:51:47 <oklopol> so... you are being illegal?
21:52:05 -!- jix has quit ("CommandQ").
21:52:16 <oklopol> you're clearly promoting us to think that law is wrong making us wanna break it
21:52:32 <bsmntbombdood> well, not illegal, but not protected by the consitution
21:52:52 <oklopol> i don't really know the difference
21:53:43 <bsmntbombdood> illegal means there's a law against it, not protected by the constitution means there can be a law against it
21:57:45 <ihope> Speech promoting the breaking of laws is illegal...
21:58:00 <ihope> Hopefully, though, speech promoting the *changing* of laws is legal.
21:58:25 <ihope> Fine meaning fuzzy?
22:00:42 <ihope> Isn't a thin line one where you're definitely on one side or the other?
22:01:40 <ihope> So the emphasis is on the fact that it's small or hard to see?
22:04:18 <oklopol> ihope: that's a pretty standard saying
22:04:36 <oklopol> i hope that's a pretty standard saying
22:15:03 -!- Keymaker has joined.
22:17:54 <Keymaker> hmm, does anyone know does 'feult' mean anything in some language? i can't find anything in different dictionaries i've looked at. it's a random name i made for an esolang, but may not be the final name
22:19:55 <oerjan> why, it just so happens to be a terribly insulting word in Athabaskan.
22:25:49 <oklopol> feult is kinda tabu here in finland too
22:26:00 <oklopol> keymaker might not believe that though...
22:26:09 <Keymaker> funny, i don't recognize the word :P
22:34:41 <oklopol> "Remember your subconscious mind can process more than two million bits of information per second and it never forgets anything!"
22:35:08 <Keymaker> is there any command in python for removing all but specific characters from string? like something that'd remove everything else but "01234" (chars '0' '1' '2'...)
22:35:18 <oklopol> i'd like to see the research on which this is based
22:36:42 <oklopol> hmm... not a straighforward function for that
22:36:50 <oklopol> anyway, it's just a few lines to write that
22:37:22 <oerjan> ~exec sys.stdout(x for x in "012345678", "01234".find(x))
22:37:23 <bsmnt_bot> SyntaxError: invalid syntax (<string>, line 1)
22:37:33 -!- c|p has quit ("Leaving").
22:37:41 <oerjan> ~exec sys.stdout(x for x in "012345678")
22:38:28 <oklopol> [x for x in "102937485" if x in "1234"]
22:38:38 <oklopol> but that doesn't work for strings, just lists
22:39:20 <oklopol> you have to do sum([x for x in "102937485" if x in "1234"])
22:39:59 <oklopol> reduce(lambda a,b:a+b,[x for x in "102937485" if x in "1234"])
22:41:10 <lament> filter(lambda x:x in '123', '12345123')
22:41:27 <lament> probably the cleanest solution
22:43:40 <oklopol> lament: that returns a string?
22:43:56 <oklopol> i would've used filter, but people don't seem to like filter, remove and map
22:44:27 <lament> fister, reduce and map are great functions.
22:45:11 <oklopol> hmm... usb-dildo management integrated in the language?
22:45:23 <lament> it's not called python for nothing
22:51:45 -!- Keymaker has quit (Read error: 110 (Connection timed out)).
23:00:24 -!- pikhq has joined.
23:12:02 -!- oerjan has quit ("Warm fuzzy things!").
23:44:04 -!- ihope has quit ("Reconnecting...").