00:01:39 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 00:05:54 -!- sp3tt has joined. 00:43:24 -!- RedDak has joined. 00:45:02 This channel has people, of course. 00:45:12 And it covers more esoteric languages than just brainfuck. 00:45:14 Welcome. :) 00:45:44 thx :D 00:46:18 I maked a good brainfuck binary compiler 00:46:24 ((lambda 3 1 ((closure-ref (get-num-arg 1) 0) (get-num-arg 1) (closure (lambda 2 3 ((lambda 1 1 ((closure-ref (get-num-arg 1) 0) (get-num-arg 1) (get-num-arg 3))) (get-num-arg 2)))))) (closure (lambda 4 2 (%halt (get-num-arg 2))))) 00:46:28 Cool. 00:46:29 is that esoteric? 00:46:37 bsmntbombdood: looks like it. 00:46:46 No, it's obfuscated Lisp. 00:47:00 yeah 00:47:02 Is that using 3 as a parameter? 00:47:17 Similar in idea, though. ;) 00:47:17 the syntax of lambda is not the usual syntax 00:47:23 arguments with names have been removed 00:47:46 Looks very obfuscated. 00:48:05 it's an internal representation of scheme for a compiler 00:48:29 Much worse than GHC's simplified expressions. 00:48:32 I think. 00:48:58 it's been converted to CPS, had closures removed, and had named arguments removed 00:49:21 CPS, eh? 00:49:44 yep 00:49:52 * ihope plays with CPS 00:50:04 It all begins with "import Control.Monad.Cont" 00:50:36 CPS makes call/cc and tail call optimization very easy 00:52:44 -!- RedDak has quit (Remote closed the connection). 00:54:03 apparently we were too weird for him 00:54:21 No, he said in ##brainfuck that he'd be back later. 00:55:01 damn^H^H^H^Hgreat 00:55:36 Maybe ^H^H^H is actually meaningless. 00:55:44 :-P 00:56:16 well this old fart doesn't actually know if anyone still uses it 00:56:34 4 people in there. New record. 00:56:42 http://rafb.net/p/tZdgVn90.html This is what he came in to show. 00:56:46 His first Brainfuck program. 00:57:33 What's it do? 00:57:50 Just a bit of text output. 00:57:57 What's it output? 00:58:16 "BELL F**K U! 00:58:18 " 00:58:18 And an infinite loop of 0x07. 00:58:21 !bf http://rafb.net/p/tZdgVn90.txt 00:58:23 (I believe that is the bell signal) 00:58:33 argh, the Brainfuck Debugger has disappeared from the web 00:58:37 I think it is. 00:58:38 BELL F**K U! 00:58:52 Hum. 00:59:46 no infinite output from EgoBot 00:59:56 0x07 isn't a printable character. 01:00:09 sdrawkcab si txet ym kool 01:00:12 need some CRs to encourage flushing? 01:00:36 but still, why did EgoBot print the first part, and not flood? 01:00:38 !oot eniM 01:00:44 Huh? 01:00:56 * SimonRC wonders why everthing goes out of tune when he yawns 01:01:35 when you yawn, you open up a channel to your inner ear, i presume that might affect it 01:01:43 Now somebody make the !oot command reverse its input and add "too!" 01:02:09 Hmm. Does sound go through that channel? 01:02:31 presumably a little 01:03:28 yawning is one way to deal with pressure in your ears on a plane say 01:04:12 ~exec register_raw(r"\S+ PRIVMSG #esoteric :!oot (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :%s" % (r.group(1)[::-1] + " too!"))) 01:04:13 NameError: name 'register_raw' is not defined 01:04:18 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!oot (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :%s" % (r.group(1)[::-1] + " too!"))) 01:05:55 oerjan: but when I open that channel without yawning it doesn;t happen 01:06:10 !oot foo 01:06:11 oof too! 01:06:17 Huh? 01:06:23 and anyway yawning shouldn't affect the resonant frequency of the detecting molecules 01:06:23 SimonRC: you can do that? 01:06:29 yes, AFAICT 01:06:57 it makes a click noise in my ear when I do so and my breathing becomes louder 01:07:13 i get click noises sometimes 01:08:30 -!- c|p has joined. 01:09:18 Damned AV software keeps using 100% CPU for a few seconds repeatedly 01:11:48 SimonRC: sound is a wave, and it's speed probably depends on air pressure, so it might change frequency as it goes from one air density to another 01:11:52 *its 01:12:23 that's my theory anyway 01:12:42 no, the frequency stays the same as a wave goes from one medium to another, unless something is moving at a considerable fraction of the wave speed 01:14:29 !daemon oot bf +[] 01:14:29 well then maybe the receptors are sensitive to change in wavelength. i read that the frequency of the sound is actually measured by how far it goes into the "snail" 01:14:46 !oot sdrawkcab si sihT 01:14:46 This is backwards too! 01:16:33 now thinking about this, it would not explain why yawning makes a difference if you don't have a pressure difference for it to remove to start with... 01:16:35 oerjan: I know the different frequencies go different distances, but I don;t think that is really how they are distinguished 01:17:13 well that is what i read 01:18:50 !daemon say +[,.[-]+] 01:18:53 !say prime 01:19:00 Huh? 01:19:08 !ps d 01:19:11 1 bsmntbombdood: bf 01:19:13 Oh. 01:19:16 2 ihope: daemon oot bf 01:19:16 3 ihope: ps 01:19:25 !daemon say bf +[,.[-]+] 01:19:31 !say prime 01:19:35 prime 01:20:18 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EgoBot :!say Fake EgoBot command: %s" % (r.group(1)[::-1] + " too!"))) 01:20:25 !daemon fake bf +[] 01:20:38 !fake Testing the command. 01:20:57 bsmnt_bot tells me on his stdout ":orwell.freenode.net 505 bsmnt_bot :Private messages from unregistered users are currently blocked due to spam problems, but you can always message a staffer. Please register! ( http://freenode.net/faq.shtml#privmsg ) 01:21:01 " 01:21:06 * ihope hits EgoBot 01:21:18 And I did that wrong anyway. 01:22:08 * ihope tries to remember the command 01:22:15 it's not EgoBot's fault, e is registered 01:22:32 bsmnt_bot isn't identified 01:22:34 It's EgoBot's fault for not allowing private messages from unregistered users. 01:23:01 Unless EgoBot's not allowing that is more excusable than bsmnt_bot's not being identified. 01:23:23 And I think bsmnt_bot's not being identified is pretty darn excusable. 01:23:36 maybe it's freenode's fault 01:23:39 !bf ++++++++++. 01:23:55 freenode's fault for letting EgoBot do that? 01:23:56 argh 01:24:16 So, um, how do you remove that from the register queue thingy? 01:24:53 -!- sebbu2 has quit ("@+"). 01:25:03 ~exec self.raw_regex_queue.pop() 01:25:08 in any case, EgoBot always responds with private messages to private messages 01:25:26 Oh yeah? 01:25:42 hehe 01:25:43 This doesn't look like a private message to me. :-P 01:25:58 hm... 01:26:12 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :!say Fake EgoBot command: %s" % (r.group(1)[::-1]))) 01:26:18 !fake OMG 01:26:19 !say Fake EgoBot command: GMO 01:26:24 Fake EgoBot command: GMO 01:26:24 Hmm. 01:26:27 GMO. 01:26:32 ~exec self.raw_regex_queue.pop() 01:26:47 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :!say Fake EgoBot command: %s" % r.group(1))) 01:26:52 !fake OMG 01:26:52 !say Fake EgoBot command: OMG 01:26:56 Yup! 01:26:58 Fake EgoBot command: OMG 01:27:12 Now we just need to find all the other channels EgoBot is in. 01:27:31 i don't get it 01:27:33 So this is how it works. 01:27:36 Or one of them. 01:27:44 -!- oerjan has left (?). 01:27:47 Or I could toss together a relay bot. 01:28:09 -!- oerjan has joined. 01:30:06 i suspect then that output goes to wherever the original bf command went 01:30:57 Something like that. 01:31:01 Just a minute here... 01:37:54 -!- ihope has changed nick to RelayBot. 01:38:06 -!- RelayBot has changed nick to EagleBot. 01:38:40 -!- EagleBot has changed nick to ihope. 01:41:11 Okay, it's coming... 01:42:02 Foogle! 01:42:16 how - impressive 01:42:20 OMG 01:42:35 We are the wad of dough. 01:42:39 I think it works. 01:42:47 ~exec self.raw_regex_queue.pop() 01:42:50 what works? 01:42:56 EagleBot. 01:43:08 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic!say Fake EgoBot command: %s" % r.group(1))) 01:43:17 It'll just take a little while to test. 01:43:32 !fake Is so easy! 01:44:09 If it isn't done by now, it's not going to be done. 01:44:31 I think bsmnt_bot's encountering exactly the same problem this time. 01:44:45 que problemo? 01:45:12 bsmntbombdood: EagleBot wasn't accepting private messages from unregistered users either. 01:45:14 -!- ihope has changed nick to EagleBot. 01:45:26 of course not, you need to request it 01:45:29 -!- EagleBot has changed nick to ihope. 01:45:31 Fixed. 01:45:41 And cluttered up my screen in the process. 01:46:32 !fake じゃぱねせ 01:46:35 Fake EgoBot command: じゃぱねせ 01:46:38 Yay! 01:47:02 I send it, EgoBot gets it but ignores it, bsmnt_bot picks it up and uses EagleBot to send it to EgoBot privately. 01:47:16 !fake *Cheating*. 01:47:22 Fake EgoBot command: *Cheating*. 01:47:32 How, exactly, do you get it to *not* say "unknown command"? 01:47:45 !quibble 01:47:49 Wow, it's a Rube Goldberg machine made out of bots :) 01:47:56 Huh? 01:48:09 oerjan, hahah 01:48:18 pikhq: I daemon'd fake to do nothing at all. 01:48:39 ihope: Ah. 01:49:11 ihope: So, now, you can add features to EgoBot. 01:49:33 Of course, in order to make EgoBot pick up everything, it should be an EgoBot command that sends it to bsmnt_bot for processing instead of something that goes right to bsmnt_bot. 01:49:39 At least, you've devised a technique for it. 01:49:59 Except EgoBot pretty much can't talk to bsmnt_bot, so it needs to go through EagleBot. 01:50:05 !undaemon fake 01:50:07 !undaemon say 01:50:09 Process 4 killed. 01:50:11 Process 3 killed. 01:50:23 ~exec self.raw("QUIT") 01:50:24 -!- bsmnt_bot has quit. 01:50:26 What you should probably do is make a single daemon that does this. 01:50:28 -!- bsmnt_bot has joined. 01:50:39 I'm just guessing that that cleared the queue. 01:50:42 actually you could make bsmnt_bot accept private messages too 01:50:50 or? 01:51:10 Yes, but in order to get EgoBot to send private messages to bsmnt_bot, bsmnt_bot has to start the daemon. 01:51:37 well go ahead and register bsmnt_bot then >:) 01:51:45 Why does it need to be bsmnt_bot that gets private messages? 01:51:57 It doesn't. I can use EagleBot to relay. 01:52:57 This version joins the channel. 01:53:03 ...Oops. 01:53:08 Hmm. 01:53:18 How's about the EgoBotExtensionBot? 01:53:23 *This* version joins the channel. 01:53:28 Wait a moment. 01:53:48 We add new languages to that, since Gregor never will add it to EgoBot. :p 01:53:52 ...what? 01:54:00 Hmm. 01:54:06 . . . I'm just suggesting a pointless bot, that's all. 01:54:14 I mean "what the..." 01:54:33 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 01:55:04 well someone added underload to EgoBot as a daemon. 01:55:04 Oh. 01:55:30 -!- EagleBot has joined. 01:55:35 There. 01:55:48 !daemon say bf +[,.[-]+] 01:55:52 !say prime 01:55:53 although if you do that you cannot add daemons written in the new languages, i think 01:55:54 prime 01:56:38 This guy doesn't actually parse IRC; it just looks for the string ":#magic " and sends the stuff after it to EgoBot. 01:57:08 So if I say ":#magic !say foo", it'll say "foo". Naturally, I did say that, and more after it, so EgoBot'll pretty much say everything I'm saying. 01:57:11 foo", it'll say "foo". Naturally, I did say that, and more after it, so EgoBot'll pretty much say everything I'm saying. 01:57:16 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic!say Fake EgoBot command: %s" % r.group(1))) 01:57:19 i noticed :D 01:57:30 !daemon fake +[] 01:57:34 !fake Foo. 01:57:37 Huh? 01:57:45 Whoa, let's not be hasty. 01:57:45 !daemon fake bf +[] 01:57:53 !fake Foo. 01:57:57 Why not? 01:58:04 I have a plan here. 01:58:04 you missed a space after magic 01:58:07 Ah. 01:58:31 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic !say Fake EgoBot command: %s" % r.group(1))) 01:58:41 !fake Foo. 01:58:42 Fake EgoBot command: %s" % r.group(1))) 01:58:46 Fake EgoBot command: Foo. 01:58:54 #magic !daemon sendme bf +[,.[-]+] 01:58:59 #magic !sendme prime 01:59:15 #magic !sendme #magic !say Test. 01:59:31 Test. 01:59:44 Now !sendme sends something to EgoBot. 02:00:08 Then there's the "mundane" command, which works just like "magic" except that it sends its stuff to bsmnt_bot instead. 02:00:11 #magic !sendme !say Foo. 02:00:32 EgoBot just sent "!say Foo." to EagleBot. 02:00:41 You sure you don't mean "sends something to EgoBot"? 02:00:47 s/EgoBot/EagleBot/ 02:00:52 No. :-) 02:01:19 Actually, I didn't want it called "sendme". 02:01:22 !undaemon sendme 02:01:27 Process 5 killed. 02:01:35 #magic !daemon ext bf +[,.[-]+] 02:01:39 #magic !ext prime 02:01:51 -!- erider has joined. 02:01:54 And it's primed as it's gonna be. 02:02:09 And... hmm. 02:02:21 Hmm. 02:02:24 Actually, let's not do this this way. 02:02:25 You, sir, are evil. 02:02:31 Or, rather, an evil genius. 02:02:32 -!- EagleBot has quit (Nick collision from services.). 02:02:52 ... 02:03:01 I think EagleBot is taken. 02:03:06 By me. 02:03:13 Ah. 02:05:04 Hmm. This version gets killed due to excess flood. 02:05:06 Oops :-) 02:05:08 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :EagleBot received %s" % r.group(1))) 02:05:18 EagleBot received foo 02:05:27 That works. 02:06:19 Now it's much more sane in its bsmnt_bot sendings. 02:06:42 -!- EagleBot has joined. 02:06:42 EagleBot received : !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ | http://www.wolframscience.com/prizes/tm23/ 02:06:42 EagleBot received Izzy7 SimonRC 02:07:01 That's an example of junk. 02:07:01 Hahah. 02:07:20 Whenever I say "EgoBot", EagleBot sends an "ooga" to bsmnt_bot. 02:07:20 EagleBot received ", EagleBot sends an "ooga" to bsmnt_bot. 02:07:40 Yay, infinite loop! 02:07:41 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Yay, infinite loop! 02:07:43 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Yay, infinite loop! 02:07:54 Err. 02:07:57 Not quite. 02:08:05 Finite. 02:08:09 Where'd the #magic go? 02:08:10 !say Infinite loop EgoBot! 02:08:11 EagleBot received ! 02:08:14 Infinite loop EgoBot! 02:08:14 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Infinite loop EgoBot! 02:08:15 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Infinite loop EgoBot! 02:08:16 EagleBot received ! 02:08:18 It's still here. 02:08:27 I think these loops are doomed to be finite. 02:08:36 Unless bsmnt_bot becomes EgoBot somehow. 02:08:37 EagleBot received somehow. 02:08:51 #magic !say EgoBot 02:08:56 EgoBot 02:08:57 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :EgoBot 02:08:58 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :EgoBot 02:09:11 * oerjan ponders leaving before the evil laboratory explodes 02:09:17 Hmm, apparently it doesn't care when a sentence ends in EgoBot 02:09:28 Oh, don't worry; nothing bad should happen. 02:09:41 #magic !say Egobot foo! 02:09:45 The key stuff is "!n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:09:46 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:09:48 Egobot foo! 02:09:48 * oerjan ponders more strongly now that famous last words have been spoken 02:09:49 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric : Egobot foo! 02:09:50 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric : Egobot foo! 02:10:11 Damn it. 02:10:23 It doesn't care about the second round for some reason. 02:10:25 I just killed EagleBot. 02:10:25 That's a bug. 02:10:32 Hmm? 02:10:57 If you say "EgoBot foo EgoBot bar", it'll think "EgoBot" followed by " foo EgoBot bar". 02:11:12 Ah. 02:11:21 So, it's set to be finite. 02:11:30 Not intentionally, maybe :-) 02:11:38 So what this guy sends to bsmnt_bot is "ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:12:02 That happens whenever... wait, lemme restart. 02:12:06 !ps d 02:12:08 1 bsmntbombdood: bf 02:12:11 2 ihope: daemon oot bf 02:12:14 3 ihope: daemon say bf 02:12:15 4 pikhq: daemon fake bf 02:12:17 !undaemon oot 02:12:17 5 EagleBot: daemon ext bf 02:12:19 !undaemon say 02:12:19 6 ihope: ps 02:12:20 Process 2 killed. 02:12:21 !undaemon fake 02:12:23 !undaemon ext 02:12:23 Process 3 killed. 02:12:25 Process 4 killed. 02:12:29 Process 5 killed. 02:12:38 -!- EagleBot has quit (Nick collision from services.). 02:12:55 -!- EagleBot has joined. 02:12:56 EagleBot received : !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ | http://www.wolframscience.com/prizes/tm23/ 02:13:19 #magic !daemon ext bf +[,.[-]+] 02:13:23 #magic !ext prime 02:13:27 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :prime 02:13:28 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :prime 02:13:34 !ext Testing. 02:13:38 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :Testing. 02:13:40 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :Testing. 02:13:48 EagleBot killed. 02:14:05 The thing to look out for, then, is simply "ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :message" 02:14:36 EagleBot received Test. 02:14:42 ~exec self.raw("QUIT") 02:14:43 -!- bsmnt_bot has quit. 02:14:45 -!- bsmnt_bot has joined. 02:15:34 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: " % r.group(1))) 02:16:11 Evil bastard, aren't we? 02:16:16 Sort of. 02:16:17 "ERROR* :MaClions>i ng Link: 127.0.0.1 (Connection Timed Out)" 02:16:27 -!- EagleBot has quit (Nick collision from services.). 02:16:42 One of these times I'm going to forget the slash in front of the ghost command, giving you all my password accidentally. 02:16:55 -!- EagleBot has joined. 02:17:00 !ext Final. 02:17:02 the horrers 02:17:09 The fun! 02:17:27 Well, EgoBot sent EagleBot the message. 02:17:35 Ooh, hmm... 02:18:15 ihope: can't you make a macro for your ghost command? 02:18:19 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: " % r.group(1))) 02:18:26 I could, but I wouldn't use it very often. 02:18:37 !ext Eh? 02:18:46 Hmm. 02:18:54 EgoBot 02:18:56 Oh! 02:19:05 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: %s" % r.group(1))) 02:19:09 !ext Final. 02:19:13 Fake EgoBot command: Final. 02:19:20 Yay! 02:19:25 Except that I forgot the magic. 02:19:25 *Almost*. 02:19:43 ~exec self.raw_regex_queue.pop() 02:19:53 !ext This should fail entirely. 02:20:07 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :#magic !say Fake EgoBot command: %s" % r.group(1))) 02:20:10 #magic !say Fake EgoBot command: Huh? 02:20:16 #magic !say Fake EgoBot command: Huh? 02:20:19 Uh... 02:20:22 #magic !say Fake EgoBot command: Huh? 02:20:28 #magic !say Fake EgoBot command: Huh? 02:20:32 Oh dear. 02:20:34 #magic !say Fake EgoBot command: Huh? 02:20:37 ~exec self.raw_regex_queue.pop() 02:20:55 That was a little weird. 02:21:00 * ihope attempts to figure out the cause 02:21:12 !ps d 02:21:15 1 bsmntbombdood: bf 02:21:16 2 EagleBot: daemon ext bf 02:21:19 3 ihope: ps 02:21:22 No !say command. 02:21:29 !daemon say bf +[,.[-]+] 02:21:31 !say prime 02:21:33 prime 02:21:44 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic !say Fake EgoBot command: %s" % r.group(1))) 02:21:47 Fake EgoBot command: %s" % r.group(1))) 02:21:55 Nice, eh? 02:22:00 !ext Final. 02:22:03 Very. 02:22:05 Fake EgoBot command: Final. 02:22:08 Yay! 02:22:29 Fake EgoBot command: This is in a private message to EgoBot. 02:23:18 !bftextgen !ext 02:23:22 EgoBot receives the message and sends it to EagleBot who relays it to bsmnt_bot who recognizes it and calculates and sends the response back to EagleBot who relays it to EgoBot who says it. 02:23:26 Huh? 02:23:37 Luckily, your command isn't working. :-P 02:23:47 (We all have little confidence in each other's abilities!) 02:23:51 !help 02:23:54 ~ext Testing. 02:24:02 !ext Testing. 02:24:08 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 02:24:08 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 02:24:18 Fake EgoBot command: Testing. 02:24:28 EgoBot is certainly the limiting factor in speed here. 02:24:54 Or maybe EagleBot. 02:25:04 I'd have to look at... more things to know. 02:25:18 I can only view EagleBot's received messages. 02:25:55 !ext Yay, Rube Goldberg! 02:26:05 Fake EgoBot command: Yay, Rube Goldberg! 02:26:35 Now I just have to add a command to bsmnt_bot that automates the command addition process. 02:27:06 And the command removal process. 02:27:15 and a cow. there needs to be a cow in there somewhere. 02:27:18 After that, I'll probably win some sort of award for esotericness. 02:27:28 !ext Moo. 02:27:33 There. Cow. Happy? 02:27:35 :-P 02:27:41 Fake EgoBot command: Moo. 02:28:15 GregorR, COME LOOK! I'VE WRITTEN SOMETHING IN BRAINFUCK! 02:28:48 o: 02:29:00 Rather, I'VE DONE THAT IN JUST NINE CHARACTERS OF BRAINFUCK! 02:29:10 i wrote a php interpreter 02:29:12 in brainfuck 02:29:14 im so leet 02:29:30 Yes, but did you do it in nine characters? 02:29:40 shit, no 02:29:42 :( 02:30:17 Set up a three-bot relay like mine to make it look like it, then! >:-) 02:30:31 I wrote a Brainfuck compiler. 02:30:33 In Brainfuck. 02:30:47 5 characters. 02:30:52 Guess how. 02:30:59 Let's see it. 02:31:05 Oh! I know! 02:31:05 ,[.,] 02:31:09 +[--yes, that. 02:31:11 Brainfuck->Brainfuck. 02:31:12 ;) 02:31:17 Except I was going to say +[,.]. 02:32:21 Supercompression: my method compresses everything into the same nine characters of brainfuck! 03:35:59 -!- oerjan has quit ("Good night"). 03:51:42 -!- boily has joined. 04:06:58 -!- c|p has quit ("Leaving"). 04:50:54 -!- boily has quit ("WeeChat 0.2.4"). 04:53:29 ihope: Let me guess: it creates a new compression algorithm for each input. 05:53:59 -!- erider has quit (Read error: 110 (Connection timed out)). 05:54:27 -!- erider has joined. 07:36:14 -!- kwertii has quit. 07:43:15 -!- RedDak has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:01 Hi all 08:25:19 -!- RedDak has quit (Remote closed the connection). 09:02:40 -!- sebbu has joined. 09:21:36 quite nice language - http://omg.worsethanfailure.com/Entries/ViewEntry.aspx?id=100328 10:05:25 -!- jix__ has joined. 10:30:54 ~raw join #lispcafe 10:53:18 on met quoi dans un manuel de maintenance ? 11:16:56 -!- jix__ has quit (Read error: 104 (Connection reset by peer)). 11:18:39 -!- jix__ has joined. 11:45:54 -!- jix__ has changed nick to jix. 13:53:15 good morning 14:10:21 -!- oerjan has joined. 14:13:14 -!- boily has joined. 14:42:21 Wait, EagleBot's still here? 14:42:26 It's not answering PINGs! 14:42:54 !ext Testing one two three? 14:43:13 The Eagle has landed 14:43:33 Hmph. 14:43:35 !ps d 14:43:57 I think I see the problem. 14:45:22 !help 14:45:50 ~exec self.stdout("Test") 14:45:51 AttributeError: IRCbot instance has no attribute 'stdout' 14:46:17 ~exec sys.stdout("GRAH") 14:46:18 GRAH 14:46:35 i always get that one wrong 14:47:01 ~exec self.stdout = sys.stdout 14:47:10 ~exec self.stdout("Hee") 14:47:11 Hee 14:47:13 :-) 14:47:59 ~exec self.stdout = lambda(): sys.stdout("No, it's sys.stdout.") 14:48:00 SyntaxError: invalid syntax 14:48:12 ~exec self.stdout = lambda: sys.stdout("No, it's sys.stdout.") 14:48:20 ~exec self.stdout("oops") 14:48:21 TypeError: () takes no arguments (1 given) 14:48:30 ~exec self.stdout = lambda x: sys.stdout("No, it's sys.stdout.") 14:48:43 Actually, wasn't there some... thing? 14:48:48 ~exec self.stdout = lambda *x: sys.stdout("No, it's sys.stdout.") 14:49:14 ~exec self.stdout("hi", 3, self) 14:49:14 No, it's sys.stdout. 14:49:19 ~exec self.stdout() 14:49:20 No, it's sys.stdout. 14:49:25 ~exec self.stdout(swim=3) 14:49:26 TypeError: () got an unexpected keyword argument 'swim' 14:49:31 Darn. 14:49:37 ~exec self.stdout = lambda **x: sys.stdout("No, it's sys.stdout.") 14:49:47 ~exec self.stdout(3) 14:49:48 TypeError: () takes exactly 0 arguments (1 given) 14:49:56 ~exec self.stdout = lambda *x **y: sys.stdout("No, it's sys.stdout.") 14:49:57 SyntaxError: invalid syntax 14:50:03 ~exec self.stdout = lambda *x, **y: sys.stdout("No, it's sys.stdout.") 14:50:06 o_O 14:50:18 ~exec self.stdout("one", 2, three=self) 14:50:19 No, it's sys.stdout. 14:50:21 There. 14:50:41 ~exec sys.stdout("one", 2, three=self) 14:50:42 TypeError: write() takes exactly 2 non-keyword arguments (3 given) 14:51:08 write(), eh? 14:51:31 * ihope hugs Python a little too hard 14:53:00 squished Python! (in bearnaise sauce) 15:10:25 Isn't it usually the python that hugs the victim a bit too hard? 15:11:00 squished ihope! (in bearnaise sauce) 15:11:17 Do pythons do that? 15:11:30 Yup, apparently they do. 15:13:52 Although they don't actually _crush_ you, but it's still hugging. 15:14:24 -!- boily has quit ("WeeChat 0.2.5"). 15:16:05 * ihope hugs fizzie 15:24:52 i thought you said /me boils fizzie 15:25:48 that wouldn't be very nice to boil him 15:28:56 * ihope boils bsmntbombdood 15:29:03 Oops! 15:29:04 ouch 15:31:07 -!- 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://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. 15:35:10 -!- jix__ has joined. 15:37:25 -!- nooga has quit (Remote closed the connection). 15:44:04 -!- jix has quit (Read error: 113 (No route to host)). 15:50:35 nooo they be eatin my flesh 17:16:18 -!- RedDak has joined. 17:22:57 'morning, guys 18:02:11 fantastic 18:02:28 -!- boily has joined. 18:06:04 !ext Still evil. . . 18:06:48 -!- sebbu2 has joined. 18:07:18 Come on, EagleBot! 18:07:18 #magic !say Do the magic! 18:07:18 -_-' 18:08:58 EagleBot? 18:09:22 I've clearly missed something here 18:12:20 it's ihope's bot, but it locked up 18:13:03 afk 18:16:23 i don't have a bed 18:19:19 bsmntbombdood: I am aware of a technique that abuses fedex policy and entails duct-tape usage by which you may create a bed for ~$0. 18:19:38 RodgerTheGreat: EagleBot is the binding force of a Rube Goldberg machine in here that makes it look like we can add features to EgoBot. 18:20:00 ah. sounds pretty esoteric and therefore awesome 18:20:09 Very much so. 18:20:32 fedex? 18:20:36 If you want to add more layers of pointless abstraction, I could load up my BF bot 18:20:43 will they give you free boxes or something? 18:21:12 bsmntbombdood: fedex will send you shipping materials for free. You merely request a lot of boxes and bubblewrap and things, and then you can construct furniture from it 18:21:55 http://www.fedexfurniture.com/bed/bed_800.jpg 18:22:01 http://www.fedexfurniture.com/bed/structure_800.jpg 18:22:10 http://www.fedexfurniture.com/bed/structure2_800.jpg 18:22:15 http://www.fedexfurniture.com/bed/final_800.jpg 18:22:18 behold 18:22:40 awesome 18:25:38 -!- sebbu has quit (Read error: 110 (Connection timed out)). 18:35:03 now the computer goes bye byte too 18:40:01 ? 19:18:25 -!- sebbu2 has changed nick to sebbu. 19:20:05 -!- RedDak has quit (Remote closed the connection). 19:29:30 -!- oerjan has quit ("Supper"). 20:03:59 now i don't have a bed or a computer 20:04:22 ??? 20:04:25 WTF? 20:04:42 I concur. What the fuck, bsmntbombdood? 20:04:45 indeed 20:05:00 Care to *explain*? 20:05:09 we're moving 20:05:18 Ah. 20:05:48 except...not for a few days 20:06:43 Let me go back to "WTF". 20:07:13 Where to? 20:07:35 longmont 20:08:07 You and your not-Colorado-Springs-ness. :p 20:08:48 you are in the springs? 20:09:00 Actually, just outside of it. 20:10:59 i saw a hot girl in the springs once 20:11:43 It's a decent-sized city. I'm sure there's plenty. :p 20:12:54 we are (will be) surrounded be ~100 acre farms 20:13:32 Ah. So, that puts you in about where I'm at *now*. (I'm visiting family in Oklahoma ATM) 20:14:13 i have to go back to packing shit 20:14:17 :/ 20:14:26 -!- boily has quit ("WeeChat 0.2.5"). 21:56:29 -!- jix__ has changed nick to jix. 22:35:06 -!- oerjan has joined. 22:35:52 -!- sebbu2 has joined. 22:54:34 -!- sebbu has quit (Connection timed out). 23:20:34 -!- boily has joined. 23:22:54 #magic !say foo 23:23:05 !say foo 23:23:28 !help 23:23:39 EagleBot seems fine. EgoBot doesn't. 23:25:33 * oerjan gives EgoBot some cough drops 23:26:28 GregorR: Give EgoBot the SIGKILL. 23:27:09 killall -s 9 bsmnt_bot 23:27:10 I can reset both bsmnt_bot and EagleBot, but not EgoBot. 23:27:21 i mean, killall -s 9 bsmntbombdood 23:28:42 bsmnt_bot is easy to reset. 23:28:57 ~exec sys.exit(0) 23:29:09 ~exec self.raw("QUIT") 23:29:09 -!- bsmnt_bot has quit. 23:29:13 . . . Well, not like that, but you get the idea. 23:29:15 -!- bsmnt_bot has joined. 23:30:03 h[6=V΂B 1+0 records in 23:30:03 1+0 records out 23:30:03 20 bytes (20 B) copied, 9.7962e-05 s, 204 kB/s 23:30:10 wtf? 23:30:39 it looks like a `dd' dump... 23:30:40 ÑÞhé¯Ð[ƒ6=±V§áÁÿ΂B? 23:32:08 9.7962e-05 23:32:34 years until the apocalypse 23:33:00 i sincerely hope not 23:33:06 -!- EagleBot has quit (Read error: 104 (Connection reset by peer)). 23:33:14 unless you misspelled + as - 23:33:56 no, - is correct 23:34:26 51.48 minutes till the apocalypse then 23:35:11 probably just as well to get it over with :) 23:36:08 Egad, I just uglied up my code. 23:38:37 bsmntbombdood: Let me guess: in the apocalypse theater, apocalypses are performed ever hour, on the hour. :p 23:39:02 => (let ((me (cons 'dead 0))) (set-cdr! me me) me) 23:39:24 (cdr universe) 23:39:34 => (me (me (me))) 23:39:38 (car universe) 23:39:43 => (me) 23:41:47 methinks a laxy impure lanague is possible 23:42:43 (set! var val) gets evaluated when var is used 23:43:40 -!- EagleBot has joined. 23:44:01 Sure it is possible. 23:44:21 I do believe that the C preprocessor has lazy evaluation. 23:44:33 hardly 23:44:37 There. This bot now uses continuation passing style in order to be able to reset itself 23:44:52 #quit 23:44:56 #define foo(x) x 23:45:06 #quit 23:45:06 call/cccccccccccc 23:45:09 #define bar(x) foo(x) 23:45:15 bar(foo(x)) 23:45:16 Hmm... 23:45:20 ihope: what language is EagleBot written in? 23:45:27 oerjan: Haskell. 23:45:34 :#quit green 23:45:35 -!- EagleBot has quit (Client Quit). 23:45:38 does haskell have call/cc? 23:45:38 There we go. 23:45:44 -!- EagleBot has joined. 23:45:53 bsmntbombdood: in the ContT monad transformer, yes :) 23:45:58 I do believe that goes bar(foo(x))->foo(foo(x))->foo(x)->x 23:46:00 bsmntbombdood: it does, but in a type-safe form. 23:46:14 Type-safe and referentially transparent. 23:46:16 bwahaha! 23:46:18 And I'm not using it. 23:49:47 It works in any continuation monad. 23:51:31 lambdabot> forall a (m :: * -> *) b. (MonadCont m) => ((a -> m b) -> m a) -> m a 23:52:18 (the type of callCC)