00:00:09 that doesn't seem to work either (adding exports there) 00:00:57 ah, .bashrc worked 00:03:04 here is the sokoban program I was thinking of: http://esoteric.sange.fi/archive/2001-q2-2 00:03:30 -!- graue has quit (Remote closed the connection). 00:04:37 .bashrc 00:04:44 Whoops, too late :P 00:05:02 G!{M[moO!"You suck GregorR!"oo.?]} 00:05:03 You suck GregorR! 00:05:07 Ow, I'm hurt! 00:08:37 I see that you noticed my little _o -> o trick hehe 00:08:55 Actually it uncovered a memory leak :P 00:09:02 yay 00:09:10 M doesn't delete its class variables :P 00:11:06 A memory leak ... that I haven't fixed 8-D 00:26:35 BTW, I'm considering making a competitor to EsoBot, since the idea is far better than GlassBot's. 00:27:23 I'll call it EgoBot. 00:27:44 ooh. many bots here now :) 00:27:50 Heheh 00:28:00 what does the esobot do? 00:28:02 If calamari would keep EsoBot on 24/7, I could disable BFBot. 00:28:20 kipple: Several languages, any implemented in Java could be made to be done in EsoBot. 00:29:11 if calamari can't keep it on 24/7 I'd be happy to host it 00:29:34 Not as soon as EgoBot comes out and is better ;) 00:30:56 hmm. I could write a small bot that just pipes the program a regular interpreter and return the output. That way I could easily interpret all languages I have interpreter for :) 00:32:40 That's what EgoBot will do XD 00:32:56 The best part of EsoBot is that it has no problem with infinite loops, since it can multiprocess. 00:32:59 ok :) 00:33:38 wow :) 00:33:41 hi all, by the way 00:33:46 hello 00:34:01 Hi marcan! 00:34:07 just another guy who thinks esoteric languages are fun :) 00:34:11 Welcome to #esoteric! 00:34:23 thanks 00:34:38 kipple: thanks for the hosting offer :) 00:34:52 I've got an UML server by the way 00:34:57 so if hosting is needed, I've got some 00:35:25 kipple: I'd run it on my shell, but they specifically disallow irc bots 00:35:46 What about ircd's? :P 00:36:03 my other hosting provider used to disallow IRC bots too 00:36:06 my host is just an old 187MHz debian box under my bed, but at least its on 24/7 00:36:13 but my current one allows anything, basically (as long as it is legal) 00:36:27 they don't like excessive CPU usage though, but I can throttle that 00:36:42 nice is your friend ;) 00:36:47 of course :) 00:37:05 nice thing about UML is you get your own virtual distro 00:37:09 so you have full privileges 00:37:25 Yeah, that is awesome. 00:37:49 what's UML (not the markup language) 00:37:53 user mode linux 00:37:56 User-Mode Linux 00:37:59 Damn, you're a fast typist. 00:38:06 lol 00:38:14 basically, they run linux as a process under linux 00:38:20 so you effectively have your own kernel and userland 00:38:26 nice 00:38:28 (you get a virtual hard disk partition) 00:38:36 -!- graue has joined. 00:39:15 what are some of the more "practical" esolangs, like ones I could write a CGI script in? 00:39:21 Glass ;) 00:39:30 Glass would work for that? 00:39:33 befunge? 00:39:34 I should try it then 00:39:34 Sure. 00:39:36 or Ork 00:39:38 I guess Funge would work too, but it would be interesting to code in 00:40:00 can you parse text in those languages, without, like, using 90 screenfuls of junk to do it? 00:40:04 oops, kipple was faster on that one :) 00:40:29 In Glass you could make a nice parser class and then never type it again :) 00:40:32 I mean I'm not really gonna be able to parse headers with brainfuck, for instance 00:40:34 that sounds good 00:40:48 I guess you could parse text decently with befunge or Glass 00:40:59 Though I need to finish the input class before any of this would be useful ;) 00:41:16 for CGI you'd need environment variables too 00:42:15 ? How's that? 00:42:15 just need to write a little wrapper that provides all the environment variables on stdin, followed by a blank line 00:42:28 GregorR-L, CGI uses environment variables e.g. $HTTP_CONTENT_LENGTH etc 00:42:30 Exactly 00:42:41 that would work 00:42:46 OH, I'm underspecifying mentally :P 00:43:40 I'd really love to see something complex implemented on a layered Brainfuck :) 00:43:50 like, implement a simple opcode language on top of brainfuck 00:43:56 the something more complex on top of that 00:43:59 then write a game on it 00:44:04 would be slow as hell, though 00:44:04 lol 00:46:28 I've been thinking of a Brainfuck with procedures 00:46:35 it would be compiled into ordinary Brainfuck 00:46:57 by inlining recursively (procedures in this language could not make recursive calls) 00:47:23 someone already made BFM, Brainfuck with macros, but I remember not liking that language (or its implementation) for some reason 00:47:48 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 00:48:21 -!- CXI has joined. 00:49:01 graue: seen this? http://esolangs.org/wiki/Pbrain 00:49:55 kipple: ah, interesting 00:50:00 kipple: I was thinking proper names though 00:50:25 like (add) (brainfuck code for adding goes here) 00:50:52 I like the pbrain approach as it is a bit more bf-like than others I've seen 00:53:42 having procedures at all isn't bf-like 00:54:16 true. I said _more bf.like_ though 00:54:31 it doesn't pollute the source code with user-friendly keywords 01:11:55 with my version, the only place letters would be significant is inside parentheses 01:16:44 doesn't the numbering limit Pbrain to 256 procedures? 01:16:55 yes (if you use 8-bit cells) 01:18:26 never mind, I see how it doesn't 01:18:49 it doesn't? 01:19:23 er, in a way, because you can make a procedure 0 add its version of procedures 2-255, and procedure 1 add its version of those procedures, for a total of 510 procedures 01:19:27 for instance 01:19:47 ah, yes. good point 01:19:55 then calling procedure 2-14 becomes [-]++:++++++++++++: 01:20:44 this would be pretty hard to compile into regular brainfuck 01:25:51 we ought to start using the ESOLANG mailing list again 01:26:11 much of the chatter on the wiki really doesn't belong on wiki talk pages at all, since it's about the languages themselves 01:26:25 and it keeps going into indentation overdrive and running off the right side of the page, too 01:26:40 yeah, but not everyone wants to be on the mailing list :( 01:26:47 kipple: really? who doesn't? 01:27:20 don't know specifically, but in general I feel there are always some who don't want to bother with subscribing to mailing list 01:27:36 that is of course mostly their problem 01:29:45 hmm 01:29:56 has anyone written a Tetris game in brainfuck? 01:30:03 that would be an interesting project 01:30:05 probably not 01:30:18 I don't know any games written in bf... 01:30:25 there should be some 01:30:43 how would you do the delaying? 01:30:45 it would need minor changes to the interpreter though 01:30:46 exactly 01:30:48 brainfuck can't call nanosleep 01:31:07 well, you could just loop for a while 01:31:11 and make a crude delay 01:31:14 yeah 01:31:31 the interpreter would need to support unbuffered and nonblocking input though 01:31:33 but that's about it 01:31:34 that sounds like DOS games written in Pascal 01:32:18 unbuffered and nonblocking input would be sufficient for anything visual, using vt100 sequences or whatever 01:32:29 of course 01:32:40 but I don't think you'll have any luck getting a fudged delay to work on more than one interpreter, let alone computer 01:32:50 yep 01:32:59 I guess we could add in another operator though 01:33:06 like % or something 01:33:13 delay current cell in ms 01:33:19 that's just what I was thinking 01:33:49 that would be a pretty interesting BF program though 01:33:52 how about sokoban in brainfuck? make the player type "u" to move up, etc 01:34:23 interesting 01:34:44 similar to tetris in essence 01:35:25 how? tetris requires delays and reflexes 01:39:05 yeah 01:39:20 but you still have an array of blocks, and move around things 01:39:25 you need some of the same principles 01:39:39 collision detection and moving on a 2D grid (using 1D memory) 01:41:09 http://jonripley.com/brainfuck/games/ 01:41:10 hmm 01:41:11 brainfuck games 01:43:53 There's bfvga, but no-one sane would write a game in it. 01:44:27 marcan: type this: /msg EsoBot E!bf http://localhost/bf/LostKng.b 01:44:59 E!ps 01:45:07 3:calamari, 4:marcan, 5:marcan 01:45:12 impressive 01:45:28 marcan: then use E!input ... 01:45:33 yeah, I know 01:45:36 cool 01:45:42 impressive, given that my interpreter has yet to print out a single character 01:45:59 time to get a faster interpreter (that I never thought I'd need) 01:46:06 marcan: bf is my favorite esoteric language :) 01:46:29 same thing here :) 01:46:48 Lost Kingdom is not written in brainfuck though, so it doesn't really count. 01:46:54 indeed 01:47:00 (bfvga's a bf with a 64000-byte data array mapped to the 320x200x8bit-sized VGA mode display memory - http://www.pouet.net/prod.php?which=5060 ) 01:47:11 that's cool 01:47:29 blah, whatever, it counts in my book 1) it's a cool game, 2) it would take too long to write directly 01:48:13 it does demonstrate the coolness of BFBASIC 01:48:29 hehe, I suppose 01:48:31 it also demonstrates what's possible with brainfuck itself 01:48:39 but I don't see at as much different, really, than distributing a binary program with no source code 01:48:44 I guess it also does that, true 01:49:09 and stress-tests interpreters... 01:49:32 that reminds me, I could never get anything nontrivial working with BFBASIC 01:49:46 the resulting BF programs were just freezing or producing garbage 01:49:58 does it make weird assumptions about the environment (e.g. 16-bit word size)? 01:50:00 there were some serious bugs in the for/next code for a while 01:50:09 maybe that was it 01:50:38 I think it may make some assumptions 01:50:50 what are they? 01:50:52 I don't remember, that's really sad 01:51:25 EOF=0, 8-bit cells with wraparound, would be pretty sane assumptions, but I was using an implementation that met those 01:51:47 I don't think there is any EOF checking 01:51:55 since it doesn't really have any file functions 01:52:20 maybe the implementation was just broken 01:52:31 I was using some weird DOS thing that makes .com files, I think, at the time 01:52:32 yep, depends on 8 bit cells (at least NOT does) 01:52:52 graue: lol, did I write that? 01:53:06 I made a few bf -> com compilers 01:53:06 calamari: I don't think so 01:53:12 calamari: maybe though 01:53:19 most were very poor 01:53:27 since they didn't handle cr/lf correctly 01:54:08 kipple: how's progress on the Kipple '05 spec? 01:54:30 funny yous should ask. I'm working on it right now :) 01:54:43 seeing we have bfvga 01:54:48 when will we get bfgl? 01:54:50 *grin* 01:54:51 pretty close to done I think 01:55:05 mracan: hehe. 01:56:32 hmm. is there a true esoteric language that at the same time is efficient enough for graphics? 01:56:51 I think there is one 01:57:13 iirc it was similar to befunge with a huge library of functions 01:57:39 it's on the wiki 01:58:05 gammaplex? 01:58:13 that sounds right 01:58:45 interesting 01:59:05 (and my firefox just crashed on its homepage) 01:59:31 (and it did so again) 02:02:12 what os 02:03:35 linux 02:03:39 I'm pretty sure it was the flash 02:03:52 yeah, that's what would always crash me in 98 02:04:04 hasn't happened in linux for me yet, tho 02:04:35 I'm on amd64, and the official flash (which usually works) doesn't here 02:04:47 so I used to have gplflash, which never worked and always crashed 02:04:55 but flashblock would usually stop the flashes anyway 02:04:59 btw are you through with the game? 02:05:05 I'm completely killing gplflash now 02:05:09 oh, yeah 02:05:16 E!kill 4 02:05:17 Killed 4. 02:08:32 graue: about Kipple 05: I don't think I will finish the spec until I have it fully implemented 02:08:55 fair enough 02:09:09 cipple will need updating too! 02:09:12 as will orkipple 02:09:42 have you read the new spec draft? 02:09:57 not recently 02:10:28 unless they want to implement the optional features, updating cipple and orkipple will be rather trivial 02:12:19 So ... much ... conversation ... 02:12:33 well, cipple is my implementation of choice so (no offense, but) if cipple doesn't implement it I'm not going to be using it 02:12:56 and it does implement the "optional string preprocessing feature" 02:13:01 I might write Glipple. 02:13:03 jix wanted it as close to the original interpreter as possible 02:13:18 have you written a Glainfuck? 02:15:02 writing a BF interpreter is easier than writing a BF program in many cases, which is one of the most ironic things I like about BF 02:15:18 graue: what cipple implements is not up to me, unfortunately ;) 02:15:52 marcan: yeah. In almost ANY case I would say 02:16:25 except simple stuff like [+.] or [,.[-]+] or so 02:16:45 (add a + in front of those to actually make them do anything 02:16:54 that first one should be +[.+] 02:17:13 true 02:18:03 My Python BF interpreter supports unlimited memory in both directions, and unlimited cell size 02:18:17 of course, programs which assume wraparound will fail 02:19:38 graue: .+[.+] if you want \0 too :) 02:19:47 but I don't 02:20:06 sure you do :) 02:20:18 I think someone wrote an interpreter once where printing \0 ended the program 02:20:34 maybe that was me 02:20:40 hmm... Thinking about interpreters and compilers... 02:20:50 all that is kind of boring 02:20:52 let's make a BF CPU! 02:20:58 someone has 02:21:07 heh 02:21:22 without an FPGA or a microcontroller? 02:22:02 http://en.wikipedia.org/wiki/Brainfuck#Hardware 02:22:15 read that just now 02:22:20 why isn't that information in the esolang article? 02:22:26 one is an VHDL design for an FPGA and the other is for a PIC16F84 uC 02:22:29 :) 02:22:53 the PIC one is essentially an interpreter for an already existing CPU though 02:22:59 yeah thats cheating 02:23:03 and the VHDL one is an interpreter in a lower level hardware description language 02:23:26 but It'd be cool making an interpreter out of logic gates 02:23:31 need to make one out of transistors to be pure enough? 02:23:40 or maybae vacuum tubes 02:23:53 hell, someone made a complete CPU running a multitasking OS using 74xx gates 02:23:59 a brainfuck CPU is a piece of cake 02:24:04 nice 02:24:15 link to that? 02:24:30 http://www.homebrewcpu.com/ 02:25:03 telnet magic-1.org 02:25:06 type that 02:25:11 and connect to the computer :) 02:26:39 http://www.magic-1.org/ 02:26:43 and there's the webserver 02:35:43 hehe, that's fun 02:37:03 indeed 02:37:46 well, brainfuck would be way easier 02:38:53 all you need is SRAM, a pointer register (with increment/decrement), a data register for inc/dec the memory, and a serial port for , and . 02:39:03 and some logic for [ and ], which would be the most complicated part of it 02:39:13 (it would take just a couple counters though) 02:47:51 -!- GregorR-L has quit (Read error: 113 (No route to host)). 02:55:35 hmm 02:55:43 calamari: I'm going to see if I can do it on a simulator 02:58:16 good luck 02:58:17 calamari: I'm wrong, there actually is /not/ a memory leak there :P 02:58:22 I was positive that there was XD 02:58:26 GregorR: where? 02:58:38 Glass, if you made a class-wide variable of the M class. 02:58:55 oh 02:59:00 you may be able to simplify [] if you don't need "pure" bf 02:59:28 Yeah, [] is quite different from how a real CPU would handle jumps. 02:59:44 of course 02:59:50 it can be made simple though 03:00:27 all [ has to do is disable instruction execution (ie turn everything into a NOP) and count the number of [] until the number reaches 0, then turn it back on, if the register is 0 03:00:35 and ] just does the opposite, reversing the memory direction 03:00:58 I was thinking along the lines of the x86 JMP and JNZ :) 03:01:23 well, I could make the source include more information 03:01:29 like have [ include the address of the matching ] 03:01:31 and viceversa 03:01:35 but then you get into multiple bytes per instruction which introduces its own complication 03:01:46 yeah 03:02:14 I'd like to see one built with transistors 03:02:45 it would basically just be the same thing as using 74xx gates, but breaking down the gates into transistors 03:02:48 no real changes though 03:03:16 how many transistors are in the simple 74xx's? 03:03:22 like nand 03:03:37 a single nand gate is what, two FETs or so 03:03:55 so it may not be a huge deal to go pure then :) 03:04:05 of course, just a pain in the ass 03:04:27 like, a single 8bit latch in 74xx is a bunch of transistors in a repeating arrangement 03:04:31 which is just boring 03:04:48 who needs 8bit.. 1 bit should be enough for anybody .. ;) 03:04:49 oh, and a pain to route on a PCB :) 03:05:39 boolfuck you mean? 03:05:47 yeah, or bitchanger 03:06:10 Goooooooooo bitchanger! :) 03:06:14 the part I have never quite been able to grasp is how the clock/crystal thing works 03:06:20 are there any logic-gate-like languages? 03:06:50 graue: you mean like part #, wire connections? 03:07:21 I mean like nand and xor gates and stuff 03:07:22 there are circuit description languages 03:07:24 that'd be pretty much like a chip simulator, right? 03:07:25 and then you can emulate them 03:07:27 no, esoteric languages 03:09:24 {M[(ln)(_a)1=,/(_a)<0>^\<1>][m(_i)I!(_o)O!(_t)$(_c)(_i)e.?(_t)(ln).?=/(_c)(_i)c.?(_o)o.?(_c)(_i)e.?(_t)(ln).?=\]} < cat in glass 8-D 03:10:04 must be a tiny cat :P 03:10:14 very good, but can you write "dog" in glass? 03:10:15 or a large glass... 03:10:35 G!{M[m(_o)O!"dog"(_o)o.?]} 03:10:37 dog 03:10:38 the little-known dog utility, provided on some historical UNIXes, prints its output in reverse order after converting all letters to uppercase 03:11:04 is there no language based on nand gates? 03:11:07 I could have sworn there was 03:11:29 G!{M[m(_o)O!"^QUIT :Upgrades!"(_o)o.?]} 03:11:31 -!- GlassBot has quit ("Upgrades!"). 03:11:31 you can build any circuit out of nand gates 03:11:46 or nor 03:12:16 yes, I remember learning that fact in conjunction with (I thought) some sort of language or VM based on the concept 03:12:23 marcan: there you go.. build a computer.. hehe 03:12:38 -!- GlassBot has joined. 03:12:56 I could 03:13:09 a NAND gate with both inputs tied gives you an inverter 03:13:16 put that after another NAND, you get AND 03:13:30 put two inverters in front of NAND, you get OR 03:13:34 another after it, NOR 03:13:41 and you can build XOR out of that 03:13:47 and flipflops, and anything you want 03:13:54 and NXOR 03:13:59 of course 03:14:12 or is that XNOR? 03:14:29 no idea 03:14:30 I prefer to think of it as EQUAL :P 03:14:35 never used it 03:14:39 yeah 03:14:48 and XOR as NEQUAL? 03:14:49 also, is there a boolean XOR in C? 03:14:52 no 03:14:54 Yes XD 03:14:57 I always wondered that and never bothered to look 03:14:58 ^ 03:14:58 we were just discussing that earlier today 03:15:02 ^is bitwise 03:15:06 GregorR, he means a ^^ 03:15:06 Oh, sorry :P 03:15:08 No 03:15:12 Right 03:15:18 we were just discussing that earlier today and we decided it doesn't exist because: 03:15:22 1) it would look too cute 03:15:25 2) it couldn't be short-circuited 03:15:37 int xor(int a, int b) { if ((a && !b) || (b && !a)) return true; return false; } 03:15:41 Yes, there is ;) 03:16:31 I want to be able to do "(a ^^ b) = 1;" 03:16:34 that would be cool 03:16:46 assignment? 03:17:04 wait, that doesn't make any sense 03:17:06 never mind 03:17:09 :) 03:17:09 lol 03:17:23 if they're not equal then it sets them both to 1 03:17:24 it'd make a nice esoteric instruction 03:17:26 XORassign 03:17:28 if they're equal then it does nothing 03:17:30 may assign the value to one bit 03:17:31 or the other 03:17:33 randomly 03:17:38 I prefer my version 03:18:20 of course "(a && b) = 1;" would set both to 1 unconditionally 03:18:34 of course 03:18:36 Hmm ... 03:18:50 if (a ^^ b) = 1; set them both to one, then it would make (a ^^ b) != 1; ... 03:19:04 and "(a || b) = 1;" would set b to 1 only if a was initially nonzero, but would always set a to 1 (after reading its initial value) 03:19:41 hmm... 03:19:49 someone just called me due to a virus in his PC 03:19:59 I wonder if you could write a virus in BF or something 03:20:01 maybe not in BF 03:20:05 but what about l33t? 03:20:08 you could write a worm in l33t 03:20:09 it has connection support, heh 03:21:13 you could not infect OpenBSD boxes with it, though 03:21:20 at least not if they were running a default install 03:21:20 anyway, I'm off to have a look at his PC 03:21:24 bye 03:24:20 So graue, should I start making that CGI class for Glass? ;) 03:27:24 I guess so 03:29:03 * GregorR tries to decide whether it would be prudent to build support for environment variables into Glass ... 03:30:39 hehe, make it really bloated and include a zlib class in the standard library 03:33:05 lol 03:33:20 Hmm, I have no way of interfacing to C, so one would have to implement zlib in Glass XD 03:34:11 G!{M[m(_d)(Debug)!(_d)(cl).?]} 03:34:12 A Arr Arre BF Debug Emote F FE Fib I L LameQuine M Main O Rand S T Test V 03:34:17 Bleck. 03:34:20 G!{M[m(_o)O!"^QUIT :More upgrades!"(_o)o.?]} 03:34:22 -!- GlassBot has quit ("More upgrades!"). 03:35:10 -!- GlassBot has joined. 03:35:15 G!{M[m(_d)(Debug)!(_d)(cl).?]} 03:35:17 A Arr Arre BF Debug Emote F Fib I L LameQuine M Main O Rand S T Test V 03:35:31 G!{(Main)}{(Test)} 03:35:32 OK 03:35:35 G!{M[m(_d)(Debug)!(_d)(cl).?]} 03:35:38 A Arr Arre BF Debug Emote F Fib I L LameQuine M O Rand S T V 03:35:42 Much better. 03:35:47 G!{M[m(_d)(Debug)!"T"(_d)(fl).?]} 03:35:48 m 03:35:54 G!{T} 03:35:55 OK 03:35:59 All clean. 03:41:58 G!{M[moO!"+++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++."oo.?]} 03:42:00 +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 03:42:02 cool 03:42:08 G!{M[moO!"E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++."oo.?]} 03:42:08 E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 03:42:10 dog 03:42:27 Bye all 03:42:31 cya Sgep 03:43:05 woah 03:43:07 i'm back 03:43:24 Bye Sgep 03:43:26 Hi tokigun 03:43:32 ;) 03:43:34 F!34. 03:43:34 34 03:43:37 I just got my first Glass CGI script working :) 03:43:38 F!34, 03:43:38 " 03:43:49 F!34."a"34. 03:43:50 34a34 03:44:00 GregorR: show me :p 03:44:10 I'm behind a LAN which is behind a LAN. 03:44:18 hmm. 03:44:21 {M[m(_o)O!"Content-type: text/plain\n\nThis is a test\n"(_o)o.?]} 03:44:23 That's the code. 03:44:41 that's trivial though; it doesn't respond to input 03:44:42 that's so simple... how about complex code? 03:44:44 G!{M[moO!"F!34,E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++.34,"oo.?]} 03:44:46 F!34,E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++.34, 03:44:46 Error: Argument to ! is not a function 03:44:54 oops 03:45:15 I'm still working on it ;) 03:45:27 no, my bad 03:45:30 GregorR: hunt the wumpus! XD 03:45:45 ah, finally i'm rewriting SADOL interpreter in C++ 03:46:06 i have old interpreter written in C, but it was... ehh... whatever. 03:46:07 F!"G!{M[moO!"34,"E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++."34,"oo.?]}" 03:46:07 G!{M[moO!"E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++."oo.?]} 03:46:08 E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 03:46:09 dog 03:49:27 OK, it will clearly need access to the environment for GET, but what about POST ... 03:50:09 It can get post as-is. 03:50:18 F!"G!{M[moO!"34,"BF!+++++++++++[>++++++>+++>++++>++++<<<<-]>+++.+++++++++++++++++++++++++++++.++++.+++.>-.<---.-----.++.+++++++++++++++++.-----.+++.>>++.<<----------------.>.+++++++++++..>---..>-....<...<<-------.>>+++++++++++++++++++.>....<<..>>...<.>........<<..>--..<++.<++.>>++.>.<<+.>.>.<<.>--.>...<<."34,"oo.?]}" 03:50:18 Flood! 03:50:21 bah 03:50:40 BF!+++++++++++[>++++++>+++>++++>++++<<<<-]>+++.+++++++++++++++++++++++++++++.++++.+++.>-.<---.-----.++.+++++++++++++++++.-----.+++.>>++.<<----------------.>.+++++++++++..>---..>-....<...<<-------.>>+++++++++++++++++++.>....<<..>>...<.>........<<..>--..<++.<++.>>++.>.<<+.>.>.<<.>--.>...<<. 03:50:43 Ebfi factor.b +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 03:50:56 GregorR: well, but POST method requires environment variable... 03:51:14 BF!+++++++++++[>++++++>+++>++++>++++<<<<-]>+++.+++++++++++++++++++++++++++++.++++.+++.>-.<---.-----.++.+++++++++++++++++.-----.+++.>>++.<<----------------.>.+++++++++++..>---..>-....<...<<-------.>>+++++++++++++++++++.>....<<..>>...<.>........<<..>--..<++.<++.>>++.>.<<+.>.>.<<.>--.>...<<. 03:51:15 Ebfi factor.b +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 03:51:23 tokigun: POST seems to put vars on stdin. 03:51:26 weird.. must have copied the wrong string 03:51:48 GregorR: yes, but its length is given to environment variable "CONTENT_LENGTH". 03:51:52 (if you use cgi) 03:52:00 Mm, that's true. 03:52:10 OK, I'm going to have to make environment vars >_< 03:52:11 Bleck. 03:54:51 -!- graue has quit. 04:04:00 sometimes linux is dumb 04:04:11 I can't output ! without it being interpreted 04:05:50 ? 04:05:54 -!- Sgep has quit. 04:06:09 That is, you can't: echo Hello world! 04:10:30 G!{M[m(_o)O!"^QUIT :Even more upgrades!"(_o)o.?]} 04:10:31 -!- GlassBot has quit ("Even more upgrades!"). 04:11:16 -!- GlassBot has joined. 04:16:46 Hmm, will this flood or not... 04:16:47 G!{(Hshe)[(c__)k"a"=v<0>=n<0>=][(gk)k*][(sk)k1=,][(gv)v*][(sv)v1=,][(gn)n*][(sn)n1=,]}{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_w)*c(sn).?\cc(gn).?=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c(gv).?][s(_t)$(_w)2=(_v)1= 04:16:49 OK 04:16:50 ,,(_w)*(_t)l.?(_v)*c(sv).?]} 04:18:38 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_w)*c(sn).?\cc(gn).?=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c(sv).?]} 04:18:40 OK 04:19:24 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"A"(_h)g.?(_o)o.?]} 04:19:25 gv 04:19:30 Ewwwwwwwwwwwww 04:20:38 -!- kipple has quit (Read error: 110 (Connection timed out)). 04:21:05 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_w)*c(sn).?\cc(gn).?=(_f)c(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c*(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c*(sv).?]} 04:21:07 OK 04:21:11 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"A"(_h)g.?(_o)o.?]} 04:21:13 B 04:21:17 Wow. 04:21:31 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"C"(_h)g.?(_o)o.?]} 04:21:32 F 04:21:40 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"E"(_h)g.?(_o)o.?]} 04:21:41 F 04:21:44 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"A"(_h)g.?(_o)o.?]} 04:21:46 F 04:21:48 Unwow ... 04:23:21 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c*(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_w)*c*(sn).?\cc*(gn).?=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c*(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c*(sv).?]} 04:23:22 OK 04:23:28 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"A"(_h)g.?(_o)o.?]} 04:23:30 F 04:23:32 >_< 04:23:42 F!"G!{M[moO!"34,"BF!++++++++++++++[>+++>+++++>+++>++>+++++++<<<<<-]>>-.>>+++++.>.++++.<-.+++++++++++...<+...>.....>-----------.<<<-------.>.........<.<+..>>.....<<...>--..>>++.>++.<<<++.<.+++.>.>.<<.>--.>...<<."34,"oo.?]}" 04:23:43 G!{M[moO!"BF!++++++++++++++[>+++>+++++>+++>++>+++++++<<<<<-]>>-.>>+++++.>.++++.<-.+++++++++++...<+...>.....>-----------.<<<-------.>.........<.<+..>>.....<<...>--..>>++.>++.<<<++.<.+++.>.>.<<.>--.>...<<."oo.?]} 04:23:48 BF!++++++++++++++[>+++>+++++>+++>++>+++++++<<<<<-]>>-.>>+++++.>.++++.<-.+++++++++++...<+...>.....>-----------.<<<-------.>.........<.<+..>>.....<<...>--..>>++.>++.<<<++.<.+++.>.>.<<.>--.>...<<. 04:23:50 E!bf +++++++++++[>+++++++++>++++++++++<<-]>+.>+.<+++. 04:23:51 dog 04:23:55 !!! :) 04:24:14 Yes yes, bots are fun :P 04:24:34 G!{M[m(_o)O!(_s)S!"A""A"(_s)e.?(_o)(on).?]} 04:24:44 ... 04:25:04 G!{M[m(_o)O!"Hello?"(_o)o.?]} 04:25:06 Hello? 04:25:31 G!{M[m(_o)O!(_s)S!"A""A"(_s)e.?" "(_o)o.?(_o)(on).?]} 04:25:44 G!{M[m(_o)O!(_s)S!"A""A"(_s)e.?"A"(_o)o.?(_o)(on).?]} 04:25:51 Dot dot dot ... 04:26:27 Oh >_< 04:26:29 I know the problem. 04:26:59 G!{S[l~S.l~][i~S.i~][(si)~S.si~][a~S.a~][e~S.e~][(ns)~S.ns~][(sn)~S.sn~]} 04:27:00 OK 04:27:06 G!{M[m(_o)O!(_s)S!"A""A"(_s)e.?(_o)(on).?]} 04:27:07 1 04:27:13 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"A"(_h)g.?(_o)o.?]} 04:27:36 Grr. 04:27:43 * GregorR takes this offline. 04:50:46 * calamari should learn how to make a bi-quine >=) 04:51:03 I think I need to learn how to write a normal quine first 04:52:39 G!{(FE)[(fe)(_o)O!(_s)S!<34>(_s)(ns).?"F!"(_o)o.?0(_o)o.?"G!{M[m(_f)(FE)!(_f)(fe).?]}"(_o)o.?0(_o)o.?,]} 04:52:57 Helloooo, GlassBot? 04:53:17 Again with the lag. 04:54:04 -!- GlassBot has quit (Read error: 104 (Connection reset by peer)). 04:55:53 -!- GlassBot has joined. 04:56:00 G!{(FE)[(fe)(_o)O!(_s)S!<34>(_s)(ns).?"F!"(_o)o.?0(_o)o.?"G!{M[m(_f)(FE)!(_f)(fe).?]}"(_o)o.?0(_o)o.?,]} 04:56:01 OK 04:56:01 Anyway calamari, you don't need a biquine. 04:56:11 I suppose not :) 04:56:15 That makes a class called FE (False Exploder) 04:56:18 You just need to call it from glass. 04:56:27 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:28 F!"G!{M[m(_f)(FE)!(_f)(fe).?]}" 04:56:29 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:30 F!"G!{M[m(_f)(FE)!(_f)(fe).?]}" 04:56:31 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:32 F!"G!{M[m(_f)(FE)!(_f)(fe).?]}" 04:56:33 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:34 F!"G!{M[m(_f)(FE)!(_f)(fe).?]}" 04:56:35 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:36 F!"G!{M[m(_f)(FE)!(_f)(fe).?]}" 04:56:37 G!{M[m(_o)O!"^PART #esoteric"(_o)o.?]} 04:56:37 G!{M[m(_f)(FE)!(_f)(fe).?]} 04:56:38 -!- GlassBot has left (?). 04:56:55 -!- GlassBot has joined. 04:57:04 G!{(FE)} 04:57:05 OK 04:57:12 See, no sweat. 04:57:14 :P 04:57:48 F!["'[,34,$!34,'],!"]'[,34,$!34,'],! 04:57:48 ["'[,34,$!34,'],!"]'[,34,$!34,'],! 04:58:09 Hmm 04:58:18 I didn't write that ;) 04:58:25 F!"F!"["'[,34,$!34,'],!"]'[,34,$!34,'],! 04:58:25 F!["'[,34,$!34,'],!"]'[,34,$!34,'],! 04:58:27 lol 04:58:36 I don't really understand how quines work 04:58:52 Quines by dissection 101: 04:59:27 I don't think it'll work for falsebot.. doesn't notice it's own output there 04:59:28 Usually, a quine contains two segments, a "beginning" and an "end". The beginning and end are both stored in strings, so that they may be brought up without actually putting them into the file. 04:59:45 s/it's/its/ 05:00:00 Therefore, you can cause it to output the beginning, a quotation mark, the beginning again, another quotation mark, etc, while only having the beginning code in the file twice. 05:00:16 G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?"{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 05:00:18 {M[m(_s)S!(_o)O!<34>(_s)(ns).?"{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 05:02:10 G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?"G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 05:02:12 G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?"G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 05:02:26 No, GlassBot does not respond to itself either ;) 05:05:25 E!bf +++++++++++[>++++++>+++>++++>++++>++++<<<<<-]>+++.>.<+++++++++++++++++++++++++++++.++++.>-.>-.>-...>-....<...<.<+++++++++++.<-----------.-----------------------------.>.>.>..<<..>...<<.>>.<.......>>+++++++++++++++++..<++.>+++++++++++++++++++++++++++++++++.<<<.>>.+.<<.>++...>.<<--.>.>.>>.<<. 05:05:27 E!bf +++++++++++++[>+++++++++>++++++++<<-]>-.>---.<-.+. 05:05:57 hmm guess EsoBot doesn't either 05:06:25 E!bf +++++++++++++[>+++++++++>++++++++<<-]>-.>---.<-.+. 05:06:26 test 05:06:29 E!ps 05:06:30 No processes. 05:08:01 thanks for the quine lesson 05:09:21 Not that it could possibly have been helpful :P 05:09:45 a little I think 05:10:10 If you knew Glass, the Glass quine would be the perfect quine-by-dissection example :P 05:10:24 hehe 05:10:44 I see a little bit going on there 05:11:27 but glass makes my eyes glaze over when looking at it.. which is a sign of a sucessful esolang ;) 05:13:00 XD 05:22:20 World's worst C quine (just wrote it): 05:22:22 #include 05:22:25 #define A(X) fputs(X 05:22:26 stdout) #define B(X) pu 05:22:28 char(X) int main(){char a[]="#include #define A(X) fputs(X stdout) #define B(X) pu char(X) int main(){char a[]=",b[]=";a[18]=10;a[39]=10;a[63]=10;A(a);a[18]=32;a[39]=32;a[63]=32;B(34);A(a);B(34);B(44);B(98);B(91);B(93);B(61);B(34);A(b);B(34);A(b);}";a[18]=10;a[39]=10;a[63]=10;A(a);a[18]=32;a[39]=32;a[63]=32;B(34);A(a);B(34);B(44);B(98);B(91);B(93);B(61);B(34);A(b);B(34);A(b);} 05:22:37 Woah, that didn't paste right. 05:23:13 #include 05:23:15 #define A(X) fputs(X,stdout) 05:23:17 #define B(X) putchar(X) 05:23:20 int main(){char a[]="#include #define A(X) fputs(X,stdout) #define B(X) putchar(X) int main(){char a[]=",b[]=";a[18]=10;a[47]=10;a[71]=10;A(a);a[18]=32;a[47]=32;a[71]=32;B(34);A(a);B(34);B(44);B(98);B(91);B(93);B(61);B(34);A(b);B(34);A(b);}";a[18]=10;a[47]=10;a[71]=10;A(a);a[18]=32;a[47]=32;a[71]=32;B(34);A(a);B(34);B(44);B(98);B(91);B(93);B(61);B(34);A(b);B(34);A(b);} 05:23:23 Tada 05:23:25 World's worst C quine. 05:27:42 geez 05:47:43 -!- Robdgreat has left (?). 05:47:58 -!- Robdgreat has joined. 05:48:07 well that was interesting 05:49:50 I know, being out of #esoteric is scary. 06:00:02 G!{(Hshe)[(c__)k"a"=v<0>=n<0>=][(gk)k*][(sk)k1=,][(gv)v*][(sv)v1=,][(gn)n*][(sn)n1=,]} 06:00:03 OK 06:00:08 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_o)O!(_v)V!(_t)$(_m)1=,ch*=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c*(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_m)*(_w)*(sk).?(_w)*c*(sn).?\cc*(gn).?=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c*(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c*(sv).?]} 06:00:10 OK 06:00:16 Hashes :) 06:00:32 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"E"(_h)g.?(_o)o.?]} 06:01:13 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c*(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_m)*(_w)*(sk).?(_w)*c*(sn).?\cc*(gn).?=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c*(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c*(sv).?]} 06:01:36 Or ... death. 06:01:46 -!- GlassBot has quit (Read error: 104 (Connection reset by peer)). 06:02:52 Forgot to do my last upgrade :P 06:03:07 -!- GlassBot has joined. 06:03:17 G!{(Hsh)[(c__)(_v)V!h(_v)n.?=h*(Hshe)!][(ln)(_a)1=,/(_a)<0>^\<1>][l(_a)A!(_s)S!(_v)V!(_t)$(_m)1=,ch*=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=/(_f)(_add)c*(gn).?<0>(_a)e.?=/(_add)(_add)<0>=(_w)(_v)n.?=(_w)*(Hshe)!(_m)*(_w)*(sk).?(_w)*c*(sn).?\cc*(gn).?=(_f)c*(gk).?(_m)*(_s)e.?(_t)(ln).?=\][g(_t)$(_w)1=,(_w)*(_t)l.?c*(gv).?][s(_t)$(_w)2=(_v)1=,,(_w)*(_t)l.?(_v)*c*(sv).?]} 06:03:18 OK 06:03:31 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"E"(_h)g.?(_o)o.?]} 06:03:32 F 06:03:37 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"A"(_h)g.?(_o)o.?]} 06:03:38 B 06:03:45 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"B"(_h)g.?(_o)o.?]} 06:03:49 G!{M[m(_o)O!(_h)(Hsh)!"A""B"(_h)s.?"C""D"(_h)s.?"E""F"(_h)s.?"C"(_h)g.?(_o)o.?]} 06:03:50 D 06:03:54 ^_^ 06:05:38 MAN I love Glass. 06:05:41 Glass = awesome. 06:05:49 And I'm not just saying that because I wrote it ;) 06:05:57 it does look neat 06:06:01 but much too verbose :P 06:06:44 It's not actually very verbose, it's just that there's an overhead that goes on /EVERY/ program. 06:08:08 Well, that and, simple math requires the instantiation of an object :P 06:08:53 well 06:08:55 it does in Python too 06:09:03 but it's still something like a = 1 + 2 06:09:09 :P 06:09:24 Yes, but Python isn't designed to be idiotic ;) 06:09:36 hmmm 06:09:39 are you sure of that? :) 06:09:44 lol 06:09:46 No. 06:09:46 sometimes i wonder... 06:09:47 No I am not. 06:09:57 i guess Glass is just better designed 06:10:01 (to be idiotic) 06:10:04 lol 06:10:25 It's OO, has a main stack, uses postfix notation, and extensively uses pointers - now THAT'S idiotic! 06:11:59 yes. yes it is. 07:56:16 -!- calamari has quit ("Leaving"). 07:56:41 -!- EsoBot has quit (Remote closed the connection). 07:56:48 Bye bye EsoBot. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:29 -!- marcan has quit ("Lost terminal"). 08:26:37 -!- marcan has joined. 10:57:55 -!- jix has joined. 10:58:38 E!hrlp 10:58:40 moin 10:58:42 E!help 11:04:57 esobot disappeared, I think 12:06:11 GregorR: ping 12:25:35 -!- kipple has joined. 13:05:15 i wrote a glass syntax colorer for my favorite text editor 13:05:31 which is? 13:06:06 textmate 13:06:07 let me guess? SubEthaEdit? 13:06:20 never heard of it :) 13:06:22 textmate > subethaedit 13:06:45 http://macromates.com/ 13:07:06 don't run OSX 13:07:21 making syntax colorings for textmate is easy for subethaedit it is hard 14:04:57 there is no way to swap the top elements of the stack in glass 14:06:42 GregorR: ping! 14:08:25 oh 14:08:28 missed 0-9 16:55:48 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 16:56:44 -!- kipple has joined. 17:18:48 -!- klutzh has joined. 17:36:30 -!- mtve has quit (Read error: 110 (Connection timed out)). 18:46:48 jix: Doblepong :P 18:47:11 No, there is no way to explicitly swap the two topmost elements, however, as you saw, you can raise the second. 18:47:37 a print stack debug call would be usefull 18:47:46 Quite :P 18:48:12 Here's a hint for writing Glass code: make every line a 0-stack-change element. The code is less efficient, but wildly more understandable. 18:48:41 i use indention to count stack items 18:48:51 Hmm, that's an interesting idea. 18:49:14 That actually makes a whole lot o' sense... 18:51:30 i'm working on a bf interpreter 18:51:44 i'm done with the tape class 18:52:03 Awesome :) :) :) 18:52:26 is M.c__ called on startup? 18:54:40 No. 18:54:49 M is funky in just about every way :P 18:54:58 hrhr 18:55:21 i use OO! to avoid initializing O a few hundred times ;) 18:56:34 If you do that online I'll kill you. 18:56:38 ;) 18:56:46 online? 18:56:51 With GlassBot. 18:57:10 oh 18:57:16 why? 18:57:36 does glassbot remember global vars? 18:57:42 Yes. 18:57:56 But more importantly, it remembers classes, and you will have wiped out one ;) 18:58:08 oh... 18:58:21 It's fine to use global vars as instantiation of classes, but you shouldn't use /that/ one XD 18:58:33 hmm never thought that that wipes out the class 18:58:57 maybe you should fix glassbot to reset internals with every call 18:59:21 Yeah, I definitely should. I've considered it a few times, but haven't gotten off my lazy arse and done it ;) 18:59:34 G!{(TapeItem)[(c__)(hn)<1>=(hp)<1>=v<0>=t$][sv1=,][gv*][n(_t)(hn)*=/(_t)(nv)(TapeItem)!t*(nv)(sp).?(hn)<0>=(_t)<0>=\(nv)*][p(_t)(hp)*=/(_t)(pv)(TapeItem)!t*(pv)(sn).?(hp)<0>=(_t)<0>=\(pv)*][(sn)(nv)1=,(hn)<0>=][(sp)(pv)1=,(hp)<0>=]} 18:59:36 OK 18:59:41 G!{(Tape)[(c__)t(TapeItem)!][nttn.?=][pttp.?=][gtg.?][sts.?]} 18:59:42 OK 18:59:51 glassbot knows tape now 19:00:44 ^_^ 19:00:57 api: Tape.n => moves to next item Tape.p moves to previous item Tape.g get value Tape.s set value 19:01:26 G!{M[m(_d)(Debug)!(_d)(cl).?]} 19:01:29 A Arr Arre BF Debug Emote F Fib Hsh Hshe I L LameQuine M O Rand S Tape TapeItem V 19:02:00 G!{M[m~Debug.cl~]} 19:02:00 G!{M[m(_o)O!"^QUIT :Upgrades!"(_o)o.?]} 19:02:01 A Arr Arre BF Debug Emote F Fib Hsh Hshe I L LameQuine M O Rand S Tape TapeItem V 19:02:01 -!- GlassBot has quit ("Upgrades!"). 19:02:13 lol, yes, you can cheat and use builtins like that ;) 19:02:26 But that's implementation-specific, not part of the spec. 19:02:33 i know 19:02:45 but Debug is implementation specific too 19:02:53 Good point. 19:03:10 -!- GlassBot has joined. 19:03:32 G!{M[m(_d)(Debug)!"A"<5>aM*(_d)s.?]} 19:03:33 (M*:c)(a)<5>"A" 19:03:37 Tada 19:04:21 G!{M[m"^PRIVMSG #esoteric test"~O.o~]} 19:04:23 ^PRIVMSG #esoteric test 19:04:28 hm... 19:04:30 Only works for me ;) 19:04:33 ah 19:05:01 G!{M[m~Debug.cl~]} 19:05:04 A Arr Arre BF Debug Emote F Fib Hsh Hshe I L LameQuine M O Rand S Tape TapeItem V 19:05:17 it still knows Tape? 19:05:24 Yeah, the cache is stored on disk. 19:05:45 The only way you could make it forget tape is G!{(Tape)} 19:06:06 are internals frozen know? 19:06:10 Yes :) 19:06:25 G!OO!"Test"Oo.? 19:06:26 OK 19:06:31 whoops 19:06:37 That won't do much outside of a class XD 19:06:41 G!{M[mOO!"Test"Oo.?]} 19:06:42 Test 19:06:56 mOO! << how cool 19:07:11 lol 19:07:38 BTW, here's my "Array" (LLL) class: 19:07:48 G!{M[m"Arr"~Debug.fl~]} 19:07:50 c__ g l s 19:07:55 G!{M[m"Arre"~Debug.fl~]} 19:07:56 c__ g gn s sn 19:10:09 is the new version with stack printing online? 19:12:03 No, I'll up in it a sec. 19:12:09 Up it in a sec even. 19:12:13 I just found this link: http://abstractfactory.blogspot.com/2005/10/only-debate-on-intelligent-design-that.html 19:12:15 Hilarious. 19:14:18 LOL 19:15:19 /away 19:16:16 Grr, I'm having upload problems >_< 19:19:23 OK, glass-0.10.tar.bz2 is up. 19:19:26 hmm 19:19:36 this looks interesting: http://firefoxit.mozdev.org/ 19:23:31 Time to make a BF.fire? 19:24:37 doesn't look like it's stable yet - probably worth waiting to see if it goes anywhere 19:25:25 Proof that my professor is an idiot: We're making a stupid e-library, and the search page has multiple fields ("title", "author", etc). By his specification, they are OR fields. 19:25:33 eww :/ 19:25:39 By professor I mean teacher, I don't think he's a professor :P 19:25:55 And somebody emailed the mailing list saying "This makes no sense, shouldn't this be AND?" 19:26:07 His response: "No, OR. That way, people can find more books." 19:26:20 that's laughably stupid 19:26:35 Yes. Yes it is. But when you actually have to implement the thing it just hurts. 19:28:01 this is neat... 19:28:11 I've been trying to find a decent way of getting a hold of random interesting programs 19:28:40 there are a bunch of developers with stuff that they just make 'cause it's cool and throw on some webspace somewhere, and it's really hard to find 19:29:59 Yeah 19:30:54 http://del.icio.us/tag/software+cool 19:30:59 this has shown up some neat stuff 19:31:53 Awesome. 19:32:17 never really played around with del.icio.us much before 19:32:31 the whole "web 2.0" thing strikes me as ".com bubble 2.0" 19:35:38 -!- Keymaker has joined. 19:35:40 I agree, it's very nothing. 19:36:28 hmh 19:36:46 i don't know what to use, is the sceql file extension "sq" or not!! 19:37:05 graue's reply at esowiki isn't very clear 19:37:21 "I don't know. Maybe .sq, unless that's already used for something else." 19:37:58 just use .sql to avoid any confusion 19:38:05 ok 19:38:11 that sounds better than sq 19:40:34 hmm 19:40:40 er, one thing about sql 19:40:53 isn't that standard for plaintext sql query files? 19:42:02 no idea 19:43:02 Yes. 19:43:04 Yes it is. 19:43:07 DO NOT use .sql. 19:43:42 ok, sql it'll be 19:43:55 :) 19:44:02 >_> 19:44:07 I don't know of any sq. 19:45:32 mmh.. the language name is sceql.. i'm sure there can be something better than 'sq'.. 19:46:05 .sceql? :p 19:46:46 hmmm 19:47:24 by the way, does one print '\' in by printing "\\" or something? 19:47:31 (in c) 19:47:53 yeah 19:47:59 ok 19:48:21 I'd say that in C you print \, but to write a \ in a character/string literal you need \\. 19:49:26 printf("\")? 19:49:46 printf("\\"); 19:49:51 putchar('\\'); 19:49:53 No, "\\". But it's passed as the string containing a single \ to printf. 19:49:54 ok 19:50:23 In Glass you make a number with the ASCII value then do S.ns :) 19:50:32 :) 19:50:35 \ ought to be the *printf escape character in printf too, that way we'd get "\\\\" more often. 19:50:48 hehe. of course .sql is the standard for SQL scripts. but why should you let that stop you? 19:51:41 What I don't like is the fact that .pl is the "standard" extension for both Perl and Prolog. 19:52:11 kipple: yeah, nothing! :) 19:52:30 well the number of possible extensions with max 3 chars, is pretty limited, so some overlap is bound to happen 19:52:47 unless people can get over this aversion to extensions with more than 3 chars 19:52:59 Hey, .java is four characters. :p 19:53:05 html too 19:53:12 Some use .htm still. 19:53:18 ".jaa" or ".jav" or ".jva" would sound: really stupid. 19:53:27 I've seen .jav 19:53:53 Was that compiled into .cls files? 19:54:13 I considered using .kipple as the extension for Kipple, but I was lazy and .k is much faster to type ;) 19:54:27 fizzie: not sure. perhaps .cla? 19:54:27 I use .glass for Glass *shrugs* 19:54:32 good 19:55:10 I never know what to use for C++. 19:55:25 is there an official extension for TMMLPTEALPAITAFNFAL ? :D 19:55:31 There's .C, .cc, .cpp, .c++, .cc and probably even more. 19:56:17 Both .cc and .cc? 19:56:35 How did I manage not to see the first .cc. Strange. 19:56:37 I use .cc. .cpp comes from VS and is therefore evil, .c++ is nice but non-portable. 19:56:39 Same with .C 19:56:43 LOL. finally someone who's done it properly (guess what the TMMLPTEALPAITAFNFAL extension is?) 19:57:11 .tmmlptealpaitafnfal? 19:57:20 yes. except it's in uppercase 19:57:37 Oh. It looks more silly in lowercase, imho. 20:08:19 mac os x uses many .long_extensions 20:08:29 .dylib 20:08:37 .pages 20:08:47 .keynote 20:14:00 anyone up for 99 bottles of cold beer? 20:14:02 http://koti.mbnet.fi/yiap/other/beer.sceql 20:14:06 phew.. 20:14:57 BOOM! 20:20:34 G!{M[m(_s)S!"test"(_s)si.?~Debug.s]} 20:20:36 OK 20:20:57 G!{M[m(_s)S!"test"(_s)si.?~Debug.s~]} 20:21:31 G!{M[m(_s)S!"test"(_s)si.?~Debug.s~]} 20:21:36 :( 20:21:52 G!{M[m<1><2><3>~Debug.s~]} 20:21:54 <3><2><1> 20:25:31 Umm 20:25:39 * GregorR is a bit confused as per what you're trying to do ... 20:25:56 (_s)si.? makes no sense ... 20:26:18 S.si: stack[-2][stack[-1]] = stack[0], pop, pop 20:26:26 yes makes no sense 20:26:27 (_s)(si).? 20:26:31 argh 20:26:39 G!{M[m(_s)S!"test"(_s)(si).?~Debug.s~]} 20:26:41 "test" 20:26:49 ok but makes no sense too 20:27:09 G!{M[m(_s)S!"Test"<1>"f"(_s)(si).?~Debug.s~]} 20:27:12 "Tfst" 20:27:24 a remove first character of a string would be cool 20:27:40 or remove the first n characters of a string 20:27:53 or split the string at position n 20:28:10 Hmm, I think I'll make a split, that makes sense. 20:28:23 You could get the effect of cutting off the first with a split. 20:28:30 i know 20:28:40 * GregorR tries to decide whether that breaks his minimalism concept. 20:28:50 that's why i used OR instead of AND 20:28:52 I'm trying to only make builtin classes have functions that you can't do otherwise ... 20:29:15 lol, OR vs AND, aaaah! :P 20:29:33 then why did you added mul and div and mod and le and ge... 20:30:10 mul/div: It uses floating point, you can't do FP muls and divs simply by repeating adds. 20:30:17 ok 20:30:25 le, ge: Figured I should complete the set :P 20:30:39 OK, point taken, I'll add split. 20:31:23 I'm calling it d as in divide. 20:31:27 G!M{[m~I.c~~Debug.s~]} 20:31:29 OK 20:31:37 typo.. 20:31:42 G!{M[m~I.c~~Debug.s~]} 20:31:48 input? 20:31:59 Input doesn't do anything on IRC :P 20:32:07 pushes I.c a string or a number? 20:32:17 A string. 20:32:24 (With a single character) 20:32:34 -!- mtve has joined. 20:34:57 G!{M[m(_o)O!"^QUIT :Upgrades!"(_o)o.?]} 20:34:58 -!- GlassBot has quit ("Upgrades!"). 20:35:40 -!- GlassBot has joined. 20:35:43 G!{M[m(_s)S!"Hello World!"<6>(_s)d.?~Debug.s~]} 20:35:44 <6>"Hello " 20:35:50 Bloody hell. 20:36:06 hehe 20:36:12 Missed a line. 20:36:19 anyways, gotta go. bye 20:36:26 bye 20:36:28 -!- Keymaker has left (?). 20:36:34 G!{M[m(_o)O!"^QUIT :Upgrades!"(_o)o.?]} 20:36:35 -!- GlassBot has quit (Client Quit). 20:37:20 -!- GlassBot has joined. 20:37:26 G!{M[m(_s)S!"Hello World!"<6>(_s)d.?~Debug.s~]} 20:37:27 "World!""Hello " 20:37:31 Much better. 20:37:46 G!{M[m(_s)S!"Hello World!"<6>(_s)d.?(_s)a.?~Debug.s~]} 20:37:46 hey cool (the order i need for my code) 20:37:48 "Hello World!" 20:37:58 One sec while I package it up ... 20:39:03 i extended Tape with gp and sp (get and set position) for storing the tape position (as TapeItems ;) ) 20:39:19 Feel free to update GlassBot's. 20:39:40 FYI, if it's too long to paste in IRC, you can do G!Uhttp://....some.URL.goes.here/etc 20:39:40 G!{(Tape)[(c__)t(TapeItem)!][nttn.?=][pttp.?=][gtg.?][sts.?][(gp)t*][(sp)t1=,]} 20:39:41 OK 20:40:28 OK, glass-0.11.tar.bz2 is up 20:40:54 What do you think of Glass btw? :) 20:41:04 G? as an alias for G!{M[m...]} would be cool too 20:41:13 GregorR: excellent esolang! 20:41:19 ^_^ 20:42:18 G!{M[m(_s)S!(_o)O!<34>(_s)(ns).?"{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 20:42:20 {M[m(_s)S!(_o)O!<34>(_s)(ns).?"{M[m(_s)S!(_o)O!<34>(_s)(ns).?""1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]}"1(_o)o.?2(_o)o.?1(_o)o.?2(_o)o.?2(_o)o.?0(_o)o.?2(_o)o.?0(_o)o.?]} 20:42:27 :) 20:42:30 Quines are fun 8-D 20:43:09 G!{M[m~Debug.cl~]} 20:43:11 A Arr Arre BF Debug Emote F Fib Hsh Hshe I L LameQuine M O Rand S Tape TapeItem V 20:43:22 G!{M[m"L"~Debug.fl~]} 20:43:24 a n o x 20:43:31 G!{M[m"L""a"~Debug.fc~]} 20:43:32 (_a)2=(_b)1=,,/(_a)/(_b)<1>^\<0>^\<0> 20:43:38 Oh right, L = logic. 20:44:13 G!{M[m(_o)O!"^JOIN #glassbot"(_o)o.?]} 20:44:34 * GregorR goes back to his Dvorak training. 20:44:44 dvorak? 20:44:48 i don't like dvorak 20:45:05 i'm fast enough with my de keyboard... 20:45:11 no need for dvorak 20:45:21 Heheh. 20:45:35 This is just what I do for my own perverse entertainment. 20:45:41 ah 20:47:42 I'm also learning fitaly on my Tablet PC. 20:48:04 is that cool or is that cool: http://img409.imageshack.us/img409/5760/bild90uf.png 20:48:24 OMG that rocks. 20:48:41 :o 20:49:18 * GregorR bows down before jix's 31337 colorization prowess. 20:49:48 with folding! 20:49:54 Yeah, I see. 20:51:47 http://rafb.net/paste/results/QBo5Gp24.html here is the code for anyone who uses textmate 20:52:21 -!- calamari has joined. 20:52:39 hi 20:52:42 'lo 20:52:48 moin calamari 20:52:49 G!{M[m"LameQuine"~Debug.fl~]} 20:52:51 lq 20:53:17 G!{M[ml(LameQuine)!l.(lq).?]} 20:53:18 {M[ml(LameQuine)!l.(lq).?]} 20:53:21 argh 20:53:26 G!{M[ml(LameQuine)!l(lq).?]} 20:53:27 {M[ml(LameQuine)!l(lq).?]} 20:53:31 LameQuine.lq uses debug to output the M class :P 20:53:36 ah 20:53:55 G!{M[m"LameQuine""lq"~Debug.fc~]} 20:53:56 (_d)(Debug)!(_o)O!"{M[m"(_o)o.?"M""m"(_d)(fc).?"]}"(_o)o.? 20:54:08 G!{M[ml(LameQuine)!l(lq).?"\n"]} 20:54:10 {M[ml(LameQuine)!l(lq).?" "]} 20:54:19 It's very limited ;) 20:54:23 lame quine is really lame ;) 20:54:54 G!{M[m(_t)$(_t)b.?][b(_l)(LameQuine)!(_l)(lq).?]} 20:54:57 {M[m(_t)$(_t)b.?]} 20:54:59 :) 20:57:37 -!- EsoBot has joined. 20:57:46 EsoBot, my good friend. 20:57:50 E!help 20:57:51 Commands: bf, cat, help, kill, ls, ps, quit, unnecessary. 20:58:04 E!unnecessary 20:58:05 Program executed perfectly right! 20:58:08 haha 20:58:13 E!ls 20:58:14 Bad or inaccessible URL `http://localhost/ls/dirs'. 20:58:21 oops need to start apache 20:58:41 ok try again :) 20:58:44 E!unnecessary http://www.google.com/ 20:58:45 E!ls 20:58:46 bf/ 20:58:46 CRITICAL ERROR: The file exists! 20:59:13 E!unnecessary http://www.google.com/blerflnerfl 20:59:13 E!unnecessary http://www.google.com/blsdfsdf 20:59:14 Bad or inaccessible URL `'. 20:59:15 Bad or inaccessible URL `'. 20:59:15 Program executed perfectly right! 20:59:16 Program executed perfectly right! 20:59:17 lol 20:59:18 Great minds? 20:59:27 hrhr 20:59:52 looks like a small output bug there 21:01:55 E!kill 21:01:57 No such process `'. 21:02:03 E!kill 0 21:02:04 No such process `0'. 21:02:07 E!ps 21:02:09 No processes. 21:02:13 E!bf +[] 21:02:20 E!ps 21:02:22 3:calamari 21:02:30 E!kill calamari 21:02:31 No such process `calamari'. 21:02:32 ^^ 21:02:34 lol 21:02:39 ah 21:02:39 E!kill 3 21:02:40 Killed 3. 21:02:49 G!{(EE)[e(_o)O!"E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++."(_o)o.?]} 21:02:50 OK 21:03:00 maybe I should make a pkill 21:03:00 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:01 G!{M[me(EE)!ee.?]} 21:03:03 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:04 G!{M[me(EE)!ee.?]} 21:03:06 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:07 G!{M[me(EE)!ee.?]} 21:03:09 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:10 G!{M[me(EE)!ee.?]} 21:03:11 excellent! 21:03:12 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:13 G!{M[me(EE)!ee.?]} 21:03:15 G!{M[m(_o)O!"^PART #esoteric"(_o)o.?]} 21:03:15 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:03:16 -!- GlassBot has left (?). 21:03:16 G!{M[me(EE)!ee.?]} 21:03:18 :) 21:03:30 -!- GlassBot has joined. 21:03:34 G!{(EE)} 21:03:35 OK 21:03:41 G!{M[me(EE)!ee.?]} 21:03:53 G!{(EE)[e(_o)O!"E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++."(_o)o.?]} 21:03:55 OK 21:04:01 G!{(EE)} 21:04:03 OK 21:04:07 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:04:08 G!{M[me(EE)!ee.?]} 21:04:12 hahhaa 21:04:14 too late 21:04:21 G!{(EE)[e(_o)O!"E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++."(_o)o.?]} 21:04:22 OK 21:04:24 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:04:25 G!{M[me(EE)!ee.?]} 21:04:26 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:04:27 G!{M[me(EE)!ee.?]} 21:04:29 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:04:30 G!{M[me(EE)!ee.?]} 21:04:31 E!bf +++++++++++[>++++++>+++>+++++++>+++++++++++<<<<-]>+++++.>.>>++.<.++++++++++++++.++++++++++++++++++.--------.<+++++++.<--..>+.--------.>..<+++++++++++++.<------.>>--------.>++. 21:04:32 E!ps 21:04:32 G!{(EE)} 21:04:33 3:GlassBot 21:04:33 G!{M[me(EE)!ee.?]} 21:04:33 OK 21:04:39 E!ps 21:04:40 No processes. 21:04:46 lol, bot war. 21:05:07 how about glass eso and false 21:05:19 I'm doing that now :) 21:05:26 lol.. I should have known 21:05:33 glass fireing false and eso and BOTH fire back glass => exponential!!!!! 21:05:49 -!- graue has joined. 21:05:53 G!{(EE)[e(_o)O!"E!bf +++++++++++++++[>++++++++>+++++>++>++++++<<<<-]>>-----.>+++.+.<+.>-.<<+++.>++++++.>>+.++++++++++++++++++.--------.<+++++++.<--------..>+.--------.>..<+++++++++++++.<------.>>--------.<<<++.>>------------."(_o)o.?]} 21:05:55 OK 21:06:01 O good, graue gets to spectate on this disaster! 21:06:01 but can glass output more than one line? 21:06:05 calamari: No 21:06:13 what's the disaster? 21:06:16 false can! 21:06:17 E!bf +++++++++++++++[>++++++++>+++++>++>++++++<<<<-]>>-----.>+++.+.<+.>-.<<+++.>++++++.>>+.++++++++++++++++++.--------.<+++++++.<--------..>+.--------.>..<+++++++++++++.<------.>>--------.<<<++.>>------------. 21:06:18 F!"G!{M[me(EE)!ee.?]}" 21:06:18 G!{M[me(EE)!ee.?]} 21:06:20 E!bf +++++++++++++++[>++++++++>+++++>++>++++++<<<<-]>>-----.>+++.+.<+.>-.<<+++.>++++++.>>+.++++++++++++++++++.--------.<+++++++.<--------..>+.--------.>..<+++++++++++++.<------.>>--------.<<<++.>>------------. 21:06:21 F!"G!{M[me(EE)!ee.?]}" 21:06:22 G!{M[me(EE)!ee.?]} 21:06:23 E!bf +++++++++++++++[>++++++++>+++++>++>++++++<<<<-]>>-----.>+++.+.<+.>-.<<+++.>++++++.>>+.++++++++++++++++++.--------.<+++++++.<--------..>+.--------.>..<+++++++++++++.<------.>>--------.<<<++.>>------------. 21:06:24 F!"G!{M[me(EE)!ee.?]}" 21:06:25 G!{M[me(EE)!ee.?]} 21:06:26 G!{(EE)} 21:06:27 E!bf +++++++++++++++[>++++++++>+++++>++>++++++<<<<-]>>-----.>+++.+.<+.>-.<<+++.>++++++.>>+.++++++++++++++++++.--------.<+++++++.<--------..>+.--------.>..<+++++++++++++.<------.>>--------.<<<++.>>------------. 21:06:28 OK 21:06:28 F!"G!{M[me(EE)!ee.?]}" 21:06:28 G!{M[me(EE)!ee.?]} 21:06:32 :) 21:06:39 Glass can in shell mode, but not in IRC mode. 21:06:41 great 21:07:25 Anybody who can actually write a true polyglot quine between the three deserves to flood the channel in an unstoppable way :P 21:07:38 They can enjoy that honor. 21:08:38 I read that as "They can enjoy that horror." 21:08:55 Same idea :P 21:09:48 E!bf ++++++++++++++[>+++++>++>+++++++++>+++>+++++<<<<<-]>.>+++++.+.<+.>-.>---.<<++++++.++++++++++++++.>>--------------.--------.>--.>-..<+.<<.>..>+++++.>------.<<<<++.>>++++++++++++++++++++++++.<+. 21:09:49 F!"G!{M[me(EE)!ee.?]}" 21:09:50 G!{M[me(EE)!ee.?]} 21:10:00 Sorry calamari, I took out the Glass class :P 21:10:20 that's okay 21:10:45 I used textgen -t 5 I think it's a couple bytes shorter 21:10:56 you're using textgen too, I assume? 21:10:58 Yeah. 21:11:01 cool 21:11:05 But I just grab one of the first few, I don't wait XD 21:11:12 If it's short enough, it's good by me. 21:13:41 wheee.. the 4 byte just pulled ahead again 21:13:51 lol 21:14:01 oops nm that was -t 6 21:14:31 What does that actually do? 21:14:48 increases the number of memory cells used 21:15:02 Ah. 21:15:10 And why does it think that this is good: +++++++++++[>++++++>++++++++++>>>>>>>><<<<<<<<<<-]>.>--.-----------.+++++++. 21:15:29 BF! +++++++++++[>++++++>++++++++++>>>>>>>><<<<<<<<<<-]>.>--.-----------.+++++++. 21:15:31 Blah 21:15:38 it uses the number of cells you tell it to use 21:15:49 Oh, I see XD 21:15:54 Heheh 21:16:04 yay 21:16:05 we should have a Great Esoteric Programming Language Shootout 21:16:06 writing a cms for no reason 21:16:25 Pfft, Glass would so win ;) 21:16:28 So would ORK. 21:16:31 scoring criteria could include the "compression ratio" achieved by the shortest known 99 bottles of beer program 21:16:31 haha 21:16:40 see, I have a theory about that 21:16:40 I'd love to see an algorithmic way to produce the shortest possible bf code for a particular text 21:16:53 I'd love to make a program like bf but with higher level constructs 21:16:59 er, s/program/langauge/ 21:17:00 E!bf ++++++++++++++[>+++++>+++>++++++++>++>+++++>+++++++++<<<<<<-]>.>>>+++++.+.>+.<-.>>---.<++++++.++++++++++++++.<<---.--------.<--.<-..>+.>>.<..<+++++.<------.>>>>++.>++.<<+. 21:17:01 F!"G!{M[me(EE)!ee.?]}" 21:17:03 G!{M[me(EE)!ee.?]} 21:17:08 as in, one designed to give you the absolute shortest way to solve most problems 21:17:15 (perl on steroids) 21:17:22 isn't perl already on steroids? 21:17:31 * calamari tries -t 7 21:17:32 not by comparison to what I want it to do 21:17:45 I see 21:17:48 imagine, if you will, a static dictionary file for word lookups as part of the standard library 21:17:58 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:17:59 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:00 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:00 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:02 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:02 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:04 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:04 HAHA 21:18:04 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:06 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:06 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:07 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:08 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:10 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:10 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:12 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:12 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:14 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:15 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:15 GregorR: stop this! 21:18:16 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:17 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:18 haha 21:18:18 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:19 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:20 G!{M[m(_o)O!"^PART #esoteric"(_o)o.?]} 21:18:21 LOL 21:18:21 F!"G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]}" 21:18:22 G!{M[m<70>~S.ns~~O.o~<33>~S.ns~~O.o~<34>~S.ns~~O.o~<71>~S.ns~~O.o~<33>~S.ns~~O.o~<123>~S.ns~~O.o~<77>~S.ns~~O.o~<91>~S.ns~~O.o~<109>~S.ns~~O.o~<77>~S.ns~<109>~S.ns~~Debug.fc~<93>~S.ns~~O.o~<125>~S.ns~~O.o~<34>~S.ns~~O.o~]} 21:18:23 -!- GlassBot has left (?). 21:18:27 Pfft. 21:18:28 hooray 21:18:30 hahhaha 21:18:41 Using the debug class is cheating ;) 21:18:46 i know 21:18:54 but it is unstopable without bot admins 21:19:11 True. 21:19:14 need to port glass to Java ;) 21:19:27 -!- GlassBot has joined. 21:20:32 or you can implement an interpreter in bf ;) 21:20:40 or Pbrain 21:20:52 pbrain looks neat 21:23:03 -!- graue has quit. 21:23:34 {M[mt$oO!aA!b" bottles of beer"=w"on the wall!\n"=c<99>=/cc*o(on).?b*oo.?w*oo.?c*o(on).?b*oo.?"!"oo.?"Take one down and pass it around\n"oo.?cc*<1>as.?=c*o(on).?b*oo.?w*oo.?\]} 21:23:50 G!{M[mt$oO!aA!b" bottles of beer"=w"on the wall!\n"=c<99>=/cc*o(on).?b*oo.?w*oo.?c*o(on).?b*oo.?"!"oo.?"Take one down and pass it around\n"oo.?cc*<1>as.?=c*o(on).?b*oo.?w*oo.?\]} 21:23:51 99 bottles of beeron the wall! 99 bottles of beer!Take one down and pass it around 98 bottles of beeron the wall! 98 bottles of beeron the wall! 98 bottles of beer!Take one down and pass it around 97 bottles of beeron the wall! 97 bottles of beeron the wall! 97 bottles of beer!Take one down and pass it around 96 bottles of beeron the wall! 96 bottles of beeron the wall! 96 bottles of beer!T Flood! 21:23:59 G!{M[mt$oO!aA!b" bottles of beer"=w" on the wall!\n"=c<99>=/cc*o(on).?b*oo.?w*oo.?c*o(on).?b*oo.?"!"oo.?"Take one down and pass it around\n"oo.?cc*<1>as.?=c*o(on).?b*oo.?w*oo.?\]} 21:24:00 99 bottles of beer on the wall! 99 bottles of beer!Take one down and pass it around 98 bottles of beer on the wall! 98 bottles of beer on the wall! 98 bottles of beer!Take one down and pass it around 97 bottles of beer on the wall! 97 bottles of beer on the wall! 97 bottles of beer!Take one down and pass it around 96 bottles of beer on the wall! 96 bottles of beer on the wall! 96 bottles of Flood! 21:24:11 Mmm, 96 bottles of flood. 21:25:02 E!ls bf 21:25:04 bfi.b bottles.b factor.b helloum.b LostKng.b prime.b triangle.b 21:25:18 E!bf LostKng.b 21:25:35 E!bf http://localhost/bf/LostKng.b 21:25:38 Lost Kingdom 21:25:39 (C) Jon Ripley 2004, 2005 21:25:40 Brainfuck Edition v0.11 21:25:42 21:25:43 To read the back-story enter '!'. 21:25:44 For a list of commands enter '?'. 21:25:45 21:25:46 Enable long room descriptions (Y/N) ? 21:25:57 E!ps 21:25:58 3:calamari 21:26:03 E!input 3 y\n 21:26:06 21:26:08 Ramshackle Hut 21:26:09 21:26:10 You are standing inside your ramshackle wooden hut. The squalor here has 21:26:11 replaced the comfort and grandeur of your former royal palace. In one corner 21:26:12 near the north door leading to your garden lies the pile of straw you use as 21:26:13 a bed. Fixed in place by an unknown magic, next to a small table, is a wooden 21:26:14 mockery of your former throne. The main door to the east leads outside to a 21:26:15 road. 21:26:19 E!input 3 quit\ny\ny\n 21:26:20 21:26:21 You can see: 21:26:24 a small wooden box of matches sitting on the table (2) 21:26:27 21:26:28 > 21:26:35 Are you sure (Y/N) ? 21:26:36 haha yes yes will start the game over 21:26:38 21:26:40 *** You have quit *** 21:26:41 21:26:42 You scored 0 points out of a possible 100. 21:26:42 Oh damn, that's right >_< 21:26:43 You have earned the rank of Amateur. 21:26:44 21:26:45 Another game (Y/N) ? 21:26:46 21:26:47 21:26:49 21:26:50 Lost Kingdom 21:26:51 E!kill 3 21:26:51 (C) Jon Ripley 2004, 2005 21:26:53 Killed 3. 21:26:55 Brainfuck Edition v0.11 21:27:00 More efficient :P 21:27:25 jix: feel free to run that via private message :) 21:27:58 Heheh, awesome. 21:28:03 I should probably have the pids start over at 1 rather than incrementing unix style 21:32:34 -!- graue has joined. 21:33:54 what would you think about removing "input" and just using a number and the text 21:34:14 * jix is going to create a esolang output/code size shootout page 21:34:19 How about PM's just counting as input :P 21:34:29 how does it know which process tho 21:34:42 Well, it knows the user who started a proc, if they only have one, that's the one :P 21:34:47 I could have it not require E! 21:35:15 Not on the channel ... 21:35:21 for pm... 21:35:28 Ah :P 21:35:43 Whatever works for you *shrugs* 21:35:45 I think it'd be confusing if it sometimes required the pid and sometimes did not 21:35:52 Yeah, that's true. 21:36:03 I could limit it to one process per nick 21:37:06 E!ls / 21:37:08 21:37:08 21:37:09 21:37:10 Index of /ls 21:37:11 21:37:12 21:37:13 >_O 21:37:13

Index of /ls

21:37:14
Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory [...] 21:37:16 [   ] bf 22-Oct-2005 15:25 64 21:37:19 [   ] dirs 22-Oct-2005 15:03 4 21:37:22
21:37:23 lol 21:37:24
Apache/2.0.54 (Ubuntu) mod_jk2/2.0.4 Server at localhost Port 80
21:37:24 E!kill 3 21:37:26 21:37:28 No such process `3'. 21:37:31 E!ps 21:37:33 No processes. 21:37:34 Oh, it's done :P 21:37:45 lol 21:38:00 you could have it work without E! in PM 21:38:09 stuff like input 1 blah 21:38:13 or better yet, abbreviate 21:38:15 in 1 blah 21:38:25 better yet, make that in -1 blah 21:38:33 if you don't type the PID, it goes to the last one 21:38:49 marcan: -1? 21:38:51 to specify PID 21:38:56 in blah would go to the last PID 21:39:03 the - is to differentiate it from numerical input 21:39:32 -1 is numeric as well 21:39:42 of course, but less common 21:39:48 or in [1] or whatever 21:39:52 just come up with something unusual 21:40:00 Ø! 21:40:11 * marcan switches to a UTF-8 console 21:40:15 A! ? 21:40:31 Ø = O + / 21:40:32 æ…¶! 21:40:42 I just see a video inverted X 21:40:43 That's unusual all right! :P 21:40:48 I guess my font settings are uncool 21:40:56 marcan: ack 21:41:08 Ø = {} 21:41:12 Ÿ = char255! 21:41:21 actually, not 21:41:30 Err, wait, that's ÿ :P 21:41:31 I think it's a little y 21:41:32 ☣! 21:41:36 char 255 is ÿ 21:41:41 that's a bio hazzard sign 21:41:44 (but you can't see that because it isn't utf-8) 21:41:51 F![$19>[$10/$9=["ninety"]?$8=["eighty"]?$7=["seventy"]?$6=["sixty"]?$5=["fifty"]?$4=["forty"]?$3=["thirty"]?$2=["twenty"]?10*-$0=~["-"]?]?$19=["nineteen"]?$18=["eighteen"]?$17=["seventeen"]?$16=["sixteen"]?$15=["fifteen"]?$14=["fourteen"]?$13=["thirteen"]?$12=["twelve"]?$11=["eleven"]?$10=["ten"]?$9=["nine"]?$8=["eight"]?$7=["seven"]?$6=["six"]?$5=["five"]?$4=["four"]?$3=["three"]?$2=["two"]?$1=["one"]?0=["no"]?]n: 21:41:53 I mean, lowercase y+diaeresis, not uppercase 21:41:54 :P 21:42:01 F!24n;! 21:42:02 twenty-four 21:42:06 Wow. 21:42:07 F!63n;! 21:42:07 sixty-three 21:42:08 That's awesome. 21:42:13 F!3n;! 21:42:13 three 21:42:18 F!56437890543n;! 21:42:18 -three 21:42:21 lol 21:42:23 F!183;! 21:42:23 Error: 183 21:42:31 it works only from 0 to 99 21:42:32 F!183n;! 21:42:32 -three 21:42:33 F!183555;! 21:42:33 Error: 183555 21:42:33 so as to fit a certain song 21:42:41 F!99;! 21:42:42 Error: 99 21:42:45 yeah right 21:42:47 F!99n;! 21:42:47 ninety-nine 21:42:49 oh 21:42:51 my bad 21:42:53 forgot the n 21:42:55 F!99n;! 21:42:55 ninety-nine 21:42:58 F!9999n;! 21:42:58 -nine 21:43:17 the -nine part is correct. The number does end in "-nine" :) 21:43:21 F!99a;! 21:43:21 Error: 'a' 21:43:22 of course 21:43:23 jix: BTW, you mentioned a page about most-output least-input? But that doesn't make any sense, I mean, what about ++++++++++[.] 21:43:46 hehe, don't run that in esobot :P 21:43:52 heh 21:43:54 lol 21:44:06 would it do anything? 21:44:10 does IRC take blank lines? 21:44:24 if they are articially padded with spaces, yep 21:44:28 21:44:28 G!{M[moO!b<1>="a"/b0oo.?\]} 21:44:36 yeah, with spaces it does 21:44:41 but does esobot add spaces? 21:44:43 yes 21:44:50 ok, makes sense then 21:44:51 Maximum time exceeded. 21:45:29 F!42ANSWER: 21:45:37 F!ANSWERn;! 21:45:37 Error: Argument to > is not a number 21:45:42 crap 21:45:52 GregorR: there are challanges like 99bob etc.. the output is vorgeschrieben(/me is looking that word up) 21:45:57 F!ANSWER;n;! 21:45:57 forty-two 21:46:07 QED 21:46:08 Static? 21:46:27 the output has to be what the challenge says 21:46:31 ahh 21:46:35 kolmogorov complexity 21:48:51 The winning entry would be in HQ9+ :P 21:49:24 you can filter for computational class 21:49:32 I bet HQ9+ gets a low score on the prime factoring challenge 21:49:37 there will be one, right, jix? 21:49:38 lol 21:50:05 graue: users can submit challenges 21:50:35 GregorR: what about the 99bob unnecessary dialect? 21:50:41 unbeatable 21:50:45 Heheh, true. 21:51:12 calamari: how about randomizing the pids, OpenBSD style? 21:51:39 how about using large meresenne primes as pids? 21:52:07 How about using a progressively increasing number of digits of pi as pids? 21:52:44 how about factorizing rsa-2024 und using the factors as pids? 21:52:50 -u+a 21:53:49 How about using BF programs to output the "real" PID as the pids :P 21:55:22 I wrote a game that uses fork() as a random number generator 21:55:32 it hits a resource limit after a little while, but it works 21:57:50 how about you guys get busy porting interpreters to Java ;) hehehe 21:57:51 Probably doesn't work very well on non-OpenBSD systems :P 21:58:02 I don't speak Java or Sanskrit. 21:58:24 There is a rosetta stone at your local community college 21:58:24 Actually, I should say: 21:58:29 I don't know Java or Ancient Egyptian. 21:58:43 Because then the lie is complete :P 21:59:00 calamari: I much prefer the proposal by GregorR and kipple that a bot call plain old interpreters and read their output 21:59:21 graue: why is that? 21:59:37 Because then interpreters can be written in any language, even Java. 21:59:55 can you implement a kill? 22:00:14 if you know how to call system(), you can implement anything you can type at the shell... 22:00:15 Of course. 22:00:19 and can it run interactive programs? 22:00:24 Yes. 22:00:44 does it exist? 22:00:49 not yet 22:00:49 I'd code more in java, but I have a few rants about it. Like it doesn't support operator overloading :P 22:00:51 I can write it if I get off my ass. 22:01:35 it sounds fine.. having a process list or something equivalent would be nice.. also the ability to run programs from webpages 22:01:47 that'd be nice 22:02:01 you would want to create a new user to run all this stuff as, and set resource limits for that user, of course 22:02:07 and rather than terminating a program with a long line, perhaps just trim the output to 33 chars.. that's what I'm doing 22:02:17 err 300 chars 22:02:22 and add a flood limit 22:02:27 no more than X lines / sec 22:02:51 in other words, buffer output 22:02:54 marcan: well, that can be handled automatically.. I only print a line every so often 22:03:07 good then 22:03:54 Again, the "get off my lazy ass" problem. 22:04:08 can it handle using up all the memory .. i.e. +[>+] 22:04:20 That's interpreter depedent. 22:04:23 or I suppose that is up to the app 22:04:26 yeah 22:04:42 I dunno.. I see my system as in place and working :) 22:04:53 for an example of such a setup 22:04:54 But limited in scope. 22:04:55 see #math 22:04:55 why doesn't it support Kipple? that already has a Java interpreter 22:04:59 as does Glypho 22:05:07 there's a Mathematica interpreter in #math 22:05:09 mbot 22:05:10 who said it doesn't support them 22:05:15 E!help 22:05:16 E!help 22:05:16 Commands: bf, cat, help, kill, ls, ps, quit, unnecessary. 22:05:17 Commands: bf, cat, help, kill, ls, ps, quit, unnecessary. 22:05:21 E!kipple 22:05:23 Invalid command `kipple'. 22:05:28 it hasn't implemented, but they should be supported 22:05:29 EsoBot said so. 22:05:34 there is a difference 22:05:36 -_- 22:06:26 * graue begins adding support to the Sceql interpreter for reading programs from stdin 22:06:46 Am I being peer pressured? :P 22:06:56 yes 22:06:57 lol, you guys will go to any length to avoid a few lines of Java.. 22:07:24 java does suck quite a bit :) 22:07:30 nah, Java is good 22:07:43 not really 22:08:30 it is easy to program in.. that's my definition of good :) 22:08:48 Visual Basic is easy to program in. 22:08:57 Are you telling me that Visual Basic is good? 22:09:06 sure.. 22:09:13 you can get stuff done with it 22:09:14 GregorR: it would be, if it really were easy to program in. 22:09:15 http://www.sun.com/suntrademarks/index.html#J 22:09:20 but Visual Basic is not easy to program in 22:11:12 (and neither is java) 22:11:20 not in my humble experience, anyhow. 22:11:26 I've written a few VB programs.. it seemed easy enough for what I was doing 22:12:36 ever tried doing binary file I/O with it? 22:12:41 yes 22:12:53 that's not what I would call easy 22:13:11 I used it to fix AVI's where the a/v weren't in sync 22:13:38 I don't remember the i/o being a problem 22:14:04 it's a PITA the times I've done it 22:14:22 NULLs are almost IMPOSSIBLE. 22:14:29 I have no idea why I capped that. 22:14:38 The thing I don't like about java is it's nonacceptance of features that are deemed "unclean" or whatever 22:14:43 Which is why I like python 22:14:44 GregorR: cause you are hysterical. 22:14:55 GregorR: I thought you were away writing the next generation esoteric bot ;) 22:15:00 the thing i don't like about java is that very basic tasks are extremely verbose. 22:15:05 also true 22:15:07 Which is why i like Python. 22:15:13 exactly 22:15:13 python.. lol 22:15:48 one of the most ironic things of java is that is doesn't like operator overloading, but builds it in on the String class 22:15:52 python is difficult to program in due to the dumb indentation thing 22:15:57 that I consider worse than allowing it for all classes :P 22:16:04 I like the indentation 22:16:09 makes you write clean 22:16:17 calamari: obviously you never actually tried :) 22:16:19 removes unneccesary braces 22:16:22 marcan: makes it difficult to comment things out, in practice 22:16:30 I like the braces 22:16:32 use an editor with a comment-out function :) 22:16:34 calamari: not when you use A Text Editor 22:16:35 lament: obviously not, as I program in it for my job 22:16:35 makes it easy to see where things start and stop 22:16:38 or just surround everything in """ 22:16:39 calamari: WOAH 22:16:42 you're so lucky 22:16:44 What should EgoBot's trigger be? 22:16:53 EG!? 22:17:01 Preferably one character. 22:17:03 i wish i had a job like that! 22:17:05 how about just ! 22:17:06 :! 22:17:09 just G then or so 22:17:14 just G? 22:17:17 Great 22:17:22 if it will replace all bots, one char is enough 22:17:30 I'll make it '!' ftm. 22:17:37 you see, now I want to write my own bot too :P 22:17:40 only if it actually does replace all the bots :) 22:17:46 i used ! first! :P 22:18:00 lament: you also used EsoBot first.. sorry bout that ;) 22:18:55 E!quit 22:18:56 -!- EsoBot has quit ("requested by calamari"). 22:19:46 -!- EsoBot has joined. 22:20:08 E!bf http://localhost/bf/factor.b 22:20:18 E!1 234\n 22:20:21 234: 2 3 3 13 22:20:27 E!1 2832921\n 22:20:28 No such process `1'. 22:20:38 E!bf http://localhost/bf/factor.b 22:20:41 E!ps 22:20:42 1:graue 22:20:44 E!1 2832921\n 22:20:50 2832921: 3 3 3 7 13 1153 22:21:04 E!1 2812097\n 22:21:05 No such process `1'. 22:21:54 E!bf http://localhost/bf/factor.b 22:21:56 E!1 2812097\n 22:22:02 E!ps 22:22:04 1:calamari, 2:graue 22:22:18 argh 22:22:20 E!2 2812097\n 22:22:54 testing the private message thing.. doesn't require E! 22:23:09 is it still trying to factor 2812097? 22:23:14 didn't implement the whole single process per user thing tho 22:23:19 E!ps 22:23:20 1:calamari, 2:graue 22:23:27 yeah 22:23:28 geez, that's slow 22:23:31 2812097: 71 39607 22:23:52 what do you expect from bf, blinding speed? 22:24:21 it factors it in 0m0.003s using gbf2c and gcc :) 22:24:51 and I suppose you'll be using that for your bot? 22:24:55 7.33s using pbfi, my C interpreter with no optimizations 22:25:24 I invite you to write a better bot.. until then, dude just shut up okay? 22:26:02 am I not allowed to compare speeds of bf implementations in here? 22:26:10 I was surprised by the long time it took, that's all 22:26:45 what happened to that speed comparison page someone was making? 22:27:04 hmm 22:27:15 i stopped making it because my test computer is broken 22:27:44 latest results: http://www.harderweb.de/jix/langs/brainfuck/result2.txt 22:27:48 maybe you could include speeds in the esoteric language shootout? 22:27:52 egobfi improved a lot after that 22:28:20 graue: i'd need a test machine 22:28:44 or is the system time independent from cpu usage? 22:29:43 jix: when I do "time " here it prints out a "real", "user", and "system" time, and I don't think "user" is affected by other tasks running on the CPU 22:30:11 good 22:47:45 Stupid processor overheating is spewing messages into my console. 22:49:49 i read that as stupid professor overheating. 22:51:01 why is your processor overheating? 22:51:17 Because it's a Pentium 4. 22:52:01 is this usual and expected behavior? 22:52:14 usual yes 22:52:26 killed "my" laptop 22:52:28 Yes. 22:52:32 dang 22:52:32 Usual and expected. 22:52:48 The Pentium 5 is based on the Pentium M, not the Pentium 4 :P 22:52:58 So overheating will be less of an issue. 22:53:08 I've heard those processors from that VIA company are really cool (literally) 22:53:42 maybe you could use one of those until the Pentium 5 is available 22:59:13 Until my computer bursts into flames, I'm fine with the P4 :P 23:00:48 I should get a new mb.. this one has a noisy fan.. and I had to modify the heatsink to get it to fit around capacitors so I don't feel like messing around to get a quieter one 23:02:32 -!- Sgep has joined. 23:04:21 ahh cool, the bot compiled with gcj.. trying it :) 23:04:35 -!- EsoBot has quit ("requested by calamari"). 23:05:20 -!- EsoBot has joined. 23:05:36 E!bf +[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+] 23:05:39 Really? 23:05:44 does digitalr.b (in the esoteric files archive) work for everyone else? 23:06:05 -!- EsoBot has quit (Remote closed the connection). 23:06:09 tikes 23:06:16 was trying to take down my system 23:06:28 OK, what BF interpreter should I use? 23:06:34 for what? 23:06:59 EgoBot 23:07:21 egobfi, of course 23:07:27 -!- EsoBot has joined. 23:07:44 E!bf +[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+] 23:07:45 lol, I'll do that XD 23:07:56 Killed 1: Out of memory. 23:08:16 yay.. that's the way to do it.. kill it and don't freeze up my system :) 23:11:36 * jix complied the gnu time because it is > than the osx time 23:11:42 speaking of that.. I need to figure out what happened to Kstars 23:14:21 wow, afbi is buggy 23:15:00 I ran rot13.b, typed "SHPX LBH", it did nothing so I pressed ^D, afbi grew until it was using about 500 MB of memory, then segfaulted 23:15:25 jix: I guess afbi was "unfinished"? 23:15:49 E!bf http://esolangs.org/files/brainfuck/src/rot13.b 23:16:00 E!1 SHPX LBH\n 23:16:02 F 23:16:03 U 23:16:04 C 23:16:05 K 23:16:06 23:16:07 Y 23:16:08 O 23:16:09 U 23:16:10 23:16:11 lol 23:16:39 graue: afbi? 23:16:45 ah afbi... 23:17:17 why does EsoBot print a newline after each letter there? 23:17:58 I guess that's what the program does? 23:18:02 dunno 23:18:21 afbi is somewhat buggy as all my c programs except cipple which seems to run fine and fast 23:18:25 the program doesn't do that for me under pbfi, qdb, or yabfi2 23:18:50 graue: if you want really fast bf execution use bf2a 23:19:10 E!ls bf 23:19:12 bfi.b bottles.b factor.b helloum.b LostKng.b prime.b triangle.b 23:19:41 E!bf http://localhost/bf/bfi.b 23:20:09 aha 23:20:30 looking at the source, he is doing an input in the final loop.. my interpreter flushes output on input 23:20:47 oh 23:20:54 that way programs will be able to print a prompt without a cr first 23:21:37 calamari: i'd flush only if there is no input byte in queue 23:22:12 this is before it does the input 23:22:21 so there is no input in the queue 23:22:53 I'm probably misunderstanding you 23:23:07 Almost got it ... 23:23:54 E!ps 23:23:55 1:calamari, 2:calamari 23:23:57 jix: bf2a beats gbf2c by 0.03 ms on mandelbrot 23:24:24 E!kill 1 23:24:25 Killed 1. 23:24:47 E!2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.! 23:24:50 < 23:24:57 E!ps 23:24:59 No processes. 23:25:01 graue:where do i find gbf2c? 23:26:37 bf2a does more optimizations than gbf2c 23:26:41 jix: www.esolangs.org/files/brainfuck/impl 23:26:44 and it's faster here 23:27:00 jix: bf2a version 0.2? 23:28:12 i'm retesting 23:28:16 jix: bf2a's compiled version of factor.b fails to compile in gcc here 23:28:27 syntax error on line 14 23:28:45 I don't think "lut_-1" is a legal identifier in C 23:29:00 whooo? 23:29:09 E!quit 23:29:10 -!- EsoBot has quit ("requested by calamari"). 23:29:13 need to debug that 23:29:53 jix: I understood what you were saying now.. let's see how it does :) 23:30:01 -!- EsoBot has joined. 23:30:11 E!bf http://esolangs.org/files/brainfuck/src/rot13.b 23:30:22 E!1 abcdef\n 23:30:23 nopqrs 23:30:29 E!ps 23:30:31 1:calamari 23:30:37 E!1 \n 23:30:38 23:30:40 E!ps 23:30:41 1:calamari 23:30:44 jix: also, once I fix the syntax error in factor.c (renaming lut_-1 to something else), factor.b is faster when compiled by gbf2c than when compiled by bf2a 23:30:44 E!kill 1 23:30:45 Killed 1. 23:31:02 E!bf http://localhost/bf/LostKng.b 23:31:04 graue: factor is misscompiled if there is a lut_-1 23:31:05 Lost Kingdom 23:31:06 (C) Jon Ripley 2004, 2005 23:31:07 Brainfuck Edition v0.11 23:31:07 jix: 0.14s for the bf2a version, 0.03s for the gbf2c version 23:31:08 23:31:09 To read the back-story enter '!'. 23:31:09 jix: oh 23:31:10 For a list of commands enter '?'. 23:31:11 23:31:12 Enable long room descriptions (Y/N) ? 23:31:17 cool :) 23:31:27 graue: AND .. i use expanding memory... gbf2c not 23:31:29 jix: yeah, I just noticed it prints the wrong answer too :) 23:31:34 jix: that's true 23:31:34 E!1 n\n 23:31:36 23:31:37 You are in a small hut by a dirt road. 23:31:39 23:31:41 You can see: 23:31:42 some matches (2) 23:31:43 jix: but this isn't using 32768 cells 23:31:43 23:31:44 > 23:31:59 -!- EgoBot has joined. 23:32:04 !ps 23:32:05 1 GregorR 23:32:08 graue: but i have to check every > for an overflow 23:32:11 true 23:32:17 !bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. 23:32:18 Hello World! 23:32:23 :) 23:32:26 !bf +[] 23:32:30 !ps 23:32:31 1 calamari 23:32:31 2 GregorR 23:32:35 I can't kill them yet :P 23:32:42 So that'll go for a while ;) 23:32:43 2812097 is prime according to the bf2a version of factor.b 23:32:52 !bf +[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+] 23:32:58 in fact, so is every number it looks like 23:33:02 !ps 23:33:02 1 calamari 23:33:03 !ps 23:33:03 1 GregorR 23:33:17 !ps 23:33:31 I killed your first proc manually btw :P 23:33:34 hehe 23:33:37 graue: but it tries to use my complex lookup tables so if i fix it it should be faster 23:33:43 how is the memory task doing ? 23:33:48 !bf +++++++++++++++++++++++++++++++++[.] 23:33:49 I don't know why it didn't respond to that !ps ... 23:34:06 I am so glad you didn't put a newline in that ... 23:34:07 !ps 23:34:08 !ps 23:34:19 However, it seems to be entirely unresponsive now, so who cares! 23:34:23 !bf +++++++++++++++++++++++++++++++++>++++++++++<[.>.<] 23:34:44 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 23:34:59 very cool start in any case 23:35:21 yes 23:35:30 bf2a: user 0m5.128s 23:36:10 user 0m5.340s 23:38:09 what program is this for? 23:38:17 mandelbrot 23:38:21 bf2a and gbf2c 23:38:48 Anybody care to compare egobfc2m to those? 23:38:49 over here, the two versions took a little over 10 seconds and bf2a's version was 0.03ms faster 23:42:17 egobfc2m crashes immediately on running mandelbrot.b 23:43:16 graue: line198: when 1 => when -1 23:43:26 I don't think OpenBSD likes it when programs generate code and call it at runtime 23:43:56 some cpus dislike that (caching..) 23:43:58 * graue tests factor.b with bf2a again 23:44:23 egobfc2m worked fine on windows here 23:44:40 I am pretty sure that OpenBSD won't allow it to do what it does for security reasons 23:44:59 Heheh 23:45:24 factor.b: 2165843199767 bf2a:0m0.902s gbf2c:0m2.070s 23:45:55 thats a factor of 2! 23:46:35 3.28s vs 1.56s here 23:46:45 (for the same number) 23:46:46 which is mine? 23:46:51 the 1.56s of course 23:46:56 ah ok.. 23:47:17 what machine are you using? 23:47:25 Athlon XP 1800+ 23:47:33 mhz? 23:47:44 1536 MHz 23:47:54 but that's not really an accurate measure of CPU speed of course 23:48:00 i know 23:48:01 and slower than on my ppc g4 1000mhz ? 23:48:16 I didn't have any gcc optimizations on 23:48:20 ah 23:48:21 ok 23:48:34 unless it optimizes by default, does it? 23:48:43 default is O2 i think 23:48:43 -!- EgoBot has joined. 23:48:46 i used O3 23:48:48 !ps 23:48:49 1 GregorR 23:49:08 !bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. 23:49:08 Hello World! 23:51:23 !bf +[] 23:51:25 -O0 appears to be the default 23:51:29 !ps 23:51:30 1 calamari 23:51:30 2 calamari 23:51:35 ? 23:51:46 oh.. for the ps :) 23:51:54 Yeah, ps takes a proc in EgoBot. 23:51:56 !kill 1 23:52:00 !ps 23:52:00 1 GregorR 23:52:02 can it list the process name? 23:52:37 jix: factor-gbf2c: 3.32s, factor-bf2a: 1.56s, factor-gbf2c-o2: 1.38s, factor-bf2a-o2: 0.42s, factor-gbf2c-o3: 1.39s, factor-bf2a-o3: 0.40s 23:52:43 !bf http://esolangs.org/files/brainfuck/src/hello.b 23:52:53 No URLs yet. 23:53:10 !bf ++++++++++.. 23:53:31 !bf +++++++++++++++++++++++++++++++++>++++++++++<[.>.<] 23:53:31 ! 23:53:31 ! 23:53:31 ! 23:53:31 ! 23:53:31 ! 23:53:31 -!- EgoBot has quit (Excess Flood). 23:53:39 no flood protection yet? :) 23:54:39 No :P 23:54:41 Not yet. 23:55:17 calamari: I imagine your thing didn't work because IRC doesn't allow blank lines 23:55:45 graue: yeah, I was testing to see how it handled that 23:55:58 I add a space to blank lines so they are displayed