00:08:06 -!- sebbu has quit (Read error: 110 (Connection timed out)). 00:08:15 * pikhq just had a really stupid idea. . . 00:08:33 Make a BF->C compiler which outputs C code which is also valid BF code. 00:09:14 -!- sebbu2 has quit ("Leaving"). 00:09:43 well, that's a more amphibious version of me thinking of making A program that is both C and BF 00:09:50 tho, pretty easy 00:09:56 Indeed it is. 00:09:57 *amphibious xD 00:10:05 no, not a correction 00:10:07 An example method: 00:10:10 ambitious 00:10:14 p++; // - 00:10:17 == + 00:10:22 p--; // + 00:10:23 == - 00:10:29 while { // [ 00:10:31 == [ 00:10:34 } // ] 00:10:36 == ] 00:10:39 etc. 00:10:54 well, yeah 00:10:59 Easy. 00:11:11 includes have even <>'s 00:11:14 that's nice 00:11:17 :) 00:11:25 *even even 00:12:38 of course, that way it's easier than making one program that is sensible c++ code and the same in brainfuck without comments 00:12:49 sensible as in not clearly brainfuck 00:12:58 of course need a lot of redundance 00:19:28 without comments p++-1; p--+1; 00:19:52 [ and ] are hard tho 00:20:19 well, you can have 1[...] and have code normally in it, separated by commas 00:20:38 so, it's pretty trivial actually 00:22:39 commas are an operator tho, which i realized in the bathroom 00:22:41 Got it done. 00:23:01 so you have to do '[',']' or something everywhere 00:23:04 So take advantage of that. . . :p 00:23:05 cool 00:23:16 Want me to upload the script? 00:23:16 whaaaat? 00:23:25 you can 00:23:28 do 00:23:28 please 00:25:01 http://pikhq.nonlogic.org/bf.tcl 00:25:16 Not very complex, but not bad for a quick hack. 00:27:09 me read 00:27:27 Hell. . . I released a different way of doing it. 00:27:31 Define some macros. 00:27:40 +();-();>();, etc. 00:28:03 what lang? 00:28:21 the script? 00:28:21 Um. . . C? 00:28:23 Oh. 00:28:24 Tcl. 00:29:05 < { 00:29:05 puts "p-=1; // +<" 00:29:05 } 00:29:11 p+=-1; 00:29:13 :P 00:29:54 p+=+(-1); // <- and you can have the nice arrow 00:30:19 Hahah. 00:30:38 i don't think this is a C script 00:31:36 it gets fairly complicated with no comments 00:31:43 unless you do constants 00:31:44 It compiled to C. 00:31:48 And is written in Tcl. 00:31:49 then it's trivial again 00:31:52 ah 00:31:55 i don't know tcl 00:32:05 i mean, i can read it of course 00:32:18 but i've never seen it before 00:32:24 i've heard the name tho 00:33:24 while ('['&&*p) { 00:33:33 ']';} 00:33:40 :P 00:34:34 (p++)>--0; 00:34:38 (p--)>++0; 00:35:01 convert those, much nicer 00:35:02 :) 00:35:37 (p--)<++0; of course 00:36:04 Me like. 00:36:38 putchar((*p)*1.0); 00:36:59 *p=getchar(),*p*=!feof(stdin); 00:37:08 Except for one thing. . . 00:37:09 no comments yay 00:37:13 what is that? 00:37:14 (p++)>--0; 00:37:18 < 00:37:23 (p--)<++0; of course 00:37:24 That adds two, moves right, then subtract two. 00:37:25 oh 00:37:34 fuck 00:37:35 true 00:37:38 sorry 00:37:54 --(p++)>0; 00:38:01 ++(p--)<0; 00:38:08 now it should work 00:38:10 That's equivalent to "" from a C perspective, I believe. 00:38:24 ? 00:38:36 ++(--p)==p 00:38:47 I'm pretty certain, that is. 00:39:02 what do you mean? 00:39:14 (p++)|(--0)>0; 00:39:17 That's my solution. 00:39:21 you might need +(+(p--)<0); 00:39:29 --0 won't work 00:39:32 -(-0) 00:39:33 What I'm saying is that that performs the ++ operator, then the -- operator. 00:39:43 no 00:39:45 Mmkay. 00:39:47 oh 00:40:05 well, yes, but i meant it with the parenthesis, forgot to actually put them 00:40:13 It's like (p-=1)+=1; 00:40:15 or just + + p-- == 0; 00:40:32 yeah, a million possibilities 00:40:41 you can put many in, to be selected a t random 00:40:42 *at 00:41:25 That'd be a bit of a trickier thing, and I'm lazy. 00:41:36 i like *p=getchar(),*p*=!feof(stdin); most 00:41:42 :) 00:41:56 because the , is actually used 00:42:47 *p+=1 uses the bf-operator more tho 00:44:05 i'll learn lisp now, bye -> 00:45:08 Your . interpretation doesn't work. . . 00:45:09 Hmm. 00:46:36 I added int a;float b; 00:46:40 And 00:46:51 a=putchar(*p),b=1.0; 00:47:23 And now it's complaining about the unary minus thing. 00:50:17 basm.0.b.c:4458: error: wrong type argument to unary minus 00:50:37 where 00:51:03 putchar(int((*p)*1.0)); just do 00:51:20 swap c++ and english 00:51:58 where does it complain about an unary minus? 00:53:12 a* 00:53:17 *a unary 00:53:27 +(+(p--)<0); 00:55:26 complains about that? 00:55:51 i can't see a unary minus 00:56:22 -(-(p++)>0); as well. 00:57:29 well, try converting the bool to an int 00:58:06 In C, there is no such thing as a "bool". . . "0" is an int. 00:58:15 ah 00:58:16 It doesn't complain about -0-0; 00:58:22 It's complaining about the pointer./ 00:58:23 sorry 00:58:31 char* doesn't support unary minus of course 00:58:40 sorry about the 00:58:41 *that 00:58:47 -(-int(p++)>0); 00:58:52 for example 00:59:46 negative pointers are like lol 01:00:17 i don't like it when non-rational things are not supported 01:00:38 no matter how much it helps newbies :\ 01:00:45 Got a working version. 01:00:51 me too 01:00:57 -(-int(p++)>0); 01:01:07 what did you do? 01:01:20 -(-(int(p++)<0); 01:01:23 Err. 01:01:26 -(-(int)(p++)<0); 01:01:46 c doesn't have int(...)$? 01:01:49 -$ 01:02:06 oklopol, yeah... all the weird stuff should be allowed for the sake of being there to tinker with. 01:02:32 It's not a function. 01:02:36 (int)foo 01:02:44 is the way to cast "foo" to an integer. 01:03:00 C++ would accept int(foo), too. 01:03:13 int(...) is a C++-ism I believe. 01:03:17 Probably. 01:03:39 yeah, i've read that somewhere actually, didn't remember :\ 01:03:45 (int) foo is even referred to as c-like type declaration in C++-lingo 01:03:47 http://pikhq.nonlogic.org/bf.tcl 01:03:59 Polyglot BF->C compiler. 01:04:05 Isn't that a "c-style cast"? 01:04:09 Now with thanks to oklopol. 01:04:18 sure 01:04:29 puts "putchar(*p*(1.0));" 01:04:36 convert to int maybe? 01:04:41 or? 01:04:49 it might do that with putchar actually :) 01:05:15 puts "putchar(*p*(1.0));" 01:05:17 That works. 01:05:32 It probably casts to char automagically. 01:05:33 yeah, you said something about it not working, but maybe you didn't 01:05:39 I thought it didn't work. 01:05:56 yeah, would be weird id they'd've added a float version to get it not working for floats 01:05:56 But there were a lot of errors. . . And I apparently did something stupid in saying that. 01:06:14 good you said it, i don't like it when i imagine things 01:06:23 happens often :\ 01:08:15 "(int)foo" is called "the cast notation" in the C++ standard (5.4), while "int(foo)" is simply "explicit type conversion (functional notation)" (5.2.3). 01:08:36 N +'s of brainfuck -> *p+={(N-1)*"+ "}1; 01:08:53 where {(N-1)*"+ "} of course means "+ " N-1 times 01:09:19 'cept that instead of "one" it'd be "N". 01:09:32 ...? 01:09:55 yeah 01:10:36 same with minus of course 01:10:36 Why putchar(*p*(1.0)); and not the much simpler (and lacking the silly float conversion) putchar((1.0, *p)); ? 01:10:41 Right. 01:10:51 Oh, the comma. 01:11:08 fizzie, it doesn't really matter, one can easily come up with tons of those :\ 01:11:10 I only now realized what you were trying to do, anyway. 01:11:20 and that 01:13:31 N >'s -> puts "-(int)(p+=N){>0 N times};" 01:13:43 but, of course you can't do it in the puts 01:13:56 I can do something different. . . 01:14:02 k 01:14:13 what is that? 01:14:21 set string "-(int)(p+=$n)" 01:14:57 for {} {$n != 0} {incr n -1} {append string ">0"} 01:15:03 puts "$string;" 01:15:03 yeah 01:15:48 so... language advocacy is really starting to annoy me. 01:15:59 and it's practically everywhere... 01:16:04 when talking about any language. 01:16:24 I like Tcl. . . It does what I need it to do, and I know it. 01:16:36 And I've grown fond of it. . . 01:16:40 What more reason do I need? 01:17:09 ... 01:17:26 at least you didn't turn into a living advertisement. 01:17:46 That's all the language advocacy I do. 01:17:48 c++ is the BEST by the way, i'll be off reading lisp now -> 01:17:58 (BEST) 01:18:40 btw 01:18:52 bsmntbombdood 01:19:13 C++ is a language. 01:19:20 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net). 01:19:25 It happens to be pretty good. 01:19:25 There we go. 01:19:26 the function you had, i figured how you do that in the shower that morning 01:19:53 pikhq, i wasn't serious... just to be sure :) 01:20:14 okay, it didn't need clarification now that i see how i presented it :) 01:21:05 -!- fizzie has joined. 01:21:08 bsmntbombdood, just that if you like to have your own code there, i can tell you the algo, unless you either know it or don't care or whatever 01:21:22 now really -> 01:21:25 Re TCL, why not string repeat ">0" $n instead of the for loop? :p 01:21:54 fizzie: I don't have all of the string functions commited to memory. 01:35:29 hmmm... maybe a Category:Homoiconic should be added to the wiki? 01:43:25 oklopol: what? 01:44:58 the function you used to make the fractions 01:45:10 What about it? 01:45:30 well, just what i said :\ 01:45:32 nothing more 01:45:46 just that it's trivial to do that 01:45:50 but you prolly know that 01:46:24 and just don't feel sad to use code written by someone you don't know in a small project like that 01:47:22 i don't see why you would, tho 01:48:11 That code is very slow 01:48:42 O(n) it looks like 01:48:59 at least O(n) that is 01:49:10 O(n) for whole numbers 01:49:20 well, you take the fraction straight from the double, then just gcm it 01:49:56 What do you mean, take the fraction? 01:50:22 the double is in a format ... * 2**.. 01:50:26 *-a 01:50:54 so, you take the mantissa and the exponent straight from the number 01:51:00 assuming those are the terms 01:51:32 that is the gist of the problem 01:51:42 so i'm pretty sure it's the most efficient one 01:51:51 most efficient algorithm i mean 01:52:56 you can easily get the mantissa and exponent from a double in haskell, so why not in python 01:53:28 (i'm not sure if that makes sence, i just think of both as non- implementation spesific...) 01:53:55 (like, not having limits on how floating point numbers are stored) 01:54:28 (ignore all " \(.*\)") 02:21:59 -!- jix__ has joined. 02:26:39 -!- jix__ has quit (Client Quit). 02:33:53 -!- jix has quit (Read error: 110 (Connection timed out)). 02:49:08 -!- ihope has quit (Read error: 110 (Connection timed out)). 03:09:00 zZzZ 03:17:34 ozozozozo 03:37:50 -!- pikhq has quit ("leaving"). 04:10:12 -!- Sgeo has quit ("Leaving"). 06:02:32 !glass 06:02:37 !help 06:02:46 EGOBOTS DOWN 06:02:49 PANIC 06:04:07 zoooooooooooooooommmmmmmmmmmmg 06:06:56 -!- Lea has joined. 06:06:59 .... 06:07:21 lol hi. :) 06:07:28 LOLSUP 06:07:33 How's life? 06:07:35 peachy? 06:07:39 Oh wonderful. 06:07:41 You? 06:07:41 splendid. 06:07:44 Grand. 06:07:45 awesome 06:07:46 Excellent. 06:07:49 yup 06:07:50 WOnderful. 06:07:52 ..Oh 06:07:55 -!- CakeProphet has changed nick to GrandmotherChaos. 06:07:59 So how do I make t-... 06:08:03 ... 06:08:05 Grandmotherchaos, mm. 06:08:09 hrm 06:08:12 Lea, whoooo 06:08:24 -!- GrandmotherChaos has changed nick to SevenInchBread. 06:08:35 now what were you saying? 06:08:35 -!- Lea has changed nick to SixInchBread. 06:08:41 :o scandalous 06:08:44 Wow. SixInchBread is used by someone. 06:08:49 I don't like the emoticon they give to :o 06:08:53 ..no 06:08:55 -!- SixInchBread has changed nick to Lea. 06:09:00 yeah... someone made it after I made this one. 06:09:11 posers no doubt 06:09:18 Indeed. 06:09:58 -!- Lea has changed nick to LeaLeaLea. 06:10:09 oooh 06:10:13 it's wavy 06:10:21 Two Lea's will simply not cut it. 06:10:27 nope. 06:10:34 we're totally spamming this channel. 06:10:43 ..We're speaking. 06:10:48 yup 06:10:50 WHAT DO YOU DO ON IRC BUT CHAT? 06:10:58 IT'S NOT ALLOWED 06:11:07 FUCK YOU 06:11:34 WHY ISN'T EGOBOT WORKING 06:11:43 It hates you. 06:11:47 someone turn it on! 06:11:51 Refuse him. 06:11:52 * SevenInchBread downloads the source 06:15:31 .... 06:17:30 SOMEONE MAKE EGOBOT WORK 06:17:33 NOPE. 06:17:35 I can't figure out how to run it. 06:17:47 You = suck. 06:17:47 LeaLeaLea fizzie SevenInchBread oklopol lament_ NK` MM2 GregorR sekhmet cmeme bsmnt_bot bsmntbombdood puzzlet clog sp3tt mtve meatmanek SimonRC tokigun pgimeno 06:17:50 ... 06:17:51 I ping you all 06:17:53 like an ass 06:17:57 Don't you ever ping me again. 06:18:01 Or I'll 'ping' you. 06:18:08 I'LL PING YOU EVERY FUCKING DAY 06:18:13 .... 06:18:22 anywho. 06:18:27 ... Defeated. 06:18:27 how do you run egobot? 06:18:32 It's down. 06:18:41 ...yes 06:18:47 I ATE IT 06:19:00 ..poop 06:19:05 A noble cause. 06:19:18 * LeaLeaLea tests. 06:19:20 ... :) 06:19:27 * SevenInchBread whooooo 06:19:46 SEVENINCHBREAD? 06:19:50 SEVENINCHBREAD??? 06:19:53 Yah? 06:19:56 * LeaLeaLea refuses to tell. 06:20:01 ... 06:20:19 LeaLeaLea, I wonder why you would be here... 06:20:25 hrm... 06:20:29 ... So do I.. 06:20:58 wheee 06:22:08 :) 06:23:01 Do de doo.. 06:24:55 -!- LeaLeaLea has quit ("Chatzilla 0.9.77 [Firefox 1.5.0.9/2006120612]"). 06:25:46 -!- LeaLeaLea has joined. 06:25:50 I have returned. 06:26:13 hi. :) 06:26:17 Hi. :) 06:30:29 ?????>>>>>>> 06:30:31 ?>">'. 06:30:33 rl 06:32:53 ... 06:35:19 HEY GREGOR 06:35:27 GregorR, GREGOR 06:35:30 WAKE UP 06:35:52 -!- SevenInchBread has changed nick to CakeProphet. 06:36:09 GregorR, Get egobot back up 06:37:29 -!- LeaLeaLea has quit ("Chatzilla 0.9.77 [Firefox 1.5.0.9/2006120612]"). 06:38:07 -!- LeaLeaLea has joined. 06:38:20 CakeProphet. 06:38:25 yah? 06:38:30 I don't like you. 06:38:41 ..Have you made the bot work yet.. 06:38:52 HAVE YOU? 06:39:05 NO 06:39:07 :) 06:39:09 I'm not familiar with C 06:39:15 I GUESS YOU SUCK THEN. 06:39:15 you have to compile it and shit 06:39:19 NOPE 06:39:21 I ROCK 06:39:23 ... :):):) 06:39:44 hmmm? 06:39:45 Gregor!!!!!!!!!!! 06:39:53 bsmntbombdood, make EgoBot work 06:39:54 He is intentionally ignoring you. 06:39:57 Because he does not like cake. 06:40:00 Nor prophets. 06:40:07 damn... 06:40:23 you can get the source 06:40:26 and like... compile it 06:40:27 and stuff 06:40:33 and make it work 06:40:36 You lie. 06:40:43 I don't 06:40:45 You do. 06:40:52 erm nope 06:40:53 DO. 06:40:59 ..Premeditated ftw. 06:41:13 hrm 06:41:20 !help 06:41:24 NEVER SPEAK OF THAT 06:41:42 bsmntbombdood, make egobot work 06:41:49 ... 06:41:53 ... 06:42:00 ..... 06:42:18 I want to play with glass 06:42:54 I want you to play with glass. 06:43:00 see? 06:43:02 Mhm. 06:43:10 and maybe brainfuck 06:43:13 but mostly glass 06:43:21 aha! 06:43:24 ...What 06:43:28 I'll make my own bot... WAY BETTER THAN EGOBOT 06:43:35 ..Yeah. Five years later.. 06:43:38 Still no bot. 06:43:40 ...shut up 06:43:43 BUT LOTS OF TALKING ABOUT IT 06:43:46 I've got one like... 06:43:49 halfwaydone man 06:43:57 :) 06:44:00 code glass for bsmnt_bot 06:44:11 * CakeProphet has lots of unfinished projects 06:44:15 ..Who are you 06:44:20 bsmntbombdood, it has a glass interpreter? 06:44:26 no 06:44:31 you need to code one 06:44:34 .... 06:44:36 fuck that 06:44:49 just use egobots 06:44:53 in a subprocess 06:45:00 or something 06:45:06 go ahead 06:45:09 ... 06:45:15 GOD DAMNIT 06:45:21 You are allowed to make net connections with bsmnt_bot 06:45:28 download the interpreter 06:45:39 ...how do you run C on Windows? 06:46:37 I don't think I even have a compiler for it. 06:48:09 bsmntbombdood, aaah 06:49:07 actually.. 06:49:11 cygwin might have something for it. 06:49:15 * CakeProphet checks 07:00:53 nope 07:03:00 do it with bsmnt_bot 07:05:09 -!- LeaLeaLea has quit ("Chatzilla 0.9.77 [Firefox 1.5.0.9/2006120612]"). 07:16:26 whats wrong with him 07:17:55 hmmm? 07:18:04 puzzlet, who? 07:18:47 -!- bsmntbombdood has changed nick to lolipop. 07:20:14 -!- LeaLeaLea has joined. 07:20:20 forget it 07:20:26 I have returned. 07:20:33 oh. 07:20:38 -!- lolipop has changed nick to bsmntbombdood. 07:21:49 * CakeProphet frowns. 07:21:59 * CakeProphet consternates 07:22:00 ..Quiet. 07:22:09 we all hate you 07:22:10 I have no time for your shenanagens. 07:22:12 NO. 07:22:18 yep 07:22:24 Unfortunate. 07:22:39 ~help 07:22:47 :o scandalous 07:22:53 SHUT UP. 07:22:56 ~exec print "Lol" 07:23:02 ....scandalous 07:23:15 bsmntbombdood, your bot's dead. 07:23:32 what? 07:23:34 no it's not 07:23:39 lol yah 07:23:44 ~exec sys.stdout("lol") 07:23:45 lol 07:23:47 ... 07:23:52 oh 07:23:54 yeah 07:23:59 you do the wierd stdout wrapper 07:24:14 ~exec sys.stdout(str(globals())) 07:24:15 {'thread_info': , 'exec_global_tracer': , 'pprint': , 're': , 'SysWrapper': , 'exec_local_tracer': , '__doc__': N 07:24:15 one, 'math': , 'IRCbot': , 'args': {'IDENT': 'bsmnt', 'REALNAME': 'bsmntbombdood bot', 'CHAN': '#esoteric', 'NICK': 'bsmnt_bot', 'HOST': '85.188.1.26', 'PORT': 6667, 'VERBOSE': True}, '__builtins__': , '__file__': '/bot/ircbot.py', 'inspect': < 07:24:15 module 'inspect' from '/usr/lib/python2.4/inspect.pyc'>, 'IRCFileWrapper': , 'sys': , '__name__': '__main__', 'copy': , 'types': , 'socket': , 'threa 07:24:20 d': , 'os': , 'traceback': , 'bot': <__main__.IRCbot instance at 0xb7cbf14c>, 'threading': , 'time': , 'pickle': 'pickle' from '/usr/lib/python2.4/pickle.pyc'>, 'marshal': } 07:24:51 ...smart 07:25:16 ~exec sys.stdout(repr(self)) 07:25:16 <__main__.IRCbot instance at 0xb7cbf14c> 07:25:50 What's the quick way to match all the beginner stuff with register_raw? 07:26:49 what? 07:26:56 STOP BEING CONFUSED DAMNIT 07:27:13 the beginning 07:27:15 of an IRC line 07:27:21 is there a quick way to match it? 07:27:24 in a regex 07:27:29 of register_raw() thing 07:27:36 "^"? 07:27:46 ... 07:27:49 the address stuff 07:27:57 well.. 07:28:06 I could just do .*? 07:28:16 \S* would be better 07:28:22 but what do you mean? 07:28:39 If you want to get stuff like the nick, match it against self.message_re 07:29:13 what are the arguments of the function? 07:29:27 in the second argumet of register_raw 07:29:44 message, regex match object 07:32:07 -!- Sartak has joined. 07:32:17 -!- Sartak has left (?). 07:32:45 ~exec import random;self.register_raw("\S*: *~roll (?\d*) *$", lambda x,y: sys.stdout(random.randint(1,y.groupdict.get("d", 6)))) 07:32:54 ~roll 6 07:33:02 CONTROVERSY 07:33:43 ~exec import random;self.register_raw("\S*: *~roll (?P\d*) *$", lambda x,y: sys.stdout(random.randint(1,y.groupdict.get("d", 6)))) 07:33:48 ~roll 10 07:33:54 CONTROVERSY 07:34:20 nope 07:34:21 bsmntbombdood, what was the error message. 07:34:30 #bsmnt_bot_errors 07:34:34 ...damnit 07:34:37 your regex is wrong 07:34:46 ~exec import random;self.register_raw("\S*: *~roll (?P\d*) *$", lambda x,y: sys.stdout(random.randint(1,y.groupdict.get("d", 6)))) 07:34:52 oh.. 07:34:54 ...still wrong 07:35:24 ~exec import random;self.register_raw("^\S*: *~roll (?P\d*) *$", lambda x,y: sys.stdout(random.randint(1,y.groupdict.get("d", 6)))) 07:35:31 ~roll 5 07:35:35 ... 07:35:40 what's wrong? 07:35:43 -!- LeaLeaLea has quit ("Chatzilla 0.9.77 [Firefox 1.5.0.9/2006120612]"). 07:36:17 this is the format of a message: ":CakeProphet!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what's wrong? 07:36:24 oooh... 07:36:28 yeah 07:36:31 forgot the leading semicolon 07:36:57 no 07:37:05 \S matches non-whitespace chars 07:37:56 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout(random.randint(1,y.groupdict.get("d", 6)))) 07:38:01 ~roll 10 07:38:01 -!- bsmnt_bot has quit (Remote closed the connection). 07:38:05 -!- bsmnt_bot has joined. 07:38:21 I broken it 07:40:24 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout(random.randint(1,int(y.groups("d"))))) 07:40:34 ~roll 10 07:40:35 -!- bsmnt_bot has quit (Remote closed the connection). 07:40:37 -!- bsmnt_bot has joined. 07:40:50 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout(str(random.randint(1,int(y.groups("d")))))) 07:40:54 ~roll 10 07:40:54 -!- bsmnt_bot has quit (Remote closed the connection). 07:40:56 -!- bsmnt_bot has joined. 07:41:22 y.group 07:41:32 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout(str(random.randint(1,int(y.group("d")))))) 07:41:37 ~roll 10 07:41:38 -!- bsmnt_bot has quit (Remote closed the connection). 07:41:40 -!- bsmnt_bot has joined. 07:41:41 nope lol 07:42:18 global name random not defined 07:42:25 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout(str(__import__("random").randint(1,int(y.groups("d")))))) 07:42:28 ~roll 10 07:44:32 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout.write(str(__import__("random").randint(1,int(y.groups("d")))))) 07:44:36 ~roll 10 07:44:48 weird 07:46:04 ~exec import random;self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout.write(str(__import__("random").randint(1,int(y.group("d")))))) 07:46:06 ~roll 10 07:46:06 1 07:46:08 ~roll 10 07:46:09 9 07:46:10 ~roll 10 07:46:10 1 07:46:12 ~roll 10 07:46:12 2 07:46:13 ~roll 10 07:46:13 2 07:46:16 how novel 07:46:44 ... 07:47:44 ~exec globals()["random"] = __import__("random");self.register_raw("^\S* PRIVMSG #esoteric : *~roll (?P\d*) *$", lambda x,y: sys.stdout.write(str(random.randint(1,int(y.group("d")))))) 07:47:49 ~roll 10 07:47:49 5 07:47:50 6 07:47:54 :o 07:48:40 get rid of the old one. 07:49:20 ~exec del self.raw_regex_queue[-2] 07:49:34 ~roll 56 07:49:35 9 07:49:38 ~roll 4345694569049560945609456 07:49:39 937767620971671047976646 07:49:40 ~roll 4345694569049560945609456 07:49:41 2838600485402488068531576 07:49:42 ~roll 4345694569049560945609456 07:49:43 2269477471378303337011121 07:49:44 ~roll 4345694569049560945609456 07:49:45 2115576699285482581859932 07:50:39 fun 07:56:33 ~exec self.__class__.imlazy = lambda x,f: self.register_raw("^\S* PRIVMSG #esoteric : *%s (?:(?: (.*?) ))* *", lambda ge,ha: sys.stdout(str(f(*ha.groups())))) 07:57:00 oh... 07:57:13 ~exec self.__class__.imlazy = lambda x,f: self.register_raw("^\S* PRIVMSG #esoteric : *%s (?:(?: (.*?) ))* *" % x, lambda ge,ha: sys.stdout(str(f(*ha.groups())))) 07:57:43 hmmm... 07:58:33 ~exec self.__class__.imlazy = lambda x,f: self.register_raw("^\S* PRIVMSG #esoteric : *%s (?P.*)$" % x, lambda ge,ha: sys.stdout(str(f(*ha.group("inp"))))) 07:58:53 ~exec self.imlazy("cat", lambda foo: foo) 07:59:23 what are you doing? 07:59:25 ~exec self.__class__.imlazy = lambda self, x,f: self.register_raw("^\S* PRIVMSG #esoteric : *%s (?P.*)$" % x, lambda ge,ha: sys.stdout(str(f(*ha.group("inp"))))) 07:59:32 ~exec self.imlazy("cat", lambda foo: foo) 07:59:42 cat h 07:59:42 h 07:59:46 being lazy 07:59:50 cat whoooo 07:59:54 ERROR 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:51 ....how could it possibly get a typeerror? 08:01:12 ah. 08:01:27 ~exec self.__class__.imlazy = lambda self, x,f: self.register_raw("^\S* PRIVMSG #esoteric : *%s (?P.*)$" % x, lambda ge,ha: sys.stdout(str(f(ha.group("inp"))))) 08:01:49 ~exec del self.raw_regex_queue[-1] 08:01:59 ~exec self.imlazy("cat", lambda foo: foo) 08:02:01 cat whooo 08:02:02 whooo 08:02:05 cat hahahahahaha 08:02:06 hahahahahaha 08:02:08 mehehehehehe 08:02:15 ~exec del self.raw_regex_queue[-1] 08:02:20 ~exec self.imlazy("~cat", lambda foo: foo) 08:02:23 ~cat wha 08:02:24 wha 08:03:03 ~exec self.imlazy("~dup", lambda x: x*2) 08:03:08 ~dup hello 08:03:08 hellohello 08:03:13 :( 08:03:17 ~exec del self.raw_regex_queue[-1] 08:03:32 ~exec self.imlazy("~dup", lambda x: "%s %s" % (x,x)) 08:03:39 ~dup ha 08:03:40 ha ha 08:03:50 ~dup ~dup ~dup ha 08:03:50 ~dup ~dup ha ~dup ~dup ha 08:03:57 :( 08:04:20 ~exec self.imlazy("~dog", lambda x: x[::-1]) 08:04:23 ~dog wha 08:04:23 ahw 08:09:43 ~exec self.imlazy("~rot", lambda x:"".join( [(chr((ord(c) if ord(c) < ord("n") else ord(c)-26)+13) if c != " " else " ") for c in x])) 08:09:52 ~rot whooo 08:10:31 python 2.4 08:10:38 ....crap 08:11:01 -!- helios24 has joined. 08:13:50 ~exec self.imlazy("~A", lambda x: " ".join(["".join(["A" for c in w]) for w in x.split()]) + "!") 08:13:54 ~A hmmmm 08:13:54 AAAAA! 08:13:57 ~A hmmmm hmmmm 08:13:58 AAAAA AAAAA! 08:14:07 ~A to be or not to be, that is the question 08:14:07 AA AA AA AAA AA AAA AAAA AA AAA AAAAAAAA! 08:15:02 I had to do a cheap hack to bypass the lack of conditionals. 08:15:18 I couldn't conditionally exclude whitespace from being converted... so I used split and applied a for loop to each word. 08:15:46 It works 08:18:38 hrm... 08:18:49 time to implement dupdog 08:18:50 :D 08:27:07 ~exec def mfit(src):; cmd = src[0]; src = src[1:]; if cmd == "~":; return src*2; elif cmd == "?":; if len(src)%2 == 0: return src.replace("?","\n").replace("~", "\t").replace("!","?").replace("\n","~").replace("\t","!"); else:; return src; else; print len(src); return "" 08:27:39 ...damn 08:49:02 -!- sebbu has joined. 09:24:27 -!- wooby has joined. 10:00:30 -!- oerjan has joined. 10:13:33 amphibious programming FTW 10:36:41 ~A Good grief. 10:36:41 AAAA AAAAAA! 11:11:55 ~A 11:12:01 ~A 11:12:05 ~A 11:12:05 AAAA! 11:12:18 ~A 11:12:18 AAAAA AAAA AAA AA A! 11:49:38 -!- wooby has quit. 12:40:22 -!- Sgeo has joined. 12:50:56 -!- oerjan has quit ("Dream"). 13:54:18 -!- helios24 has quit ("Leaving"). 14:46:12 -!- ihope has joined. 15:10:22 * SimonRC lols at the original iPod announcement at Slashdot. 15:10:22 "No wireless. Less space than a nomad. Lame." 15:10:23 X-P 15:10:47 oklopol: have you been reading Uncyclopedia again? 15:15:15 oh me? 15:15:30 i've never read uncyclopedia :\ 15:15:33 why you ask? 15:27:37 I made the AAAA! thing 15:27:52 (AAAAAAAAA! is something from uncyclopedia) 15:28:37 http://uncyclopedia.org/wiki/AAAAAAAA%21 15:34:44 http://esoteric.voxelperfect.net/wiki/AAAAAAAAAAAAAA%21%21%21%21 15:34:48 do that too 15:43:28 hmmm 15:43:40 what's the servername and hostname parameters of a USER IRC message for? 15:43:56 it seems odd that the server would request its own name in a USER message 15:46:01 you don't send them 15:46:09 it's for their internal messaging 15:46:26 just the same format between users and servers && servers and servers 15:46:34 if you supply it, it's ignored 15:46:48 read the rfc like us the rest of us 15:46:48 :) 15:47:04 you put a * usually 15:47:10 CakeProphet: ok, my mistake 15:48:13 ....I did read the rfc... it didn't explain any of that 15:49:35 really :O 15:49:40 it's a big rfc 15:49:48 it explains it all 15:51:30 hmm, i'm not sure if the client rfc explains it, just saying they are ignored should suffice 15:51:42 you can read the server rfc if you care about details :) 15:52:55 Note that hostname and servername are normally ignored by the IRC 15:52:56 server when the USER command comes from a directly connected client 15:52:56 (for security reasons), but they are used in server to server 15:52:56 communication. 15:52:58 client rfc 15:53:38 for security reasons... a very thorough explanation :) 15:58:27 I'm reading the server rfc... 15:58:31 didn't know there was more than one 16:00:45 god i chose the wrong lisp book :) 16:01:15 i've read 111 pages and i know EVAL, DEFUN and lists 16:01:40 i couldn't gotten all this information in 10 minutes from anyone who knows lisp 16:01:59 plus the book is from 1989... prolly changed quite a bit :) 16:02:10 but, gotta finish what i started 16:29:24 There are two RFCs, eh? 16:29:32 Is RFC 1459 the client one? 16:34:58 i think so 16:49:31 No. 16:49:37 RFC 1459 is the old RFC. 16:49:49 The newer ones (there are 4 or 5 of them) start with a 2. 16:50:01 See http://www.irchelp.org/irchelp/rfc/ 16:50:08 :o 16:50:17 why am i always so goddamn obsolete 17:10:36 -!- Sgeo has quit (Remote closed the connection). 17:12:44 * SimonRC wonders why seperate layers are a good thing in software but a bad thing in your mind. 17:16:13 they're bad in your mind? 17:16:28 i thought mind was the ultimate layer management system 17:18:19 Nonono, I was thinking about the Superego/Ego/Id thing, which IIRC Freud blames for many mental problems. 17:18:28 OTOH, Freud wrote a lot of crap at times. 17:19:40 ah, you didn't mean different layers of abstraction, but that 17:20:21 isn't that more like... multithreading? 17:20:29 haven't read about that actualyl 17:20:32 ylylyly 17:21:50 -!- jix__ has joined. 18:07:54 * SimonRC goes to dinner 18:31:26 -!- oerjan has joined. 18:41:33 -!- helios24 has joined. 18:56:48 -!- helios24 has quit ("Leaving"). 18:57:31 -!- helios24 has joined. 18:57:42 -!- helios24 has quit (Read error: 104 (Connection reset by peer)). 18:58:22 -!- helios24 has joined. 19:03:32 -!- wooby has joined. 19:04:35 -!- helios24 has quit ("Leaving"). 19:04:51 -!- helios24 has joined. 19:35:20 * CakeProphet watches as he bzips his entire computer. 19:35:45 I'm finally getting a linux distro. 19:35:47 how exciting. 19:36:46 Entire computer? Including hardware? :) 19:37:00 ....of course 19:37:02 ... 19:37:10 nah... just the essentials and stuff I can't get elsewhere. 19:37:31 which compromises roughly 2.4 gigs of gzip compressed data. 19:37:38 which apparently is too large to... shove down my email... 19:37:44 so... I'm bzipping the gzip of a tar 19:38:34 it's just a backup anywas. 19:38:44 once I get linux I can just access the partition directly. 19:39:38 I'm considering impatiently skipping the backup and booting it. 19:59:37 knoppix? 20:00:22 -!- CakeProphet has quit ("haaaaaaaaaa"). 20:11:49 -!- CakeProphet has joined. 20:14:45 -!- CakeProphet has quit (Client Quit). 20:40:16 -!- pikhq has joined. 20:42:43 SevenInchBread is apparently a dick. 21:46:49 He is? 21:47:08 ~A AAAAAAAAAA 21:47:09 AAAAAAAAAA! 21:47:36 Or is it she? 21:48:17 ~A AAAAAAAAA= 21:48:18 AAAAAAAAAA! 22:03:27 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:10:43 ~A AAAAAAAAA= 22:10:52 ? 23:15:30 -!- CakeProphet has joined. 23:36:57 -!- Sgeo has joined. 23:50:23 -!- sebbu2 has joined. 23:58:35 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).