00:01:34 sigh 00:03:10 ~quit 00:03:11 -!- bsmnt_bot has quit. 00:03:14 -!- bsmnt_bot has joined. 00:03:14 ~quit 00:03:15 -!- bsmnt_bot has quit (Client Quit). 00:03:15 ~quit 00:03:17 -!- bsmnt_bot has joined. 00:03:46 k 00:04:30 ~exec self.raw("QUIT") 00:04:31 -!- bsmnt_bot has quit (Client Quit). 00:04:33 -!- bsmnt_bot has joined. 00:04:37 sweet 00:06:04 ~exec self = 3 00:06:11 . 00:06:19 you fail 00:06:23 immutability 00:06:29 Right, that. 00:06:44 ~exec self.do_quit = 3; self.exec_execer = 3 00:06:52 ~exec self.raw("QUIT") 00:07:06 heh 00:07:18 ~exec self = 3 00:07:22 Just for good measure, eh? 00:07:30 that didn't get executed 00:08:37 ~quit 00:08:37 -!- bsmnt_bot has quit (Client Quit). 00:08:39 -!- bsmnt_bot has joined. 00:08:50 haHA! 00:08:58 Aww. 00:09:06 ~exec self.do_quit = 2 00:09:13 ~exec self.print_callbacks() 00:10:08 ~exec for i in self.raw_regex_queue: "~quit" not in i[0].pattern or sys.stdout(i[1]) 00:10:09 > 00:10:24 ~exec for i in self.raw_regex_queue: "~quit" not in i[0].pattern or sys.stdout(type(i[1])) 00:10:25 00:10:28 weird 00:10:31 heh 00:10:58 What's this or stuff? 00:11:06 ? 00:11:09 Rather, this "or" stuff. 00:11:19 boolean or... 00:11:33 Short-circuited? 00:11:37 yeah 00:11:41 Fun. 00:12:27 ~exec ["~quit" not in i[0].pattern or sys.stdout(i[1]) for i in self.raw_regex_queue] 00:12:28 > 00:12:37 without the for loop 00:13:05 ~exec ["~quit" not in i[0].pattern or i[1]=3 for i in self.raw_regex_queue] 00:13:17 ohright 00:13:44 ~exec for i in self.raw_regex_queue: "~quit" not in i[0].pattern or i[1]=3 00:13:55 ~exec for i in self.raw_regex_queue: "~quit" not in i[0].pattern or sys.stdout(i[1]) 00:13:57 > 00:14:00 hmmm 00:14:03 weird 00:14:34 ~exec self.register_raw(".*", lambda x: True) 00:14:52 ~exec self.register_raw(".*", lambda x: True) 00:14:53 -!- bsmnt_bot has quit ("Disconnected."). 00:14:54 ~exec 3 00:14:55 -!- bsmnt_bot has joined. 00:15:06 ~exec self.register_raw(".*", lambda x: True) 00:15:07 ~exec 3 00:15:07 -!- bsmnt_bot has quit (Client Quit). 00:15:09 -!- bsmnt_bot has joined. 00:15:13 heh 00:15:19 ~exec 3 00:15:49 That wasn't me that was doing that, then, was it? 00:15:54 ~exec self.register_raw(".*", lambda x: True) 00:15:57 no it was me 00:15:58 -!- bsmnt_bot has quit (Client Quit). 00:15:59 -!- bsmnt_bot has joined. 00:16:03 Fun. 00:16:10 ~exec True 00:16:20 only works for callbacks 00:16:38 ~exec while True: self.register_raw(".*", lambda x: print x) 00:16:47 Aww. 00:16:53 print is a statement 00:16:54 * ihope does something to print 00:17:19 sys.stdout 00:17:23 ~exec while True: self.register_raw(".*", lambda x: sys.stdout(x)) 00:17:44 except no 00:17:44 :bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG #esoteric :except no 00:17:45 -!- bsmnt_bot has quit (Excess Flood). 00:17:47 -!- bsmnt_bot has joined. 00:17:53 * ihope giggles slightly and/or cackles evilly 00:17:54 hmm 00:18:05 weird 00:18:10 ~exec self.register_raw(".*", lambda x: sys.stdout(x)) 00:18:20 Always fun, I'm sure, eh? 00:18:20 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :Always fun, I'm sure, eh? 00:18:33 Except now my client beeps every time I say something. 00:18:34 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :Except now my client beeps every time I say something. 00:18:36 heh 00:18:37 :bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG #esoteric :heh 00:18:50 Quick! Get another bsmnt_bot! 00:18:51 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :Quick! Get another bsmnt_bot! 00:19:10 drfg 00:19:10 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :drfg 00:19:19 * SevenInchBread AAAAAAAAAAAH 00:19:19 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION AAAAAAAAAAAH 00:19:26 AHA 00:19:26 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :AHA 00:19:31 PWNT 00:19:31 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :PWNT 00:19:42 ~exec self.raw("QUIT") 00:19:42 ah 00:19:42 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah 00:19:43 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :~exec self.raw("QUIT") 00:19:43 -!- bsmnt_bot has quit (Client Quit). 00:19:45 -!- bsmnt_bot has joined. 00:19:48 Fun. 00:20:26 ~exec self.grah = lambda: self.register_raw(".*", lambda x: sys.stdout(x)) 00:20:44 ...? 00:20:46 Now wait a minute... 00:21:01 self.register_raw(".*", lambda x: self.grah) 00:21:08 Whoops. 00:21:14 ... 00:21:17 ~exec self.register_raw(".*", lambda x: self.grah()) 00:21:20 Better. 00:21:21 -!- bsmnt_bot has quit (Remote closed the connection). 00:21:23 -!- bsmnt_bot has joined. 00:21:26 Or not. 00:24:01 Hmm... 00:24:39 ~exec sys.stdout(os.system("bash")) 00:24:40 32512 00:24:44 Hmm. 00:24:52 That won't work, now, will it? 00:25:12 nope 00:25:31 if you write a wrapper around os.popen with sockets, then you could get a shell 00:25:50 ei you netcat in 00:30:51 ~exec self.fd = os.popen("bash") 00:30:59 ~exec sys.stdout(self.fd) 00:31:00 00:31:08 ~exec sys.stdout(self.fd.read()) 00:31:14 ... 00:31:18 ~ps 00:31:19 None 00:31:33 ~exec self.fd.write("echo *") 00:31:36 ~ps 00:31:36 None 00:31:40 ~exec sys.stdout(self.fd.read()) 00:31:49 hmmm 00:32:17 ~exec sys.stdout(self.fd) 00:32:17 00:32:21 oh right 00:32:27 ~exec sys.stdout(self.fd.close()) 00:32:28 32512 00:32:44 Let's just sys.stdout everything... 00:32:54 ~exec self.fd = os.popen("bash", "rw") 00:33:04 ihope: I dunno how to get a return value from an exec 00:33:12 ~exec sys.stdout(self.fd) 00:33:13 00:33:20 hrm 00:33:23 ~exec self.fd = os.popen("bash", "rw") 00:33:26 ~exec sys.stdout(self.fd) 00:33:27 00:33:32 that ain't cool 00:33:59 ~exec self.fd = __import__("popen2").popen2("bash") 00:34:05 ~exec sys.stdout(self.fd) 00:34:06 (', mode 'r' at 0xb7c2ead0>, ', mode 'w' at 0xb7c2e9f8>) 00:34:10 k 00:34:31 ~exec sys.stdout( self.fd[1].write("echo *") ) 00:34:32 None 00:34:38 -!- calamari has joined. 00:34:44 ~exec sys.stdout( self.fd[0].read(10) ) 00:34:50 ~ps 00:34:51 None 00:34:54 :/ 00:34:57 ~exec sys.stdout( self.fd[0].read(10) ) 00:35:03 ~exec sys.stdout( self.fd[0].read() ) 00:35:06 ~ps 00:35:07 None 00:35:14 ~exec sys.stdout( self.fd ) 00:35:14 (', mode 'r' at 0xb7c2ead0>, ', mode 'w' at 0xb7c2e9f8>) 00:35:43 hmmm 00:35:58 ~exec self.fd = __import__("popen2").popen2("bash -i") 00:36:06 ~exec sys.stdout( self.fd ) 00:36:07 (', mode 'r' at 0xb7c2eb18>, ', mode 'w' at 0xb7c2e9b0>) 00:36:13 ~exec sys.stdout( self.fd[0].read(10) ) 00:36:22 ~exec sys.stdout( self.fd[1].write("echo *") ) 00:36:23 None 00:36:25 ~exec sys.stdout( self.fd[0].read(10) ) 00:36:29 gah 00:36:35 ~ps 00:36:36 None 00:38:03 weird 00:44:40 Maybe the file descriptor is set to non-blocking or something? 00:48:51 -!- na[zZz]gjunk has quit (Read error: 54 (Connection reset by peer)). 00:49:14 -!- nazgjunk has joined. 01:02:31 foo 01:02:41 foo 01:08:17 -!- calamari has quit ("Leaving"). 01:19:22 foo 01:19:26 foo 01:23:30 01:25:30 foo 01:25:31 foo 01:26:26 foo 01:26:42 Mmh? 01:42:10 nevar! 01:46:09 ein neve, neven, nevar, nevane 01:46:20 (nynorsk) 01:48:29 -!- nazgjunk has quit (Success). 01:48:52 -!- nazgjunk has joined. 01:54:27 i think he meant "to snow" 01:54:31 nieva 01:55:54 * oerjan likes Google maps. 01:56:20 I am looking at individual _cars_ on the Golden Gate bridge ... 01:56:33 sswweett 01:56:55 there's nekkid people on google earth 01:58:04 It's a bit less resolution outside North America or so, alas. And some countries don't have maps at all. 01:58:11 -!- ihope has quit (Read error: 110 (Connection timed out)). 01:58:39 But the Eiffel tower and Taj Mahal looked good. 01:58:45 Google sign to a partnership with some astronomy people to build a big telescope. 01:58:54 we could be seeing Google Universe next. 02:00:42 Alas there is little hope of zooming to uncharted places. 02:01:24 Got to go with what astronomers are interested in. Not that that would be a bad thing. 02:01:49 too big 02:03:41 But you could probably get a good view of the Andromeda galaxy. 02:49:02 -!- nazgjunk has quit (Read error: 54 (Connection reset by peer)). 02:49:10 -!- nazgjunk has joined. 03:17:04 -!- calamari has joined. 03:18:05 -!- SevenInchBread has quit ("haaaaaaaaaa"). 03:18:59 * bsmntbombdood feels leet 03:20:25 http://paste.lisp.org/display/36038 03:30:19 -!- ihope has joined. 03:34:29 * bsmntbombdood thinks that's pretty clever 03:39:15 * bsmntbombdood calculates sqrt(2) to within 1/1000000000000000000000000000000 03:49:22 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 03:49:40 -!- nazgjunk has joined. 03:54:55 bsmntbombdood: algorithm? 03:56:13 (newtons-method (lambda (x) (- (square x) 2)) 1 1/1000000000000000000000000000000) 03:57:34 newtons-method being defined in that paste 04:02:10 As long as tolerance is not so small that you get serious rounding off errors... 04:05:07 In which case using a larger dx than tolerance might be a good idea. 04:05:47 there are no rounding off errors 04:05:57 It stays as a rational 04:07:08 All right then. 04:12:04 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:35:20 -!- calamari has quit ("Leaving"). 05:55:02 -!- nazgjunk has quit ("rawr. And, also: Bi-la Kaifa"). 06:04:08 -!- anonfunc has joined. 06:08:44 -!- oerjan has quit ("Eeek"). 06:11:46 -!- Sgeo has quit (Remote closed the connection). 06:16:28 hooray for built in rationals 06:34:16 -!- sp3tt has joined. 07:03:47 -!- Jessie has joined. 07:22:41 -!- Jessie has quit ("Chatzilla 0.9.77 [Firefox 2.0.0.1/2006120418]"). 07:24:14 -!- anonfunc has quit. 07:26:01 -!- anonfunc has joined. 07:48:05 sorry, i don't following this chan, so perhaps a dup: http://scienceblogs.com/goodmath/2007/01/a_pathological_challenge_prime.php 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:02 -!- lament has changed nick to lt. 08:22:07 -!- lt has changed nick to lament. 09:29:44 -!- terjek has joined. 09:33:42 -!- terjek has left (?). 10:15:46 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 10:40:38 -!- puzzlet has joined. 11:48:16 -!- anonfunc has quit. 13:24:33 -!- nazgjunk has joined. 14:15:41 -!- calamari has joined. 14:25:30 -!- nazgjunk has quit (Read error: 54 (Connection reset by peer)). 14:25:48 -!- nazgjunk has joined. 14:32:14 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 14:32:45 -!- nazgjunk has joined. 15:49:15 -!- RodgerTheGreat has joined. 15:49:33 hello 15:51:07 hey 15:51:33 * RodgerTheGreat tips his hat 15:52:56 hi RodgerTheGreat 15:53:12 what's up, calamari? 15:53:32 hmm.. good question 15:54:58 -!- puzzlet has quit (Read error: 54 (Connection reset by peer)). 15:55:06 -!- puzzlet has joined. 15:55:12 not exactly sure how to put it into words 15:55:48 sounds like it'll be either fascinating or pointless 15:55:52 but, take all gravitational force vectors, find the net force on the object in question.. draw a vector opposite that, should be up 15:56:05 ah, physics 15:56:23 you're finding the normal force? 15:56:35 thanks, that's probably how to say it 15:56:40 been a while 16:29:46 -!- jix__ has joined. 16:31:31 bbl 16:31:38 -!- RodgerTheGreat has quit. 16:35:52 *ahem*: Up is the direction indicated by the vector opposite of that vector which represents the sum of all gravitational forces at a given location. 16:35:58 I use that one all the time. 16:50:10 -!- FabioNET has joined. 17:06:03 -!- digital_me has joined. 17:31:59 -!- nazgjunk has quit (Read error: 54 (Connection reset by peer)). 17:32:31 -!- nazgjunk has joined. 18:18:01 -!- sebbu has joined. 18:32:21 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 18:32:24 oooh, NULL 18:32:26 fun 19:02:09 yeah, it's my favorite too 19:08:26 -!- cmeme has quit (Connection reset by peer). 19:13:36 -!- cmeme has joined. 19:58:44 -!- digital_me_ has joined. 20:04:07 -!- sebbu2 has joined. 20:09:28 -!- digital_me has quit (Read error: 110 (Connection timed out)). 20:11:40 -!- sebbu has quit (Read error: 60 (Operation timed out)). 20:16:57 -!- sebbu2 has changed nick to sebbu. 20:38:55 -!- ihope has joined. 20:48:17 Now, really. Everybody says "publicly" is in fact spelled "publicly", but many other words don't follow that rule. And I'm not talking about things like "musically". 20:48:57 "Basically" is one example. 20:51:04 bsmntbombdood: "NULL"? 20:51:21 There was a young hacker from Hull... 20:52:14 Whose brain had a temporary lull... 20:53:00 His program was crashed... 20:53:07 And his data was trashed... 20:53:22 When malloc() returned a NULL. 20:53:35 heh, spontaneous lymeric 20:53:48 Under what conditions does malloc() return a NULL? 20:53:55 actually, that should be... 20:54:06 What if the memory allocated actually starts at address 0? :-P 20:54:11 "... 'Cause he didn;t check malloc() for NULL." 20:54:26 nonono, malloc returns null if it is out of space 20:54:36 That's the only time it does that? 20:54:49 Or there is some other problem 20:54:53 And all it returns is a pointer? 20:54:57 yes 20:55:28 in C++, the new keyword throws an exception instead, but I'm not sure about malloc(). 20:55:29 How are you supposed to tell why it failed, then? 20:55:37 you aren't 20:55:54 Write your own function to use instead of malloc()? 20:56:59 I mean, surely malloc() was written. 20:58:39 Indeed, it is quite possible to write malloc() in C. 20:58:52 I would demonstrate, but I haven't the time :-( 21:01:38 It might need a bit of system calling, of course. 21:01:42 I mean, wouldn't it? 21:03:36 not necessarily. 21:04:13 If you want a fixed amount of space available for allocation, you can just have a large static array to hold it. 21:04:40 Yeah, you could do that. 21:04:48 If you want to be able to ask the OS, use os-specific calls to extend your address space 21:04:50 What would you do if you ran out of memory, though? 21:05:00 panic? 21:05:29 I recall that the Z-machine's malloc used a large fixed-size array. 21:05:46 The glulx machine probably doe mamory-expansion, though 21:05:49 lol! 21:05:56 s/memory/memory/ 21:08:00 erm 21:08:04 s/mamory/memory/ 21:08:46 You can achieve the same effect by first doing s/memory/memory/ then doing s/memory/mamory/. :-) 21:26:23 -!- Sgeo has joined. 21:54:02 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:28:14 -!- SevenInchBread has joined. 22:30:43 -!- FabioNET has quit ("goood night"). 22:32:02 SimonRC: some esolang 22:32:27 ihope: errno 22:33:09 and see sbrk(2) 22:34:32 C's method of reporting failures is the global errno variable 22:35:04 malloc sets errno to ENOMEM if it runs out of memory 22:36:15 hmmm 22:36:17 so... 22:36:20 vim and emacs both suck. 22:36:27 ...and I need to find a new text editor. 22:36:33 j 22:36:43 j sucks too... 22:36:47 :) 22:36:49 j is awesome. 22:36:55 SevenInchBread: emacs doesn't suck 22:36:56 It's also unfortunately in Java :( 22:36:57 I just want like... 22:37:07 IDLE with tabs... or a buffer list. 22:37:28 emacs 22:38:02 emacs is IDLE with a buffer list, annoying key combinations, and torturous configuration. 22:38:16 tortuous 22:38:17 ? 22:38:26 you have a whole scripting language on your hands 22:38:52 ...oh dear... 22:39:07 yeah, that's too much... I want... IDLE with tabs. 22:39:16 not a whole scripting language that I have to learn. 22:43:55 ugh, we're worse than religious advocates, I swear. 22:44:13 SevenInchBread: I hear /usr/bin/env python > is a good editor. 22:44:15 :-P 22:45:06 * SevenInchBread loves programming, but hates the fanaticism it forms... 22:46:42 Use Haskell. I don't see how you can survive with that mind-bending dynamic typing. 22:47:01 And no currying! Sheesh! 22:48:27 :P 22:49:08 (Of course I'm ignoring the fact that it's perfectly possible to do currying in Python, though a little annoying. 22:49:09 pfft, but how the hell could I possibly use monads... and static typing is like wearing a straightjacket. 22:49:13 ) 22:49:23 I actually don't know what currying -is-... 22:49:26 * SevenInchBread reads up on it. 22:49:30 dynamic typing is great 22:49:34 i can't stand static 22:49:42 Oh, now you *want* to add functions together to get a string? 22:49:54 nooo 22:50:05 functions don't have a __add__ method 22:50:06 duh 22:50:41 Pff, I bet Python doesn't even have typeclasses. 22:51:15 * SevenInchBread is working on his own Smalltalk-like language at the moment. 22:51:39 Smalltalk-like, eh? 22:51:40 What's a typeclass? 22:51:53 Yeah ,smalltalk looks cool. 22:52:12 bsmntbombdood: it's interfaces from object-oriented stuff, except better. 22:52:14 I've never -used- it... but it's Lispy enough that I can get basically how it works at least in spirit. 23:14:28 -!- calamari has quit ("Leaving"). 23:15:48 so currying is just... 23:15:54 partial functions? 23:16:09 -!- sebbu has quit ("@+"). 23:17:08 pppph 23:17:10 .. 23:17:12 oooh 23:17:31 hhho 23:17:33 yeah okay, I see... you split the function into individual one-argument functions? 23:32:24 -!- digital_me_ has quit ("Lost terminal"). 23:35:09 -!- nazgjunk has quit ("rawr. And, also: Bi-la Kaifa"). 23:41:46 SevenInchBread: pretty much. 23:46:21 -!- oerjan has joined. 23:52:14 ihope, hmmm... it would be good for delaying a functions execution... 23:52:22 and... optional arguments... to a certain extent. 23:53:54 no 23:54:05 optional arguments doesn't work with currying 23:55:29 yeah, Ocaml has both and has to disallow currying when you use optional arguments 23:56:47 hooray for scheme 23:57:24 scheme doesn't have implicit currying. 23:58:27 (define (curry f . x) (lambda (a . rest) (apply f (append x (cons a rest)))))