←2006-10-07 2006-10-08 2006-10-09→ ↑2006 ↑all
00:42:37 -!- |wez| has quit.
00:45:24 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
00:58:47 -!- GregorR-L has joined.
01:27:48 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
01:27:48 -!- CakeProphet has quit (Connection reset by peer).
01:28:46 -!- CXI has joined.
01:28:47 -!- CakeProphet has joined.
01:39:20 -!- CXI has quit (Connection reset by peer).
01:39:20 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:40:19 -!- CXI has joined.
01:40:23 -!- CakeProphet has joined.
01:42:26 * GregorR-L writes down: CXI and CakeProphet are secretly the same person.
01:44:36 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:44:36 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
01:45:29 -!- CakeProphet has joined.
01:45:34 -!- CXI has joined.
02:18:39 -!- CXI has quit (Connection reset by peer).
02:18:39 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
02:19:33 -!- CakeProphet has joined.
02:19:38 -!- CXI has joined.
02:38:17 -!- ivan` has quit (" Like VS.net's GUI? Then try HydraIRC -> http://www.hydrairc.com <-").
02:55:29 -!- kipple_ has quit (Read error: 110 (Connection timed out)).
03:13:43 -!- ivan` has joined.
05:09:13 -!- truecoyote has joined.
05:13:52 -!- truecoyote has left (?).
05:19:58 -!- GregorR-L has quit (Read error: 110 (Connection timed out)).
05:24:53 -!- Arrogant has joined.
06:09:21 -!- Asztal has quit (Read error: 110 (Connection timed out)).
06:25:26 <calamari> I just discovered something .. the Linux terminal beep frequency and duration be set with escape sequences
06:33:38 <pikhq> I'm following your thought process from that, and am *very* scared.
07:17:18 <Sgeo> hms?
07:17:26 <Sgeo> OhwowI'mdelayed
07:17:39 <pikhq> Indeed.
07:17:44 <pikhq> I'm worse.
07:17:59 <pikhq> It's taken me at least a day to notice that somehow I'm an op in #gnu.
07:19:48 -!- GregorR-L has joined.
07:32:55 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
07:32:55 -!- CXI has quit (Connection reset by peer).
07:33:53 -!- CXI has joined.
07:34:01 -!- CakeProphet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:46 -!- calamari has left (?).
08:37:57 -!- Arrogant has changed nick to robot-smoke.
08:38:19 -!- robot-smoke has changed nick to Arrogant.
09:08:13 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <-").
09:13:18 -!- GregorR-L has quit ("Leaving").
10:06:41 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
10:06:41 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
10:07:35 -!- CakeProphet has joined.
10:07:42 -!- CXI has joined.
10:09:35 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
10:09:35 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
10:10:27 -!- CakeProphet has joined.
10:10:56 -!- CXI has joined.
10:26:57 -!- tgwizard has joined.
10:49:06 -!- puzzlet_ has quit (Remote closed the connection).
10:53:38 -!- puzzlet has joined.
10:59:44 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
11:04:26 -!- puzzlet has joined.
11:27:06 -!- tgwizard has quit ("Leaving").
11:51:01 -!- kipple_ has joined.
11:57:50 -!- jix has joined.
12:38:31 -!- Arrogant has quit ("Leaving").
13:06:33 -!- ihope has joined.
13:06:36 <ihope> [10/4/2006 6:08 PM] <thermoplyae> Maybe computer engineering is the field for you
13:06:56 <ihope> The quote I've been looking for for the past 10 years.
13:07:01 <ihope> Okay, maybe less than that.
13:07:01 -!- oerjan has joined.
13:18:49 -!- ihope_ has joined.
13:35:42 -!- ihope has quit (Read error: 110 (Connection timed out)).
13:36:57 <oerjan> bwahaha, my algorithm is not done yet. 255 down to 30 characters now
13:37:40 <ihope_> I can represent 255 with only 3 characters.
13:38:02 <oerjan> ahem. in non-wrapping brainfuck?
13:38:27 <ihope_> No.
14:03:25 <oerjan> bah. the "-wrap off" option to egobfi is just rubbish.
14:32:46 <pikhq> I can do 255 in one character (using wrapping). ;)
14:34:03 -!- CakeProphet has quit (Read error: 113 (No route to host)).
14:38:25 <paparent> hi pikhq
14:38:33 <pikhq> 'Lo.
14:39:06 <paparent> what,s that with with the "255" lol
14:39:13 <pikhq> Damned if I know.
14:39:24 <paparent> 255 in 3 characters ... :S
14:39:48 * oerjan pouts
14:44:04 <pikhq> WTF is my computer doing?!?
14:44:18 <oerjan> achieving sentience
14:44:23 <pikhq> No. . .
14:44:28 <pikhq> Already did that.
14:44:34 <pikhq> $ firefox
14:44:43 <pikhq> Does not respond to C-c or C-z.
14:44:50 <pikhq> $ killall -9 firefox-bin
14:44:55 <pikhq> Same with that.
14:44:58 <pikhq> $ top
14:45:00 <pikhq> And that.
14:45:18 <oerjan> is the power on? :)
14:45:28 <pikhq> I'm using it right now.
14:45:42 <oerjan> hm, good point
14:46:01 <pikhq> It's like it's decided that fork(); shouldn't be ran.
14:46:18 <oerjan> is it out of process space?
14:46:44 <pikhq> If it were, it would've had fork(); fail.
14:47:07 <pikhq> But fork(); doesn't seem to have really *done* anything at all.
14:48:11 <oerjan> use exec then :)
14:48:57 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
14:50:02 -!- pikhq has joined.
15:40:46 -!- Azstal has joined.
15:40:47 -!- Azstal has changed nick to Asztal.
16:14:06 -!- ivan` has joined.
16:54:38 -!- oerjan has quit ("CU").
17:26:42 -!- CakeProphet has joined.
18:33:40 -!- tgwizard has joined.
19:38:11 * SimonRC grins insanely: http://www.google.com/codesearch?q=+file:wp-config.php+username&sa=N
19:39:25 <kipple_> hah
19:40:28 <kipple_> one of the entries: http://www.hogasenborettslag.no/
19:40:34 <kipple_> :D
19:42:00 <kipple_> do I smell a lawsuit against google? ;)
19:42:06 <SimonRC> kipple_: can you read that?
19:42:16 <SimonRC> If so, what is the site about
19:43:34 <kipple_> it's a home page for an appartment complex
19:44:27 <kipple_> But I was referring to the english message from a friendly hacker
19:50:49 <RodgerTheGreat> that's really pretty hilarious
19:54:43 <SimonRC> yeah
20:12:50 -!- FireMoth has joined.
20:22:58 <SimonRC> 8-S !!! http://www.news.com.au/couriermail/story/0,,20542442-952,00.html
20:23:52 * SimonRC praises ΕΡΙΣ.
20:25:26 <RodgerTheGreat> hm
20:37:15 <ihope_> You can't do that because Σ isn't a real letter!
20:40:13 * SimonRC thwaps ihope_.
20:42:13 <SimonRC> Nowadays it would be Ερισ, instead.
20:52:46 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
20:58:29 -!- pikhq has quit ("leaving").
20:59:06 -!- pikhq has joined.
21:26:03 -!- oerjan has joined.
21:27:57 * pikhq *still* can't figure out how to get itoa in BFM :'(
21:31:10 <pikhq> Probably a bug in my mod macro. . . But still. . . :'(
21:33:24 <oerjan> pastebin?
21:34:13 <oerjan> or other URL
21:34:20 <pikhq> Just one question: Do you grok BFM? ;)
21:34:50 <oerjan> grok and grok, i thought i read the tcl the other day...
21:35:14 <oerjan> so i have a basic idea
21:35:20 <pikhq> Oh, right.
21:36:28 <pikhq> http://en.pastebin.ca/195098
21:37:22 <pikhq> The two macros in there were translated from the ones in BFC, BTW. . . Hopefully, I did the translation correctly.
21:39:10 <oerjan> hm... have all the included files been tested?
21:39:45 <pikhq> Um. . . Argh.
21:39:51 <pikhq> Not sure I ran the test suite. XD
21:42:36 <oerjan> um, what direction does copy x y z copy? and which is the temporary?
21:43:38 <pikhq> copy x y z copies x into y, user z as temp.
21:43:44 <pikhq> using
21:43:52 <pikhq> Maybe I should document stdlib a bit. . . XD
21:44:40 <oerjan> it would be nice with a standard order of output, input, temp arguments - subtract seems the other way
21:45:04 <pikhq> I thought I *had*. . .
21:45:15 <pikhq> I might want to look back through, though.
21:46:55 <oerjan> from the look of it booland is the same way as copy
21:47:22 <oerjan> assuming you don't want to overwrite what was just copied to :)
21:47:35 <pikhq> Maybe I just screwed up subvar. . .
21:47:58 <oerjan> actually mod itself is the same way as subtract
21:49:17 <oerjan> perhaps it would be worthwhile to introduce some inner delimiter in macros
21:49:59 <pikhq> Care to explain?
21:50:47 <oerjan> i mean if the syntax was copy v2 < tmp ; tmp1 then the direction would be obvious
21:51:51 <oerjan> eh, i mean copy v2 > tmp ; tmp1 of course
21:52:00 <pikhq> Hmm. . .
21:52:06 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:52:15 <pikhq> Maybe change macro to take a few different arguments. . .
21:52:40 <pikhq> macro {input} {output} {temp} {code}
21:53:09 <pikhq> Err.
21:53:20 <pikhq> macro name {input} {output} {temp} {code}
21:53:30 <pikhq> That's actually a *very* good idea.
21:54:01 <pikhq> The trick, though, will just be rewriting current code.
21:54:07 -!- tgwizard has quit (Remote closed the connection).
21:54:30 <oerjan> does booland preserve its arguments?
21:56:18 <oerjan> darn it, i need to read the included files
21:56:35 <pikhq> It's part of stdlib in BFM. . .
21:56:53 <pikhq> That, BTW, is what the ^ prefix on a sourced file indicates.
22:05:27 <oerjan> hm, set is not mentioned on the web page
22:05:54 <pikhq> It isn't? Weird.
22:06:18 <pikhq> set var num just sets the variable to 0 before running add.
22:13:00 <oerjan> i sense a couple of macros that could be added for efficiency
22:13:46 <oerjan> addmov and submov, which add and subtract without preserving their argument, thus needing only two
22:14:29 <oerjan> addmov can replace move more efficiently when the target is known to be zero
22:14:48 <pikhq> Working on getting your argument delimiter idea done first.
22:15:02 <pikhq> BTW, thank you for being the only person that's not me to care. :p
22:15:18 <oerjan> you're welcome :)
22:19:43 <oerjan> btw set doesn't need to be built in
22:23:12 <pikhq> Just a macro clear followed by add. . . I know. . .
22:23:21 <pikhq> It's just a bit cleaner builtin, IMO.
22:24:10 <pikhq> Mmkay. Got argument delimiters in bfm.tcl.
22:24:21 <oerjan> and clear doesn't need to be built in either :)
22:24:33 <pikhq> It wouldn't be. . .
22:24:39 <pikhq> It'd be in stdlib.
22:24:47 <pikhq> Like I said: just cleaner builtin.
22:25:03 <oerjan> how cleaner? the resulting brainfuck is the same
22:25:28 <pikhq> From the BFM side, it's cleaner.
22:25:44 <oerjan> you could have a prelude module, like in Haskell, which is automatically included
22:26:04 <pikhq> Either you get macro clear {var} {} {} {while var {subtract var 1}} or macro clear {var} {} {} {comment \[-\]}.
22:26:40 <oerjan> i mean the first, of course
22:28:45 <oerjan> the last would need a goto var, in any case
22:30:05 <pikhq> Ah, right.
22:30:16 <pikhq> And, it'd be dead on BFMC. ;)
22:30:39 <oerjan> i suppose on BFMC, set _would_ be cleaner
22:32:21 <SimonRC> BFM will never match the efficiency of human-generated code, alas.
22:32:45 <oerjan> checked move, copy, subvar, ok, although the last two could use addmov instead of move
22:33:22 <oerjan> sure it will, with the addition of addmov and submov :)
22:33:39 <oerjan> to avoid unnecessary clearing
22:34:42 <pikhq> SimonRC: Given that one can use BFM without any macros (and that this has a one-to-one correspondence with Brainfuck), you're wrong: it can be just as efficient as human-generated code.
22:35:12 <SimonRC> ok, point taken
22:35:20 <pikhq> Even more efficient if one uses BFMC (the stdlib macros have been designed as wrappers around C). ;)
22:36:07 <pikhq> oerjan: Or you could just do hand-expansion inside of those two macros. :p
22:36:15 -!- wooby has joined.
22:37:56 <oerjan> hm ... what we need is a way to remove unnecessary clearing
22:38:49 <oerjan> then move would be equivalent to addmov when used with a known temp=0
22:39:45 <pikhq> Pointless clearing just makes the code a bit longer; it *doesn't* increase execution time signifigantly. . .
22:45:31 <oerjan> hm, booland doesn't need temp0. you can use x instead.
22:45:59 <pikhq> . . . You're right.
22:46:35 <pikhq> Fixed.
22:46:36 <oerjan> and you can remove all but the last set temp1 0
22:46:53 <pikhq> Again: you're right.
22:47:40 <pikhq> Those were somewhat hastily written (as should be painfully obvious). . .
22:52:41 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
22:54:16 <pikhq> http://pikhq.nonlogic.org/bfm.tar.bz2 has the current version (hot off the press).
22:54:45 -!- Sgeo has joined.
22:55:02 <oerjan> wait a moment, i think booland can be improved even more
22:55:19 <pikhq> One outstanding bug. . .
22:55:30 <pikhq> Need to put a COPYING file there, don't I? :p
22:57:17 <pikhq> oerjan: Just edit the new version, and hand me changes, and I'll be very, very happy. :)
23:00:35 -!- ihope has joined.
23:27:23 -!- wooby has quit.
23:34:55 <oerjan> it seems to me that bfm lacks a clean way to break out of a loop without setting its var to zero - this makes it difficult to really optimize booland
23:35:29 <pikhq> That's because it's very low lev
23:35:31 <pikhq> el
23:35:50 <pikhq> It's a very simple process to convert from it to Brainfuck. . .
23:35:52 <oerjan> yes, but bf itself allows it by suitable use of >< commands
23:36:04 <pikhq> And you can do that. . .
23:36:23 <pikhq> With much difficulty, of course.
23:36:42 <oerjan> problem is i can make no assumption of where the variables are situated with respect to each other
23:37:21 <oerjan> and bfm does not give me away to skip from one to the other
23:37:39 <oerjan> *a way
23:37:54 <pikhq> That's the whole point behind right, left, and the variable current. . .
23:37:57 <oerjan> this is a feature request :)
23:38:10 <pikhq> . . . Oh. I forgot to bind goto into the slave interpreter, didn't I?
23:38:36 <oerjan> goto cannot use variables
23:38:58 <pikhq> Oh, dur.
23:39:12 <pikhq> Need to make that an actual command. :p
23:39:45 <oerjan> but there is another difficulty
23:39:51 <pikhq> Which is?
23:40:27 <oerjan> in order for goto to work at the end of a while block, it needs to suspend the while's own goto
23:41:04 <pikhq> It gets ugly to do that. . .
23:41:06 <pikhq> goto var
23:41:11 <pikhq> while current {
23:41:19 <CakeProphet> Goto would actually be useful if you could use variables.
23:41:22 <pikhq> /* code */
23:41:32 <pikhq> goto var2
23:41:33 <pikhq> }
23:42:00 <pikhq> CakeProphet: I just wrote _goto (which is bound as goto into the slave interpreter). . .
23:42:01 <oerjan> i forgot about while current, that should work
23:42:14 <CakeProphet> I'd imagine goto also gets messy when you start dealing with class and function defintions.
23:42:21 <pikhq> proc goto wasn't bound into the slave interpreter at all.
23:42:41 <pikhq> New tarball up.
23:43:02 <oerjan> no class and function definitions in bfm, fortunately :)
23:43:09 <CakeProphet> hmm... if there was a built-in function that returned the current line of code...
23:43:22 <CakeProphet> you could assign a variable to the current line of code... for later use in a goto command...
23:43:47 <pikhq> CakeProphet: It. Compiles. To. Brainfuck.
23:44:09 <CakeProphet> Okay.
23:44:33 <pikhq> It's more of a complex assembler than, say, C2BF. ;)
23:50:02 <oerjan> hm, i am not sure this works anyhow without placing variables precisely :(
23:50:14 <pikhq> What?
23:50:19 <pikhq> goto var
23:50:21 <pikhq> while var {
23:50:24 <pikhq> comment code here
23:50:35 <pikhq> goto var2;comment var2=0
23:50:37 <pikhq> }
23:50:53 * pikhq needs to use a better name than comment for comment blocks :p
23:51:11 <oerjan> my booland idea is essentially: set temp 0; goto x; while current { goto temp }
23:51:16 <Asztal> raw?
23:51:34 <pikhq> oerjan: That'd work. . .
23:52:36 <oerjan> except in order to synchronize back i need to know a relative move that works from both x and temp
23:53:32 <pikhq> Which it would.
23:54:09 <pikhq> The (equivalent) of BFM goto is called for every call into a builtin.
23:54:56 <oerjan> say if i knew that temp1 was to the right of x and temp2 to the right of temp
23:54:57 <pikhq> One could just as easily make BFM goto as "macro goto {var} {} {} {add var 0}".
23:55:36 <pikhq> You don't need to know that.
23:56:02 <pikhq> All you need to know is that you can goto x, goto temp1, and goto temp2.
23:56:04 <oerjan> i need a way to find out whether i have taken the while branch!
23:56:27 <pikhq> . . . Oh. Yeah, that could be a problem.
23:56:36 <pikhq> That's a problem in Brainfuck, though. ;)
23:57:01 <oerjan> not, if i could set temp1 0 and temp2 1 before, and do right 1 afterwards
23:57:37 <oerjan> then a new while current { ... } would only trigger if i was at temp2
23:58:19 <pikhq> That doesn't work at all when one has no clue where the different variables are. . . And the whole point of the macro system is to generalise code. . .
←2006-10-07 2006-10-08 2006-10-09→ ↑2006 ↑all