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