←2006-12-20 2006-12-21 2006-12-22→ ↑2006 ↑all
00:00:32 <GregorR-W> IIRC, it's been shown that DNA is no more than Turing-complete. Working under the presumption that a TC language cannot describe an implementation of a higher-than-TC language, the brain cannot be more complicated than TC.
00:01:03 <RodgerTheGreat> I think the bigger problem lies in the huge differences between how the brain and computers work- computers are still largely single-threaded and hardware can't reconfigure itself to a great extent. Brains are massively parallel and can rewire themselves constantly
00:01:09 <GregorR-W> Therefore, it should be possible with appropriate resources to precisely duplicate the capacity of a human brain in a computer.
00:01:18 <RodgerTheGreat> oh, absolutely
00:01:20 <bsmntbombdood> RodgerTheGreat: ANN
00:01:35 <bsmntbombdood> GregorR-W: And a ton of leetness
00:01:48 <GregorR-W> That too ;)
00:02:23 <bsmntbombdood> a TON of leetness
00:02:33 <GreaseMonkey> a TONNE as well
00:02:50 <bsmntbombdood> HUGE AMOUNTS
00:03:04 <bsmntbombdood> Like I have ;)
00:03:20 <bsmntbombdood> hehe http://xkcd.com/c69.html
00:03:52 <GreaseMonkey> :D
00:04:24 <RodgerTheGreat> I guess my point is, although it's probably possible to emulate a brain with computers how they are today, the structure of the brain indicates that it probably isn't a very efficient way to pull this off. We need either different computers (NN accelerator chips? New CPU architectures?) or shitloads more power than the real chunk of meat
00:05:04 <bsmntbombdood> hardware ANN
00:05:20 <GregorR-W> RodgerTheGreat: Agreed.
00:05:23 <bsmntbombdood> A sepperate mini proccessor for each neuron
00:05:50 <GregorR-W> That would be the most direct way.
00:06:03 <RodgerTheGreat> although, if we ever get the functionality of a brain running with the reliability of modern computer hardware, we'll have something pretty amazing on our hands
00:06:20 <bsmntbombdood> indeed
00:06:32 <bsmntbombdood> except it be the size of the computers of yore
00:06:39 <GreaseMonkey> hehe: http://www.explosm.net/comics/754/
00:07:22 <GreaseMonkey> that'd be intense
00:07:26 <RodgerTheGreat> silicon circuitry is orders of magnitude more dependable than a pile of proteins bumping into each other, but it's sure as hell more complicated to build at the same density
00:08:12 <GreaseMonkey> http://www.explosm.net/comics/758/
00:08:34 <RodgerTheGreat> lol- nice comic
00:09:06 <GregorR-W> Whoever made sugar-free caffeinated soda had a fundamental misunderstanding of the difference between "tired" and "low on energy"
00:09:21 <RodgerTheGreat> heh
00:09:48 <GreaseMonkey> http://www.explosm.net/comics/750/
00:10:04 <GreaseMonkey> http://www.explosm.net/comics/748/
00:10:19 <bsmntbombdood> haha
00:10:34 <RodgerTheGreat> well, you could just make the soda contain some drugs that altered the functioning of your thyroid gland- same blood sugar increase.
00:11:11 <GreaseMonkey> http://www.explosm.net/comics/745/
00:11:46 <GreaseMonkey> http://www.explosm.net/comics/743/
00:12:43 -!- ihope_ has joined.
00:13:49 <GreaseMonkey> http://www.explosm.net/comics/740/
00:14:06 -!- oerjan has joined.
00:14:23 <GreaseMonkey> http://www.explosm.net/comics/41/
00:14:43 <ihope_> My enzyme language is all nice and implemented now, right?
00:14:56 <ihope_> Does it have DNA and everything?
00:15:17 <oerjan> what, chemical programming? have you heard of the gamma calculus?
00:15:34 <SimonRC> heh http://www.gamegarage.co.uk/cartoons/super-mario-blitz/play/
00:15:40 <SimonRC> psychadelic!
00:15:42 * SimonRC goes
00:18:37 <bsmntbombdood> Man, that's a sweet ass-car
00:18:38 <RodgerTheGreat> SimonRC: fascinating
00:19:10 <oerjan> someone else reading xkcd, i see
00:19:51 <bsmntbombdood> of course
00:19:54 <RodgerTheGreat> I never thought mario could be trippier. I was a fool.
00:21:10 <GreaseMonkey> http://www.explosm.net/comics/95/
00:24:09 <ihope_> Gamma calculus? Can't say I've heard of it, no.
00:29:07 <oerjan> it's programming with bags of "molecules"
00:29:28 -!- CakeProphet has joined.
00:29:47 <ihope_> Like Fractran or whatever that language is called, I take it.
00:32:40 <oerjan> except, if i remember correctly, that the rules themselves are molecules, used up in the reaction; there is no ordering but you can wrap up molecules in subbags to prevent them from reacting
00:32:52 <RodgerTheGreat> hm
00:33:54 * CakeProphet is bored... and fed up with current databases.
00:34:12 <CakeProphet> Oh I know! I'll make my own database layout.
00:34:21 <CakeProphet> That's like... killing two birds with one stone.
00:35:20 <oerjan> when you consider the work, it could be more like killing one bird with two stones :)
00:35:28 * CakeProphet finds concepts universal to all programming languages... and finds a way to organize it into a readable language.
00:35:43 <GregorR-W> More like killing no birds with a handgun you have to build from stone and twigs.
00:35:58 <CakeProphet> No no... I will kill the boredom bird regardless.
00:36:13 <CakeProphet> I hate databases at the moment... so this'll be my angsty revenge against them.
00:36:40 <CakeProphet> Inventing shit is fun... using other peoples invented shit isn't.
00:36:51 <bsmntbombdood> yep
00:37:35 <CakeProphet> N(length:integer) <--number
00:37:41 <CakeProphet> whoo! completed that part.
00:38:17 <bsmntbombdood> bsmnt_bot probably isn't very fast
00:38:22 <CakeProphet> any other info that might be handy for certain programming languages to know before they attempt to convert that into a native data type?
00:39:13 <bsmntbombdood> !exec for i in range(1000): self.register_raw(str(i), lambda x : False)
00:39:36 <oerjan> ah, the original gamma calculus was not quite as advanced as i said
00:39:38 <CakeProphet> >.> Python?
00:39:59 <bsmntbombdood> !exec self.raw_regex.queue.reverse()
00:40:00 -!- bsmnt_bot has quit (Remote closed the connection).
00:40:04 <bsmntbombdood> oops
00:40:17 <CakeProphet> haha... you put in access to python's exec statement.
00:40:31 -!- bsmnt_bot has joined.
00:40:45 <bsmntbombdood> !exec for i in range(5000): self.register_raw(str(i), lambda x : False)
00:40:49 <bsmntbombdood> CakeProphet: Of course
00:40:56 <bsmntbombdood> CakeProphet: Makes it extensible at runtime
00:41:06 <CakeProphet> S(encoding-string:length:sequence-of-character-ordinals-separated-by-commas) <--symbol ...what other info would you include?
00:41:10 <bsmntbombdood> !exec print len(self.raw_regex_queue)
00:41:27 <bsmntbombdood> !exec for i in range(10000): self.register_raw(str(i), lambda x : False)
00:41:29 <bsmntbombdood> !exec print len(self.raw_regex_queue)
00:41:42 <bsmntbombdood> !exec self.raw_regex_queue.reverse()
00:41:52 <CakeProphet> hmmm... you could change sys.stdout to the socket you're writing too.
00:41:57 <bsmntbombdood> !raw PRIVMSG #esoteric :hi
00:41:57 <bsmnt_bot> hi
00:42:02 <bsmntbombdood> CakeProphet: Yeah, I could
00:42:11 <CakeProphet> dunno why you would...
00:42:13 <CakeProphet> but.
00:42:15 <CakeProphet> ...you could.
00:42:59 -!- bsmnt_bot has quit (Remote closed the connection).
00:43:04 -!- bsmnt_bot has joined.
00:43:24 <bsmntbombdood> !exec print len(self.raw_regex_queue)
00:43:39 <bsmntbombdood> !exec sys.stdout.write(len(self.raw_regex_queue))
00:43:39 -!- bsmnt_bot has quit (Remote closed the connection).
00:43:56 <oerjan> the gamma_0 calculus seems like what i was thinking of, combining the principles of gamma and lambda: http://www.irisa.fr/paris/Biblio/Papers/Banatre/BanFraRad04RULE.pdf
00:44:26 <CakeProphet> hmmm... L(size|mutability|comma-separated-list-of-sequence-items) <- list whooooo... this is fun.
00:44:32 <CakeProphet> Way more fun than actually using a database.
00:44:37 -!- bsmnt_bot has joined.
00:44:46 <bsmntbombdood> !exec sys.stdout.write(len(self.raw_regex_queue))
00:44:47 -!- bsmnt_bot has quit (Remote closed the connection).
00:45:19 <CakeProphet> XML looks promising for databases...
00:45:20 <GreaseMonkey> fun fun FUN...
00:45:26 -!- bsmnt_bot has joined.
00:45:28 <bsmntbombdood> !exec sys.stdout.write(len(self.raw_regex_queue))
00:45:33 <bsmntbombdood> oh right
00:45:45 <CakeProphet> it's... verboose... but very good at representing pretty much any data type.
00:45:55 <bsmntbombdood> !exec sys.stdout.write("PRIVMSG #esoteric :" + str(len(self.raw_regex_queue)))
00:46:14 <bsmntbombdood> hrm
00:47:23 <bsmntbombdood> !exec print "foo"
00:47:53 -!- bsmnt_bot has quit (Remote closed the connection).
00:47:56 -!- bsmnt_bot has joined.
00:48:00 <bsmntbombdood> !exec print "foo"
00:48:09 <bsmntbombdood> meh whatever
00:48:57 <CakeProphet> Did you set sys.stdout to the socket?
00:49:05 <bsmntbombdood> yeah
00:49:25 <CakeProphet> hmm... can't remember if sockets use the write function or not.
00:49:26 <CakeProphet> it might be send.
00:49:31 <bsmntbombdood> it is
00:49:35 <CakeProphet> Ah.
00:49:37 <bsmntbombdood> but there is a file interface wrapper
00:50:12 <CakeProphet> class MySocket(socket.socket): def write(self, *args): self.send(*args)
00:50:27 <bsmntbombdood> socket.makefile()
00:50:33 <CakeProphet> ah.
00:50:45 <bsmntbombdood> Which I was using anyway, because it line buffers for me
00:51:25 * CakeProphet has too many projects.
00:51:49 <bsmntbombdood> !exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet"))
00:51:49 <bsmnt_bot> sweet
00:51:53 <bsmntbombdood> dude
00:51:54 <bsmnt_bot> sweet
00:51:57 <bsmntbombdood> :)
00:52:15 <oklopol> does it do brainfuck? :D
00:52:18 <CakeProphet> networking interface, database protocol, a text-based RPG codebase, a-random-assortment-of-very-abstract-and-general-tools.
00:52:20 <bsmntbombdood> no
00:52:23 <oklopol> :(
00:52:31 <oklopol> every bot should do brainfuck :DD
00:52:37 <bsmntbombdood> write a brainfuck interpreter in a single lambda
00:52:42 <bsmntbombdood> then it will do brainfuck
00:52:44 <oklopol> haha :D
00:52:47 <CakeProphet> ....I tried once.
00:52:54 <oklopol> i should sleep....
00:52:57 <bsmntbombdood> CakeProphet: I remember
00:53:00 <oklopol> but i could try
00:53:18 <CakeProphet> It would be possible in Python if Python assignment was an expression.
00:53:38 <CakeProphet> or at least... easier to do.
00:54:40 <oklopol> a.split("") is illegal? how to parse a string to a list of letters? :DD then i might be able to carry on :)
00:54:49 <GreaseMonkey> BF in BF has been done before :D
00:55:13 <CakeProphet> list(string)
00:55:17 <oklopol> i did it without loops :DD
00:55:24 <oklopol> oh thans
00:55:25 <oklopol> *k
00:55:40 * CakeProphet feels knowledgable.
00:56:20 <oklopol> haha i can't do an assignment in a lambda? :D or is there a way?
00:57:05 <CakeProphet> eh... not really...
00:57:12 <CakeProphet> in Python... assignment is a statement.
00:57:14 <CakeProphet> for good reasons.
00:57:24 <oklopol> i disagree, but see your point
00:57:28 * CakeProphet nods.
00:57:32 <CakeProphet> I disagree with myself too.
00:57:35 <CakeProphet> but also see my point.
00:57:36 <oklopol> haha :D
00:57:39 <oklopol> #esoteric
00:57:43 <oklopol> :)
00:57:50 <CakeProphet> I see the benefits of statement... and the benefits of expression.
00:58:15 <CakeProphet> I guess you could compromise with a "assign and return" statement... so that = doesn't return a value.
00:58:22 <CakeProphet> thus preventing clumsy mishaps.
00:58:34 <CakeProphet> |= or something
00:58:53 <oklopol> k now that i've played around a bit with the idea, it starts to seems pretty hard :DD
00:58:58 <oklopol> the bf in lambda thing
00:59:00 <CakeProphet> It is.
00:59:16 <CakeProphet> I can do most everything except [ and ]
00:59:33 <oklopol> yep
01:02:06 <oerjan> have you tried using y combinators for recursion?
01:02:29 <CakeProphet> ...what's that?
01:03:04 <oerjan> y (f) = f (y (f))
01:03:19 <CakeProphet> Ah....
01:03:21 <CakeProphet> that would work nicely.
01:03:49 <oerjan> although it might use up the python stack
01:03:59 <CakeProphet> Yeah.
01:04:02 <CakeProphet> recursion.
01:04:50 <bsmntbombdood> dude
01:04:51 <bsmnt_bot> sweet
01:04:54 <CakeProphet> dude
01:04:55 <bsmnt_bot> sweet
01:05:00 <CakeProphet> mmmmmmmmmmmmdude
01:05:01 <bsmnt_bot> sweet
01:05:09 <CakeProphet> hahahahahdudehahahahahahahahahdudedude
01:05:09 <bsmnt_bot> sweet
01:05:23 <bsmntbombdood> the regex is ".*dude.*"
01:05:23 <bsmnt_bot> sweet
01:05:29 -!- wooby has joined.
01:05:49 <CakeProphet> a regex of "dude" would work fine... depending on what you're doing.
01:05:49 <bsmnt_bot> sweet
01:05:49 -!- oerjan_ has joined.
01:05:58 <bsmntbombdood> hehe yeah probably
01:06:12 <CakeProphet> You would use ^dude to state explicitly at the beginning
01:06:12 <bsmnt_bot> sweet
01:06:25 <wooby> ahoy
01:06:30 <CakeProphet> Mmmm
01:06:31 <bsmntbombdood> Nope, it matches the regex on the whole line from the irc server
01:06:32 <CakeProphet> heya
01:06:41 <bsmntbombdood> :CakeProphet!n=CakeProp@h124.238.213.151.ip.alltel.net PRIVMSG #esoteric :heya
01:06:48 <bsmntbombdood> is what the regex sees
01:06:48 <CakeProphet> ah... you're not in line mode.
01:06:53 <CakeProphet> er.
01:06:55 <CakeProphet> rather
01:06:56 -!- oerjan has quit (Nick collision from services.).
01:06:57 <CakeProphet> yeah
01:07:02 -!- oerjan_ has changed nick to oerjan.
01:07:24 <bsmntbombdood> "^:.*:dude" would match at the beggining of a line
01:07:24 <bsmnt_bot> sweet
01:07:41 <bsmntbombdood> er
01:07:57 <CakeProphet> I would use non=greedy *
01:07:59 <bsmntbombdood> "^:[^:]*:dude"
01:07:59 <bsmnt_bot> sweet
01:08:10 <CakeProphet> That wouldn't match.
01:08:17 <bsmntbombdood> !exec self.raw_regex_queue.pop()
01:08:46 <CakeProphet> Are you using twisted? or just good ol' select and socket?
01:08:50 <bsmntbombdood> !exec self.register_raw("^:[^:]*:dude", lambda x : bot.raw("PRIVMSG #esoteric :sweet"))
01:08:56 <bsmntbombdood> neither
01:08:57 <bsmntbombdood> don't need select
01:08:59 <bsmntbombdood> dude
01:08:59 <bsmnt_bot> sweet
01:09:04 <bsmntbombdood> asdf dude
01:09:07 <bsmntbombdood> see
01:09:15 <CakeProphet> >.> What did you use?
01:09:22 <CakeProphet> Just recv?
01:09:29 <bsmntbombdood> http://bsmntbombdood.mooo.com/ircbot.py
01:09:30 <bsmntbombdood> yeah
01:09:48 <CakeProphet> hmm.. oh yeah
01:10:04 <CakeProphet> select is only for when you have multiple sockets.
01:10:42 <bsmntbombdood> !exec self.raw_regex_queue.pop()
01:10:50 <bsmntbombdood> !exec self.register_raw("dude", lambda x : bot.raw("PRIVMSG #esoteric :sweet"))
01:10:53 <bsmntbombdood> dude
01:10:59 <bsmntbombdood> interesting
01:11:01 <bsmntbombdood> !exec self.raw_regex_queue.pop()
01:11:09 <bsmntbombdood> !exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet"))
01:11:09 <bsmnt_bot> sweet
01:11:12 <bsmntbombdood> dude
01:11:13 <bsmnt_bot> sweet
01:11:17 <bsmntbombdood> pwnt
01:11:34 <CakeProphet> hmmm
01:11:51 <CakeProphet> if you were using findall or something
01:12:02 <CakeProphet> comparing any subsection of the string to the regex
01:12:04 <CakeProphet> dude would work.
01:12:04 <bsmnt_bot> sweet
01:12:12 <bsmntbombdood> but i'm not
01:12:24 <bsmntbombdood> if i[0].match(message):
01:12:31 * CakeProphet nods.
01:13:01 <CakeProphet> You could use grouping to map sections of the regex to a function call.
01:13:20 <oerjan> why do you want to match dude only at the beginning?
01:13:20 <bsmnt_bot> sweet
01:13:26 <bsmntbombdood> !exec self.register_raw(".*!%s.*" % "killme", lambda x : True)
01:13:30 <bsmntbombdood> oerjan: I don't
01:13:41 <bsmntbombdood> now anyone can kill the bot
01:13:44 <oerjan> well then, what is wrong with it?
01:13:49 <bsmntbombdood> nothing
01:15:29 <CakeProphet> Do you save the register to something?
01:16:00 <bsmntbombdood> ?
01:16:07 <CakeProphet> Do you persist it..
01:16:12 <bsmntbombdood> What register?
01:16:13 <CakeProphet> so that the regexes stay in it.
01:16:21 <bsmntbombdood> across restarts?
01:16:21 <bsmntbombdood> no
01:16:24 <CakeProphet> the regex_looker_thing
01:16:51 <bsmntbombdood> self.raw_regex_queue?
01:17:50 <bsmntbombdood> !killme
01:17:50 -!- bsmnt_bot has quit (Remote closed the connection).
01:17:56 -!- bsmnt_bot has joined.
01:18:00 <bsmntbombdood> !killme
01:18:03 <bsmntbombdood> see
01:19:24 <CakeProphet> !exec self.register_raw(r".*?!dice.*, lambda x: bot.raw(__import__("random").randint(1,6)) )
01:19:32 <CakeProphet> !dice
01:19:36 <bsmntbombdood> no
01:19:51 <bsmntbombdood> only I can exec
01:19:55 <ihope_> !raw PRIVMSG #esoteric :Bling bling
01:20:04 <GreaseMonkey> only he can !raw
01:20:05 <CakeProphet> poopy
01:20:06 <ihope_> mmh.
01:20:10 <ihope_> s/m/M/
01:20:26 <bsmntbombdood> !exec self.register_raw(r".*?!dice.*, lambda x: bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6)) )
01:20:27 -!- bsmnt_bot has quit (Remote closed the connection).
01:20:30 <ihope_> Woot!
01:20:32 -!- bsmnt_bot has joined.
01:20:41 <bsmntbombdood> I really need to catch exceptions there
01:20:43 <CakeProphet> Yup.
01:20:45 <bsmntbombdood> !exec self.register_raw(r".*?!dice.*", lambda x: bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6)) )
01:20:45 <bsmnt_bot> 2
01:20:47 <ihope_> Good idea.
01:20:51 <bsmntbombdood> ?!dice
01:20:51 <bsmnt_bot> 2
01:20:52 <bsmntbombdood> ?!dice
01:20:52 <bsmnt_bot> 1
01:20:53 <bsmntbombdood> ?!dice
01:20:54 <bsmnt_bot> 4
01:20:54 <bsmntbombdood> ?!dice
01:20:55 <bsmnt_bot> 3
01:20:57 <bsmntbombdood> :)
01:21:00 <ihope_> ?!dice
01:21:00 <bsmnt_bot> 5
01:21:08 <bsmnt_bot> 3
01:21:11 <bsmnt_bot> 3
01:21:18 <CakeProphet> It's something of a hack... since it imports random -each- time :D
01:21:27 <ihope_> Yay.
01:21:33 <RodgerTheGreat> cool
01:21:35 <bsmntbombdood> How can I catch an exception but still put a trackback on stderr?
01:21:49 <ihope_> Have the exception handler trackback it?
01:21:53 <bsmnt_bot> 4
01:22:04 <bsmntbombdood> ihope_: duuhh
01:22:25 <CakeProphet> bsmntbombdood, except Exception: traceback.print_exc()
01:22:39 <bsmntbombdood> !quit
01:22:39 -!- bsmnt_bot has quit (Client Quit).
01:22:41 <CakeProphet> need to import traceback of course.
01:23:17 -!- bsmnt_bot has joined.
01:23:27 <bsmntbombdood> !exec print "synstax error'
01:23:29 <CakeProphet> pfft... lemme use exec. I promise I won't delete your OS.
01:23:33 <bsmntbombdood> yay!
01:23:47 <bsmntbombdood> SyntaxError: EOL while scanning single-quoted string
01:24:19 <CakeProphet> and it'll still close on SystemExit and KeyboardInterrupt
01:24:25 <CakeProphet> because they don't inherit from Exception.
01:25:02 <ihope_> CakeProphet: how do you delete an OS in Python?
01:25:10 <ihope_> Also, why chroot traps?
01:25:20 <ihope_> Is *everything* a file?
01:25:35 <CakeProphet> import os; os.unlink("/")
01:25:37 <CakeProphet> if I'm not mistaken
01:25:54 <CakeProphet> Might be wrong... I'm not willing to test it.
01:25:56 <CakeProphet> :P
01:27:54 <bsmntbombdood> ok, you can use !exec now CakeProphet
01:28:45 <ihope_> Of course bsmnt_bot is running under a restricted user...
01:29:07 <bsmntbombdood> No, it's root
01:29:09 <bsmntbombdood> (not really)
01:29:37 -!- wooby has quit.
01:29:39 * bsmntbombdood urges !exec on CakeProphet
01:31:32 <bsmntbombdood> come on!
01:32:48 -!- wooby has joined.
01:32:51 <ihope_> wooby!
01:33:04 <ihope_> Sounds dirty.
01:33:13 <CakeProphet> !exec self.register_raw(r"^[^.]*!spam .*?, lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:])))
01:33:14 <bsmnt_bot> just kidding
01:33:36 <bsmntbombdood> hehe
01:34:22 <bsmntbombdood> CakeProphet !exec
01:34:22 <bsmnt_bot> just kidding
01:34:26 * bsmntbombdood feels clever
01:34:36 <ihope_> Uh oh, the !exec is... hmm.
01:34:42 <ihope_> Oh, right.
01:34:54 <ihope_> !exec is only weird for CakeProphet.
01:34:58 <bsmntbombdood> !exec self.register_raw(r"^[^.]*!spam .*?, lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:])))
01:35:06 <bsmntbombdood> ha ha syntax error
01:35:18 <bsmntbombdood> !exec self.register_raw(r"^[^.]*!spam .*?", lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:])))
01:35:24 <bsmntbombdood> !spam 10
01:35:24 -!- bsmnt_bot has quit (Remote closed the connection).
01:35:28 -!- calamari has joined.
01:35:29 <bsmntbombdood> O.o
01:35:32 <wooby> ahoyo
01:35:32 -!- bsmnt_bot has joined.
01:35:41 <ihope_> Really, calamari's an odd name for a bot.
01:35:46 <ihope_> Isn't that some squid stuff?
01:35:50 <calamari> ya
01:35:56 <CakeProphet> ....oh ho... crashed it.
01:35:58 <calamari> hi ;)
01:35:59 * CakeProphet is awesome.
01:36:26 <bsmntbombdood> It doesn't catch exceptions when executing the callbacks, only when registering them
01:37:22 -!- oerjan has quit ("Leaving").
01:38:06 <bsmntbombdood> Python's scope for lambdas is weird :/
01:38:42 <CakeProphet> !exec for num in xrange(10000000): bot.raw("PRIVMSG #esoteric :lol")
01:38:58 <bsmntbombdood> !exec for num in xrange(2): bot.raw("PRIVMSG #esoteric :lol")
01:38:58 <bsmnt_bot> lol
01:38:58 <bsmnt_bot> lol
01:39:03 <bsmntbombdood> :)
01:42:16 <CakeProphet> mmm... it feels good spamming efficiently.
01:42:34 <bsmntbombdood> !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :lol")
01:42:39 <ihope_> Spamming efficiently?
01:42:40 <bsmntbombdood> urgh
01:42:53 <ihope_> Write it in C!
01:42:58 <CakeProphet> that's some good ol' C-compiled iteration for ya
01:43:03 <CakeProphet> xrange is in C
01:43:04 <bsmntbombdood> !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :lol")
01:43:09 <bsmntbombdood> :)
01:43:16 <GreaseMonkey> LUA is better :D
01:43:21 <ihope_> Is the whole thing C?
01:43:22 <CakeProphet> oh noes... I've been... spammed?
01:43:27 <bsmntbombdood> ihope_: The best part of this bot is that it's extensible at runtime
01:43:43 <bsmntbombdood> !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :%s" % num)
01:43:51 <ihope_> But C lets you spam really efficiently...
01:44:02 <CakeProphet> ihope_, well... you have to get it into python... but the source itself is in C
01:44:23 <bsmntbombdood> ihope_: I'm sure the bottleneck is my internet connection
01:44:32 <bsmntbombdood> or freenode's flood protection...
01:44:59 <GreaseMonkey> for(;;){bot.raw("PRIVMSG CakeProphet :%s",rand() % 100)}
01:45:16 <bsmntbombdood> GreaseMonkey: Except no
01:47:10 <bsmntbombdood> !exec for num in xrange(6): bot.raw("PRIVMSG GreaseMonkey :%s" % __import__("random").randint(0,100))
01:50:28 * bsmntbombdood is bored
01:53:43 <wooby> anyone ever worked or otherwise dealt with a supercomputer?
01:56:57 <RodgerTheGreat> in what sense?
01:57:25 <wooby> programmed for them, operated them
02:00:49 <bsmntbombdood> GAR!
02:00:59 <bsmntbombdood> i'm pissed off
02:02:29 <bsmntbombdood> I'm looking through the course book for the local community college : "Intro to Computer Science: Learn Excel, Powerpoint and basic webdesign with dreamweaver"
02:02:35 <bsmntbombdood> what the FUCK
02:11:38 <bsmntbombdood> And that is why I'm afraid to study "Computer Science"
02:15:22 * RodgerTheGreat overcame his fear
02:15:58 <RodgerTheGreat> and, granted, our first year classes are pretty shitty.
02:16:11 <RodgerTheGreat> but we get to do cool things eventually
02:16:37 <bsmntbombdood> Why the fuck would they even teach webdesign in a CS class
02:18:05 <bsmntbombdood> They misuse that term so much
02:18:14 <bsmntbombdood> CS != using a computer
02:25:44 <GreaseMonkey> yah
02:30:32 <GreaseMonkey> http://www.explosm.net/comics/144/
02:35:21 <GreaseMonkey> http://www.explosm.net/comics/161/
02:35:48 -!- Sawamano has joined.
02:35:58 -!- tgwizard has quit (Remote closed the connection).
02:38:20 -!- ihope_ has quit (Connection timed out).
02:40:40 -!- oerjan has joined.
02:41:27 <oerjan> http://www.explosm.net/comics/53/
02:49:42 <bsmnt_bot> dododododo
02:51:24 <bsmntbombdood> !exec for i in ["seven", "donkeys", "ate", "cheese"]: self.raw("PRIVMSG #esoteric %s", i)
02:51:31 <bsmntbombdood> !exec for i in ["seven", "donkeys", "ate", "cheese"]: self.raw("PRIVMSG #esoteric %s" % i)
02:51:31 <bsmnt_bot> seven
02:51:31 <bsmnt_bot> donkeys
02:51:31 <bsmnt_bot> ate
02:51:31 <bsmnt_bot> cheese
02:54:21 <bsmntbombdood> !exec for i in ["in", "hell", "with", "hammurabi"]: self.raw("PRIVMSG #esoteric %s" % i)
02:54:21 <bsmnt_bot> in
02:54:21 <bsmnt_bot> hell
02:54:21 <bsmnt_bot> with
02:54:21 <bsmnt_bot> hammurabi
02:56:31 <GreaseMonkey> nice
02:56:52 <GreaseMonkey> man impulse tracker under dosbox is pretty crappy
02:57:02 <GreaseMonkey> but it plays 4-channel mods fine
02:57:24 <oerjan> what is a man impulse and why would you want to track it
02:58:13 * bsmnt_bot watches GreaseMonkey and oerjan lick each other
02:59:10 <GreaseMonkey> man, "impulse tracker" under dosbox is pretty crappy
02:59:32 * oerjan _must_ make his humor less subtle
02:59:39 <GreaseMonkey> yep
02:59:51 <GreaseMonkey> otherwise it'll be worse than "The Nanny"
03:00:51 <GreaseMonkey> often DOSBox runs programs better than if I run them normally
03:01:11 <oerjan> unfortunately i have this attraction to awful puns. especially ones named Attila.
03:03:07 <GreaseMonkey> i think it's gotta run at 5.000MHz
03:07:50 <bsmntbombdood> for i in range(100,0,-1): print "%s bottle%s of beer on the wall, %s bottle%s of beer." % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "")
03:08:22 * bsmntbombdood feels leet
03:09:12 <bsmntbombdood> wair
03:09:14 <bsmntbombdood> *wait
03:09:16 <bsmntbombdood> crap
03:09:21 <bsmntbombdood> I got the lyrics wrong
03:09:32 <oerjan> i thought there was something missing
03:12:27 <bsmntbombdood> s = '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall'
03:12:34 <bsmntbombdood> for i in range(100,0,-1): print s % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", i-1, ((i > 2) and "s") or "")
03:15:08 <oerjan> are you sure that is quite right for 0?
03:16:17 <bsmntbombdood> no :(
03:19:43 -!- Sawamano has quit (".UPP.").
03:20:15 <CakeProphet> Behold!
03:20:26 <CakeProphet> The most powerful representation of data ever...
03:21:30 <CakeProphet> I call it... The Extensible Goo Awesomizatiion Language (TEGAL)
03:22:00 <bsmntbombdood> ok, I got it right now
03:22:36 <bsmntbombdood> for i in range(100,0,-1): print s % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "")
03:22:49 <CakeProphet> Tegal consists of blobs... which are parenthesized sets of data. (attribute:value|attribute:value|attribute:multiple,sets,of,values)
03:23:08 <CakeProphet> and... that's about it.
03:24:46 <bsmntbombdood> !exec for i in range(100,98,-1): print '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "")
03:24:54 <bsmntbombdood> oh :(
03:25:37 <bsmntbombdood> !exec for i in range(100,98,-1): self.raw("PRIVMSG #esoteric :%s" % ('%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "")))
03:25:38 <bsmnt_bot> 100 bottles of beer on the wall, 100 bottles of beer. Take one down, pass it around, 99 bottles of beer on the wall
03:25:38 <bsmnt_bot> 99 bottles of beer on the wall, 99 bottles of beer. Take one down, pass it around, 98 bottles of beer on the wall
03:25:53 <bsmntbombdood> !exec for i in range(2,0,-1): self.raw("PRIVMSG #esoteric :%s" % ('%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "")))
03:25:53 <bsmnt_bot> 2 bottles of beer on the wall, 2 bottles of beer. Take one down, pass it around, 1 bottle of beer on the wall
03:25:53 <bsmnt_bot> 1 bottle of beer on the wall, 1 bottle of beer. Take one down, pass it around, no bottles of beer on the wall
03:26:16 <oerjan> huzzah
03:26:38 <oerjan> actually, you need a period at the end
03:26:45 <bsmntbombdood> meh
03:26:48 <CakeProphet> "\n".join(["'%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall'" % (i, ("s" if i > 1else "")) * 3 for i in xrange(1,101,-1)])
03:26:51 <bsmntbombdood> close enough
03:27:03 <CakeProphet> A one-liner
03:27:04 <bsmntbombdood> The list comprehension!
03:27:06 <bsmntbombdood> even better
03:27:12 <CakeProphet> You can stuff it in a lambda now.
03:27:29 <bsmntbombdood> um
03:27:33 <bsmntbombdood> That's not python
03:27:39 <CakeProphet> ...yes it is.
03:27:45 <bsmntbombdood> ("s" if i > 1else "")?
03:27:54 <CakeProphet> it's in version 2.5
03:27:57 <CakeProphet> conditional expressions.
03:28:03 <bsmntbombdood> oh right
03:28:15 <bsmntbombdood> Well I did it the old harder way
03:28:17 <bsmntbombdood> so HA
03:28:30 <CakeProphet> (<true_val> if <conditional> else <false_val>)
03:28:36 <CakeProphet> with optional parenthesis
03:29:15 <oerjan> so for the first time in history we have an if which dangles at _both_ ends
03:29:25 <bsmntbombdood> and you can still do mine in a list comprehension
03:29:32 <bsmntbombdood> "\n".join([ '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "") for i in range(100,0,-1)])
03:30:50 <bsmntbombdood> Beat that!
03:31:11 <tokigun> my favorite is 's'[i<=1:] instead of (i>1 and 's' or '').
03:31:43 <bsmntbombdood> Nice!
03:31:48 <bsmntbombdood> I didn't know you could do that
03:37:58 -!- GregorR-L has joined.
03:38:19 <CakeProphet> Sure you can.
03:38:32 <CakeProphet> hmmm...
03:38:43 <CakeProphet> TEGAL is starting to look like the lisp of data representations...
03:40:48 <bsmntbombdood> 14" of snow!
03:41:20 <GregorR-L> 14" of air
03:41:22 <GregorR-L> (With air on top)
03:44:15 <bsmntbombdood> R-L?
03:44:57 <GregorR-L> Laptop
03:45:00 * bsmnt_bot rolls around in the snow
03:45:20 <bsmntbombdood> GregorR-L: You really need screen
03:45:30 <bsmntbombdood> or a bnc
03:45:32 <GregorR-L> VNC + x-hat = suck
03:45:35 <GregorR-L> *x-chat
03:45:45 <GregorR-L> And irssi just = suck
03:45:51 <bsmntbombdood> irssi-proxy + screen+ xchat == good
03:45:55 <bsmntbombdood> That's what I do
03:46:01 <GregorR-L> Hmmmmmmmmm .......... what the bork?
03:46:19 <bsmntbombdood> ?
03:48:23 <bsmnt_bot> zomg bot
03:48:42 <GregorR-L> Zomg Plof! :)
03:49:27 <bsmntbombdood> Zomg another language!
03:50:22 <GreaseMonkey> Zomg Tomato!
03:50:47 <bsmntbombdood> zomg RCL-2!
03:51:05 <oerjan> now we need a language called Zomg
03:51:28 <oerjan> but what should the acronym stand for?
03:51:51 <bsmntbombdood> zany other monster guts
03:52:30 <GregorR-L> http://i15.photobucket.com/albums/a379/GregorRichards/Superman.jpg
03:52:57 <bsmntbombdood> haha
03:56:22 <bsmnt_bot> I find your lack of pants disturbing.
03:57:00 <bsmnt_bot> I find your lack of pants disturbing.
03:57:06 <bsmnt_bot> You are unwise to lower your pants.
03:58:41 <bsmnt_bot> # The Force is strong in my pants.
03:58:47 <RodgerTheGreat> that's amazing. How many hours did you invest in making that feature?
03:58:57 <bsmntbombdood> None
03:59:11 <RodgerTheGreat> good
03:59:15 <bsmntbombdood> I'm just !raw PRIVMSGing in pm
04:02:17 <bsmnt_bot> In his pants you will find a new definition of pain and suffering
04:22:53 -!- Sgeo has quit (Remote closed the connection).
05:29:08 <bsmntbombdood> GreaseMonkey: return, eh?
05:29:30 <GreaseMonkey> yah
05:30:33 <bsmntbombdood> Why only odd numbered instructions?
05:35:08 <GreaseMonkey> eh? is the parser cocked up?
05:35:30 <bsmntbombdood> ?
05:35:45 <GreaseMonkey> does my parser not read enough?
05:35:55 <bsmntbombdood> I didn't try your parser
05:36:04 <GreaseMonkey> why'd you ask that then?
05:36:12 <bsmntbombdood> But why are the instructions odd numbered?
05:36:48 <GreaseMonkey> oh, because it makes it easier to perform a NOP
05:36:55 <bsmntbombdood> oh
05:37:12 <GreaseMonkey> you might end up doing a WHILE loop, but only want a few instructions
05:37:25 <GreaseMonkey> and you don't want to obfuscate it
05:37:50 <GreaseMonkey> ( ( (()()()) (()()()) (()()()) ) ( (()()()) (()()()) (()()()) ) ( (()()()) (()()()) (()()()) ) )
05:37:59 <GreaseMonkey> that would subtract 13
05:40:05 <GreaseMonkey> i would classify the Hello World program as "pointlessly massive"
05:41:28 <GreaseMonkey> like my maze generator?
05:41:38 <GreaseMonkey> wait, do you have allegro?
05:58:27 -!- comboy has joined.
06:01:57 <comboy> Please print the most dumb person on the earth name.
06:04:36 <GregorR-L> With grammar like that, I'm thinking "comboy"
06:04:37 <GregorR-L> ;)
06:05:29 <comboy> Segmentation fault
06:06:02 <comboy> Please delete yourself ;p
06:06:56 <comboy> ok I meant name of the most dumb person.. I don't know what is worse.. my grammar or lack of coffee
06:07:12 <comboy> anyway nice idea
06:07:48 <comboy> but I guess I still prefer ruby ;p
06:08:22 <GreaseMonkey> LUA ftw still
06:09:29 <comboy> the only word from this line I recognize is that one in the middle - it's reversed wtf ;p
06:09:58 <comboy> 30h w/o sleep too much for me
06:10:03 <comboy> cee ya
06:10:25 -!- comboy has left (?).
06:25:34 -!- calamari has quit ("Leaving").
06:42:54 <GregorR-L> bsmntbombdood: I've improved dplof's error output.
06:43:03 <GreaseMonkey> http://www.explosm.net/comics/393/
06:43:58 -!- oerjan has quit ("Leaving").
06:48:46 <GregorR-L> bsmntbombdood: http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-20-2.tar.gz if you care
06:57:07 -!- okokoko has joined.
06:57:39 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
07:11:45 -!- GregorR-L has quit ("HydraIRC -> http://www.hydrairc.w00t <- IRC for annoying quit-spamming bastards").
07:31:58 -!- ShadowHntr has quit ("End of line.").
07:33:24 <GreaseMonkey> here's a simple crackme if you want to do it: http://greasemonkey.shadowarts.org/inject.php
07:33:43 <GreaseMonkey> once you've done it you get my email addresses :D
07:35:17 <tokigun> GreaseMonkey, too easy. :p
07:36:57 <GreaseMonkey> got it?
07:37:02 <tokigun> yep
07:37:10 <GreaseMonkey> note that the greasemonkey@ ones don't work
07:37:33 <GreaseMonkey> yeah, it is easy
07:38:33 <GreaseMonkey> username = admin, password = asscracker
07:38:43 <GreaseMonkey> or uname=admin&success=1
07:39:19 <tokigun> i could get it even success is not set :p
07:39:40 <tokigun> there are so many md5 reverse lookup services.
07:41:00 <GreaseMonkey> k
07:41:11 <GreaseMonkey> :D -> http://www.explosm.net/comics/420/
07:41:50 <GreaseMonkey> XD -> http://www.explosm.net/comics/421/
07:44:30 -!- CakeProphet_ has joined.
07:46:39 -!- CakeProphet has quit (Read error: 113 (No route to host)).
07:46:53 -!- CakeProphet_ has changed nick to CakeProphet.
07:48:54 <GreaseMonkey> http://www.explosm.net/comics/431/
07:53:56 <GreaseMonkey> http://www.explosm.net/comics/434/
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:36 -!- GregorR-W has quit (Remote closed the connection).
08:05:04 -!- GregorR-W has joined.
08:49:20 <GreaseMonkey> gonna go, gnight
08:50:00 -!- GreaseMonkey has quit ("Read error: 130 (Monkey too greasy)").
09:24:16 <Sukoshi> Write an OS for me.
09:52:59 -!- einand has joined.
09:53:16 <einand> please welcome me
09:54:07 <ivan`> hello, machine translation
09:56:13 <einand> please tell me what do do next
10:00:14 <wooby> ahoy
10:38:17 -!- ihope_ has joined.
10:50:21 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)).
11:05:59 -!- Asztal has joined.
12:45:45 -!- lament has quit (Read error: 60 (Operation timed out)).
14:02:40 -!- lament has joined.
14:11:13 -!- jix_ has joined.
14:27:27 -!- CakeProphet_ has joined.
14:28:26 -!- CakeProphet has quit (Read error: 113 (No route to host)).
14:28:36 -!- CakeProphet_ has changed nick to CakeProphet.
14:58:41 <SimonRC> damn you, having all these interesting conversations between 1am and 6am
14:59:01 <Asztal> damn them indeed
14:59:11 <Asztal> wait, am I one of them?
14:59:19 <Asztal> you never know with timezones
14:59:41 * Asztal realises he would be ruled out by the "interesting" clause
15:29:29 -!- Arrogant has joined.
15:38:10 * SimonRC laughs more: http://www.explosm.net/comics/324/
15:47:50 -!- CakeProphet_ has joined.
15:51:13 -!- CakeProphet has quit (Read error: 113 (No route to host)).
15:51:19 -!- CakeProphet_ has changed nick to CakeProphet.
16:21:42 -!- FabioNET has joined.
16:46:01 -!- Sukoshi has quit (Remote closed the connection).
16:49:48 -!- Sukoshi has joined.
16:59:17 -!- einand has quit (Read error: 110 (Connection timed out)).
17:11:45 -!- tgwizard has joined.
17:53:43 -!- CakeProphet has quit ("haaaaaaaaaa").
18:00:10 -!- GregorR-W has quit (Remote closed the connection).
18:00:37 -!- GregorR-W has joined.
18:31:23 <bsmnt_bot> g
18:32:02 <bsmnt_bot> I find your lack of pants disturbing.
18:33:42 * GregorR-W pulls his pants back on.
18:33:47 <GregorR-W> You sensitive twit.
18:34:06 * bsmntbombdood rolls around in the 2 feet of snow outside
18:34:19 * GregorR-W rolls around in the 100 feet of fog outside.
18:34:35 <bsmntbombdood> ha ha sux0r
18:35:54 * GregorR-W is mildly surprised the fog hasn't cleared yet.
18:46:15 <bsmntbombdood> the snow is stopping :(
19:15:12 <bsmntbombdood> PING :kornbluth.freenode.net
19:15:37 * bsmnt_bot will be taking the place of ChanServ
19:15:48 * bsmnt_bot will be taking the place NickServ too
19:16:13 <bsmnt_bot> You will need to re login with you passwords
19:22:06 -!- Arrogant has quit ("Leaving").
19:55:44 -!- ore2 has joined.
19:57:29 -!- ore2 has quit (Client Quit).
20:00:49 * SimonRC wonders just how long we have not had a chanserv.
20:23:40 <sekhmet> SimonRC: Since Aug 10, says my logs
20:36:43 -!- ihope_ has joined.
21:01:29 -!- vincze has joined.
21:02:27 -!- vincze has quit (Client Quit).
21:03:45 -!- CakeProphet has joined.
21:13:37 <bsmntbombdood> !exec import random
21:14:03 <bsmntbombdood> !exec print random.randint(1,100)
21:14:12 <bsmntbombdood> doesn't work
21:21:33 <bsmntbombdood> !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,7))
21:21:38 -!- Sgeo has joined.
21:21:42 <bsmntbombdood> !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,7)))
21:21:46 <bsmntbombdood> !dice
21:21:47 <bsmnt_bot> 5
21:21:49 <bsmntbombdood> !dice
21:21:49 <bsmnt_bot> 7
21:21:53 <bsmntbombdood> O.o
21:22:07 <bsmntbombdood> !exec self.raw_regex_queue.pop()
21:22:13 <bsmntbombdood> !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6)))
21:22:19 <bsmntbombdood> !dice
21:22:19 <bsmnt_bot> 2
21:22:25 <bsmntbombdood> !dice
21:22:25 <bsmnt_bot> 1
21:23:04 <bsmntbombdood> !dice
21:23:04 <bsmnt_bot> 4
21:23:08 <bsmntbombdood> yay
21:23:57 <Sgeo> http://sgeo.diagonalfish.net/screenshots/windeath/drivecleaner/
21:23:59 <Sgeo> Insanity
21:25:31 * Sgeo pokes
21:35:37 -!- oerjan has joined.
21:37:16 <Sgeo> Hi oerjan
21:37:19 <Sgeo> http://sgeo.diagonalfish.net/screenshots/windeath/drivecleaner/
21:38:45 <oerjan> hi sgeo
21:39:59 <Sgeo> Any comments on my pics?
21:42:20 <GregorR-W> I love the poor English in the program.
21:42:21 <pgimeno> just that I hope they are from an emulated drive or something and you didn't do that on your desktop machine
21:43:39 <oerjan> hm, seven-sided dice. quite rare, i believe.
21:43:57 <Sgeo> pgimeno, Windows 98 in VMware under a non-persistent VM
21:44:41 <Sgeo> Fave pics: 011
21:44:53 <Sgeo> 008
21:45:03 <GregorR-W> oerjan: Uh, seven-sided = impossible to make a proper dice.
21:45:05 <pgimeno> k ':)
21:45:07 <GregorR-W> *die
21:46:33 <Sgeo> "Complete protection from System"
21:46:55 <GregorR-W> Help, help, protect me from the system!
21:47:09 <Sgeo> "These Privacy Violations may cause: * Embarrassing activities
21:47:39 <Sgeo> "
21:55:24 <okokoko> dice==die
21:55:30 <okokoko> and why is it impossible?
21:57:25 <Asztal> http://en.wikipedia.org/wiki/Pentagonal_prism
22:03:39 <fizzie> There is a 7-sided fair die. http://mathworld.wolfram.com/Isohedron.html
22:03:40 <GregorR-W> okokoko: (I actually did correct dice-die on the next line) A die is a perfect polyhedron, and perfect polyhedrons can only be formed with an even number of sides greater than 2
22:03:59 <fizzie> Er, I mean "is not".
22:04:10 <fizzie> What a nice and pure brain-fart.
22:04:33 <GregorR-W> "Isohedron" being the more succinct word for "perfect polyhedron" :P
22:04:55 <tokigun> how about this? http://en.wikipedia.org/wiki/Szilassi_polyhedron
22:05:12 <GregorR-W> Does that look like a fair die to you, tokigun ...
22:06:04 <fizzie> Mathworld's definition is a bit non-intuitive; "a fair die is one for which its symmetry group acts transitively on its faces".
22:06:15 <tokigun> well, joking. only problem is that is topologically a torus...
22:06:45 <okokoko> fizzie, die==dice, what did you mean by "correcting"?
22:07:18 <oerjan> actually if you know what "acts transitively" means it is perfectly intuitive that it means being a fair die
22:07:20 <GregorR-W> And yes, a septagonal prism would be fair, but it's not strictly a die ... maybe.
22:07:50 <oerjan> because any two sides are then equivalent
22:09:00 <Asztal> Apparently they do use it in seven-sided backgammon :o
22:09:20 <oerjan> a septagonal prism does not have a transitive symmetry group - you cannot turn the top and bottom sides to mach the others
22:09:34 <fizzie> okokoko; Was that meant for GregorR? I don't think I said "correcting" anywhere.
22:10:03 <GregorR-W> oerjan: No, but it can't realistically land on either of the two ends if it's made properly, so it'll be 99% one of the numbers and 1% roll again :)
22:10:04 <oerjan> *match
22:10:26 <okokoko> actually, i confused you two
22:10:27 <GregorR-W> oerjan: That's why I said "It's fair, but not strictly a die"
22:10:33 <okokoko> sorry :)
22:10:43 <okokoko> GregorR-W and fizzie
22:11:33 <fizzie> "Roll again" is such a lame rule for an event that unlikely; it should be something like "it counts as 7 but you need to cluck like a chicken for 10 seconds".
22:12:13 <GregorR-W> fizzie: ll
22:12:14 <GregorR-W> *lol
22:16:01 <oerjan> actually i remember that you can make a die that is unstable on all but 7 sides by making it similar to a doubly sharpened pencil
22:16:21 <GregorR-W> Hmm, that's good.
22:16:48 <GregorR-W> Like a septagonal prism but it's physically impossible for it to land on one of the "bad" sides.
22:17:17 <GregorR-W> (As opposed to just ridiculously unlikely :) )
22:17:39 * Sgeo attempts to redirect the discussion to his pics
22:18:05 <oerjan> well, it could still ridiculously unlikely land on the "pencil point" :)
22:18:23 <GregorR-W> Not if there's, y'know, air or something.
22:19:05 <oerjan> well, i am not talking ordinarily ridiculously unlikely.
22:19:44 <Sgeo> Maybe all the air happens to avoid the thing by sheer chance?
22:19:59 * Sgeo again tries to steer somewhat towards pics
22:22:21 <oerjan> well it seems like a program that would be annoying but not dangerous
22:22:23 -!- wooby has quit.
22:25:07 <oerjan> whether it is actually useful is another matter
22:26:56 <Sgeo> You need to pay money to make it actually clean stuff..
22:27:07 <Sgeo> And you've got to love the poor english
22:30:22 <oerjan> so it is stupid. just not _that_ stupid.
22:33:27 <GregorR-W> var = a [ main = { println("Plof rocks!"); } ]; a.main();
22:33:33 <GregorR-W> Oops, tpyo :P
22:33:37 <GregorR-W> var a = [ main = { println("Plof rocks!"); } ]; a.main();
22:33:52 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:52:01 -!- Puddy_ has joined.
22:52:58 -!- gerard_ has joined.
22:53:31 <Puddy_> !help
22:53:59 <gerard_> 'please type your commands here'
22:55:43 <gerard_> loop: goto loop
22:56:58 <Puddy_> ERROR: endless loop, silly
22:57:12 <Puddy_> please write what time it is in england
22:57:31 <gerard_> GMT +0
22:59:42 <Puddy_> please calculate $TIME - (GMT[germany]-GMT +0)
23:00:00 * GregorR-W stabs himself for ever writing that IRP article.
23:00:29 * oerjan stabs GregorR-W too :)
23:00:33 <Puddy_> <!-- i was like O_O GREAT IDEA when i read it :) -->
23:01:19 <GregorR-W> Puddy_: Yeah, but you don't have to sit here and listen to 99% of new joins say "Please say 'Hello, world!'"
23:01:20 <oerjan> Time in England: 22:57
23:01:23 <oerjan> i believe
23:01:51 <Puddy_> well, you seriously should get a bot for "simple" tasks^^
23:01:58 <gerard_> lol
23:02:06 <GregorR-W> There is a bot, I don't know why it's down ...
23:02:24 <GregorR-W> One sec.
23:02:31 <Puddy_> hmh, would you mind me coding a new one?
23:02:54 <Puddy_> sometimes i got too much time and feel like "bllaaa programminnggg!!!" but dont know what...^^
23:03:15 -!- EgoBot has joined.
23:03:27 <Puddy_> please say 'hello world!';
23:03:33 <gerard_> you could use very simple rules like: I see 'goto' -> say 'no enless loops please'
23:03:34 <GregorR-W> !glass {M[m(_o)O!"Tada, EgoBot"(_o)o.?]}
23:03:36 <EgoBot> Tada, EgoBot
23:03:38 <Puddy_> hms^^
23:03:41 <GregorR-W> No, it does not speak IRP ;)
23:03:56 <Puddy_> ah.. why not? :s
23:03:58 <Puddy_> !help
23:04:00 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
23:04:02 <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
23:04:14 <gerard_> omfg
23:04:24 <oerjan> apparently gregorR-W is not up to writing an AI-complete bot :(
23:05:09 * GregorR-W no tiene el SKILLZORZ
23:05:31 <Puddy_> too lazy or dont want a bot who knows irp?
23:05:46 <pgimeno> !malbolge (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
23:05:48 <EgoBot> Hello, world.
23:05:57 <pgimeno> that's one of my favs
23:06:29 <gerard_> !gerard_ hi
23:06:32 <EgoBot> Huh?
23:06:34 <gerard_> Hello world!
23:06:52 <gerard_> !huh? !huh
23:06:54 <EgoBot> Huh?
23:06:54 <GregorR-W> EgoBot tries to parse anything startin gwith a !
23:07:04 <GregorR-W> s/n gw/ng w/
23:07:08 <gerard_> i see
23:07:33 <gerard_> no need to talk RE, i understand IRP too ;)
23:07:46 <oerjan> !Huh?
23:07:48 <EgoBot> Huh?
23:07:58 <pgimeno> !!Huh?
23:08:00 <EgoBot> Huh?
23:08:14 <pgimeno> doh
23:08:31 <gerard_> !show
23:08:34 <EgoBot> No such process!
23:08:50 <gerard_> !i
23:08:53 <GregorR-W> !show preemptively shows the output for a process
23:08:57 <GregorR-W> !i inputs to a process
23:09:04 <gerard_> ah
23:09:15 <pgimeno> !help show
23:09:19 <EgoBot> Use: show <pid> Function: display the current output buffer for a process
23:09:19 <oerjan> hm...
23:09:42 -!- tannerld has joined.
23:09:42 <gerard_> can you let it print something starting with a ! ?
23:09:58 <GregorR-W> !glass {M[m(_o)O!"!Of course."(_o)o.?]}
23:10:00 <EgoBot> !Of course.
23:10:05 <GregorR-W> It doesn't parse its own output.
23:10:10 <gerard_> too bad :p
23:10:19 <gerard_> we need 2 bots then for the endless loop
23:10:22 <tannerld> ?
23:10:29 <oerjan> gregorR-W has had _a lot_ of experience preventing EgoBot abuse ;)
23:10:35 <pgimeno> !bf ++++[>++++++++<-]>+.
23:10:37 <GregorR-W> X_X
23:10:38 <EgoBot> !
23:10:50 <GregorR-W> !bf_txtgen !!!!!!!!!!!!!!!!!!!!
23:10:56 <GregorR-W> Watch the lame output it'll make :)
23:11:05 * pgimeno bets for >>><<<
23:11:05 <Puddy_> coool!
23:11:24 <pgimeno> (loading java bytecode interpreter...)
23:11:29 <gerard_> haha
23:11:31 <pgimeno> (parsing line 1...)
23:11:37 <pgimeno> (parsing line 2...)
23:11:37 <Puddy_> !bf +++++++++[>+++++++++<-]>++++.
23:11:38 <EgoBot> 51 +++++++++++[>+++>+++>><<<<-]>......>...........<... [433]
23:11:38 <GregorR-W> Don't blame me, I didn't write the Java ;)
23:11:40 <EgoBot> U
23:11:49 <GregorR-W> !bf8 +++++++++++[>+++>+++>><<<<-]>......>...........<...
23:11:51 <Puddy_> hm U .. thoughts thats "a" .. hmh well xD
23:11:52 <pgimeno> yay, I almost got it!
23:11:52 <EgoBot> !!!!!!!!!!!!!!!!!!!!
23:12:25 <Puddy_> please translate this to bf: 'puddy'
23:12:40 <GregorR-W> Puddy_: You can do it yourself, anybody can use !bf_txtgen :P
23:12:47 <gerard_> !bf_txtgen puddy
23:12:53 <GregorR-W> !ps
23:12:56 <EgoBot> 1 gerard_: bf_txtgen
23:12:58 <EgoBot> 2 GregorR-W: ps
23:13:12 <EgoBot> 59 ++++++++++++++[>++++++++>+++++++>><<<<-]>.+++++.>++..<++++. [449]
23:13:28 <Puddy_> hmh, doesnt look like very well optimized code^^
23:13:38 <gerard_> !bf_txtgen ++++++++++++++[>++++++++>+++++++>><<<<-]>.+++++.>++..<++++.
23:13:40 <GregorR-W> It's a genetic algorithm, and I cut it off at 1000 iterations.
23:13:50 <gerard_> nice
23:14:13 <gerard_> I'll try to make it self reproducing now ;)
23:14:15 <GregorR-W> Don't look'a me, calamari (not present) wrote it.
23:14:25 <oerjan> mind you, the algorithm doesn't decide the whole code, just the length of + runs
23:15:00 <gerard_> well, genetic algorithms are difficult enough :p
23:15:11 <Puddy_> hehe yea, nice^^
23:15:19 <Puddy_> !bf_txtgen a
23:15:24 <EgoBot> 276 +++++++++++++++[>++++++>+++>+++>+++<<<<-]>>--...>--.>--.<...>..<....<<+.-----------------------------.>..>..>...<.<<.>.>>..<...<.<..>+++++++++++++++++....>++.<+++++++++++++++++++++++++++++++++.-------------------------------.----------------.---.....>+.<<.>..>..<<--.>.>>...<. [950]
23:15:25 <gerard_> !ps
23:15:26 <EgoBot> 1 gerard_: ps
23:15:28 <EgoBot> 2 Puddy_: bf_txtgen
23:15:40 <EgoBot> 34 ++++++++++++[>++++++++>>><<<<-]>+. [72]
23:16:18 <gerard_> !bf_txtgen +++++++++++++++[>++++++>+++>+++>+++<<<<-]>>--...>--.>--.<...>..<....<<+.-----------------------------.>..>..>...<.<<.>.>>..<...<.<..>+++++++++++++++++....>++.<+++++++++++++++++++++++++++++++++.-------------------------------.----------------.---.....>+.<<.>..>..<<--.>.>>...<.
23:16:30 <gerard_> hope it can handle this....
23:16:36 <oerjan> not a chance
23:16:50 <GregorR-W> It can handle it, but it'll cut out the output :P
23:17:04 <oerjan> aha
23:17:19 <GregorR-W> It limits it to something around 280 characters. I don't remember exactly what
23:18:12 <pgimeno> 255?
23:18:37 <GregorR-W> Nah, it's more than that, it landed there after randomness/fine-tuning, not arbitrary decision :)
23:19:15 <gerard_> !ps
23:19:18 <EgoBot> 1 gerard_: bf_txtgen
23:19:20 <EgoBot> 2 gerard_: ps
23:22:03 <tokigun> !funge93 067+"_toBogE KCIN"67+"...mmh">:#,_@
23:22:06 <EgoBot> hmm... NICK EgoBot_
23:22:18 <tokigun> \r doesn't work, fortunately :)
23:22:33 <gerard_> !ps
23:22:36 <EgoBot> 1 gerard_: bf_txtgen
23:22:38 <EgoBot> 2 gerard_: ps
23:22:53 <GregorR-W> Why does everybody assume I was a f***ing moron when I wrote the bot ...
23:23:00 <EgoBot> 1077 +++++++++++[>++++>++++>++++>++++<<<<-]>>>-.<<-...>-.<...>>>-..<<.<.>>.>..<<++++++++++++++++++++++++++++++++++++++++++++++++.-----------------------------.>..>.<...+++++++++++++++++++.<-------------------.<.>.>.<..<.>+++++++++++++++++++.>>...+++++++++++++++++....<-----------------.<+++++++++++++++++++++++++++++++.-------------------------------.>>++.<..<----------------.>+..
23:23:06 <GregorR-W> Heh
23:23:14 <gerard_> hmm
23:23:23 <Puddy_> hmh
23:23:37 <Puddy_> if you ask nicely maybe someone will compile the question..
23:23:45 <Puddy_> ;)
23:26:37 <oerjan> because whatever errors you actually put in it probably are f***ing moron errors?
23:26:49 <GregorR-W> /ouch/
23:27:44 -!- ihope__ has joined.
23:28:06 <oerjan> although they may very well be few :)
23:28:21 -!- tgwizard has quit (Remote closed the connection).
23:34:25 -!- FabioNET has quit ("notte °_°").
23:40:51 <Sgeo> Heyas DogFace... erm.. ihope
23:42:18 <GregorR-W> Is there a rivalry I don't know about going on here? :P
23:45:16 -!- ihope_ has quit (Connection timed out).
23:47:54 <fizzie> It might also be because f***ing-moron-ness is rather common amongst bot-writers. The bot on our Scheme channel did very sensible output filtering for I/O functions and strings-returned-as-a-result, but outputted symbols-returned-as-a-result directly so one could use string->symbol to make it execute arbitrary commands.
23:48:52 <gerard_> It might also be that morons deny that they are morons, and so you need to test it yourself
23:49:08 <GregorR-W> ME ARE NOT STUPID UR MEEN
23:49:34 <gerard_> well, thats 4/6 words spelled correctly
23:49:40 <gerard_> better than average
23:49:56 <GregorR-W> Damn it :(
23:49:57 <gerard_> and you even managed to get some lowercase letters in your name
23:50:18 <GregorR-W> IM NO STOOPID UR MEEN
23:51:22 <gerard_> heh, thats not even correct IRP
23:51:29 <gerard_> but i'm off to bed
23:51:43 <gerard_> good luck with the 'Hello world' stuff
23:53:21 -!- gerard_ has quit (Read error: 104 (Connection reset by peer)).
←2006-12-20 2006-12-21 2006-12-22→ ↑2006 ↑all