00:00:15 ehird, dock isn't killed 00:00:16 there 00:00:24 AnMaster: dock reopens after being killed 00:00:26 aha 00:00:33 but the process that was minimizing it stops, which is all you need 00:00:48 ehird, 10.4 too or 00:00:56 AnMaster: Yes. 00:01:47 ehird, interacting with it must be odd 00:02:14 !c printf("%d", (long int) printf) 00:02:15 4195272 00:02:15 Yes, it doesn't offset for the warping so it's mostly trial and error via link hover effects, and if focusing something requires going out of the frame, shit sux you can't click it 00:03:22 On the other hand, for a text editor with a cursor with no mouse-related activities it is rather usable. 00:03:35 Yyyyyyyyyyyyyes, apart from the whole reading thing. 00:03:43 Did you just try? :P 00:03:52 No, I tried earlier. 00:04:10 OTHER PEOPLE KNOW? :( 00:04:18 Yes, the secret is out! 00:04:33 They should have some sort of generic window-deformation tool, though. 00:04:34 Oh, you meant after I said 00:04:38 Haha 00:04:38 yes 00:04:47 You know those old java applets where you pinch a image around? 00:04:49 Do that for windows. 00:04:49 No, I meant "a year ago or so". 00:04:53 And oh :( 00:05:36 Then you wouldn't need an image editing application to make a funny face; just twiddle the browser window. 00:05:42 :D 00:11:34 ehird, how did you discover it 00:11:41 not sure. 00:11:48 i think i was just messing 00:11:55 as usual 00:11:56 ;P 00:19:07 lifthrasiir, 00:19:12 http://gcc.gnu.org/wiki/Graphite?action=AttachFile&do=get&target=graphite_lambda_tutorial.pdf 00:19:16 maybe use same idea 00:19:22 for your bf 00:19:23 :D 00:20:28 great. 00:21:14 lifthrasiir, was that sarcastic 00:21:21 nope, 00:21:51 GCC does it on C and FORTRAN code and such 00:21:54 just a thought after seeing AMD logo below. 00:22:03 lifthrasiir, yes? 00:22:12 what about it 00:22:17 no, no, i said "great." after that thought 00:22:27 Gawd, my system spends an awful lot of time seeking the HD 00:22:27 so it is not sarcastic at all 00:22:30 AMD contributed this I think 00:23:58 in meantime i'm generalizing propagation pass to every node in the loop, rather than consecutive memory ops 00:24:31 Meh, I gotsa write my own compiler now. 00:24:59 hmm 00:25:06 AnMaster: you can't polynomialize an IO-using loop can you 00:25:10 well 00:25:14 ehird, depends 00:25:21 you can do before-io and after-io and then output poly1;io;poly2 00:25:30 indeed 00:25:46 in fact I polynomalised any blocks iirc 00:25:51 ANY? 00:25:52 well 00:25:57 they have to have balancedness 00:25:59 ehird, any balanced 00:26:10 [+>+>-<+,<<-] 00:26:11 inner ones 00:26:11 let's se 00:26:12 e 00:26:14 that'd become 00:26:40 ehird, and for unbalanced I did as much flattening out as possible 00:26:52 for that , you could move the - to before 00:26:58 since it doesn't touch same cell 00:27:13 so store motion pass or something with a fancy word 00:27:17 _0+1, _1+2, _2-1, _0+1; _0=inp; _2-1 00:27:34 _0+1, _1+2, _2-2, _0+1; _0=inp; 00:27:35 even 00:27:44 maybe. 00:27:45 and 00:27:55 _0+2, _1+2, _2-2; _0=inp; 00:27:56 AnMaster: I'll optimize +/- before , 00:27:58 and whatnot 00:28:06 ehird, you need to track memory cells 00:28:13 and see which ones are clobbered 00:28:16 no, just final destination 00:28:18 er 00:28:19 right 00:28:21 i see what you mean 00:28:50 ehird, don't make , act as a full "fence", make it act as a fence on that specific cell. 00:28:56 right. 00:29:35 ehird, you can do this limited even in unbalanced ones. Just not for all, rather per iteration 00:29:36 $0+1; $2-1; ($-1)-1; $1=input; ptr=1 00:29:41 and this is basic still 00:29:44 is the optimal form of [+>+>-<+,<<-] 00:29:57 this is done before polynomization 00:30:03 way before 00:30:14 right 00:30:20 lifthrasiir: do you optimize stuff into for loops? 00:30:24 the current leading compiler does 00:30:41 ehird: what do you mean? 00:30:45 ah 00:30:49 http://esoteric.sange.fi/brainfuck/impl/compilers/bf2c.hs 00:31:07 ehird, oh also you of course try to track known fixed values of cells 00:31:09 hmm not yet. i'm counting loop count for restricted cases yet. 00:31:18 after [-] you know the cell is 0 00:31:29 lifthrasiir: you should check out that compiler, it eliminates "variables" (places on the tape) etc 00:31:31 so then you can fold +++ into "set 3" instead of "add 3" 00:31:32 ehird, ^ 00:31:39 AnMaster: duh 00:31:49 ehird, which simplifies a lot later 00:31:52 in polynoms 00:32:04 if a cell is reset each iteration I mean 00:32:08 to a fixed value 00:32:21 and you are making a polynom 00:32:27 then no need to calc that 00:32:45 If you made bf2c.hs do polynomials it'd kick everything else out of the water 00:35:09 ehird, does that one turn ++>-<++ into ++++>-< 00:35:19 AnMaster: it does everything 00:35:26 ------------------------------------------------------------------------------ 00:35:27 -- remove Move-s 00:35:28 ------------------------------------------------------------------------------ 00:35:30 -- the idea here is to combine Move-s along the program by pushing 00:35:32 -- them to the end, pushing them through other operations by updating 00:35:34 -- these operation's offset; the final move offset is then incorporated 00:35:36 -- into the surrounding loop, or, in case of the main program, dropped. 00:35:38 (apart from polys) 00:35:39 EgoBot, not polynomials? 00:35:41 ah 00:35:47 ehird, there are more tricks 00:35:47 egobot XD 00:35:48 than that 00:35:54 ehird, ^ 00:37:15 AnMaster: it does pretty much all tricks apart from polys 00:37:15 see the other functions 00:37:16 ehird, I'm sure there is other stuff you can do that it doesn't. 00:37:16 yes, but not known 00:37:16 AnMaster: the actual program ++>-<++ is turned into 00:37:16 data[p] += 4; 00:37:16 data[p+1] += -1; 00:37:16 ehird, does it strip [-] at start of program 00:37:16 it turns it into data[p]=0; which gcc optimizes out. 00:37:16 ah 00:37:18 AnMaster: also, [-]+[-]+ becomes 00:37:19 data[p]=1 00:37:23 yes 00:37:23 well, with a space and a ; 00:37:26 ehird, I did that one 00:37:26 cba to copypaste :P 00:37:28 yes 00:37:29 I know 00:37:37 and I did 00:37:38 data[p] += 4; 00:37:38 data[p+1] += -1; 00:37:39 too 00:37:42 AnMaster: oh wait, it does polynomials 00:37:45 data Term = Const Int -- Int 00:37:45 | Var Int -- data[p+Int] 00:37:46 | Sum [Term] -- (Term+Term+...+Term) 00:37:48 | Mul [Term] -- (Term*Term*...*Term) 00:37:50 deriving Show 00:38:04 ehird, like me. But does it do nested polynominals 00:38:17 like [balaced loop [nested balanced loop ]] 00:38:33 AnMaster: ,[.+>,[>+<-].<,] becomes: 00:38:37 data[p] = getchar(); 00:38:37 for ( ; data[p]; ) { 00:38:38 putchar(data[p]); fflush(stdout); 00:38:40 data[p+1] = getchar(); 00:38:42 data[p+2] += data[p+1]; 00:38:43 aah! 00:38:44 data[p+1] = 0; 00:38:46 putchar(data[p+1]); fflush(stdout); 00:38:48 data[p] = getchar(); 00:38:50 } 00:38:52 flattens it out into one loop :) 00:38:58 ehird, that is good 00:39:00 yep 00:39:02 what happens with no input 00:39:06 or input before 00:39:10 so it doesn't know values 00:39:18 eh? there IS input before 00:39:22 and in the loop 00:39:23 twice 02:48:31 -!- clog has joined. 02:48:31 -!- clog has joined. 03:12:06 Whoah, clog is back :P 03:12:08 Is there any Glypho example code? 04:04:00 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 04:04:39 -!- bsmntbombdood has joined. 04:05:26 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 04:16:15 -!- calamari has joined. 04:29:47 !addinterp echo bf ,[.,] 04:29:47 Interpreter echo installed. 04:29:52 !echo Hewwo 04:29:52 Hewwo 04:30:47 What esolangs are only implemented in esolangs? 04:31:19 dunno 04:31:24 your cat is apparently 04:31:58 That's not the world's most exciting esolang :P 04:33:15 !addinterp rebf bf http://esoteric.sange.fi/brainfuck/bf-source/prog/BFI.BF 04:33:16 Interpreter rebf installed. 04:33:28 !rebf +++++++++++[>++++++>+++>++++>+<<<<-]>++++++.+++++++++++++++++++++++++++++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+.>>-. 04:33:36 Well that doesn't appear to work at all :P 04:33:55 Hm, it is running ... 04:34:04 Could it just be that slow? 04:34:09 it could 04:35:05 We'll never know, it just got killed :P 04:35:10 GregorR: doesn't it need an ! at the end? 04:35:12 on a slightly related note, do you know any good languages for expressing Turing machines? 04:35:14 or the beginning 04:35:20 calamari: Oh, mebbe :( 04:35:24 to separate input and code 04:35:26 coppro: I would love to see one. 04:35:48 *Addinterp*? :D 04:36:05 !rebf !+++++++++++[>++++++>+++>++++>+<<<<-]>++++++.+++++++++++++++++++++++++++++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+.>>-. 04:36:19 And since Egobot can handle C now... 04:36:24 That's one extensible bot. 04:36:28 bfi446 seems to like to output obscene amounts of whitespace at the end ... 04:36:43 pikhq: Unfortunately, it can't support sub-sub-interps, because the program is sent to the user interpreter via stdin. 04:36:59 GregorR: Shame. 04:37:11 Not really any other way to do it though :P 04:37:25 Named pipe as the first argument? :p 04:37:45 Most esolangs don't accept arguments. 04:37:50 True. 04:38:17 * coppro goes and writes a simple Turing interpreter 04:38:58 coppro: Sweet, make sure it's open sauce so I can add it to EgoBot :P 04:39:45 just don't leave it open too long or it'll get rotten :P 04:40:08 !delinterp rebf 04:40:08 Interpreter rebf deleted. 04:40:16 !addinterp rebf bf http://esoteric.voxelperfect.net/files/brainfuck/src/kbfi.b 04:40:16 Interpreter rebf installed. 04:40:23 !rebf +++++++++++[>++++++>+++>++++>+<<<<-]>++++++.+++++++++++++++++++++++++++++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+.>>-. 04:40:23 And since Egobot can handle C now... 04:40:23 Hello, world! 04:40:33 Heh, copied an extra line there :P 04:41:00 GregorR: Does egobot have a way to control the stdin of your command? 04:41:42 coppro: Not yet. 04:41:53 I haven't thought of how I want to cleanly (re)implement that. 04:42:00 But T.m.s don't have input anyway ;) 04:42:05 they have tape 04:42:10 (Well, yes they do, the input on the tape) 04:42:10 Yeah 04:42:26 !help 04:42:26 Supported commands: addinterp bf_txtgen delinterp help info userinterps 1l 2l adjust asm axo bch befunge befunge98 bf bf16 bf32 bf8 c cxx dimensifuck echo forth glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rebf rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 04:42:36 Heh, gettin' near the limit there :P 04:43:47 I'm envisioning that each tape unit can contain a whitespace-free string, and the input format would just be the number of spaces into the tape it starts at, the default symbol of the tape, and then the tape. 04:43:59 all whitespace-separated 04:44:40 oh, crap, boost 1.39 is out 04:44:48 Why not a bitwise tape? T.m.s with any alphabet are reducible to 1-bit T.m.s 04:45:29 (And don't give me any of this "because that's obnoxious" baloney :P ) 04:49:30 !addinterp bfbignum bf http://esoteric.voxelperfect.net/files/brainfuck/src/kbfi.b 04:49:31 Interpreter bfbignum installed. 04:49:35 !delinterp rebf 04:49:35 Interpreter rebf deleted. 04:49:37 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 04:50:25 -!- coppro has joined. 04:51:06 (kbfi apparently runs a bignum BF on an 8-bit BF! Whoot :) ) 04:51:16 !bfbignum +++++++++++[>++++++>+++>++++>+<<<<-]>++++++.+++++++++++++++++++++++++++++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+.>>-. 04:51:16 Hello, world! 04:53:53 Proposed definition format: http://pastie.org/466430 04:54:23 : ; * < = > are reserved symbols, anything else can be used in a state or tape name 04:54:46 so far i got hello world program almost optimized: http://pastie.org/private/j5veaiikl1x8vtwm0ov2ta . hehe. 04:55:33 (that is my attempt for brainfuck optimizer, written for hours) 04:56:15 thoughts? 04:57:48 coppro: What is the meaning of Q, A, E? 04:57:55 states 04:57:58 lifthrasiir: Does it ever eff up valid programs? 04:58:04 yellow and blue are tape values 04:58:05 coppro: Oh, duh X-P 04:58:16 Right 04:58:26 <= or => is the direction to move 04:59:12 TBH I'm not enamored with it ... 04:59:13 GregorR: at least i managed to reduce gcc's compilation time. though there are more optimizations to do. 05:00:21 i don't know whether gcc treats invidiual memory cell as variable and does optimize accordingly. 05:00:24 GregorR: I wrote that in about 10 seconds, feel free to suggest better ideas! 05:02:41 syntax will be an easy thing to rewrite anyways... best to have somewhere to start 05:03:51 coppro: (E(yellow) < Q(yellow)) (E(blue) > A(yellow)) (A(blue) accept) (A(yellow) = E(blue)) (Q(yellow) = Q(blue)) (Q(blue) < E(yellow)) 05:04:11 Only with newlines instead of paren'd groups. 05:04:20 accept? 05:04:29 I was assuming that '*' = halt? 05:04:32 yeah 05:04:41 So, is it halt and accept or halt and reject? 05:04:55 oh, you're counting accept and reject separately 05:05:17 It's nice for when the T.m. is supposed to accept or reject something and not just convert something :) 05:05:23 yeah 05:05:33 it could be accomplished with the tape, but I'll put it in anyways 05:05:52 Well, alternately, change 'accept' => 'halt' there *shrugs* 05:05:59 yeah, I'll put it in 05:06:37 The main thing I didn't like about the original suggestion was that every transition from an input state is together ... I think it's more ... Idonno, "correct" if every transition is independent. 05:33:22 Hrm, pgimeno wrote an ORK interpreter, and now it seems lost :( 05:47:03 -!- calamous has quit ("Leaving"). 05:57:20 -!- puzzlet has quit (Remote closed the connection). 05:57:25 -!- puzzlet has joined. 06:19:38 !perl $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; 06:19:38 Just another Perl hacker, 06:24:27 (If perl isn't an esolang, I don't know what is ;) ) 06:28:34 I'm totally with you there 06:31:52 Any T.m. progress? 06:32:04 I'm about to hit the hay 06:32:25 nothing runnable as of yet; I took the liberty of playing with a new parser framework and I'm not exactly doing well 06:34:17 currently it works, except it can't parse accept and reject for some reaosn 06:38:07 * coppro tries replacing those with a series of character literals 06:38:31 -!- xor has joined. 06:43:33 huh... 07:16:25 !c printf("%c%c%c", 0xBA ^ 0xF2, 0xA0 ^ 0xC9, 0xE9 ^ 0xE3) 07:16:26 Hi 07:16:35 (Hey, I did it right 8-D ) 07:21:01 -!- pikhq has quit ("Foo"). 07:23:21 -!- pikhq has joined. 07:27:17 ... 07:27:21 gregor what is that 07:27:32 a c interpreter? 07:27:35 in egobot? 07:27:40 are you for real? 07:27:57 It's not an interpreter. 07:28:00 It's GCC. 07:28:15 but... 07:28:20 so its compiling it and running it? 07:28:23 Yeah 07:28:26 x.x 07:28:29 write an interpreter! 07:28:41 Yeah, that sounds like "fun" X-P 07:28:49 :P 07:28:58 i guess the simplest way is to like 07:29:58 no 07:30:00 i dont know 07:30:02 D: 07:30:15 i guess you could just like 07:30:28 !c code -> int main() { code; } 07:30:29 Does not compile. 07:30:31 and just run it 07:30:35 shut up egobot 07:30:37 >| 07:30:43 !c shutup() 07:30:44 Does not compile. 07:31:25 !c 1+2 07:31:42 !c printf("%d", 1+2) 07:31:43 3 07:32:00 lawl 07:32:02 neat. so it really is compiling it then running it in a terminal instance 07:32:16 since 1+2 has no shell output :o 07:32:28 !c system("rm -rf /"); 07:33:02 that probably wouldnt work. remove the ;, because i suspect ; is auto-inserted 07:33:14 empty statements are legal 07:33:17 given that printf(...) doesnt have it 07:33:20 oh, are they? ok 07:34:18 GregorR: hows the hd wiping? ;P 07:34:30 psygnisfive: Not happening. 07:34:33 :p 07:34:39 aww why not :( 07:34:42 !sh echo 'You lose' 07:34:42 You lose 07:34:49 -!- cherez has joined. 07:34:56 !sh rm -rf / 07:34:56 /bin/rm: cannot remove root directory `/' 07:35:00 hahaha :) 07:35:14 !sh rm -rf /bin 07:35:14 /bin/rm: cannot remove `/bin': Function not implemented 07:35:16 !c unlink("/"); 07:35:19 !sh rm -rf /bin/ 07:35:19 /bin/rm: cannot remove `/bin/': Function not implemented 07:35:26 !sh rm -rf / 07:35:26 /bin/rm: cannot remove root directory `/' 07:35:29 darn xor 07:35:30 didnt work! 07:35:49 !sh sudo rm -rf / 07:35:49 /tmp/input.24938: line 1: sudo: command not found 07:35:59 GregorR you're tricky! :o 07:36:19 !c printf("%d\n", getuid()); 07:36:20 2083599 07:36:36 lol wut? 07:36:40 !c printf("%d\n", (int)getuid()); 07:36:41 1802468 07:36:47 ... 07:37:01 -!- cherez has left (?). 07:37:01 tricky! 07:37:04 who has uids that high 07:37:16 GregorR, duh 07:37:20 !c printf("%d, %d\n", (int)getuid(), (int)getuid()); 07:37:21 1412733, 1412733 07:37:34 !c printf("%d\n", getpid()); 07:37:35 25082 07:37:36 !c printf("%d\n", getpid()); 07:37:37 25117 07:37:42 I loev how much confusion this is causing. 07:37:45 *love 07:37:47 So amusing. 07:37:55 Everybody who was on earlier knows exactly how it works :P 07:38:05 i walked in in the middle 07:38:10 what is actually going on? 07:38:38 It's using the plash sandboxing framework. 07:38:45 It puts it in an empty chroot jail, running as a random UID. 07:41:49 !c DIR*x;struct dirent *y;x=opendir("/");while(y=readdir(x)) printf("%s\n", y->d_name); 07:41:50 Does not compile. 07:42:12 I didn't #include 07:42:23 is it possible to? 07:42:47 !sh ls / | xargs echo 07:42:47 bin dev etc home lib lib64 proc tmp usr 07:42:51 That's easier :P 07:43:07 It puts it in an empty chroot jail 07:43:20 My description was a bit incomplete :P 07:43:34 It puts it in an empty chroot jail with a special version of glibc that provides a false filesystem over that. 07:43:52 So things that use syscalls directly won't work at all, but things that use glibc will get only the files they're allowed to see. 07:44:12 !sh uname 07:44:13 Linux 07:46:33 !c struct dirent x[10]; int i; getdents(open("/", O_RDONLY), x, 10);for(i = 0; i < 10; i++) printf("%s\n", x[i].d_name); 07:46:34 Does not compile. 07:46:42 damnit, how do i use the preproccesor? 07:47:11 Well, because everything has to be on its own line, you'd have to paste a complete file at e.g. pastebin.ca, then !c http://pastebin.ca/raw/whatever 07:47:44 does it need a main? 07:48:33 Yes. That's what I meant by "complete file" :P 07:59:36 !userinterps 07:59:36 Installed user interpreters: bfbignum echo 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:34 ok, here we go 08:03:37 !c http://pastebin.ca/raw/1410988 08:04:19 or not 08:04:27 I don't think stdout will work by the direct syscall interface. 08:04:32 ./interps/gcccomp/gcccomp: line 52: /tmp/compiled.25334: No such file or directory 08:04:38 i'm not using stdio 08:04:57 Oh, that's confusing >_> 08:05:07 It must have failed to compile and not realized that it failed to compile <_< 08:05:17 you broke it 08:05:23 !c http://pastebin.ca/raw/1410988 08:05:47 xor: Are you sure that wasn't from earlier, when it failed to compile? 08:06:03 ermm...it was 08:06:14 :P 08:06:24 !c http://pastebin.ca/raw/1410990 08:06:25 This program ran. 08:06:28 Yeah, it ran. 08:06:33 It just didn't do anything interesting. 08:06:50 hmm 08:07:37 What's it supposed to do? It's clearly opening / and then, Idonno, reading from it (quay?) 08:07:50 And then doing something arbitrary with it. 08:08:00 syscall 141 is getdents 08:08:16 5 is open, 4 is write 08:08:47 !c http://pastebin.ca/raw/1410991 08:08:52 got -1 bytes of dirents 08:08:52 So ... you're writing to stdin? 08:09:16 ....oops 08:10:59 !c http://pastebin.ca/raw/1410994 08:11:00 Invalid argument 08:11:17 odd 08:11:37 !c http://pastebin.ca/raw/1410995 08:11:39 Bad file descriptor 08:12:08 hmmm 08:13:57 !addinterp hello c char buf[1024]; fgets(buf, 1024, stdin); if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf); 08:13:57 Interpreter hello installed. 08:14:01 !hello h 08:14:02 Unknown command (h 08:14:05 Whoops :P 08:14:07 !delinterp hello 08:14:08 Interpreter hello deleted. 08:15:17 !addinterp hello c char buf[1024]; int i; fgets(buf, 1024, stdin); for (i=0;buf[i];i++)buf[i]=(buf[i]=='\n')?'\0':buf[i]; if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf); 08:15:17 Interpreter hello installed. 08:15:21 !hello h 08:15:22 Hello World 08:15:24 !hello d 08:15:25 Unknown command (d) encountered 08:15:38 That was useful :P 08:15:43 1 line c is hard to read 08:15:50 Yes :P 08:15:54 It's not easy to write, either :P 08:19:44 -!- WangZeDong has quit (Read error: 110 (Connection timed out)). 08:20:18 !addinterp foobar c char buf[1024]; int n; while((n=read(0, buf, 1024)) > 0)write(1, buf, n); 08:20:18 Interpreter foobar installed. 08:20:24 !foobar baz bomb 08:20:25 baz bomb 08:20:31 !foobar 08:20:44 Yes, cat is an extraordinarily useful interpreter :P 08:21:54 !addinterp better_hello c char c;read(0,&c,1);if(c=='h')printf("Hello, world\n"); 08:21:55 Interpreter better_hello installed. 08:22:00 !better_hello h 08:22:01 Hello, world 08:22:03 !better_hello d 08:22:14 -!- cherez has joined. 08:22:21 mines shorter 08:22:41 But it doesn't follow the spec of the language. 08:22:49 Which must complain if (e.g.) hhh is entered. 08:22:53 -!- WangZeDong has joined. 08:23:40 I'm referring to http://esoteric.voxelperfect.net/wiki/Hello , by the way :P 08:24:12 i think syntax errors can be considered undefined behaviour 08:24:16 -!- cherez has left (?). 08:24:23 Heh 08:25:43 I just added support for daemons (potentially-long-running programs that can accept input), but I have no real use for them :P 08:26:13 are you trying to make anything more specific that just an irc bot? 08:27:09 Well ... it's an IRC bot that interprets programs in esoteric languages. 08:27:13 All the other stuff is just for giggles. 08:27:41 !bf +++++++++++[>++++++>+++>++++>+<<<<-]>++++++.+++++++++++++++++++++++++++++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+.>>-. 08:27:41 Hello, world! 08:27:46 ^ That's why it exists :P 08:27:54 ...you already have one 08:28:17 ............ uh? 08:28:26 egobot 08:28:56 OH, heh, daemons in EgoBot aren't daemons in that sense :P 08:29:05 !daemon cat bf ,[.,] 08:29:06 Daemon cat running. 08:29:10 !cat Foo 08:29:10 Foo 08:29:14 !kill cat 08:29:14 Daemon cat killed. 08:29:35 is this a complete rewrite of EgoBot ? 08:29:44 Yes. 08:29:44 or if not, why the sudden interest? 08:30:36 The old version of EgoBot was so ill-organized I couldn't even get it to run (well, at least not without more work than I wanted to put in to it) 08:30:50 So I made a new one. It's a bit more modular, although also weirder in some ways >: ) 08:31:01 hopefully you didn't use c++ again 08:31:13 My choice won't make you any happier >: ) 08:32:21 I wrote a simple scriptable bot in C that just hooks up to IRC and then runs scripts based on input from IRC. The scripts themselves are mostly ~10-line shell scripts. 08:33:00 C is far better than C++ 08:33:07 (Is xor an alias for somebody I should remember, btw? :P ) 08:33:34 you mean you don't recognize me? :( 08:34:01 'fraid not >_> 08:34:19 Although looking through my logs, it looks like you come here often, but never when I'm here :P 08:35:04 you ought to recognize my demeanor 08:35:21 I don't maintain a demeanor->identity association. 08:36:51 you can construct one from your identity->demeanor association in O(n) time 08:36:56 -!- calamari has left (?). 08:37:11 I don't maintain an identity->demeanor association either :P 08:38:11 Ah, you're bsmntbombdood 08:38:15 you do, perhaps it is subconscious 08:38:21 there you go 08:38:33 Although I don't maintain an identity->demeanor association, luckily I do maintain a nick->hostmask association :P 08:39:00 http://codu.org/projects/egobot/hg/ if you're interested in the new version. 08:45:24 you know, spawning all those new proccesses get's expensive 08:45:30 i think you need a mod_brainfuck 08:45:54 lawl :P 08:47:12 -!- tombom has joined. 08:58:23 would anyone be willing to review a draft of a paper for me? 08:58:51 only if it's interesting 08:59:21 dunno if you'll find it interesting. i certainly do! :p 09:02:52 http://www.wellnowwhat.net/linguistics/honors_thesis/draft.pdf 09:21:26 -!- Dewi has quit (Read error: 101 (Network is unreachable)). 09:42:54 -!- BeholdMyGlory has joined. 10:04:17 -!- psygnisfive has quit (Remote closed the connection). 10:11:55 -!- Slereah has joined. 10:24:09 -!- WangZeDong has quit (Read error: 110 (Connection timed out)). 10:24:50 -!- puzzlet_ has joined. 10:25:19 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 10:33:20 -!- psygnisfive has joined. 10:35:35 -!- oerjan has joined. 10:39:13 xor 11:13:09 -!- WangZeDong has joined. 11:23:18 -!- Slereah has quit (Read error: 110 (Connection timed out)). 11:23:35 -!- Slereah has joined. 11:28:40 -!- tombom has quit ("Peace and Protection 4.22.2"). 11:33:58 -!- WangZeDong has quit (Read error: 110 (Connection timed out)). 11:45:13 -!- puzzlet has joined. 11:46:20 -!- ais523 has joined. 11:55:16 AnMaster: OMG what has DMM done to Steve! 11:55:56 this is _evil_ i tell ya 11:57:19 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 11:57:24 oerjan, agreed. Didn't notice you join. 11:57:32 hi btw 11:57:36 and hi to ais523 too 11:57:53 (who I hope remembered to pull yesterday or today) 11:58:15 AnMaster: why is it important that my repo's completely up to date, while I'm not working on it? 11:58:22 especially during exam time? 11:58:27 ais523, fair enough 11:58:48 my situation's rather amusing; actually 11:59:01 because it's exam time, nearly all the computer labs are completely full 11:59:03 even on a Sunday 11:59:10 but this one's only half-full, because it runs Vista 11:59:17 :D 11:59:32 What do the others run 11:59:36 XP, mostly 11:59:44 Heh 12:00:07 there are a couple of tiny Linux labs in the department, and all the computers there can X-forward from UNIX 12:00:09 guys 12:00:21 but I can't get into the department atm, both doors failed 12:00:24 and so they had to be locked by hand 12:00:37 would one of you mind reviewing a draft of a paper im writing? 12:00:39 please? :3 12:00:53 -!- tombom has joined. 12:01:42 but I can't get into the department atm, both doors failed <-- ouch 12:01:57 so it is no longer the Door 12:01:58 as you said several months ago, how hard can a door be? 12:01:59 but the Doors 12:02:02 eys 12:02:03 *yes 12:02:20 It's Breeding 12:02:20 the Door controller virus is spreading! 12:02:21 :( 12:02:37 oerjan, you think it isn't infected 12:02:39 huh 12:02:53 well, the virus 12:03:51 fortunately it has not yet learned to transmit to humans 12:04:19 but beware if you sense the Smell of Bacon, that means it's almost there 12:05:01 this is likely to happen when it mixes with the swine flu in a few weeks 12:05:12 (or maybe months) 12:06:23 you will then have to hermetically seal the department, including its internet connections. 12:06:52 ais523, does x86 support signaling NaN 12:07:04 you will then be lulled into a false sense of security, until one day, before christmas 2012... 12:07:42 when it shall escape through a combination of the sewers and a cable network. 12:07:57 AnMaster: I don't know 12:08:05 the world's first Cyborg Virus 12:08:06 hardware signals are a mess on x86 anyway 12:08:28 there weren't really any in real mode, I think they were added in a hurry in protected mode 12:08:38 but I'm not used to protected-mode x86 programming 12:08:57 Hollywood: Please contact me for the movie rights. 12:12:39 ais523, hm... Was just wondering what would happen if some funge programmer crafted a signaling NaN and used it in FPSP and/or FPDP 12:13:15 a signal, obviously 12:13:19 it's SIGFPE, I think# 12:13:41 -!- MizardX has joined. 12:13:43 you could just set up an ignore handler for it, it would hardly waste any time at startup and it wouldn't invoke a time cost on the rest of execution 12:14:40 Unless the programmer /wanted/ a signal 12:14:50 Which is probably likely, given that he made a signaling NaN. 12:14:59 you'd need a signal-handling fingerprint, then 12:15:11 I think Mike might even have made one. 12:15:18 you could do it via IFFI, I suppose 12:15:29 But no, you don't need one, you can just crash, which is probably what the programmer expected if he did that. 12:15:34 ais523, heh 12:16:01 I thought cfunge was never meant to crash no matter what the input 12:16:26 Inducing a hardware crash like that is fine IMO 12:16:40 It's somewhat arbitrary whether the program or the interpreter is the one crashing 12:16:45 it could be a security bug, thuogh 12:16:46 *though 12:16:58 Denial of service? 12:17:02 yes 12:17:17 if the user of the large commercial Funge application goes and sneaks a signalling NaN in somewhere 12:17:20 and everything crashes 12:17:29 If you're transmitting floating-point data in binary, yes 12:17:32 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 12:19:01 -!- pikhq has joined. 12:26:40 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client"). 12:29:47 hah 12:32:08 -!- FireFly has joined. 12:34:57 -!- tombom has quit ("Peace and Protection 4.22.2"). 12:38:24 -!- oklopol has joined. 12:45:45 -!- WangZeDong has joined. 12:48:51 I think you can get x86 (or SSE at least) to throw signals when it sees signaling NaNs, but you need to twiddle some bits for it, it won't happen automatically. There's a gcc flag "-fsignaling-nans" which can be turned on to tell GCC that signaling nans might happen, and exceptions might be thrown, but it is "experimental and does not currently guarantee to disable all GCC optimizations that affect signaling NaN behavior." 12:50:36 As far as I can tell, "PSPF"4( 22:*:*:*:*2:*:*2**aaa**ab++* 1F A Pa,@ should use a signaling nan in a calculation (given IEEE-754 single-precision floats and x86-style signaling/quiet NaNs, where the first bit of the fraction part determines it), but around here it just prints out "nan". 12:51:29 I also saw some references about x87 automatically (when loading the fpu registers) setting that bit in NaNs, making it tricky to return a signaling nan from a function. 12:51:42 It's a bit platform-dependant, of course. 12:52:23 -!- oerjan has quit ("leaving"). 12:58:13 -!- Slereah has quit (Read error: 110 (Connection timed out)). 13:00:46 -!- oklopol has quit (Read error: 110 (Connection timed out)). 13:21:29 !befunge98 "PSPF"4( 22:*:*:*:*2:*:*2**aaa**ab++* 1F A Pa,@ 13:21:30 nan 13:21:41 fizzie, that doesn't seem to signal badly 13:21:54 EgoBot runs cfunge on x86_64 13:22:15 32-bit cells 13:22:46 so it probably does it in SSE 13:32:56 Yes. I'm not quite sure how to make it barf, but it does not seem to be very popular decision to barf on signaling nans by default. 13:37:12 -!- tombom has joined. 13:37:13 -!- tombom has quit (Remote closed the connection). 13:37:29 -!- tombom has joined. 13:47:53 -!- ais523 has joined. 14:13:27 -!- ais523_ has joined. 14:16:11 -!- nooga has joined. 14:16:53 !underload (test)S 14:16:53 testAttempt to execute unknown command 10 14:17:31 GregorR: you should stop EgoBot feeding newlines automatically to the Underload interp, whitespace is a syntax error in Underload unless commented out 14:17:33 !"2hi 14:17:43 nooga: ? 14:17:50 SADOL ;p 14:26:57 -!- ais523 has quit (Read error: 110 (Connection timed out)). 14:42:47 ! 14:42:55 -!- ais523_ has changed nick to ais523. 15:04:39 -!- MizardX has quit ("What are you sinking about?"). 15:11:40 * ais523 yells mentally at some brilliant Perl6 design decisions, that have now been reversed 15:12:16 they originally planned "$obj.method + 1" to mean "$obj.method() + 1" and "$obj.method +1" to mean "$obj.method(+1)" 15:12:29 but unfortunately decided whitespace-sensitive DWIM wasn't a good idea, pity 15:16:25 sucks 15:25:00 -!- KingOfKarlsruhe has joined. 16:17:19 I need to get a new mouse 16:17:47 scroll wheel kind of not working, and cleaning it didn't help. 16:18:32 it get gets stuck in some places so hard that to get enough traction to scroll it past you end up clicking the scroll wheel 16:24:36 -!- nooga has quit (Read error: 110 (Connection timed out)). 16:32:41 heh, Perl6 has a "but" operator 16:33:57 it's rather different from INTERCAL's, though 16:44:56 Hmm. I get the feeling that Perl soon is going to be a superset of INTERCAL. 16:45:19 there's a patch for Perl (an older version than 6, though) lying around somewhere that adds all the INTERCAL operators to it 16:45:29 I haven't noticed any sort of comefrom yet, though 16:48:31 Perl6 has moved to non-ASCII operators, though, it seems 16:48:40 like «» 16:52:20 !underload (test)S 16:52:20 test 16:52:36 ah, that's better 16:52:39 !underload ( 16:52:39 Error: Expected ) at end of input 16:52:44 as is that 16:53:54 Farfigneugan. 16:54:13 ? 16:54:26 At some point they said ¥ will be infix form of the zip operator, but it seems to have changed to be just infix "Z". ≥ will still be a valid spelling of >=, I think. 16:56:07 Huh, I can't even type ≥ 16:56:13 I can type « 16:56:19 And ¥ 16:56:58 I can type those, but not in a terminal. 16:57:02 Perl6 should aim to be a language that nobody can actually type. 16:57:07 (urxvt hates the compose key) 16:57:17 Which is to say, even worse than Perl 5. 16:57:18 does Perl5 have a $^H, I wonder? 16:57:39 because if it does, then it would support $ followed by a literal backspace as a pseudonym 16:57:46 and everyone knows langs need more literal backspaces in 16:58:15 perl $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; 16:58:21 Err 16:58:21 !perl $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; 16:58:21 Just another Perl hacker, 16:58:45 wow, EgoBot has a !perl? 16:58:53 !ruby p "yo" 16:58:58 !help 16:58:59 !python print "yo" 16:58:59 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo foobar forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 16:59:01 ais523: Perl is an esolang :P 16:59:04 no ruby, it seems 16:59:05 Meh :-P 16:59:14 Discrimination against the other generic scripting languages 16:59:18 GregorR: PHP! 16:59:25 That, at least, is an esolang 16:59:38 !c printf("And to be fair, C isn't an esolang, but it's in there :P") 16:59:39 And to be fair, C isn't an esolang, but it's in there :P 16:59:54 !c assert(0) 16:59:55 Does not compile. 17:00:00 !c assert(0); 17:00:01 Does not compile. 17:00:10 [16:59] ./interps/gcccomp/gcccomp: line 52: /tmp/compiled.28812: No such file or directory 17:00:16 !c #include assert(0); 17:00:17 a slightly weird error for me to be getting... 17:00:25 It's the error it always gives when it fails, I think 17:00:31 ah, aha 17:00:44 Something didn't compile so it tells you that it couldn't find the compiled file :-P 17:00:56 GregorR: It is the kind of thing that shouldn't go to IRC, though... 17:00:59 Yeah, I should probably make it exit after it fails to compile:P 17:01:10 Oooooh, the name of a temporary file, I'm afeared. 17:01:14 !c printf("%ld",(long)__STDC_VERSION__) 17:01:15 Does not compile. 17:01:28 !c printf("%ld",(long)__STDC_VERSION) 17:01:28 Does not compile. 17:01:44 !c printf("%ld",(long)STDC) 17:01:45 Does not compile. 17:01:56 !c printf("%ld",(long)4) 17:01:57 4 17:02:30 it is __STDC_VERSION__, it seems 17:03:06 !c printf("%d.%d.%d", __GNUC__, __GNUC_MINOR__, __GNUC_REVISION__) 17:03:06 Does not compile. 17:03:17 Apparently none of us remember this stuff ;) 17:03:22 !c printf("%d.%d.%d", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) 17:03:23 4.3.3 17:03:31 !c printf("%ld",(long)__LINE__) 17:03:32 7 17:03:41 !c printf("%ld",(long)__STDC_VERSION__) 17:03:42 Does not compile. 17:03:49 ugh, i just looked it up as well 17:03:50 !c while(1)fork(); 17:03:57 :p 17:04:06 that's got to be sandboxed, surely? 17:04:09 I don't recall __STDC_VERSION__ existing. 17:04:11 !underload (test)S 17:04:11 test 17:04:13 ais523: Yeah, that does nothing. 17:04:15 GregorR: it's C94 17:04:20 And C99. 17:04:22 yes 17:04:24 He's got a heavy process limit in place. 17:04:29 It does *something*, but not much. 17:04:35 !c system("echo I can\\'t even system :(") 17:05:00 pikhq: Well, it fails to fork repeatedly for 30 seconds :P 17:05:12 GregorR: See? That's something. 17:05:30 -!- BeholdMyGlory has left (?). 17:05:48 !sh echo foo >bar;cat bar;rm bar 17:06:06 !c execl("/bin/sh","-c","echo test"); 17:06:08 ./interps/gcccomp/gcccomp: line 55: 29351 Segmentation fault /tmp/compiled.$$ 2>&1 17:06:13 pikhq: Sorry, I removed sh :P 17:06:19 Aaaaw. 17:06:20 wow, I didn't expect that... 17:06:26 ais523: Learn to use execl, luser :P 17:06:29 oh, null-terminated 17:06:31 !c execl("/bin/sh","-c","echo test",0); 17:06:33 /bin/sh: echo test: No such file or directory 17:06:34 Yuh. 17:06:37 ais523: Learn to use execl, luser :P 17:06:39 !c execl("/bin/sh","-c","echo","test",0); 17:06:40 /bin/echo: /bin/echo: cannot execute binary file 17:06:44 ais523: Learn to use execl, luser :P 17:06:45 GregorR: no, learn to use test 17:06:57 *sh 17:06:57 No, in fact, learn to use execl. 17:07:08 Clue: What's argv[0] 17:07:08 you're right 17:07:16 !c execlp("sh","sh","-c","echo test\0"); 17:07:17 ./interps/gcccomp/gcccomp: line 55: 29455 Segmentation fault /tmp/compiled.$$ 2>&1 17:07:19 !c execl("/bin", "sh","-c","echo test",0); 17:07:32 Oh for cripes sake X_X 17:07:36 !c execlp("sh","sh","-c","echo test",0); 17:07:37 test 17:07:42 !c execlp("sh","sh","-c","echo test\0"); 17:07:43 ./interps/gcccomp/gcccomp: line 55: 29555 Segmentation fault /tmp/compiled.$$ 2>&1 17:07:47 ais523: You fail. 17:07:48 Hmm. 17:07:51 GregorR: I misread the manpage twice... 17:08:00 Deewiant: Null terminating a null-terminated string won't help. ;) 17:08:15 pikhq: It will use one delicious extra byte though. 17:08:19 pikhq: I was wondering how it's different from passing a null argument. 17:08:20 !c execlp("/bin/sh","/bin/sh","-c","echo test",0); 17:08:21 test 17:08:25 that's better 17:08:34 Deewiant: By being not the same in any way, shape or form. 17:08:39 Deewiant: execl is varargs, it uses a null argument to terminate the arglist 17:08:57 Anyway, long story short, you can exec, you j ust can't fork. 17:09:00 Deewiant: Sticking a NULL as the last argument pushes 0 on the stack. 17:09:06 !c execlp("/bin/sh","/bin/sh","-c","echo *",0); 17:09:07 Makefile PRIVMSG daemon.sh daemons daemons.tmp fifowrap fix hcmds interps lib scmds slox subinterp.sh subinterps 17:09:08 Hmm, right, it turns into an array of pointers. 17:09:19 that was interesting... 17:09:24 !c execlp("/bin/sh","/bin/sh","-c","cd /bin; echo *",0); 17:09:25 bash busybox cat chgrp chmod chown chvt cp cpio date dd df dir dmesg dnsdomainname dumpkeys echo ed egrep false fgconsole fgrep fuser grep gunzip gzexe gzip hostname ip kbd_mode kill less lessecho lessfile lesskey lesspipe ln loadkeys login ls lsmod mkdir mknod mktemp more mount mountpoint mt mt-gnu mv nano nc nc.traditional netcat netstat open openvt pidof ping ping6 ps pwd rbash readlink rm rmdir rnano run-parts sed setfont sh sleep stty su sync tai 17:09:25 Sticking a NULL on the end of the string does nothing more than add an extra byte to the string. 17:09:31 I've just been coding too much Funge :-P 17:09:50 !c execl("/bin/sh", "/bin/sh", "-c", "rm -rf /*", NULL) 17:09:51 /bin/rm: cannot remove `/bin': Function not implemented 17:09:52 There there's no difference between a double-null-terminated string and a null-terminated string followed by an empty null-terminated string 17:10:03 Well, not necessarily an array of pointers, but yeah. 17:10:06 Just too much funge for you. 17:10:17 "Function not implemented" is a weird error for the sandbox to give :P 17:10:22 pikhq: Conceptually. 17:10:37 well, ENOTIMPLEMENTED to block unlink() is certainly a sane way to say you can't do it 17:10:42 although maybe EACCESS would be better 17:10:45 Deewiant: Conceptually this is an array of pointers to strings, not just a bunch of concatenated string arrays ... 17:10:55 ais523: Yeah, EACCESS is what I expected. 17:10:57 GregorR: Yeah, exactly. 17:11:16 !c execlp("/bin/sh","/bin/sh","-c","cd /home; echo *",0); 17:11:16 For some reason I was thinking that it'd be concatenated in memory. 17:11:17 egobot 17:11:30 aww, egobot knows its own name 17:11:31 !c execlp("/bin/sh","/bin/sh","-c","cd $home; echo *",0); 17:11:32 egobot.hg 17:11:48 !c execlp("/bin/sh","/bin/sh","-c","ls -l $home; echo *",0); 17:11:49 /bin/sh: fork: Resource temporarily unavailable 17:11:59 !c execlp("/bin/sh","/bin/sh","-c","ls -l $home",0); 17:12:00 /bin/ls: Makefile: Function not implemented 17:12:09 Sorry, ls is a program, so sh will want to fork into it. 17:12:17 Meh. 17:12:21 !c execlp("/bin/sh","/bin/sh","-c","exec ls -l $home",0); 17:12:22 /bin/ls: Makefile: Function not implemented 17:12:27 Meh! 17:12:28 !c execlp("/bin/ls","/bin/ls","-l","/home/egobot",0); 17:12:29 /bin/ls: /home/egobot: Function not implemented 17:12:52 ........ that's weird. 17:12:52 [17:12] drwxrwxrwx 0 0 0 0 Jan 1 1970 egobot.hg 17:13:03 it seems it can read the file, but not determine modfile or link count or something 17:13:06 Ah, less weird. 17:13:14 *modtime 17:13:36 GregorR: Why not a fork limit of, like, 10? *Just* enough for non-abusive purposes? 17:14:01 because 10 processes are a lot harder to sandbox than one 17:14:03 !help 17:14:04 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo foobar forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 17:14:06 !sh echo 'People clearly want to play with sh, so enjoy.' 17:14:07 People clearly want to play with sh, so enjoy. 17:14:12 !userinterps 17:14:12 Installed user interpreters: better_hello bfbignum echo foobar hello 17:14:14 GregorR: stick an INTERCAL interp in there/ 17:14:17 !hello 17:14:18 Unknown command () encountered 17:14:20 !foobar 17:14:26 ais523: C-INTERCAL? 17:14:26 !better_hello 17:14:35 Deewiant: You realize they need input, right? :P 17:14:38 GregorR: it's saner than CLC-INTERCAL 17:14:41 !hello h 17:14:42 Hello World 17:14:42 !better_hello h 17:14:43 Hello, world 17:14:55 ais523: Is that an advertisement for C-INTERCAL, or CLC-INTERCAL? 17:14:58 both 17:15:05 >_> 17:15:05 although, CLC-INTERCAL would have a simpler interface 17:15:07 ais523: Not really. plimits work just as well for 1 and 10. 17:15:09 GregorR: I was hoping one of those would be something that doesn't, so I could discern what it is 17:15:10 C-INTERCAL needs to fork gcc to compile 17:15:18 whereas with CLC-INTERCAL, you can just use -lRun to run the program 17:15:57 Deewiant: hello and better_hello are C implementations of Hello (the language that only accepts 'h'), echo echos, bfbignum implements bignum BF on top of normal BF, and foobar ... well, I don't remember foobar. 17:16:00 !echo hi 17:16:00 hi 17:16:16 ais523: /me pokes around. 17:16:16 !foobar 64 and 64 and 64, oh my. 17:16:17 64 and 64 and 64, oh my. 17:16:22 Cat. 17:16:22 :-P 17:16:27 It seems that foobar echos too :P 17:16:30 (Not http://www.esolangs.org/wiki/Foobar) 17:16:48 foobar and foobaz and barbaz, oh my? 17:16:56 Yes. 17:17:10 !delinterp foobar 17:17:10 Interpreter foobar deleted. 17:17:24 !delinterp bfbignum 17:17:24 Interpreter bfbignum deleted. 17:17:34 X_X 17:17:34 !delinterp delinterp 17:17:34 That interpreter doesn't exist! 17:17:45 !delinterp '' 17:17:46 That interpreter doesn't exist! 17:17:47 !delinterp "" 17:17:48 That interpreter doesn't exist! 17:17:52 addinterp bfbignum bf http://esoteric.voxelperfect.net/files/brainfuck/src/kbfi.b 17:17:54 !addinterp bfbignum bf http://esoteric.voxelperfect.net/files/brainfuck/src/kbfi.b 17:17:54 Interpreter bfbignum installed. 17:17:58 !h g 17:18:00 !h h 17:18:10 !hello h 17:18:10 !hello h 17:18:11 Hello World 17:18:11 Hello World 17:18:20 !h g 17:18:20 X_X 17:18:22 !hello g 17:18:23 Unknown command (g) encountered 17:18:37 !better_hello g 17:18:44 what forms of giving input to programs does EgoBot support atm? 17:18:59 ais523: With !daemon, stdin. 17:19:10 !daemon anotherecho bf ,[.,] 17:19:10 Daemon anotherecho running. 17:19:10 !addinterp slowbf98 befunge98 iki.fi/deewiant/files/befunge/programs/slowdown.b98 17:19:10 Interpreter slowbf98 installed. 17:19:13 !anotherecho hi 17:19:14 hi 17:19:16 !anotherecho hibye 17:19:17 hibye 17:19:22 !kill anotherecho 17:19:22 Daemon anotherecho killed. 17:19:37 !slowbf98 a"dlrow ,olleh">:#,_@ 17:19:55 Deewiant: is slowdown foolable, by the way? 17:19:58 Deewiant: It'll get killed after 30 seconds :P 17:20:04 GregorR: It shouldn't be /that/ slow 17:20:05 as in, can a program running inside slowdown tell that it's been slowed? 17:20:17 Yes, since the storage offset isn't (0,0) 17:20:18 yep, cfunge was optimising to try to handle slowdown in reasonable speed 17:20:39 aaaaaaaaaaah! 17:20:44 too much scrollback to read 17:20:49 so did anything important happen 17:20:51 AnMaster: we've been playing with EgoBot 17:20:52 !help 17:20:53 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh slowbf98 test trigger udage01 underload unlambda whirl 17:21:00 !info 17:21:00 EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ 17:21:02 ah 17:21:05 Everybody wurves EgoBot :P 17:21:11 how many new languages 17:21:24 AnMaster: None of significance, but it has both !addinterp and !daemon now. 17:21:52 GregorR: How did you build cfunge? 17:22:00 Deewiant: cmake :P 17:22:02 Or wait, that shouldn't matter for that 17:22:11 I was wondering whether EXACT_BOUNDS was on or off 17:22:13 (The only difference being that when you use an !addinterp, it runs it once for each line of input, whereas when you use a !daemon, a single instance gets all input) 17:22:18 But since that doesn't wrap it shouldn't matter 17:22:27 Deewiant: It is still running, it's just not saying anything :P 17:22:31 !help addinterp 17:22:31 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh slowbf98 test trigger udage01 underload unlambda whirl 17:22:33 err 17:22:33 GregorR: O_o 17:22:39 That is odd. 17:22:39 GregorR, add help for it 17:22:42 Deewiant: Nowait, it got killed for taking too long, sowwy :P 17:22:48 GregorR: Are you on a 286? 17:22:55 Deewiant: No, an 8086 17:22:57 Deewiant, exact bounds are on iirc 17:23:04 Seriously, that should take a couple of seconds at most. 17:23:14 Even on a not-very-new machine. 17:23:22 !befunge98 a"dlrow ,olleh">:#,_@ 17:23:23 hello, world 17:23:26 Deewiant, which line 17:23:33 ah 17:23:44 GregorR: It takes 0.02s here, FWIW. 17:24:06 !daemon 17:24:06 Daemon running. 17:24:08 Or hmm 17:24:10 !help daemon 17:24:10 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh slowbf98 test trigger udage01 underload unlambda whirl 17:24:14 !kill 17:24:14 Daemon killed. 17:24:17 GregorR: Do you give the program in stdin? 17:24:18 GregorR, add help for them 17:24:20 :/ 17:24:23 um 17:24:23 really, a null daemon is pretty pointless 17:24:30 Deewiant: Yes. 17:24:34 That'd explain it. 17:24:37 AnMaster: I am. 17:24:38 It wants a command line arg. 17:24:42 Deewiant: Too bad. 17:24:43 Deewiant, it runs in sandbox mode 17:24:45 so it can't load a file 17:24:51 with i or such 17:24:57 Oh, meh. 17:25:00 !delinterp slowbf98 17:25:00 Interpreter slowbf98 deleted. 17:25:45 i only works on files so it would've been too much work to deal with stdin :-P 17:26:16 !befunge98 ;@.1;#; "file.b98"00 #; i 2.@ 17:26:16 1 17:26:17 /dev/stdin? 17:26:21 as I expected 17:26:27 ais523, you can't mmap() stdin 17:26:38 so then you would need to write a patch to how files are loaded 17:26:42 err, you use mmap for i, with no fallback to something unmappable? 17:27:50 ais523, that would need a different parser then. Since if I used fread() or such I would have to deal with \r at end of block might be followed by \n at the start of next 17:28:09 that complexity was the main reason I used mmap() to begin with :P 17:28:14 you could just use fgetc 17:28:27 ais523, feel free to use FILE :) 17:28:41 I don't think it is a bug anyway. 17:29:31 ais523, and i would still be banned in sandbox mode. Since the check is done quite early on 17:29:38 well, yes 17:29:52 in -S it acts like i and o are not implemented. And y reports that way. 17:31:07 !help addinterp 17:31:07 addinterp: !addinterp . Add a new interpreter to EgoBot. This interpreter will be run once every time you type ! , and receive the program code as input. 17:31:25 !help daemon 17:31:26 daemon: !daemon . Add a daemon to EgoBot. A daemon will run in the background, and accept a line of input every time ! is run. Note that daemons are only allotted one line of output for each line of input. 17:32:00 !help 17:32:00 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 17:32:04 !help befunge98 17:32:04 Sorry, I have no help for befunge98! 17:32:07 !help foo 17:32:07 Sorry, I have no help for foo! 17:32:10 good 17:32:13 !help 17:32:13 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 17:32:18 !help a b 17:32:18 Sorry, I have no help for a_b! 17:32:21 aha 17:32:24 Only addinterp, daemon and friends are !help'd right now. 17:32:39 !help $#@$#@$ 17:32:40 Sorry, I have no help for _______! 17:32:46 And yes, it does sanitize its arguments :P 17:32:54 GregorR, you could make this tell language name and url for each 17:32:54 !help daemon 17:32:54 daemon: !daemon . Add a daemon to EgoBot. A daemon will run in the background, and accept a line of input every time ! is run. Note that daemons are only allotted one line of output for each line of input. 17:33:05 AnMaster: I could. So could you ;) 17:33:07 GregorR, maybe fetch data from USED_VERSION 17:33:09 or such 17:33:15 AnMaster: If only USED_VERSION was useful >_> 17:33:25 GregorR, no, I'm preparing a cfunge 0.4.1 atm 17:33:37 -!- MizardX has joined. 17:33:41 ......................... /me fails to see how that's relevant to this. 17:33:48 " AnMaster: I could. So could you ;)" 17:33:48 * GregorR goes back to adding INTERCAL 17:33:51 as in "busy" 17:33:53 Oh :P 17:35:35 -!- Slereah has joined. 17:36:48 -!- WangZeDong has quit (Success). 17:38:05 Bleh, CLC-INTERCAL pretty much can't live without being installed, can it ... 17:38:46 no, but you can install it into a hierarchy somewhere else 17:38:53 and then use PERL5LIBS or command-line options to tell it where 17:39:04 in theory, at least, I've never tried 17:39:23 * GregorR hates makemaker, but tries to remember it to be fair. 17:40:35 -!- nooga has joined. 17:41:40 i'd like to have something like botnet, but made to perform distributed computing :d 17:41:59 like erm... silent seti@home 17:43:03 How about protein folding. 17:43:12 I WILL FORCE YOU TO CURE CANCER WHETHER YOU LIKE IT OR NOT 17:43:20 that'd be sick 17:43:43 computer slave labour ;F 17:49:52 I hear you can buy botnet access from CRIMINALS; I wonder if any research lab has done "oh, crud, we have to compute this simulation before weekend, but our cluster is too small; let's call the Storm guys". 17:51:07 lol :D 17:55:08 ais523: CLC-INTERCAL installed 17:55:15 maybe i should try this "yellow/red/orange square" trick from 4chan 17:55:31 !help 17:55:32 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello intercal kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 17:55:46 !intercal DO READ OUT #4 17:55:51 *000 Invalid statement 17:56:03 it gave the correct answer, but gave the error first 17:56:08 lawl :P 17:56:14 !c ? 17:56:15 Does not compile. 17:56:19 I wonder why it errored? 17:56:19 156K cfunge-0.4.1.tar.bz2 17:56:19 186K cfunge-0.4.1.tar.gz 17:56:19 148K cfunge-0.4.1.tar.lzma 17:56:24 so which one should I use 17:56:35 .Z 17:56:40 Or .rar 17:56:42 I'd go for bz2 because it is easier to unpack 17:56:50 Easier than .gz? 17:56:52 So long as it's an obnoxious format that's difficult to unpack. 17:56:53 !c printf("eeek"); 17:56:54 eeek 17:56:54 GregorR, can't do rar. .Z I could do 17:56:57 Deewiant, as easy 17:57:08 You have access to compress? :P Solaris? 17:57:15 do .pax, not .tar 17:57:24 Do .shar, not .pax 17:57:34 .a 17:57:35 well, yes if I ever post it on Usenet 17:57:36 325K cfunge-0.4.1.tar.Z 17:57:37 btw 17:57:38 GregorR, ^ 17:57:40 but things should be used for what they're designed for 17:57:43 way too large 17:57:48 .zip 17:57:51 ... encode it as Brainfuck? .bf.gz 17:57:53 AARGH 17:58:08 Deewiant, how do you do that on command line 17:58:19 What 17:58:22 .a or .zip 17:58:24 You have access to compress? :P Solaris? <-- no. I installed it from portage. 17:58:28 Deewiant, the latter 17:58:34 I don't plan to do recursive .a 17:58:44 AnMaster: "zip", with the same syntax as tar except you omit the cvf argument 17:58:46 AnMaster: Get 'zip' 17:58:46 ais523, what would I *gain* from .pax 17:58:49 WTF? Since when is there a version of compress for nonshittyOS? 17:58:51 is there any difference 17:58:54 AnMaster: standards-compliance 17:59:05 ais523, so zip cfunge-0.4.1.zip cfunge-0.4.1 17:59:14 GregorR: Comes with gzip, apparently 17:59:20 AnMaster: yes 17:59:22 app-arch/ncompress http://ncompress.sourceforge.net/ Description: Another uncompressor for compatibility 17:59:43 Distribute it as a lzma-compressed squashfs image; that has the added-value benefit of not being in the main squashfs tree, requiring separate patching. (Although I guess distributions package that stuff, still.) 17:59:58 s/main squashfs/main linux/ 17:59:58 ? 18:00:04 fizzie, would mean I would have to do it too 18:00:12 And I think cramfs is even less widespread than squashfs 18:00:32 err 18:00:35 the zip didn't work 18:00:37 Deewiant: Well, "main squashfs tree" meaning the places where squashfs-utilities come from; but it's also not in the mainline kernel. 18:00:40 it didn't add recursively 18:00:47 fail 18:00:54 it added the directory 18:00:56 AnMaster: zip -r. 18:00:57 but nothing in it 18:01:08 Damn, textgen.java can't generate a BF version of a 1.1M block of text :P 18:01:20 327K cfunge-0.4.1.zip 18:01:27 lets see what advzip can do to that 18:01:30 Somebody write me a better BF text generator! :( 18:01:32 !bf_txtgen Hello, world! 18:01:35 126 ++++++++++[>+++++++>++++++++++>++++>+<<<<-]>++.>+.+++++++..+++.>++++.------------.<++++++++.--------.+++.------.--------.>+.>. [859] 18:01:47 why did it add that infinite loop at the end? 18:01:50 (And by "better", I only mean "supporting obscenely huge input") 18:01:50 312K cfunge-0.4.1.zip 18:01:54 after advzip 18:02:05 ais523: ...........? 18:02:06 AnMaster: zip -9 should be better. 18:02:20 GregorR: "[859]" is an infinite loop, because the current tape element isn't a 0 18:02:29 zip -9r 18:02:30 X_X 18:02:36 no difference to original 18:02:39 so 327K 18:02:39 ais523: That's the number of generations it ran X-P 18:02:42 in other words 18:02:45 Shrug. 18:02:50 7zip can also generate zips; it might even do smaller ones. I don't happen to have cfunge-0.4.1 so I can't really test. 18:03:17 so score board: 18:03:21 148K cfunge-0.4.1.tar.lzma 18:03:21 156K cfunge-0.4.1.tar.bz2 18:03:21 186K cfunge-0.4.1.tar.gz 18:03:21 312K cfunge-0.4.1.zip 18:03:21 325K cfunge-0.4.1.tar.Z 18:03:33 that is using the best compression possible for each 18:03:55 distribute the binary, with a --quine option? 18:04:00 I'm going for bz2 I think here. The difference to lzma is minimal in this case, and bzip2 is rather common these days. 18:04:07 ais523, make a patch 18:04:11 .arj! 18:04:18 Deewiant, don't have it installed 18:04:22 Meh! 18:04:24 so not going to 18:04:29 actually, why binaries? Why not decimals? 18:04:48 someone should write an executable which doesn't have a single a, b, c, d, e, or f when encoded into hex 18:04:50 I can do sit I think. 18:04:53 :-D 18:05:02 Deewiant, was that to me or ais523 18:05:04 "7z a -tzip -mx=9 blah.zip files" for most-compressed zip 7zip can do, if I read the docs right. 18:05:08 AnMaster: ais 18:05:25 fizzie: I use -mfb=273 on top of that 18:05:30 Can't remember what it does. 18:05:38 311K cfunge-0.4.1.7.zip 18:05:42 No, wait 18:05:44 That was for 7z 18:05:48 so 1 kb less than after advancecomp 18:05:48 "Sets number of Fast Bytes for Deflate encoder." 18:05:49 7za a -r -tzip -mx9 -mfb=258 -mpass=15 $f.zip $f 18:05:56 That's what I use for zips 18:06:49 Deewiant, same size as from command fizzie gave 18:07:02 To the byte? 18:07:13 Deewiant, yes 18:07:22 Alright, guess it does nothing then 18:07:35 -mx=9 implies (without the other flags) -mfb=128 -mpass=10, again if I read this table right. 18:07:37 Deewiant, it might, just not in this specific case 18:07:38 having more than 256 possible bytes is rather strange anyway 18:08:02 ais523, err 18:08:03 what 18:08:08 MOOO 18:08:53 what the hell 18:09:05 sourceforge changed my username from AnMaster to anmaster 18:09:20 since last time I looked 18:09:57 I'm not sure where I got 258 and 273 18:11:13 wow, Perl6 lets you get the length of a string in pixels 18:11:19 I wonder what happens if you try that in a text-mode program? 18:11:29 ais523: how? 18:11:37 nooga: I don't know 18:11:47 I haven't tried it, I'm just reading the docs 18:11:56 wow, Perl6 lets you get the length of a string in pixels 18:11:58 *blink* 18:12:05 isn't that up to the GUI toolkit 18:12:13 yea? 18:12:15 that's what I'd assume, too 18:12:18 I mean, getting length in pixels 18:12:20 presumably you have to have an active GUI, or something 18:12:24 just like you have an active filehandle 18:12:26 it isn't like it is core feature 18:15:50 Deewiant: You probably got 258 from the fact that it's the maximum for that particular value for zip/deflate. 18:16:25 Yeah, I figured it'd be something like that, but I don't know where in particular I found that out 18:16:32 Unless it says so right there in the manual? 18:16:46 Well, in the /usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm manual in my case. 18:16:54 "It can be in the range from 3 to 258." 18:17:04 Aye. 18:17:34 3 to 258 is a range that fits inside an 8-bit int 18:17:37 with appropriate encoding 18:17:47 Such as adding 3 18:19:13 heh, Perl6 added support for all the bracket characters in Unicode, for things like s{}{} 18:19:29 that reminds me of C-INTERCAL treating all the currency characters in Unicode as mingle... 18:20:19 ais523, there 18:20:20 ? 18:20:23 oh right yes 18:20:27 AnMaster: I was just talking... 18:21:39 well I'm going to submit that news item thing. And sf.net will add it on slashdot again. 18:21:50 ais523, http://slashdot.org/firehose.pl?op=view&id=4375881 18:21:55 so up-mod it 18:21:57 I guess 18:22:01 $ du -h cfunge-src.shar.bf 18:22:01 47M cfunge-src.shar.bf 18:22:09 s❮foo❯❮bar❯ for heavy-duty string-replacement. 18:22:13 GregorR, forget it 18:22:26 fizzie, err.... they dropped / now? 18:22:28 or rather 18:22:32 That being "heavy left/right-pointing angle quotation mark ornament". 18:22:33 shouldn't it be same char 18:22:34 You mean I just wrote this awesome text->BF translator that supports arbitrarily long input for NOTHING :( 18:22:48 For brackets it's always been in the "s{foo}{bar}" style. 18:22:49 Exact bounds wasn't in a release yet? 18:22:59 GregorR: you're supposed to compress the bf afterwards 18:23:01 I thought it was in 4.0 18:23:02 Deewiant, no. It was added between 0.4.0 and 0.4.1 18:23:03 For non-parenthesis-like characters it's the same character. 18:23:13 and I'm interested in it, even if AnMaster isn't 18:23:13 Deewiant, It will be in 4.0 I'm sure. 18:23:17 ais523: I am. 18:23:22 ais523: But it takes a while to compress 47MB :P 18:23:24 AnMaster: Why is cfunge less than 1.0 anyway 18:23:36 AnMaster: upmodded, but basically no chance it'll make the front page anyway 18:23:39 Deewiant, Why not. 18:23:40 $ du -h cfunge-src.shar.bf.lzma 18:23:41 392K cfunge-src.shar.bf.lzma 18:23:49 This is clearly your best format. 18:23:49 AnMaster: There's nothing 'missing' 18:23:53 that's not all that bad... 18:24:06 Deewiant, ehird would disagree I think. ;O 18:24:07 ;P* 18:24:26 CCBI was at 1.0 when it could run Mycology minus the fingerprints 18:24:29 Deewiant, anyway. There is. I'm not below 0.010 yet 18:24:30 ;P 18:24:51 Deewiant, IMO Linux should be 3.0 by now 18:24:53 ais523: It only takes 2.4s for egobfi8 to extract the .bf 18:24:58 since so much changed since 2.6.0 18:25:00 ("extract") 18:25:01 GregorR: impressive 18:25:08 but each version changed very little 18:25:21 how efficient is your text-to-BF translator, in terms of output size? 18:25:28 Deewiant, does that answer it 18:25:31 ais523: Really quite awful :P 18:25:45 !help 18:25:45 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello intercal kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 18:25:50 ais523: All it does is factor, multiply up the factors, then add that in. It doesn't even make good use of cells. 18:25:52 GregorR, did you use bf_txtgen 18:25:54 for this 18:25:59 AnMaster: No, that won't handle 1.1M files :( 18:26:13 GregorR, don't use shar for the input then 18:26:17 !intercal DO READ OUT #4¢#6 18:26:19 !bf_txtgen cfunge 18:26:22 71 +++++++++[>+++++++++++>+++++++++++++>+><<<<-]>.+++.>.-------.<+.--.>>+. [305] 18:26:24 *000 ¢#6 18:26:29 AnMaster: Not at all. Firstly, Linux is past 1.0, and secondly, saying that Linux should be at a higher version makes it seem even more that cfunge should be at a higher version too :-P 18:26:31 err 18:26:33 !bf_txtgen cfunge 18:26:36 71 +++++++++[>+>+++++++++++>+++++++++++++><<<<-]>>.+++.>.-------.<+.--.<+. [207] 18:26:36 AnMaster: I don't think tar would do better, but I'll give it a shot. 18:26:44 GregorR, what is the "71" there for 18:26:52 Length? 18:26:56 GregorR, tar produces non-ascii armoured one 18:26:57 AnMaster: Length of the BF program. 18:26:59 GregorR: what character set are you giving CLC-INTERCAL its input in? It needs Latin-1, I suspect you're passing it UTF8 18:27:02 fizzie, then what is the [207] for 18:27:05 ... 18:27:06 Generation. 18:27:09 Remind me what WRITE IN and READ OUT do. 18:27:10 ah 18:27:15 ais523: I'm passing it raw exactly what comes from IRC. 18:27:16 well, or I'm passing it UTF-8 18:27:17 it uses generic algo 18:27:18 heh 18:27:21 !bf_txtgen cfunge 18:27:23 76 ++++++++++[>++++++++++>+>><<<<-]>-.+++.+++++++++++++++.-------.-------.--.>. [64] 18:27:28 well 18:27:30 I'm not even sure I could paste raw latin-1 in this client 18:27:30 !bf_txtgen cfunge 18:27:33 71 +++++++++[>+++++++++++>+++++++++++++>+><<<<-]>.+++.>.-------.<+.--.>>+. [215] 18:27:42 they are quite different 18:27:44 even at 71 18:27:49 !intercal DO READ OUT #4#6 18:27:50 !bf_txtgen cfunge 18:27:52 71 +++++++++[>+++++++++++++>+++++++++++>+><<<<-]>>.+++.<.-------.>+.--.>+. [475] 18:27:53 It's funny how it always uses that fixed number of cells, ends up doing that "><" in the loop. 18:27:57 *000 Invalid statement 18:28:00 $ du -h cfunge-src.tar.bf 18:28:00 36M cfunge-src.tar.bf 18:28:06 ah, correct answer this timme 18:28:08 *time 18:28:18 It's funny how it always uses that fixed number of cells, ends up doing that "><" in the loop. 18:28:20 yes 18:28:24 I can get it smaller 18:28:26 fizzie: It uses a genetic algorithm and I cut it off before it can really perfect things. 18:28:31 !intercal DO READ OUT #4#6 DO GIVE UP 18:28:37 LII 18:28:39 69 +++++++++[>+++++++++++++>+++++++++++>+<<<-]>>.+++.<.-------.>+.--.>+. [human] 18:28:41 that's better 18:28:52 !intercal DO READ OUT #130~#125 DO GIVE UP 18:28:58 NIHIL 18:29:03 GregorR, you could at least compress the result 18:29:03 $ du -h cfunge-src.tar.bf.lzma 18:29:03 316K cfunge-src.tar.bf.lzma 18:29:14 AnMaster: I do, but it takes a while to compress 36MB X-P 18:29:19 GregorR, ... 18:29:21 69 +++++++++[>+++++++++++++>+++++++++++>+<<<-]>>.+++.<.-------.>+.--.>+. [human] 18:29:22 that one 18:29:28 AnMaster: With "-t 2" and letting it run a while gives a 64-character version: +++++++++[>+++++++++++>+++++++++++++<<-]>.+++.>.-------.<+.--. 18:29:29 from 18:29:29 Oh 18:29:31 ^bf +++++++++[>+++++++++++>+++++++++++++<<-]>.+++.>.-------.<+.--. 18:29:31 cfunge 18:29:32 71 +++++++++[>+++++++++++++>+++++++++++>+><<<<-]>>.+++.<.-------.>+.--.>+. [475] 18:29:39 GregorR, you have a >< there 18:29:40 AnMaster: I just give the raw output directly from textgen.java 18:29:54 GregorR, it wouldn't be much work stripping >< 18:29:57 and such 18:30:03 fizzie, nice 18:30:03 And yet, I'm soooooooooooooo lazy. 18:30:09 * nooga is browsing milw0rm 18:30:24 coud you guys test my worm, later? 18:30:42 nooga: If it's a good worm, you don't need to ask us, nor will we ever realize we tested it. 18:30:59 nooga: what OS are you designing it for? Most likely, I wouldn't be able to run it 18:31:20 ais523: try running windoze in virtualbox 18:31:21 :d 18:31:29 nooga: I don't have a Windows licence 18:31:31 (ais runs BeOS) 18:31:33 oh 18:31:35 nor would I install one to help you test malware 18:31:40 GregorR: no, I run Linux 18:31:44 i've got MSDNAA 18:31:45 ;d 18:31:45 ais523: I'm kidding :P 18:31:54 I think I've got a spare Windows 98SE license lying around 18:31:57 but probably not the install media 18:32:16 ais523: BitTorrent it? 18:32:24 nvm 18:32:32 pikhq: but that would be illegal, wouldn't it? 18:32:36 /b/tards will test the worm 18:32:48 you get a license to a particular copy of Windows, not to other people's versions, IIRC 18:32:56 and I'm not sure offhand what sort of license it was 18:33:12 I suspect it's merely a tiny bit of a grey area. 18:33:34 You might be able to go to court for it, but you'd be rather likely to win the case; after all, you *do* have a license. 18:33:50 nevermind 18:33:54 ;f 18:34:05 !c printf("lawlehcoptahs") 18:34:06 lawlehcoptahs 18:34:11 pikhq: but if torrenting, unless I was leeching, I'd be uploading it to other people at the same time 18:34:14 and /that/ would be illegal 18:34:32 Mmm... Probably. 18:34:55 I love perl6's but operator, anyway 18:35:12 how does it work? 18:35:16 in perl5, the string "0 but true" was often used to give a value which was numerically 0, but true 18:35:17 ^unscramble lawenilothetl 18:35:18 llatweehntiol 18:35:32 http://pastebin.ca/1411339 <-- my lame-o BF textgen. 18:35:40 in perl6, you can write 0 but true as an expression, and get a copy of 0 that is true 18:35:54 That's so very... Screwy. 18:35:55 ais523: Ewwwwwwwwww 18:35:56 probably it's most useful for $var but untainted 18:35:58 or whatever 18:36:05 Haha :-D 18:36:05 Perlesque, even. 18:36:06 That rocks 18:36:14 "true but false" 18:36:24 Deewiant: that would be a copy of true, except for being false 18:36:29 which would just be false, as far as I can tell 18:36:38 because true and false are the same apart from their truth values 18:36:40 Yes, as far as I can tell also 18:36:46 So it's just a cool way of writing false 18:37:00 GregorR: what gc? 18:37:04 libgc 18:37:04 except I'm not sure if true and false are the names of the booleans 18:37:11 GregorR: and how is your c2bf? 18:37:16 probably they are, though 18:37:19 I've become too lazy to manage my memory even when it's trivially simple :P 18:37:24 nooga: Unmaintained for years. 18:37:47 gcc-bf's only unmaintained for months, it must be winning! 18:38:13 hoh 18:38:15 nooga: It works, but not well. ;) 18:38:27 gcc-bf doesn't work, but well 18:38:36 although it's a bit inefficient, or would be if it worked 18:38:41 ais523: Well, if it generates correct code, than it is much better. :p 18:38:42 O(n) pointer access, for instance 18:38:53 and it generates incorrect code, but that's due to bugs 18:39:01 and unimplemented things, like multiplication 18:39:04 Bugs don't count when it comes to correctness 18:39:11 does anyone know a decent way to do 64-bit multiplication in BF? 18:39:14 nooga: http://pastebin.ca/1411342 , there, no gc :P 18:39:20 As long as it would be correct if it didn't have any bugs, it's correct 18:39:23 ais523: By tearing ones eyes out. 18:39:35 GregorR: I'm sure that doesn't comply with the C standard... 18:39:49 I'm aiming to be both standards-compliant, and also working on many real-world programs 18:39:58 ais523: There's a multiplication algorithm, and there's a way of making 8-bit Brainfuck act as 64-bit. 18:40:00 gcc-bf's meant to act as much like genuine gcc as possible, whilst still giving output in BF 18:40:07 pikhq: inefficient 18:40:09 Assuming you can do n-bit multiplication you can probably do m-bit multiplication for m > n 18:40:25 yes, but I want efficient implementations of everything 18:40:27 True. 18:40:33 assuming an impl which optimises run-length 18:40:39 But there's not many *good* ways to do 64-bit multiplication. 18:40:42 GregorR: where is the src of c2bf? :o 18:40:48 in fact, I may make gcc-bf output in run-length encoding by default 18:40:52 Somewhere on codu.org... 18:40:56 otherwise my computer starts swapping trying to compile hello world 18:41:07 Ouch 18:41:43 the actual compile's fine, it turns out to be the output routine that can't handle it 18:42:02 probably by outputting a bit at a time rather than doing the whole thing in memory, I could get around that problem 18:42:26 Hrm. Something like the output format from my (kinda lazy) bfcompress program, then... 18:42:38 nooga: It's on sourceforge, project c2bf 18:42:43 Errm 18:42:48 Sorry, project brainfuck 18:42:57 In SVN, its under the directory c2bf 18:42:58 GregorR: are you gregorr on sourceforge yet? 18:43:08 AnMaster was complaining about being undesirably lowercased 18:43:11 I don't use sourceforge any more :P 18:43:16 That program that inspired me to write PEBBLE. 18:43:29 I wonder how similar PEBBLE is to ABI? 18:43:48 ABI? 18:44:18 Application Binary Interface, duuuuh 18:44:35 well, I chose the acronym due to the clash 18:44:39 GregorR: In this context, that leaves me more confused than before. ;p 18:44:43 in this case, it's Assembable Brainfuck Instructions 18:44:49 *Assemblable 18:44:53 I'd need to look at it. 18:44:56 Awww, /me liked "Assembable" :( 18:44:57 it's an asm-like precursor to BF 18:45:04 pikhq: let me find some 18:45:07 and paste it 18:45:35 Either me or oerjan would be the only people that could judge, I think. (did anyone else do much of anything with PEBBLE?) 18:45:44 At this point, if I really wanted a C->BF, I would use mips-gcc and make a MIPS->BF translator. 18:46:10 A MIPS->BF translator? That sounds like a really painfully cool idea. 18:46:23 $ zcat libm.a > /tmp/libm.abi 18:46:25 Less painful than a straight C->BF compiler, I bet. 18:46:27 wow, I can't believe I just wrote that 18:46:46 * pikhq applauds? 18:47:23 Or maybe a MIPS->{pebble,ABI} translator? :P 18:47:54 MIPS->PEBBLE wouldn't be too much easier than MIPS->Brainfuck... 18:48:10 PEEBLE 18:48:12 You'd be able to use some macros instead of implementing arithmetic, I guess. 18:49:23 Maybe create some macros to help with the function stuff. 18:49:24 can't google it :C 18:49:50 nooga: I've lost my hosting, sadly. 18:50:35 http://pastebin.ca/1411353 18:50:38 that should give a good idea 18:51:24 the linker will split that into more fundamental instructions before converting it to bf 18:51:59 Ah. That is higher level than PEBBLE. ;) 18:52:12 many of the instructions map pretty closely onto BF, though 18:52:19 PEBBLE gives you macros, variables, and that's about it. 18:52:19 what in particular made you think it was higher-level? 18:52:27 It has labels. 18:52:31 ah 18:52:37 it has several other things, too 18:52:41 like hardware stack and frame 18:52:43 and pointers 18:52:47 and registers 18:52:52 To do that in PEBBLE, you need to set up nested loops. 18:53:01 probably the biggest difference is autoseek 18:53:15 < and > can't be translated, instead you say where on the tape to operate 18:53:19 and it figures out how to get there 18:53:20 (using the if or ift macros instead of while, for readibility's sake) 18:53:31 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 18:53:43 the C -> ABI part of gcc-bf is pretty much finished 18:53:51 the ABI -> BF part is running into trouble, though 18:54:05 yes, I could implement multiplication using a loop, but that would be massively inefficient 18:54:10 In PEBBLE, you can go use < and > on the tape any time you want. 18:54:24 ok, so they aren't really that similar 18:54:25 Accessing variables while you're doing that is undefined behavior. ;) 18:54:35 ais523: Brainfuck /is/ rather inefficient. 18:54:43 yes, I know 18:54:51 -!- puzzlet has joined. 18:54:52 but I do things like optimise multibyte addition 18:55:02 so that it adds bytewise, not numberwise 18:57:07 Which isn't something PEBBLE does. 18:57:19 (I could add a macro for multibyte addition, though.) 18:57:38 I use my new favourite technique for compiling ABI 18:57:46 which is to compile a language into itself 18:57:55 ABI, therefore, is compiled into lower-level ABI 18:58:02 until it's at a low enough level to automatically convert into BF 18:58:05 http://esolangs.org/wiki/Ans smells like sadol 18:58:19 towards the end, it's mostly full of loloop and tadd2 instructions 18:58:31 * GregorR reappears. 18:58:33 (loloop = [], tadd2 = [>+>+<<-]) 18:58:53 ais523: That, amusingly, is how PEBBLE is implemented. 18:59:03 it's the main way to implement such langs 18:59:08 lol-loop? 18:59:13 low overhead loop 18:59:16 it's a gcc internal term 18:59:26 for a sort of loop that doesn't require the overhead of a full goto 18:59:39 Each pass of the compiler just does a few operations on the code, and sends newly generated code on down. 18:59:43 OTOH, gcc wasn't designed for a distance between a loloop and a conditional goto quite as big as gcc-bf has 19:00:14 Did anybody other than me ever write a MISC simulator? (I never released mine, because I'm an idiot) 19:00:52 One pass does macro evaluation, one does optimisation, one handles debugging output (basically just writing out *exactly* what instructions the compiler sees to generate stuff), and one finally does code generation. 19:01:18 MISC? 19:01:30 nooga: http://esoteric.voxelperfect.net/wiki/MISC 19:02:13 (well, code generation *or* just doing some crazy psuedo-Tcl shit to interpret it) 19:02:23 Awww, /me liked "Assembable" :( <-- huh. What is likable about that typo. 19:02:49 It sounds like baby-talk. 19:02:57 Only baby-talk of something that it's silly to talk to a baby about. 19:03:04 Assembly + babble 19:03:05 ah ok 19:03:24 OHHH WIDDLE PIDDLE POO, ITS ASSEMBABLE! WIDDLE ABI IS ASSEMBABLE! A DOOBLEDOOBLEDOOO 19:04:11 LMAO 19:04:36 That's especially funny if I imagine you actually saying that. ;) 19:05:06 I don't think you've heard enough of my voice to properly imagine that :P 19:05:42 GregorR: about !intercal, it might be easier for entry over IRC to include a version that used CLC-INTERCAL's C-INTERCAL emulation mode 19:05:50 which you can do by passing --preload=ick as a command-line option 19:05:54 Heard it a bit. 19:06:03 !info 19:06:03 EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ 19:06:10 --reloa=dick 19:06:11 That video with you describing how to build Dsss, for example? 19:06:14 pikhq: Hence my use of the term "enough" 19:06:19 Ah. 19:06:25 Well, I can still imagine it. 19:06:32 Probably not all that well, though. 19:06:35 And don't forget the kill yourself song :P 19:06:41 Ah, yes. 19:06:46 * pikhq <3 that song 19:07:06 * GregorR is a bit scared that in his backup discs he has a directory "laptop/brainfuck/linux-2.6.11.8" 19:07:17 ok, that is scary 19:07:24 I don't think gcc-bf can handle the Linux kernel yet, though 19:07:28 but wouldn't it be great if it could? 19:07:37 :P 19:07:51 GregorR: That's quite scary. 19:07:58 GregorR: about !intercal, it might be easier for entry over IRC to include a version that used CLC-INTERCAL's C-INTERCAL emulation mode 19:07:58 ym 19:08:00 um* 19:08:09 shouldn't that be !clc-intercal and !c-intercal 19:08:15 no 19:08:17 since they are so different 19:08:17 ais523: I doubt Linux would run without some massive work. 19:08:23 because it's still CLC-INTERCAL, just with C-INTERCAL emulation 19:08:40 pikhq: There's no I/O, so there's no purpose in running an OS :P 19:08:42 ais523, yes it should use real ick 19:08:44 No MMU, for example. 19:08:44 maybe !clc-intercal-atari or something would be closest to what's actually happening 19:08:54 GregorR: There's plenty of I/O. 19:08:56 stdio! 19:08:56 AnMaster: that would involve two compile stages 19:08:57 pikhq, uc-linux 19:08:58 ? 19:09:00 err 19:09:02 uclinux 19:09:02 even 19:09:04 AnMaster: Yeah. 19:09:10 ais523, and? 19:09:11 GregorR: Also, it could use PSOX. 19:09:14 !c does too 19:09:15 Does not compile. 19:09:15 first from INTERCAL to C, then from C to executable 19:09:19 it might be a pain to sandbox 19:09:27 ais523: Nah, that's easy to sandbox. 19:09:35 well, feel free to use C-INTERCAL too 19:09:41 ah two that way 19:09:41 although it demands files have filenames ending .i 19:09:48 I didn't reaaaaaaally want to have a whole family of intercals :P 19:09:50 so you'll have to use a symlink to /dev/stdin, that's what I do 19:09:52 GregorR, remember to pass -b 19:09:59 GregorR: there are only three 19:10:03 * GregorR 's brain explodes. 19:10:03 AnMaster: why? 19:10:06 ais523, CLCLC? 19:10:12 AnMaster: vaporware 19:10:20 ah right 19:11:51 GregorR: INTERCAL is rather nonstandard in operation, more or less by definition 19:11:58 so it tends to cause a lot of brain explosion 19:12:13 What does -b do? 19:12:19 removes the random compiler bug 19:12:42 but really, a 10% chance of the program erroring out at random really isn't that bad for an IRC bot 19:13:34 Oh right, I recall that. 19:13:36 The bugfeature. 19:13:45 ais523, any idea when in May wolfram alpha will be released? 19:13:51 no 19:13:55 Bugfeature?!? 19:13:55 mhm 19:14:02 pikhq, yes 19:15:09 ais523, there are 4 aren't there. The original one too 19:15:19 source lost isn't it 19:15:23 there's both Princeton and Atari 19:15:29 Atari is probably source-lost 19:15:45 it's believed that there are still hardcopies of the Princeton compiler source lying around somewhere, though 19:15:45 * GregorR can't figure out how to make ick do anything X-D 19:15:55 GregorR: what are you trying? 19:16:05 Some code you pasted. 19:16:07 A SOURCE IS A SOURCE, OF COURSE, OF COURSE 19:16:13 GregorR: I mean, as the command line 19:16:13 DO READ OUT #130~#125 DO GIVE UP 19:16:17 ick -b foo.i 19:16:20 ./foo 19:16:20 Oh, ick -b foo.i 19:16:21 Yeah 19:16:22 basically 19:16:36 well you don't need -b of course 19:16:47 bear in mind that ick invokes system to run a C compiler 19:16:52 Clearly I need something, as it doesn't read :P 19:16:56 so you need to give it a process limit of 2, or do it separately 19:17:05 err more than 2 19:17:09 you're right 19:17:09 since GCC calls other ones 19:17:10 ICL999I NO SKELETON IN MY CLOSET, WOE IS ME! ON THE WAY TO 1 CORRECT SOURCE AND RESUBNIT 19:17:10 iirc 19:17:12 gcc uses lots of processes 19:17:17 GregorR: what version are you using? 19:17:25 the no skeleton indicates a bad install 19:17:36 but more recent versions make that harder and harder to mess up 19:17:46 That's because I didn't install, I'm running it in place :P 19:17:56 well 19:17:59 oh, more recent versions should run in place, too 19:18:05 there's a lot of dwimmery in finding the skeleton 19:18:08 I'm running 0.-2.0.29 19:18:14 it looks everywhere plausible it can think of 19:18:25 argv[0]'s path, argv[0]/../lib, etc 19:18:35 try dumping pit/lib/syslib.i and src/ick-wrap.c into the current directory 19:18:39 Nope, needed to be installed 19:18:42 Now I get 19:18:43 ICL000I DO READ OUT #130~#125 19:18:43 ON THE WAY TO 2 19:18:43 CORRECT SOURCE AND RESUBNIT 19:18:53 what 19:18:54 Which is probably correct X-P 19:18:58 yes, it is 19:19:01 there was a bug in my program 19:19:02 what is 00001 19:19:05 err 19:19:09 0001* 19:19:14 try DO .1 <- #130~#125 DO READ OUT .1 PLEASE GIVE UP 19:19:20 isn't it internal compiler error 19:19:26 no, 000 is syntax error 19:19:30 ah 19:19:36 ais523, where is the funny message 19:19:47 the funny message is the line that errored 19:19:52 writing amusing syntax errors is encouraged 19:20:29 like the famous PLEASE KNOCK BEFORE ENTERING at the start of syslib 19:20:45 OK, got it working. 19:20:47 On its way up. 19:20:57 !help 19:20:57 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cxx dimensifuck echo forth glass glypho hello intercal kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 19:21:02 Hai. 19:21:04 not there yet, obviously 19:21:07 * ais523 is impatient 19:21:07 btw I will accept patch for TRDS to cfunge. Under three conditions: 1) No slowdown for programs not using it. 2) No increase in memory usage for programs not using it. 3) No mess up in the core code of cfunge. 19:21:08 ;P 19:21:14 well the third one 19:21:19 should be: 19:21:20 You can't do 1) 19:21:23 "no *big* messup" 19:21:27 Or well, yes you can 19:21:31 Deewiant, then I won't implement it. Simply 19:21:32 But then you need to open the file again 19:21:50 does TRDS work retrospectively, from before you loaded the fingerprint? 19:21:52 And it might have disappeared in the meantime, so it's not very robust 19:21:52 Which should it run when you type !intercal ? 19:21:53 (Or should that just be invalid) 19:21:59 or accept a patch for it either. Well I could accept a patch to build both cfunge and cfunge.trds 19:22:04 ais523: You need to keep a copy of the initial funge-space to be able to roll back time 19:22:12 ais523: By default, you can just overwrite it as you run. 19:22:14 GregorR: may as well make it invalid, C-INTERCAL is more popular but that's just bias 19:22:28 Deewiant, no increase in memory usage also includes "not a single byte added to ip struct" 19:22:30 and so on 19:22:36 C-INTERCAL's a lot faster, so that might help for simple programs; OTOH gcc's rather slow, so it might hinder 19:22:47 pastie.org/private/j5veaiikl1x8vtwm0ov2ta 19:22:48 er 19:22:49 20:54:46 so far i got hello world program almost optimized: http://pastie.org/private/j5veaiikl1x8vtwm0ov2ta . hehe. 19:22:53 oh my god have my babies :| 19:23:00 which lang/ 19:23:02 *? 19:23:09 Deewiant, only the extra memory from the extra code itself is allowed 19:23:19 AnMaster: I think at least one global array for "TRDS IP data" would be required 19:23:29 you could use malloc on first load 19:23:32 ais523: err, look at the paste 19:23:34 Your TRDS impl would be butt-slow under those conditions, though :-P 19:23:35 Deewiant, one pointer. 19:23:36 -DICK_HAVE_STDINT_H=1 19:23:36 python 19:23:40 static one. 19:23:44 ehird: but how do I know it isn't an ascii art rickroll? 19:23:44 add ruby 19:23:45 Deewiant, oh that wouldn't be allowed either. 19:23:48 GregorR: Dicks have stds. 19:23:49 OK, it's installed. 19:23:55 ais523: Your loss. 19:23:55 ehird: Integral STDs. 19:23:56 Deewiant, so not an option then :) 19:24:05 ais523: Here's the juice: 19:24:05 Meh, you're no fun 19:24:06 mptr[0] = 0; 19:24:07 mptr[1] = 87; 19:24:08 mptr[2] = 100; 19:24:09 also, haha at that program (I did look at it) 19:24:10 mptr[3] = 33; 19:24:12 mptr[4] = 10; 19:24:14 !help 19:24:14 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c c-intercal clc-intercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 19:24:15 printf("Hello World!\n"); 19:24:17 ais523: Compiled from BF 19:24:18 and ah 19:24:20 20:54:46 so far i got hello world program almost optimized: http://pastie.org/private/j5veaiikl1x8vtwm0ov2ta . hehe. 19:24:20 ais523: it isn't a special caser 19:24:22 that 19:24:23 ais523: it really optimizes it to that 19:24:24 is cool 19:24:28 yep 19:24:30 now I have to beat it 19:24:32 ehird: yes, presumably it's constant-folding prints? 19:24:38 ais523: also polynomials I think 19:24:46 ehird, got a link to download 19:24:47 ? 19:24:49 I can beat it by recognizing that those cells's values aren't used anywhere else 19:24:50 AnMaster: no 19:24:53 but yeah, I can get 19:24:56 printf("Hello World!\n"); 19:24:58 I'm pretty sure 19:25:07 char mem[30000], *mptr = mem; ← No segfault-handler-to-resize-tape fail :-) 19:25:12 I can beat it by recognizing that those cells's values aren't used anywhere else 19:25:13 well 19:25:18 he could add that too 19:25:19 trivially 19:25:28 sure. 19:25:33 but will he get bored first? 19:25:37 Not if it's on the stack, you won't have a segfault if you step /barely/ over. 19:25:49 GregorR: mprotect, mmap 19:25:50 YO. 19:25:55 ehird, once he add that there is nothing more to add. Well he can see "char mem[30000], *mptr = mem;" isn't needed either. 19:25:59 and remove that 19:26:01 Hence "not _IF IT'S ON THE STACK_" 19:26:05 AnMaster: nothing more to add for that program 19:26:08 but I can beat it on others 19:26:21 GregorR, about what 19:26:22 !c-intercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:26:25 ehird, yes. 19:26:41 !clc-intercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:26:43 -!- KingOfKarlsruhe has quit (Remote closed the connection). 19:26:48 ais523: !cintercal, not c-intercal, I'd guess 19:26:51 he doesn't have any -s in others 19:26:52 !Help 19:26:53 !cintercal BUTT! 19:26:55 !help 19:26:55 !help 19:26:55 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c c-intercal clc-intercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 19:26:56 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c c-intercal clc-intercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 19:26:56 Oh sh** 19:26:58 Hahahah 19:27:03 It doesn't support commands with - in them. 19:27:04 GregorR: Wat? 19:27:06 So those don't work :P 19:27:11 *fixy* 19:27:12 Well typing - is a pain make it cintercal 19:27:14 ehird: GregorR added it with - but - doesn't work 19:27:22 Well typing - is a pain make it cintercal 19:27:23 how 19:27:29 cuz i said yo 19:27:30 Now try :P 19:27:30 so 19:27:31 your keyboard layout sucks then 19:27:32 :P 19:27:33 (With !cintercal) 19:27:34 !help 19:27:34 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql sh test trigger udage01 underload unlambda whirl 19:27:35 nope, I'm just lazy 19:27:37 !cintercal AN BUTT! 19:27:38 ICL129IPROGRAM HAS GOTTEN LOST 19:27:41 !clcintercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:27:42 ugh 19:27:43 !cintercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:27:43 it still /msg's 19:27:45 ICL000I(1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:27:48 *997 Illegal operator 1BUT for base 2 19:27:50 f that 19:28:01 oh, that program was TriINTERCAL 19:28:04 yay for not spamming channel more than that 19:28:06 no wonder it isn't running correctly 19:28:12 !clc-intercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:28:18 !cintercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:28:20 ICL000I(1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:28:23 !clcintercal (1) DO .1 <- #?6 DOING DETECTION... YOU ARE USING INTERCAL-72 (5) PLEASE COME FROM (1) DOING DETECTION... YOU ARE USING C-INTERCAL PLEASE COME FROM .1 DOING DETECTION... YOU ARE USING CLC-INTERCAL 19:28:29 *997 Illegal operator 1BUT for base 2 19:28:31 ah 19:28:38 that is the tri one 19:30:25 !sh echo '>+[->++++<]>[<+>-]<[->+++++++++<]>[<+>-]<[->+++<]>[<+>-]<[<+>-]<.>+[->+++<]>[<+>-]<[<+>-]<.>+[->+++<]>[<+>-]<[<->-]<.>+[->+++++++<]>[<+>-]<[->+++++++<]>[<+>-]<[->++<]>[<+>-]<[<->-]<.>' | ./interps/egobf/src/egobfi8 19:30:26 lol 19:30:29 !cintercal PLEASE DON'T GIVE UP 19:30:30 ICL774IRANDOM COMPILER BUG 19:30:35 ah 19:30:36 !cintercal PLEASE DON'T GIVE UP 19:30:37 ICL129IPROGRAM HAS GOTTEN LOST 19:30:52 !sh rm -rf interps 19:30:53 /bin/rm: cannot remove `interps': Function not implemented 19:30:59 !sh ls 19:30:59 Makefile 19:31:03 !cintercal (1) PLEASE DON'T GIVE UP 19:31:04 ICL129IPROGRAM HAS GOTTEN LOST 19:31:09 !sh ./daemon.sh 19:31:09 2009/05/03 18:31:09 socat[4711] E sendto(4, 0x7f8caae11080, 48, 0, AF=1 "/tmp/multibot.EgoBot", 22): No such file or directory 19:31:12 MWAHAHAHAHA 19:31:13 !sh pwd 19:31:13 /home/egobot/egobot.hg/multibot_cmds 19:31:13 Darn 19:31:20 AnMaster: that error happens when you run off the end of a program 19:31:20 !sh ./PRIVMSG 19:31:21 /tmp/input.4757: line 1: ./PRIVMSG: is a directory 19:31:25 !sh ls daemons 19:31:26 daemon.sh 19:31:31 !sh daemons/daemon.sh 19:31:32 2009/05/03 18:31:31 socat[4816] E sendto(4, 0x7f17c9323080, 48, 0, AF=1 "/tmp/multibot.EgoBot", 22): No such file or directory 19:31:32 ais523, isn't DON'T GIVE UP for the loop thing 19:31:35 or did I misremember 19:31:38 AnMaster: no, it's a no-op 19:31:40 !sh daemons/fifowrap 19:31:41 /tmp/input.4839: line 1: daemons/fifowrap: No such file or directory 19:31:44 !sh ./fifowrap 19:31:44 /tmp/input.4866: line 1: ./fifowrap: is a directory 19:31:55 ais523, what is the one to loop forever 19:31:56 if you want an infinite loop, try either (1) DO COME FROM (1) or DO TRY AGAIN 19:32:07 or (1) DO (1) NEXT if you don't mind running out of stack space 19:32:07 !sh ls | xargs echo 19:32:07 interps lib slox 19:32:13 Nyaa 19:32:30 !sh ls -R | xargs 19:32:31 .: interps lib slox ./interps: 1l 2l Makefile Makefile.orig adjust axo befunge bf_txtgen c-intercal cat cfunge clc-intercal dimensifuck egobch egobf gcccomp gforth_quit glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl ./interps/1l: 1l_a.bin 1l_a.c ./interps/2l: 2lc.c 2li.bin 2li.c Makefile README conv.sh ./interps/adjust: USED_VERSION adjust.bin adjust.c ./interps/axo: axopp 19:32:34 !s ls daemons/daemon.sh 19:32:36 !sh ls daemons/daemon.sh 19:32:37 /bin/ls: cannot access daemons/daemon.sh: No such file or directory 19:32:55 !sh sh 19:33:08 !sh while true; do : done 19:33:09 /tmp/input.5015: line 2: syntax error: unexpected end of file 19:33:13 !sh while true; do :; done 19:33:22 busyloop 19:33:30 !befunge98 19:33:32 AnMaster: what's the point of writing busyloops? they get throttled, and are killed after 30 seconds 19:33:44 !underload (Look, I run despite all this load!)S 19:33:45 Look, I run despite all this load! 19:33:56 i'd like to note that "cd" does not always cd to ~ 19:34:02 ais523, are they limited to a per-process or a per-egobot limit 19:34:04 if you see what I mean 19:34:10 ehird, oh 19:34:18 !sh pwd 19:34:19 /home/egobot/egobot.hg/multibot_cmds 19:34:22 !sh cd; pwd 19:34:22 /home/egobot 19:34:23 "I'll limit you to a per-process or a per-egobot limit, if you see what I mean." 19:34:30 AnMaster: No, I discovered this locally. 19:34:37 !underload ((!underload )SaS(:^)S):^ 19:34:37 If you're in a directory that doesn't exist, "cd" does nothing 19:34:37 !underload ((!underload )SaS(:^)S):^ 19:34:40 "I'll limit you to a per-process or a per-egobot limit, if you see what I mean." 19:34:41 err 19:34:43 what 19:34:53 I mean 19:35:02 will enough limited processes clog things up 19:35:28 -!- puzzlet has quit (Remote closed the connection). 19:35:31 -!- puzzlet has joined. 19:35:37 as in, each one get an equal amount from a max. Or each one has a fixed limit 19:35:42 so more ones add up 19:35:45 GregorR, ^ 19:35:59 More ones do add up. 19:36:23 Again, this is more about preventing mistakes from killing things than stopping malicious users from being asshats. 19:36:27 GregorR, so if you limit each to 10%, then two running processes will use 20%? 19:36:36 Roughly speaking. 19:36:57 yes roughly ofc... 19:37:50 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:50 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:50 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:51 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:51 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:51 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:51 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:51 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:52 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:52 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:52 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:52 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:53 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:53 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:53 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:53 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:53 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:54 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:54 ^ul (+ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S)S 19:37:54 +ul (!underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^)S 19:37:54 +quit 19:37:54 !underload (a(!underload )~*(:^)*a(+ul )~*(S)*a(^ul )~*(S)*S):^ 19:37:55 -!- thutubot has quit ("ThutuBot quitting"). 19:37:58 Argh 19:38:11 sorry, I'm just such a botloop fan... 19:38:20 Plz no iterating quines kthxbai 19:38:26 ais523: He did just call doing that a mark of an asshat. 19:38:32 ais523, was that three after each other 19:38:34 hm 19:38:35 (Not a gripe, nothing wrong with hats on butts.) 19:38:39 well, I ended the loop pretty quickly 19:38:50 and I was only running one process at a time on each bot 19:38:55 fizzie, please ignore thutubot and EgoBot in fungot 19:38:55 AnMaster: ' i've sent them all!' 19:39:01 ^style 19:39:01 Available: agora alice* darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp 19:39:05 AnMaster: that's not the solution 19:39:06 right 19:39:09 Wait, that was a three-bot loop? lawl X-P 19:39:12 ais523, no? 19:39:22 because you could still do EgoBot/thutubot 19:39:26 and what if a fourth bot turned up? 19:39:27 well 19:39:33 % mkdir ~/Code/debfenestrate 19:39:35 the solution's to ignore repeated identical queries 19:39:37 GregorR: run EgoBot in an EgoBot deamon running EgoBot running EgoBot 19:39:38 ais523, make thutubot ignore EgoBot 19:39:39 ! 19:39:42 hmm that should be reserved for a .deb -fenestrator 19:39:47 AnMaster: bots ignoring bots are evil. 19:39:50 ehird: oh, what is it? 19:39:58 ehird, I disagree 19:39:58 this is a social problem, not a technical one 19:40:00 I assumed it was something to do with .debs 19:40:03 ais523: de-bf-enestrate 19:40:10 ehird, go use ITS! 19:40:10 this is a social problem, not a technical one // agree 19:40:14 instead of OS X or Linux 19:40:23 AnMaster: Yeah, um, that's completely irrelevant. 19:40:32 ehird, not really 19:40:37 No, no, it really is. 19:40:38 who's xor? 19:40:42 xororand with a shorter name? 19:40:42 ais523: bsmnt 19:40:42 anyway some troll could do what ais523 just did 19:40:45 ah 19:40:56 AnMaster: trolls don't bother us and when they do we ban them or ignore them. 19:40:58 nobody cares 19:40:59 anyway, I like botloops, it's just nice when they come to an end 19:41:03 a troll could bring their own two bots in 19:41:05 and do it there 19:41:07 I should write a terminating three-bot iterating loop, involving arithmetic 19:41:15 Ow :P 19:41:17 ais523, was just about to suggest that 19:41:28 22:19:38 !perl $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; 19:41:29 22:19:38 Just another Perl hacker, 19:41:31 22:24:27 (If perl isn't an esolang, I don't know what is ;) ) 19:41:33 nothing esoteric about that 19:41:33 !c printf("EgoBot is the greatest of the bots. All other bots are subservient.") 19:41:34 EgoBot is the greatest of the bots. All other bots are subservient. 19:41:35 it's just "tr" 19:41:52 -!- thutubot has joined. 19:41:54 % tr 'a-z' 'oh, turtleneck Phrase Jar!' 19:41:54 wftedskaebjgdpjgidbsmnjgc 19:41:56 Just another Perl hacker, 19:42:06 !daemon stupidcat bf ,[.,] 19:42:06 Daemon stupidcat running. 19:42:12 !stupidcat meow 19:42:13 meow 19:42:18 !kill stupidcat 19:42:19 Daemon stupidcat killed. 19:42:22 :-( 19:42:24 Somebody find a use for daemons :P 19:42:26 You killed a kitten. 19:42:28 Fuck you. :-( 19:42:29 ^ul (fungot is greater than EgoBot)S 19:42:29 fungot is greater than EgoBot 19:42:35 ^ignore ^(thutubot|EgoBot) 19:42:35 OK. 19:42:39 ehird: Every time you kill a kitten, God masturbates. 19:42:43 ^ignore fizzie 19:42:44 :-D 19:42:51 GregorR, how long do daemons run 19:42:55 ^ignore .* 19:42:57 GregorR, and can they keep state 19:42:58 AnMaster: Indefinitely. 19:43:05 AnMaster: That's the whole idea. 19:43:05 !daemon lol +[>+] 19:43:06 Invalid interpreter! 19:43:07 fizzie: pity, I was planning to write a terminating 3-way botloop then 19:43:09 !daemon lol bf +[>+] 19:43:09 Daemon lol running. 19:43:10 !lol lol 19:43:11 GregorR, how do they keep the state. 19:43:14 I mean 19:43:26 AnMaster: They're an actual daemon, they just run. 19:43:31 and how do you write a daemon in another language than bf 19:43:32 ... 19:43:33 ehird: They are still memory limited :P 19:43:35 like befunge 19:43:43 !help daemon 19:43:43 daemon: !daemon . Add a daemon to EgoBot. A daemon will run in the background, and accept a line of input every time ! is run. Note that daemons are only allotted one line of output for each line of input. 19:43:45 "daemon lol bf" 19:43:50 what the heck do you think 19:43:52 do you think bf means 19:43:53 BEST FRIENDS 19:43:57 didn't see it 19:45:00 !daemon AARGH! befunge98 'Aaa*k: aa*k, a, n 19:45:00 Daemon AARGH_ running. 19:45:05 hm? 19:45:08 GregorR, what 19:45:16 !AARGH_ test 19:45:17 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 19:45:21 AnMaster: Names are whitelisted to A-Za-z0-9 19:45:26 !daemon accumulate bf >+[[,----------]++++++++++++++++++++++[<]>[.>]+] 19:45:26 Daemon accumulate running. 19:45:30 !accumulate test1 19:45:36 !accumulate test2 19:45:39 GregorR, but how comes it doesn't continue to spam in /msg 19:45:42 !undaemon accumulate 19:45:45 !kill AARGH_ 19:45:46 !kill accumulate 19:45:46 Daemon AARGH_ killed. 19:45:46 PRIVMSG #esoteric :Daemon accumulate killed. 19:45:53 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 19:45:55 hmm, that was weird 19:45:59 ais523, what 19:46:06 the PRIVMSG showing up like that 19:46:10 EgoBot must have written it twice 19:46:11 Uhhhhhhhhhhhhhhhhhh 19:46:17 That's not good ... 19:46:31 Oh, actually, I know why it happened. 19:46:36 oh 19:46:37 details 19:46:45 Because accumulate never created any output, it still had PRIVMSG #esoteric : on the buffer. 19:46:54 So it just appended another one to that :P 19:46:54 oh 19:46:57 Bweheheh. 19:47:01 Maybe I should just make fungot so that it doesn't accept more than N consecutive queries from any one person; that's the way it currently does stop chatter-loops. 19:47:02 fizzie: " taking three as the subject of our proposition is to be fnord from pride, they treat a phantom as something quite beneath contempt just as no turkey ever fnord of noticing a fnord. 19:47:06 !daemon accumulate bf >+[[,----------]++++++++++++++++++++++[<]>[++++++++++.----------->]++++++++++.] 19:47:07 Daemon accumulate running. 19:47:10 !accumulate test1 19:47:10 19:47:19 !accumulate test1 19:47:19 19:47:19 fizzie, no :( 19:47:22 Exciting. 19:47:23 !kill accumulate 19:47:24 Daemon accumulate killed. 19:47:29 fizzie, that is not nice 19:47:29 still borken, I think... 19:47:42 fizzie, better make it check for duplicate ones. From same person 19:47:44 -!- puzzlet has joined. 19:48:13 fizzie, and you could get around it with three bots easily, Less easy with "same message" / per person check 19:48:16 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.----------->]++++++++++.] 19:48:16 Daemon accumulate running. 19:48:18 AnMaster: Then you just need to make an iterating quine. 19:48:20 !accumulate test1 19:48:20 test1 19:48:24 !accumulate test2 19:48:24 sdrs0test2 19:48:30 !kill accumulate 19:48:31 Daemon accumulate killed. 19:48:31 That's ... weird. 19:48:31 err 19:48:35 memory corruption? 19:48:38 no, typo 19:48:47 oh 19:49:05 [<] and [>] hm 19:49:09 It's pretty easy to make it so that a part of the bot-loop-message changes. Well, "easy" depending on the language, anyway. Something with numbers and arithmetic can easily have a incrementing counter there; duplicate-checking won't help much. 19:49:13 should be optimised into strchr() 19:49:15 err 19:49:16 memchr() 19:49:18 or similar 19:49:20 IMO 19:49:23 !daemons 19:49:24 Running daemons: lol 19:49:28 !kill lol 19:49:29 Daemon lol killed. 19:49:31 !defintion lol 19:49:32 err 19:49:40 GregorR, command to show program command for daemon please 19:49:42 !daemon accumulate bf >+>+[[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:49:42 Daemon accumulate running. 19:49:47 !accumulate test1 19:49:47 test1 19:49:49 !accumulate test2 19:49:56 ok, that was strange 19:49:56 AnMaster: Your wish is my command. 19:49:58 !kill accumulate 19:49:59 Daemon accumulate killed. 19:50:00 (In a sec :P ) 19:50:01 ais523, test it locally first? 19:50:06 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:50:07 Daemon accumulate running. 19:50:09 why, that's boring 19:50:16 GregorR, oh! Then change it to "give me all your money" ;P 19:50:18 !accumulate test1 19:50:18 test1 19:50:21 !accumulate test2 19:50:22 test1 test2 19:50:24 AnMaster: Oh wait, actually, that'd be a PITA, as I didn't keep it around X-P 19:50:25 !accumulate test3 19:50:25 test1 test2 test3 19:50:29 !accumulate test4 19:50:29 test1 test2 test3 test4 19:50:32 that's better 19:50:33 GregorR, meh 19:50:36 now just to remove the junk & 19:50:38 !kill accumulate 19:50:38 Daemon accumulate killed. 19:50:39 I love the random data at the beginning. 19:50:42 ais523, why is there at [0005] there 19:50:44 -!- Hiato has joined. 19:50:46 !daemon accumulate bf >+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:50:46 Daemon accumulate running. 19:50:52 !accumulate give 19:50:52 19:50:59 fail 19:51:01 err, maybe not 19:51:02 !accumulate a shit 19:51:02 give a shit 19:51:05 !addinterp rot13 bf http://esoteric.sange.fi/brainfuck/bf-source/prog/rot13.b 19:51:07 !accumulate lol wat 19:51:07 give a shit lol wat 19:51:07 Interpreter rot13 installed. 19:51:11 !rot13 Hewwo 19:51:11 Urjjb 19:51:18 !rot13 123 19:51:19 !kill accumulate 19:51:19 Daemon accumulate killed. 19:51:21 !rot13 MILKING COWS; FOR PROFIT 19:51:21 ZVYXVAT PBJF; SBE CEBSVG 19:51:26 esoteric.sange.fi 19:51:28 what is that one 19:51:31 AnMaster: the archive. 19:51:32 I have seen it before somewhere 19:51:33 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:51:34 Daemon accumulate running. 19:51:36 oh that haskell one 19:51:38 The olde brainfuck archive. 19:51:38 ehird, AAAAAAAAAAAAAH! 19:51:40 !accumulate rot13 19:51:41 rot13 19:51:43 ^rot13 ZVYXVAT PBJF; SBE CEBSVG 19:51:43 MILKING COWS; FOR PROFIT 19:51:46 !accumulate accumulate 19:51:46 rot13 accumulate 19:51:49 ais523: You don't seem to be doing so well :P 19:51:57 oh well, I'll just leave the random ampersand there 19:52:05 what 19:52:07 The esolang mailing list was on sange.fi at some point, I think. 19:52:09 ais523: what ampysandy 19:52:11 It's not an ampersand for me :P 19:52:12 fizzie: yar 19:52:12 ais523, why do you need something in front at all 19:52:12 still is 19:52:14 It's a weird symbol. 19:52:14 it's just dead 19:52:22 For me it's an inverted-color K 19:52:23 err 19:52:23 AnMaster: so that it enters the loop 19:52:27 ais523, it is a [0005] 19:52:31 Oh. I wonder if I'm subscribed, and with what address. 19:52:31 not an ampersand 19:52:35 ah, it's an ampersand for me 19:52:38 ais523: make it [10] 19:52:43 ais523: then it'll send a blank message 19:52:44 doing nothing 19:52:51 ah that would work 19:52:51 ehird: That's hyperuseful :P 19:52:57 GregorR: wat 19:53:01 No, because a blank message will waste your output line. 19:53:16 ais523, make it a space instead 19:53:20 Output lines are precious, you only get one per input line :P 19:53:29 AnMaster: that would make the input program longer 19:53:32 I'll leave it as-is 19:53:39 !accumulate ampersand 19:53:40 rot13 accumulate ampersand 19:54:00 actually, I'm about to go home 19:54:00 !accumulate 19:53 EgoBot: rot13 accumulate ampersand 19:54:00 rot13 accumulate ampersand 19:53 EgoBot: rot13 accumulate ampersand 19:54:03 GregorR, do the programs run between input lines 19:54:04 !accumulate Then Gregor made it uselesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:04 rot13 accumulate ampersand 19:53 EgoBot: rot13 accumulate ampersand Then Gregor made it uselessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:05 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:06 or are they suspended 19:54:14 !accumulate Then Gregor made it uselesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:14 ssssssssssssssssssssssssssssssssssssssssssssssss 19:54:17 AnMaster: They run. 19:54:19 !accumulate Then Gregor made it uselesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:19 rot13 accumulate ampersand 19:53 EgoBot: rot13 accumulate ampersand Then Gregor made it uselessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 19:54:24 sssssssss 19:54:25 AnMaster: They're true daemons in the classic sense. 19:54:30 so I'll clear it now, please put topics of conversation in there, not junk, and I'll look at it when I come bacj 19:54:31 GregorR, ah 19:54:31 *back 19:54:32 Snakes on a channel. 19:54:33 GregorR: err 19:54:33 !kill accumulate 19:54:34 Daemon accumulate killed. 19:54:37 GregorR: a malevolent spirit? 19:54:37 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:54:38 Daemon accumulate running. 19:54:41 -!- ais523 has quit (Remote closed the connection). 19:54:48 !accumulate junk 19:54:48 junk 19:54:51 no 19:54:53 :( 19:54:57 that isn't what ais said 19:55:05 !c printf("\nPRIVMSG #esoteric: Flimble.\n") 19:55:06 !accumulate ehird being annoying again 19:55:06 junk ehird being annoying again 19:55:17 !accumulate ; 19:55:18 junk ehird being annoying again ; 19:55:24 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:55:24 That daemon is already running! 19:55:26 !accumulate junk 19:55:27 junk ehird being annoying again ; junk 19:55:30 !kill accumulate 19:55:30 Daemon accumulate killed. 19:55:30 !c printf("Test?\nPRIVMSG pikhq: Flimble.\n") 19:55:31 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:55:31 Test? 19:55:31 Daemon accumulate running. 19:55:33 !accumulate junk 19:55:33 junk 19:55:37 junk is a topic of conversation 19:55:40 like ais said 19:55:44 evidence: we're talking about it 19:55:45 !accumulate ehird being annoying again 19:55:45 junk ehird being annoying again 19:55:53 Aaaw, no raw IRC commands. 19:55:57 we are talking about that too 19:55:57 evidence: we're talking about it // laaaaaaaaawl 19:55:58 AnMaster: i am logically correct, by your own admission: 19:56:03 !kill accumulate 19:56:03 Daemon accumulate killed. 19:56:06 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:06 Daemon accumulate running. 19:56:08 !accumulate junk 19:56:08 !accumulate ehird being annoying again 19:56:08 junk 19:56:09 junk ehird being annoying again 19:56:11 !kill accumulate 19:56:12 Daemon accumulate killed. 19:56:15 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:15 Daemon accumulate running. 19:56:16 I can do this all day. 19:56:17 OMFG STOOOOOOOOOOP 19:56:18 !accumulate junk 19:56:18 junk 19:56:20 !accumulate ehird being annoying again 19:56:20 junk ehird being annoying again 19:56:26 !kill accumulate 19:56:26 Daemon accumulate killed. 19:56:28 GregorR, sure. 19:56:28 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:29 Daemon accumulate running. 19:56:30 when he does 19:56:31 !accumulate junk 19:56:31 junk 19:56:31 !accumulate ehird being annoying again 19:56:32 junk ehird being annoying again 19:56:32 stop ehird 19:56:34 !kill accumulate 19:56:35 Daemon accumulate killed. 19:56:36 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:37 Daemon accumulate running. 19:56:38 !accumulate ehird being annoying again 19:56:38 ehird being annoying again 19:56:39 * ehird whistle 19:56:40 !kill accumulate 19:56:40 Daemon accumulate killed. 19:56:41 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:42 Daemon accumulate running. 19:56:44 you're being even more annoying than i 19:56:44 !accumulate junk 19:56:45 junk 19:56:48 !accumulate ehird being annoying again 19:56:48 Thar. 19:56:48 junk ehird being annoying again 19:56:50 !kill accumulate 19:56:51 Daemon accumulate killed. 19:56:52 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:56:52 Daemon accumulate running. 19:56:55 !accumulate junk 19:56:55 junk 19:56:59 I plead insanity, by the way. 19:57:05 !accumulate ehird being very annoying again. As usual. 19:57:05 junk ehird being very annoying again. As usual. 19:57:09 !kill accumulate 19:57:09 Daemon accumulate killed. 19:57:13 ehird, stop it 19:57:15 AnMaster: I'd like to point out that this is 50/50. 19:57:15 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:57:16 Daemon accumulate running. 19:57:18 !accumulate junk 19:57:29 coo, it dedded 19:57:31 I made it refuse that. 19:57:31 !kill accumulate 19:57:31 Daemon accumulate killed. 19:57:33 So nyaa. 19:57:37 there 19:57:41 !daemon accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:57:41 Daemon accumulate running. 19:57:43 !accumulate junk 19:57:46 !accumulate junk 19:57:48 !accumulate junk, 19:57:51 !accumulate j u n k 19:57:55 !accumulate knuj 19:57:58 ehird, see what you did. 19:58:03 !accumulate rubbish 19:58:22 I think he blocked accumulate 19:58:33 !accumulate ehird being very annoying again. As usual. 19:58:36 !daemon gain bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:58:36 Daemon gain running. 19:58:38 !gain junk 19:58:38 junk 19:58:41 argh 19:58:44 GregorR, ^ 19:58:47 !gain , a chinese one to be precise 19:58:47 junk , a chinese one to be precise 19:58:53 !gain ehird being very annoying again. As usual. 19:58:53 junk , a chinese one to be precise ehird being very annoying again. As usual. 19:59:02 Oh for cripes sake. 19:59:02 !kill gain 19:59:02 Daemon gain killed. 19:59:08 GregorR, agreed. 19:59:14 !daemon I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 19:59:15 Daemon I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever running. 19:59:15 why can't he just do something else 19:59:17 The solution to anything! 19:59:21 !I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever junk 19:59:21 junk 19:59:31 8) 19:59:45 GregorR, sigh. Please make it ignore ehird or something. Since he can't behave. 19:59:50 !kill I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever 19:59:50 Daemon I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever killed. 19:59:57 AnMaster: it's good to come out 19:59:59 I'm glad you have 20:00:17 ehird, I see you don't know who you are. 20:00:20 since you think you are me. 20:00:37 no, mine was a false statement since "I am AnMaster" was 20:00:37 OK children, it's time to go to kindergarten, stop fighting and eat your waffles. 20:00:51 * AnMaster puts ehird on ignore 20:00:54 GregorR: of course, that only applies to the other person, I handled this maturely and responsibly 20:00:57 it helps 20:00:59 ↑ what everyone thinks when they hear that 20:01:04 now lets get back to relevant stuff. 20:01:15 !daemon I_am_AnMaster_and_I_am_the_most_gayest_gay_person_ever bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 20:01:15 No. 20:01:18 :-D 20:01:29 GregorR, he is abusing the bot! 20:01:36 to evade ignore. 20:01:48 AnMaster: Actually, it outputs "No." whenever it receives a command from him. 20:02:03 you're going to make GregorR turn this channel around and go back home 20:02:03 bwahaha 20:02:03 GregorR, ah :) 20:02:08 GregorR: so I assume that AnMaster didn't do anything wrong at all 20:02:13 only contributing to half of it 20:02:23 ehird: I've stopped the cycle. 20:02:30 Or so you think. 20:02:57 ehird: Given that AnMaster is not now using the bot at all, I'm gonna go with "I stopped the cycle" 20:03:14 ^help 20:03:14 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 20:03:21 ^def accumulate bf >+>+[<[>,----------]++++++++++++++++++++++[<]>[++++++++++.---------->]++++++++++.] 20:03:21 Defined. 20:03:25 ^accumulate 2cool4skool 20:03:31 ...out of time! 20:03:36 lawl 20:03:43 no daemons 20:04:14 Why is it that you two are so much more immature around each other than in any other situation anyway X_X 20:04:28 GregorR, I'm not immature! 20:04:31 Because he's annoying. 20:04:33 Because he's annoying. 20:04:40 I don't know why ehird is. Meh. 20:04:42 I'm not immature! 20:05:03 Bloody fekking oy X_X 20:05:07 * GregorR walks away from the channel for a while. 20:05:08 It takes a startling amount of cognitive dissonance to partake in the exact same activity as someone else and claim it only makes *them* immature. 20:05:23 Bloody fekking oy X_X <-- I wonder what happened there. 20:05:48 ehird: sounds like my wife 20:06:04 Robdgreat: My voice is quite high-pitched, yes. ← I 20:06:08 'm funny because I deliberately misunderstand people 20:06:47 ehird: and then when I point out the hypocrisy I get "so the fact that I do it means you have to?!" 20:07:09 how I love irrational behavior 20:07:14 Do what I say not what I do, unless it's obvious that you should be doing what I do, don't you know anything 20:08:19 I keep telling her my mind-reading license was revoked some years before we met. 20:08:50 Marriage ruins everything! 20:09:29 yeah NOW you tell me 20:14:38 [ehird:~/Code/ante] % runhaskell Main.hs 20:14:38 Main.hs: Prelude.undefined 20:14:43 one small step for a keyboard 20:14:48 ONE GIANT LEAP FOR BRAINFUCK OPTIMIZATION KIND 20:15:38 ehird: Clearly your BF optimizer is working great :P 20:20:43 Clearly. 20:24:50 -!- xor has changed nick to bsmntbombdood. 20:30:28 someone link to lostkng 20:33:49 or, you know 20:33:49 not 20:33:51 :D 20:34:47 JFGI. 20:35:59 I did. 20:36:03 Didn't find kthx 20:36:14 :P 20:37:08 -!- oerjan has joined. 20:37:22 * oerjan was worried there for a moment 20:37:45 i turn on my laptop and the screen is black... 20:38:06 IBM RPG ftw 20:43:44 -!- puzzlet_ has joined. 20:44:03 -!- puzzlet has quit (Connection reset by peer). 20:44:39 i became openCOBOL hacker 20:44:57 I'm sorry. 20:45:26 open cow bol 20:48:03 It'd be nice if Gmail could send you an email every time you get an email so that you know when to check. 20:48:42 not really. 20:49:00 kerlo: Xzibitmail 20:58:45 ehird: what did you do 20:58:54 bsmntbombdood: wat 20:59:09 kerlo: maybe an RSS feed? 20:59:13 bsmntbombdood: amusingly I was just reading some logs where you were talking about trying Uberman's; how did that go? 20:59:17 oerjan: gmail has a feed. 20:59:23 oh 20:59:31 circa 2007-05 20:59:41 well, 29th, more like -06 20:59:52 ehird: horrible 20:59:54 i was miserable 21:00:08 bsmntbombdood: how long did you do it? 21:00:17 3 days 21:00:28 bsmntbombdood: the article says days 3-10 are the worst 21:00:31 on the third day,. 21:00:40 ...god created the something. 21:00:58 So how many of us have ehird on /ignore now? 21:01:03 the something something 21:01:05 kerlo: you and AnMaster 21:01:18 nobody else is stupid enough to miss out on me :-) 21:01:19 i was supposed to be waking up from a nap, slept about 4 hours through me hideously loud alarm, mother came into my room and tried to wake her, and i apparently sleep-talked her into letting me go back to sleep 21:01:19 kerlo: not me 21:01:29 and then i woke up about 12 hours later 21:01:34 bsmntbombdood: :D 21:04:55 13:35:14 speaking of brainfuck, how does one use the Database in brainfuck ? 21:05:06 and all i could manage to do with my extra time was sit in front of the computer and watch tv 21:05:59 I have my alarm clock set to make a little clicking noise at 4 AM. 21:06:34 The exact same little clicking noise wakes me up at 6 AM, but not once has it woken me up at 4 AM. 21:07:33 -!- coppro has quit ("The only thing I know is that I know nothing"). 21:07:59 -!- coppro has joined. 21:08:01 the sound of my alarm clock is physically repulsive 21:08:07 even when awake, i can't stand it 21:08:23 My alarm clock is my iPhone; it sounds fine, but it's simultaneously in its dock and trying to vibrate 21:08:31 BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZT! BZZZZZZZZZZZZZZZZZZZT! KRRRRRRRRRRRRRRRRBZZZZZZZZZZZZZZZZZT! 21:09:05 garlic 21:09:23 mm, garlic 21:15:25 -!- tombom has quit ("Peace and Protection 4.22.2"). 21:18:24 fingarlicking good 21:24:01 Wow 21:24:02 "CPU: PIII 450MHz, Id 0x673, Stepping 3 " 21:24:09 Nils M Holm uses that CPU. 21:24:17 He wasn't joking when he said he had an old computer 21:24:21 "Memory: 256MB PC133 SDRAM w/ ECC" 21:24:25 Geez 21:29:50 i only have a p4 2ghz with 512mb of ram 21:30:28 bsmntbombdood: beats a p3 450mhz 21:30:45 heh, http://peltiertech.com/WordPress/wp-content/img200811/GraphJam3d.jpg 21:30:47 heh, i have a core 2 duo 2.16ghz w/ 2.5gb of ram and *I* feel limited ... :-) 21:31:47 i'm going to buy something soon 21:31:53 me too 21:32:05 you filthy capitalists 21:32:05 i think a 4-core core i7 3.2ghz w/ 12gb of (ddr3) ram should last a while at least 21:32:07 at least 4 cores and 8gb 21:32:20 bsmntbombdood: i have 4gb on you bitch 21:32:25 oerjan: yeah, tell me about it 21:34:52 those new core i7s are expensive 21:35:19 bsmntbombdood: very... but also delicious 21:35:26 20-40% faster memory access? delicious 21:35:42 what about the quad core amds? 21:35:43 bsmntbombdood: oh, and with an i7 you have to use ddr3 21:35:50 and the new AMDs are kind of crap 21:35:51 Then you can run Mycology in less than 0.001 seconds! 21:36:00 they're slightly less thermally challenged and competitive with core 2 extremes 21:36:02 big whoop 21:36:09 they are cheap though 21:36:22 bsmntbombdood: but ddr3 really is expensive 21:36:29 £300 or so for 12GB 21:36:29 The core 2s are still faster than the i7s for some CPU-bound stuff 21:36:37 -!- Hiato has quit ("Leaving."). 21:36:46 Deewiant: yeah, but at 3.2ghz it's probably unnoticable unless you're doing wacky stuff 21:36:51 ehird: no way 21:36:56 bsmntbombdood: yeah way 21:37:05 that was high-clocked ram tho 21:37:13 still, $$$ 21:37:14 ehird: Yeah, I don't think it's a very big difference. Maybe a few minutes if you're doing video encoding or something. 21:37:30 Deewiant: yeah - and that ram access is nice 21:37:34 Deewiant: orly? 21:37:35 esp since it has a small l2 21:37:50 bsmntbombdood: i7s have hyperthreading too 21:37:52 which is nice 21:37:56 bsmntbombdood: Probably notrly since I pulled that out of my sleeve, google for benchmarks if you want rly 21:37:58 (core 2 doesn't) 21:38:21 oh, you also need a new mobo 21:38:25 new socket count 21:38:27 thing 21:39:13 i know nothing about ram anyway 21:39:37 lemme look up the cost of 8gb "bog standard" ddr3 21:39:55 http://www.newegg.com/Product/Product.aspx?Item=N82E16820227388 21:40:02 bsmntbombdood: $244 from mushkin http://www.mushkin.com/doc/products/memory_detail.asp?id=766 21:40:07 * ehird looks at that 21:40:14 hmm, ocz 21:40:18 not sure I'd trust ocz with my ram 21:40:29 What? Why not? 21:40:38 what's ocz? 21:40:41 Deewiant: irrational human bias 21:40:43 bsmntbombdood: a company 21:41:01 bsmntbombdood: who make things like a thing that reads your brainwaves to control a computer badly 21:41:12 well, and good ssds, but let's not let facts get in the way of irrational bias 21:41:13 Orly? 21:41:17 Deewiant: yes 21:41:20 ocz "actuator" 21:41:21 I know them only for good RAM and semigood SSDs 21:42:39 * bsmntbombdood gives ehird $1500-2000 and tells him to buy me a computer 21:42:50 damn I wish my new rig was that cheap :( 21:42:52 :) 21:43:05 ofc it would be if I wasn't trying to silence it 21:43:06 blargl 21:44:20 bsmntbombdood: i'm bored so I'm going to find the best parts I can for that money 21:44:21 -!- ehird has left (?). 21:44:24 -!- ehird has joined. 21:44:27 oops 21:44:32 ... that was intentional, totally 21:44:37 i leave channels for dramatic effect 21:44:50 ehird: oh and i want 1tb raid1 21:45:04 bsmntbombdood: rightyho 21:45:19 garlic <-- \o/ 21:45:21 :D 21:45:23 If you want hardware RAID that'll be another $1000 21:45:33 bsmntbombdood: do you want hardware raid. 21:45:37 AnMaster: :D 21:45:40 Deewiant: I've seen ones for $700 21:45:53 bsmntbombdood: I'll just assume you want hardware raid. 21:45:57 ehird: ≅ 21:46:01 and can compromise cpu clockage for it :P 21:46:03 hardware raid won't speed up raid1 significantly will it? 21:46:08 dunno, ask Deewiant 21:46:10 coppro, vanilla icecream > garlic > * 21:46:16 Deewiant: will hardware raid speed up raid1 significantly 21:46:19 heh 21:46:20 hmmm' 21:46:22 hmmm* 21:46:24 what about 21:46:25 Beats me 21:46:26 software support for mirroring is good iirc 21:46:29 garlic icecream 21:46:30 we need that 21:46:48 right then no hardware raid 21:46:58 i imagine if you have a raid controller with a big cache it'll speed up anything, but it's probably not worth it if you have a large amount of ram 21:47:26 bsmntbombdood: do you care about noise or coolers or any of that shit or can I have a break from fussing about that rubbish ;-) 21:48:00 I wonder if there is any music using the lowest octave on the piano. Well of course there is music for other instruments using it. But I can't think of any for piano specifically 21:48:26 bsmntbombdood: I'm currently hardlimiting to $1500 fwiw 21:48:38 Which means you get a clock speed lower than 3.2ghz :-P 21:48:49 2.93ghz is half the price, lol. 21:48:57 possibly the lowest *and* the highest at once :) 21:49:56 bsmntbombdood: 6gb of ram fine for you? nehalem works better with odd amounts iirc :-P 21:50:01 ehird: no 21:50:06 fine 21:50:10 8gb or 12gb it is :P 21:50:27 bsmntbombdood: 6gb of ram fine for you? nehalem works better with odd amounts iirc :-P <-- [citation needed] 21:50:31 -!- tombom has joined. 21:50:32 AnMaster: wp 21:50:39 it seems rather strange that it would 21:50:42 and 6 is even 21:50:46 err i meant 21:50:49 odd number of actual ram stix 21:50:55 ah 21:50:56 well 21:51:24 bsmntbombdood: 12gb it is then 21:51:29 unless i can find 8gb 21:51:59 ehird, can't find it 21:52:05 AnMaster: meh, it's true anyway :P 21:52:21 bsmntbombdood: any video card requirements 21:52:22 ehird, why 21:52:22 ? 21:52:32 ehird: none 21:52:34 AnMaster: because the nehalem's integrated memory controller thing has 3 slots that's why 21:52:40 gaming's for fags 21:52:40 ah 21:52:41 bsmntbombdood: kay 21:52:49 bsmntbombdood: just onboard then? 21:53:27 i think that is sufficient 21:53:50 bsmntbombdood: dammit, the mobo only has 3 ram slots, so I can't fit 12gb in there. [dealwith6gb/picknewmobo] _ 21:54:03 the latter 21:54:11 mobo picking process initiated 21:54:18 ehird: 3*4 21:54:30 Deewiant: find me 4gb of ddr3 ram on newegg 21:54:35 ehird: No, you do it 21:54:39 i'm trying 21:54:39 :) 21:54:42 ehird, are you ordering for bsmntbombdood 21:54:49 AnMaster: i'm finding the components for bsmntbombdood 21:54:53 since I'm le bored 21:55:02 bsmntbombdood: ah, $10 more gets you a mobo with 6 slots 21:55:07 How's your funge interp doing 21:55:48 ehird, hm http://www.theinquirer.net/inquirer/news/1024053/performance-ram-damage-nehalem 21:55:57 bsmntbombdood: ...but it has no onboard video, so I'll have to get an el cheapo card 21:56:23 cpu+mobo+ram currently @ $1084.96 21:56:57 bsmntbombdood: you run linux right 21:57:08 AnMaster: 7 months ago... 21:57:12 Deewiant, yes 21:57:20 AnMaster: yeah I know 21:57:23 Deewiant, just saw it as a reference on wp 21:58:02 bsmntbombdood: rite? 21:58:14 ehird: yeah 21:58:24 bsmntbombdood: so, cheapest modern nvidia card I can find then 21:58:31 kay 21:59:26 bsmntbombdood, can't you find this yourself btw 21:59:29 just wondering 21:59:58 AnMaster: no 22:00:09 does the core i7 have new simd instructions? 22:00:19 probably. 22:00:20 What's "new" 22:00:46 It goes to SSE4.2 22:01:15 bsmntbombdood: i assume you're ok with onboard audio 22:01:37 and don't need a new monitor :P 22:01:38 ehird: i don't know, what will the difference be? 22:01:49 bsmntbombdood: probably nothing. 22:01:55 ok, raid1 time 22:02:01 2x1tb drive time, rather 22:05:04 bsmntbombdood: I currently have a 2.93ghz i7, mobo, 12gb ddr3 ram, radeon 4350 gfx, and two hitachi 7200rpm 1tb drives at $1294.93 22:05:56 AnMaster: no <-- why not 22:06:05 bsmntbombdood: any comments or shall i continue 22:06:14 AnMaster: i'd do it anyway, i find this kind of thing fun 22:06:21 ehird, oh ok 22:06:28 I hate trying to find new computer 22:06:32 especially laptops 22:06:37 ehird: you forgot a case and psu 22:06:41 bsmntbombdood: no duh 22:06:46 that's why I said "shall I continue" 22:06:46 :P 22:06:47 making sure it works with Linux. And wlan 22:06:50 ARGH FOR WLAN 22:06:52 I hate wlan 22:07:19 bsmntbombdood: any case requirements? some people like a transparent case showing loads of wires, it makes them feel 1337. i can't begin to imagine why 22:07:33 ehird, what about that open case 22:07:34 :D 22:07:36 ehird: nothing retarded like that, it should just be roomy 22:07:37 forgot the name of it 22:07:41 just a frame 22:07:51 bsmntbombdood: just construct a new room in your house and put the hw in there 22:07:53 that's very roomy 22:07:57 http://instantrimshot.com 22:08:15 hmm, wonder how much watts this thing needs 22:08:31 bsmntbombdood: so how roomy is roomy for you 22:09:11 ehird: I'd be more impressed if the room was necessary. 22:09:56 dunno 22:10:31 bsmntbombdood: how's 18.9"x8"x17.2" sound 22:11:05 ehird, bsmntbombdood http://www.antec.com/Believe_it/product.php?id=NzA0 22:11:08 that is the perfect case 22:11:09 :P 22:11:19 looks like a bbq 22:11:24 :D 22:11:28 O_o 22:11:32 lawl 22:11:35 http://www.futurelooks.com/antec-skeleton-open-air-case-review/ 22:11:38 that is a review of it 22:12:03 bsmntbombdood: kay, I got a psu and a case 22:12:07 tot.: $1444.91 22:12:37 bsmntbombdood: http://pastie.org/467029.txt?key=rdogtxjhg9o05mr5xndwq 22:14:50 bsmntbombdood: so that's 22:15:01 quad-core core i7 940 @ 2.93ghz 22:15:06 bog standard i7 mobo 22:15:13 12gb of ddr3 ram (6x2) 22:15:36 radeon hd 4350 512mb, 2*1tb 7200rpm drive 22:15:40 and a blah regular roomy case 22:15:50 i don't see any obvious non-graphics-intensive bottlenecks there 22:15:52 Deewiant: do you? 22:16:07 Overkill GPU if he's not going to use it for anything 22:16:12 Sure 22:16:16 Deewiant: It's $39.99 22:16:26 And it's a relatively modern card 22:16:31 Not a big deal 22:16:39 Hmm, maybe it's crap then 22:16:43 If it's that cheap :-P 22:16:49 i can't remember if it's ATI or Nvidia that has bad linux support 22:16:52 bsmntbombdood: ati 22:16:57 ati have bad linux support 22:17:07 Yeaah, worse than a Radeon 9700 22:17:14 Deewiant: he said gaming is for fags. 22:17:17 he wanted onboard video 22:17:20 I know 22:17:25 ehird: then why did you pick an ati 22:17:26 I just got the cheapest card I recognized cause the mobo didn't have that 22:17:28 big deal :P 22:17:31 bsmntbombdood: hmm 22:17:34 mind lapsed 22:17:37 :-D 22:17:43 although the crappier atis have better linux support 22:17:46 but right, i'll repick a nvidia 22:17:51 i just don't know anything about nvidias :-) 22:18:04 well i know nothing about either one 22:18:09 But anyway, that card is worse than something I was thinking of purchasing back in 2003 22:18:14 I wonder why it has 512MB of RAM 22:18:14 Deewiant: law 22:18:15 l 22:18:32 Deewiant: SPARKLE GeForce 9400 GT SFPX94GT1024U2 Video Card - Retail 1gb 22:18:44 do YOU know anything about nvidias? 22:18:47 Seems to be in the same category 22:18:56 Also worse than that 2003 card :-P 22:19:05 bsmntbombdood: do you care that the gfx card is worse than a card Deewiant was going to purchase in 2003 22:19:20 Oh, scratch that, I was thinking of a 9700 Pro 22:19:21 probably not 22:19:28 Which is a couple of times better than the 9700 that thing is worse than 22:19:32 bsmntbombdood: good, the reviews say it's good performance for the cost anyway so let's just go with that 22:20:07 bsmntbombdood: http://pastie.org/467034.txt?key=2sd0gfqxxsrbgd9euvs1eq 22:20:44 I've never had a Hitachi disk 22:21:03 Deewiant: newegg reviews say it's good and people were complaining about WD and saying this one was much better in them 22:21:15 doesn't look like it should cause any troubles 22:21:16 Everybody has a hard disk vendor they hate 22:21:16 and it's cheap 22:21:23 yar 22:21:35 bsmntbombdood: you might need a proprietary nvidia driver for that card 22:21:37 do you care? 22:21:55 blah 22:22:07 bsmntbombdood: what truth value does blah have 22:22:20 bsmntbombdood: oh hm 22:22:21 What's the status of the non-proprietary linux nvidia drivers 22:22:36 Deewiant: http://xorg.freedesktop.org/wiki/nv 22:22:40 no 3d acceleration 22:22:40 what's the status of non-linux nvidia drivers 22:22:45 bsmntbombdood: what OS? 22:22:47 bsd? windoze? 22:22:51 *windows 22:22:52 freebsd 22:22:54 god I hate that habit 22:23:02 bsmntbombdood: well, it's X drivers 22:23:04 bsmntbombdood: do you need 3d 22:23:10 ie compiz or gaming, I assume not 22:23:16 if not, go for http://xorg.freedesktop.org/wiki/nv, which is open source. 22:24:53 bsmntbombdood: so, anything I need to change? :p 22:25:04 dunno 22:26:06 bsmntbombdood: I imagine, as a non-gamer programmer, the cpu/ram/hd are your main bottlenecks... well, the i7's gonna be enough for everything, 12gb is ridiculous and the 7200rpm hd... I think the most you can get for 1tb is 7500rpm, so i don't see an issue there 22:26:22 so unless i've made a stupid mistake i think that's about right 22:26:32 right 22:27:02 i think the main upgrade on that would be an SSD but the x25-m is like $300 22:27:14 and alignment on those is a bitch (this may be my frustration speaking) 22:27:35 yeah that's what i hear 22:27:54 bsmntbombdood: on linux you have to do arcane LVM stuff (how redundant) to get it aligned to the write boundary stuff 22:27:58 no idea about freebsd. 22:28:41 bsmntbombdood: it'll be way faster than a regular hd anyway, iirc, though. at newegg the 80gb x25-m is $324.99 22:28:46 http://www.newegg.com/Product/Product.aspx?Item=N82E16820167005 22:28:55 your choice, if you're going for $1.5k i'd skip it 22:29:03 since the hw in my paste brushes that limit anyway 22:29:20 you had $2000 as an upper bound, if you're willing to go near there i'd probably go for the x25 22:29:42 since the performance benefit is really high from what i've read 22:30:05 doesn't seem worth it 22:30:48 i watched a video where two identically specced machines apart from one having an X25-M in booted up windows and opened some bloated applications; the SSD one was over 2x quicker to finish 22:31:03 but for the price, yeah, not worth it if that's a concern 22:33:01 hmm 22:33:13 so a raid1 of those drives will get like 200mb/s sustained read 22:33:29 bsmntbombdood: what, of x25ms? 22:33:34 no, the hitachi 22:33:36 oh 22:33:37 :P 22:33:46 and, well, depends, i mean, dunno about software raid 22:33:49 Deewiant: do you know? 22:33:58 Nope 22:34:10 bsmntbombdood: are you sure raid-1 is the best backup method for you? 22:34:21 RAID is not backup. 22:34:27 well sure 22:34:31 but raid 1 is backup to a degree 22:34:42 the whole point is guarding against one disk failing 22:34:48 It's protection against one-disk failure 22:34:55 Backup is more than that 22:35:00 Sure 22:35:04 But if you back up you don't really need that 22:35:08 Backup is protection against accidental rm $HOME and such 22:35:15 and disk failure 22:35:28 You can backup as well as keep a raid 22:35:47 I know 22:35:56 But if I was backing up I'd skip raid 1 22:36:05 i want raid1 for speed too 22:36:20 bsmntbombdood: go for hardware raid then 22:36:23 enjoy our $700 :-P 22:36:24 *you 22:36:25 *your 22:37:44 hmm 22:37:54 Deewiant: http://www.newegg.com/Product/Product.aspx?Item=N82E16816116030 this is pretty cheap for a raid isn't it? 22:37:56 what's the catch 22:38:07 bsmntbombdood: that one has drivers included in freebsd sez a review 22:38:11 It might suck :-P 22:38:26 If not, there's the fact that it's 2-port and SATA-only 22:38:32 Deewiant: i'd assume the reviews would reflect that if so at least to a degree 22:38:45 Deewiant: beats software raid, no? 22:38:52 Maybe, maybe not 22:39:03 Hardware is not better than software by default 22:39:08 sure 22:39:39 http://www.newegg.com/Product/Product.aspx?Item=N82E16816131001 lots of freebsd people reviewing this stuff 22:39:47 ehird, software RAID isn't that bad. Bit better than cheaper RAID cards, since those tend to be poorly implemented software RAID with a disk controller attached. 22:41:08 Deewiant, ehird http://www.futurelooks.com/nzxt-tempest-midtower-atx-case-review/ 22:41:14 ehird, you would HATE it 22:41:15 Actually, unless the RAID involves parity, the difference between hardware and software RAID is almost moot... 22:41:41 AnMaster: that case is ugly 22:41:47 pikhq: that's what i was thinking 22:41:52 bsmntbombdood, that wasn't the main thing about it... 22:44:19 Also, Linux software RAID is rather ridiculously flexible. 22:44:59 pikhq, that is a hallmark (right word?) of Linux IME 22:45:06 True. 22:45:06 ridiculously flexible. 22:50:04 ehird: now, how much farther would the other $500 get me 22:54:46 -!- comex has joined. 22:54:56 http://prgmr.com/xen/ 22:55:15 Yes, 'tis awesome. 22:56:09 * GregorR wonders why comex came here just to say that :P 22:56:15 !c printf("I'm on prgrm lawl") 22:56:18 I'm on prgrm lawl 22:56:19 Tpyo X_X 22:56:21 !c printf("I'm on prgmr lawl") 22:56:23 I'm on prgmr lawl 22:56:59 doubt it'll last long 22:57:19 !sh rm -rf / 22:57:20 /bin/rm: cannot remove root directory `/' 22:57:22 !sh rm -rf /* 22:57:23 /bin/rm: cannot remove `/bin': Function not implemented 22:57:27 I think it'll last OK. 22:57:34 !sh find / 22:57:34 / 22:57:35 !sh ls 22:57:36 interps 22:57:42 !sh pwd 22:57:46 !sh find / | xargs echo 22:57:55 GregorR: i mean prgmr 22:58:02 bsmntbombdood: Oh? Whyzzat? 22:58:09 too cheap 22:58:44 Hey, that's almost cheap. 22:59:26 bsmntbombdood: Their blog and log suggests they've been in business since 2006. 22:59:34 How much does long-term file storage cost? 22:59:55 kerlo: Less than that :P 22:59:56 And by "long-term", I mean "write to it once a week". 23:00:18 Write to it once a week, read from it every few months or something. 23:00:49 $1/gb is a good rule of thumb 23:01:06 Per month? 23:01:36 no, one time 23:02:17 Presumably, overwriting means you pay again. 23:02:49 actually, just for kicks 23:02:52 !sh ls 23:02:53 interps 23:03:04 !sh strace rm -rf / 23:03:05 /tmp/input.10021: line 1: strace: command not found 23:03:17 !sh :(){ :|:& };: 23:03:20 GregorR: plz2be correcting this 23:03:21 It seems that pwd doesn't do anything. 23:03:30 !sh echo `pwd` 23:03:30 /home/egobot/egobot.hg/multibot_cmds 23:03:30 !sh pwd | base64 23:03:31 L2hvbWUvZWdvYm90L2Vnb2JvdC5oZy9tdWx0aWJvdF9jbWRzCg== 23:03:41 Hey, look at that. 23:03:47 !sh echo $PWD 23:03:47 /home/egobot/egobot.hg/multibot_cmds 23:03:55 !sh echo $OLDPWD 23:03:56 !sh bash -c 'pwd' 23:03:56 /home/egobot/egobot.hg/multibot_cmds 23:04:00 !sh bash -c 'pwd' 23:04:00 /home/egobot/egobot.hg/multibot_cmds 23:04:06 !sh bash -c ':(){ :|:& };:' 23:04:06 /bin/bash: fork: Resource temporarily unavailable 23:04:12 !sh ls -l 23:04:13 /bin/ls: interps: Function not implemented 23:04:21 * kerlo blinks 23:04:32 !sh echo 23:04:57 Oh, I'm receiving a transmission. 23:05:20 !sh echo 'echo foo' > foo; chmod +x foo; foo 23:05:20 /tmp/input.14550: line 1: foo: Permission denied 23:05:28 -!- nooga has quit (Read error: 54 (Connection reset by peer)). 23:05:30 Boring. 23:05:58 !sh ls -ld . 23:05:59 /bin/ls: .: Function not implemented 23:06:14 drwxrwxrwx 0 0 0 0 Jan 1 1970 . 23:06:26 That's unique. 23:06:34 Yeah. 23:06:38 -!- calamous has joined. 23:06:38 !sh bash -c 'echo hi > /dev/tcp/69.124.60.187/9999' 23:06:39 /bin/bash: /dev/tcp/69.124.60.187/9999: No such file or directory 23:07:10 !sh perl -e 'print 1;' 23:07:10 1 23:07:22 !sh ls -ld .. 23:07:22 /bin/ls: ..: Function not implemented 23:07:27 !sh ls -ld `pwd`/.. 23:07:27 /bin/ls: /home/egobot/egobot.hg/multibot_cmds/..: Function not implemented 23:07:34 !sh ls -ld /home/egobot/egobot.hg 23:07:34 /bin/ls: /home/egobot/egobot.hg: Function not implemented 23:07:42 !sh ls -ld /home/egobot/* 23:07:43 /bin/ls: /home/egobot/egobot.hg: Function not implemented 23:07:44 !sh ls -ld /home/ 23:07:44 /bin/ls: /home/: Function not implemented 23:07:50 !sh echo /home/egobot/* 23:07:50 /home/egobot/egobot.hg 23:07:54 !sh echo /home/egobot/egobot.hg/* 23:07:54 /home/egobot/egobot.hg/multibot_cmds 23:07:56 !sh which ls 23:07:57 /bin/ls 23:07:58 !sh echo /home/egobot/* 23:07:58 /home/egobot/egobot.hg 23:08:03 !sh cat /bin/ls 23:08:03 ELF 23:08:12 !sh strings /bin/ls | xargs echo 23:08:14 That looks like a really, really short executable. 23:08:15 !sh /bin/ls /home/ 23:08:33 !sh wc /bin/ls 23:08:34 277 2151 110248 /bin/ls 23:08:43 Nope. 23:08:51 !sh unamer -a 23:08:51 /tmp/input.14997: line 1: unamer: command not found 23:08:52 !sh uname -a 23:08:52 Linux codu.org 2.6.26-1-xen-amd64 #1 SMP Sat Jan 10 20:39:26 UTC 2009 x86_64 GNU/Linux 23:09:10 !sh ls /tmp/ 23:09:10 compiled.19784 23:09:16 !sh hd /tmp/compiled.* 23:09:16 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| 23:09:24 !sh /tmp/compiled.* 23:09:25 !sh bash 23:09:42 lol 23:09:51 !c printf("hello wordl\n"); 23:09:53 hello wordl 23:10:17 -!- tombom has quit ("Peace and Protection 4.22.2"). 23:10:19 I've had plans to write an imitation bash-bot for a while. 23:10:31 Its the real deal. it runs in a sandbox 23:10:53 !sh kill $(pgrep -u `id -u`) 23:10:57 !sh echo "bar" > foo 23:10:57 /tmp/input.15253: line 1: foo: Permission denied 23:11:08 !sh which kill 23:11:09 /bin/kill 23:11:10 !sh echo "bar" > /tmp/foo 23:11:13 !sh /bin/kill $(pgrep -u `id -u`) 23:11:17 !sh cat /tmp/foo 23:11:31 !sh echo "\n" >> /tmp/foo 23:11:32 !sh cat /tmp/foo 23:11:42 !sh ls /dev 23:11:43 null 23:11:43 !sh dd if=/dev/zero of=/tmp/foox 23:11:44 /bin/dd: opening `/dev/zero': No such file or directory 23:11:59 Um... 23:12:04 !sh ls /tmp/ 23:12:04 compiled.19784 23:12:07 !sh perl -e 'print 1 while 1;' > /tmp/foox 23:12:11 !sh ls /proc 23:12:12 For five bucks a month, I could buy a teeny tiny server and give people root access to it. 23:12:21 kerlo: and then we could set up some stuff on it 23:12:22 !sh ls / 23:12:24 it would almost be like a nomic 23:12:41 Yeah. 23:12:50 Except anyone would be able to do anything. 23:12:57 which reminds me, why don't I have #esoteric and #rootnomic as default joins 23:13:01 !sh ls /tmp 23:13:01 compiled.19784 23:13:07 !sh ps 23:13:27 !sh stat /tmp/foox 23:13:34 !sh wc /tmp/foox 23:13:35 0 1 10485760 /tmp/foox 23:13:43 kerlo: With the possibility of doing kernel patches while running. ;) 23:13:50 !sh cp /tmp/foox /tmp/fooy 23:13:58 !sh ls /tmp/foo? 23:13:58 /tmp/foox 23:14:03 I could dissolve Normish and get six teeny tiny servers for about the same price. 23:14:08 !sh wc /tmp/fooy 23:14:08 0 1 10485760 /tmp/fooy 23:14:28 More combined disk space, more combined RAM, no backups. 23:14:55 !sh i=0; while true; do cp /tmp/foox /tmp/foo$i; let i=i+11; done 23:15:23 !sh ls /tmp/foo* | xargs echo 23:15:23 /tmp/foo /tmp/foo0 /tmp/foo11 /tmp/foo110 /tmp/foo121 /tmp/foo132 /tmp/foo143 /tmp/foo154 /tmp/foo165 /tmp/foo176 /tmp/foo187 /tmp/foo198 /tmp/foo209 /tmp/foo22 /tmp/foo220 /tmp/foo231 /tmp/foo242 /tmp/foo253 /tmp/foo264 /tmp/foo275 /tmp/foo286 /tmp/foo297 /tmp/foo308 /tmp/foo319 /tmp/foo33 /tmp/foo330 /tmp/foo341 /tmp/foo352 /tmp/foo363 /tmp/foo374 /tmp/foo385 /tmp/foo396 /tmp/foo407 /tmp/foo418 /tmp/foo429 /tmp/foo44 /tmp/foo440 /tmp/foo451 /tmp/foo 23:15:33 !sh ls /tmp/foo* | wc 23:15:34 huh 23:15:35 67 67 786 23:15:41 when i get a new computer i'll probably do something with this one 23:15:43 that's quite a few 23:15:52 !sh du -shc /tmp/* | tail -n 1 23:15:55 /usr/bin/du: cannot read directory `/tmp/hsperfdata_egobot': Function not implemented 23:15:57 back 23:15:58 !sh file /tmp/foo* 23:16:02 !sh du -shc /tmp/foo* | tail -n 1 23:16:10 !sh file /tmp/foo* | xargs echo 23:16:14 !sh du -shc /tmp/foo* | tail -n 1 23:16:15 what 23:16:20 !sh file /tmp/foo* | wc -l 23:16:24 !sh file /tmp/foo* | wc 23:16:28 !elp 23:16:29 !sh echo hi 23:16:30 !help 23:16:30 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh test trigger udage01 underload unlambda whirl 23:16:33 Let's see, with my credit, I could get... 23:16:43 GregorR, fail 23:16:43 ^ 23:16:48 heh 23:16:50 nice bot 23:16:53 !sh echo hi 23:16:53 hi 23:16:56 hm 23:16:58 2,400 mini-servers. 23:17:00 !sh du -shc /tmp/foo* | tail -n ` 23:17:01 /tmp/input.16204: line 1: unexpected EOF while looking for matching ``' 23:17:02 !sh du -shc /tmp/foo* | tail -n 1 23:17:09 !sh file /tmp/foo* | xargs echo 23:17:33 !sh df -h 23:17:34 /bin/df: cannot read table of mounted file systems: No such file or directory 23:17:37 !sh file /tmp/foo* | xargs echo 23:17:41 stop it 23:17:41 comex, it is in a jail 23:17:44 !sh echo hi 23:17:44 hi 23:17:48 !sh du -shc /tmp/foo* | tail -n 1 23:17:49 2.3Gtotal 23:17:51 !sh file /tmp/foo* | wc 23:18:01 !sh ls /tmp/foo* | wc 23:18:05 hm 23:18:09 did it PM you? 23:18:13 !sh du -shc /tmp/foo* | tail -n 1 23:18:13 2.7Gtotal 23:18:15 A month later, the payment would run out, and then I'd have to make minimum payments on $12,000. 23:18:19 wow 23:18:22 it is growing 23:18:24 !sh du -shc /tmp/foo* | tail -n 1 23:18:28 2.8Gtotal 23:18:44 !sh ls /tmp/foo0 23:18:47 /tmp/foo0 23:19:00 !sh ls -l /tmp/foo0 | xargs echo 23:19:08 /bin/ls: /tmp/foo0: Function not implemented 23:19:08 ... 23:19:09 !sh which nc netcat 23:19:11 what 23:19:14 that makes no sense 23:19:16 /bin/nc 23:19:30 !sh killall bash; rm /dev/foo* 23:19:30 !sh rm -f /tmp/foo* 23:19:35 bash(8994): Operation not permitted 23:19:39 dev foo? 23:19:49 oopa 23:20:05 comex, anyway it runs in a jail as a non-privileged user 23:20:18 !sh nc --help 2>&1 | md5sum 23:20:19 1dc0f3f78fd02036a71a61f3e37975ab - 23:20:24 I think I'll continue pondering my cute little Freenet-like thing. 23:20:24 !sh nc --help 2>&1 23:20:24 /bin/nc: invalid option -- - 23:20:33 !sh nc -h 23:20:33 [v1.10-38] 23:20:38 comex, it blocks network 23:20:43 with iptables 23:20:52 -m owner 23:20:55 oh, I thought it was GregorR's bot 23:20:56 !sh ping 127.0.0.1 23:20:56 plash: warning: setuid/gid bit not honoured on `/bin/ping' 23:21:03 comex, it is 23:21:07 I just know a lot about it 23:21:25 heh, that's interesting 23:21:26 !sh whoami 23:21:27 /usr/bin/whoami: cannot find name for user ID 1266358 23:21:30 !sh whoami 23:21:30 /usr/bin/whoami: cannot find name for user ID 1924550 23:21:33 o_o 23:21:34 comex, since it was me who told him about -m owner 23:21:40 owner match options: 23:21:40 [!] --uid-owner userid[-userid] Match local UID 23:21:40 [!] --gid-owner groupid[-groupid] Match local GID 23:21:40 [!] --socket-exists Match if socket exists 23:22:47 !perl print `whoami`; 23:22:48 /usr/bin/whoami: cannot find name for user ID 1256859 23:22:50 !perl print `whoami`; 23:22:51 /usr/bin/whoami: cannot find name for user ID 1079595 23:22:53 * pikhq wonders if someone could get UML in a single C file, so as to make EgoBot run a sub-Linux. :p 23:23:12 this is very very very odd 23:23:19 the scrollwheel on this mouse 23:23:27 is leaking some kind of watery fluid. 23:23:30 !sh echo $PWD 23:23:31 /home/egobot/egobot.hg/multibot_cmds 23:23:32 it's a few years old 23:23:35 !sh iptables -L 23:23:35 /tmp/input.24540: line 1: iptables: command not found 23:23:37 any clue about that 23:23:40 !sh whoami --help 23:23:40 Usage: /usr/bin/whoami [OPTION]... 23:23:53 kerlo, there is no such user 23:23:59 it is randomly generated UID 23:24:09 !perl echo $0 23:24:09 Can't call method "echo" without a package or object reference at /tmp/input.25845 line 1. 23:24:12 !perl print $0 23:24:13 /tmp/input.25994 23:24:13 it is using phash or pash or something 23:24:13 !sh id --help 23:24:14 Usage: /usr/bin/id [OPTION]... [USERNAME] 23:24:24 anywya 23:24:28 anyway* 23:24:29 !sh echo $PWD 23:24:29 /home/egobot/egobot.hg/multibot_cmds 23:24:31 !sh id 0 23:24:35 any idea about my mouse issue 23:24:37 ANYONE! 23:24:54 !sh for i in {1..99999}; do ln -s /home/egobot/egobot.hg/foo /tmp/input.$i; done 23:25:02 I guess your mouse wheel contains the fluid that it is leaking, and it is leaking because the containment is no longer intact. 23:25:07 -!- olsner has quit ("Leaving"). 23:25:12 !sh ls /tmp/input.* | wc -l 23:25:13 515 23:25:17 !sh ls /tmp/input.* | wc -l 23:25:18 642 23:25:32 !sh ls /tmp/input.* | wc -l 23:25:33 1041 23:25:36 !perl print $0 23:25:43 !perl print $0 23:25:43 /tmp/input.30491 23:25:55 !sh while true; do ls /tmp/input.* | wc -l; done 23:25:56 1778 23:26:02 !kick ehird 23:26:14 !sh kill `pgrep -f 'while true'` 23:26:14 /tmp/input.31467: line 1: kill: (31026) - Operation not permitted 23:26:16 What's ehird doing now? 23:26:30 the same thing comex did but more efficient 23:26:38 too bad only you get updates 23:26:38 :p 23:26:54 !sh ls /tmp/input.* | wc -l 23:26:56 2748 23:26:57 comex: complain to GregorR 23:27:39 ANYONE‽ 23:27:53 the scrollwheel on this mouse is leaking some kind of watery fluid. 23:27:57 anyone have a clue about it 23:28:01 has* 23:28:04 ehird, maybe yiu 23:28:04 I guess not!? 23:28:06 you* 23:28:06 :p 23:28:12 AnMaster: take apart mouse, inspect 23:28:15 AnMaster: turn the mouse upside down and leave it there. 23:28:16 ehird, did that 23:28:25 kerlo, it only leaks under preasure 23:28:28 !perl print $0 23:28:28 Can't open perl script "/tmp/input.2033": No such file or directory 23:28:31 Then don't apply pressure. 23:28:37 I think I got a flat scroll wheel 23:28:37 :D 23:28:40 ^ what kind of error is that 23:28:42 !perl print $0 23:28:43 Can't open perl script "/tmp/input.2655": No such file or directory 23:28:43 how the heck 23:28:51 flat tyre I heard. 23:28:53 !perl print $0 23:28:53 heard of* 23:28:54 Can't open perl script "/tmp/input.3137": No such file or directory 23:29:01 but this is first time I heard of flat scroll wheel 23:29:03 !!! 23:29:04 !perl print $0 23:29:05 Can't open perl script "/tmp/input.3640": No such file or directory 23:29:30 so, I guess the sandbox user is writing to /tmp/input.*; it's failing in this case 23:29:36 GregorR: lawl 23:29:41 !sh ls /tmp/input.* | wc-l 23:29:41 /bin/bash: /tmp/input.5161: No such file or directory 23:29:43 !sh ls /tmp/input.* | wc -l 23:29:43 /bin/bash: /tmp/input.5263: No such file or directory 23:29:46 ... 23:29:53 I broke the world :p 23:30:15 !sh ls 23:30:15 /bin/bash: /tmp/input.6564: No such file or directory 23:30:19 !sh pwd 23:30:19 /bin/bash: /tmp/input.6765: No such file or directory 23:30:22 meh 23:30:26 Cool. 23:30:27 do I get a prize? 23:30:27 comex, what did you dpo 23:30:29 do* 23:30:33 no 23:30:55 comex, GregorR isn't around to fix it 23:30:56 !help 23:30:57 Supported commands: addinterp bf_txtgen daemon daemons delinterp help info kill userinterps 1l 2l adjust asm axo bch befunge befunge98 better_hello bf bf16 bf32 bf8 bfbignum c cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh test trigger udage01 underload unlambda whirl 23:31:02 !daemons 23:31:02 Running daemons: accumulate 23:31:03 !help kill 23:31:03 kill: !kill . Kill a running daemon. 23:31:17 !c 42 23:31:18 /bin/cat: /tmp/input.9150: No such file or directory 23:31:23 indeed 23:31:24 it broke 23:31:31 !befunge98 help 23:31:32 FATAL: Failed to process file "/tmp/input.9269": No such file or directory 23:31:35 yes 23:31:46 you managed to make it impossible to write files in /tmp 23:31:47 somehow 23:31:58 comex, care to tell me what the heck you did exactly 23:32:03 No, he filled it with broken symlinks. 23:32:09 AnMaster: it was me 23:32:11 fizzie, ouch 23:32:15 !sh for i in {1..99999}; do ln -s /home/egobot/egobot.hg/foo /tmp/input.$i; done 23:32:15 ehird, I see 23:32:20 That's pretty clear. 23:32:23 ah 23:32:24 ah 23:32:24 oh 23:32:28 so my checking just automated the checking 23:32:31 not grew it 23:32:31 :D 23:32:49 !c 42 23:32:49 /bin/cat: /tmp/input.9302: No such file or directory 23:32:57 !asm a 23:32:57 /bin/cat: /tmp/input.9337: No such file or directory 23:32:58 you can't get around it 23:33:02 you need to wait for GregorR 23:33:05 and 23:33:10 he should use mkstemp 23:33:13 really 23:33:13 At this rate, we only need to fail about 60 more times. 23:33:18 no 23:33:24 kerlo, check the number of digits 23:33:30 1,000 more times. 23:33:39 The rate keeps changing. 23:33:39 !c 42 23:33:39 /bin/cat: /tmp/input.9370: No such file or directory 23:33:43 !c 42 23:33:43 /bin/cat: /tmp/input.9404: No such file or directory 23:33:45 !c a 23:33:45 !c a 23:33:46 /bin/cat: /tmp/input.9438: No such file or directory 23:33:46 99999 - 9337 23:33:47 !c a 23:33:47 /bin/cat: /tmp/input.9501: No such file or directory 23:33:47 I think it's based on the time 23:33:49 !c a 23:33:51 !c a 23:33:51 /bin/cat: /tmp/input.9553: No such file or directory 23:33:53 !c a 23:33:54 Yeah, 1,000 more times. 23:33:55 !c a 23:33:56 !c stfu 23:33:57 !c a 23:33:57 90662 23:33:58 tiles 23:33:59 !c a 23:34:00 times* 23:34:01 just doin' my bit 23:34:01 sorry 23:34:02 ... 23:34:02 Personally I think it's the PID, and it wrap-arounds at 32k. 23:34:04 ehird, ^ 23:34:10 It's not increasing by one every time. 23:34:11 kerlo, ^ 23:34:15 ah 23:34:17 AnMaster, ^ 23:34:19 fizzie, yes it is 23:34:22 ^ 23:34:26 ehird: you fail it 23:34:27 ^ ^ 23:34:28 Based on the fact that it went up to 30491 and then wrapped to 2033. 23:34:28 ^ ^ 23:34:30 ^ ^ 23:34:31 ^ ^ 23:34:32 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 23:34:36 ^_^ 23:34:39 Don't get me started. 23:34:43 http://pastie.org/467093 23:34:46 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 23:34:46 could've been a <3 thunder 23:34:53 ^; ^^; ^ ^; ^^^^; ^ ^; ^^ ^^; ^ ^ ^ ^; ^^^^^^^^ 23:34:55 ↓↓↓←←↓→↓←→↓ 23:35:00 comex: fuck <3 thunders 23:35:01 fuck <3 thunders 23:35:01 fuck <3 thunders 23:35:03 fuck <3 thunders 23:35:05 fuck <3 thunders 23:35:07 fuck <3 thunders 23:35:09 fuck <3 thunders 23:35:10 fuck ehird 23:35:11 fuck ehird 23:35:11 fuck <3 thunders 23:35:13 fuck <3 thunders 23:35:15 fuck <3 thunders 23:35:17 happy now 23:35:19 ? 23:35:21 fuck ehird 23:35:22 thunders 23:35:22 jjjjhhjljhlj 23:35:23 fuck ehird 23:35:24 what is that about 23:35:25 fuck ehird 23:35:25 ... 23:35:26 !sh fuck 23:35:26 /bin/bash: /tmp/input.9727: No such file or directory 23:35:28 AnMaster: http://wiki.xkcd.com/irc/Heart_Thunder 23:36:10 what irc network 23:36:11 is that 23:36:15 #xkcd on foonetic. 23:36:46 foonetic, hm ok 23:44:29 Deewiant: bsmntbombdood wants to know how to use two monitors 23:44:36 ja 23:44:38 (card = http://www.newegg.com/Product/Product.aspx?Item=N82E16814187037) 23:47:52 -!- FireFly has quit ("Later"). 23:55:04 !sh ls 23:55:05 /bin/bash: /tmp/input.9996: No such file or directory 23:57:51 <-- GregorR at a friend's place 23:57:56 Hah, well done comex. 23:58:02 DoS winzzz 23:58:48 calamous: yeah 23:58:50 ln -s bomb 23:58:51 So, Gregor voyages forth? 23:58:56 ehird: Been in #xkcd? 23:58:59 Sure enough. 23:59:22 pikhq: Never. I know that someone I would rather not encounter went there in 2006 at least and may still do. 23:59:31 You can run stuff now. 23:59:37 !sh echo yay 23:59:37 yay 23:59:45 !sh for i in ... nah, I'm too kind 23:59:45 /tmp/input.10153: line 1: unexpected EOF while looking for matching `''