←2005-02 2005-03 2005-04→ ↑2005 ↑all
2005-03-01
02:12:57 -!- heatsink has joined.
04:10:04 -!- calamari has joined.
07:40:32 -!- calamari has quit (Read error: 110 (Connection timed out)).
07:43:24 -!- calamari has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:36 -!- heatsink has quit ("Leaving").
10:09:16 -!- calamari has quit ("Leaving").
10:51:27 -!- Keymaker has joined.
10:51:34 <Keymaker> hi
10:51:54 <Keymaker> arke: what's wrong with brainfuck? doing something program or..?
12:40:27 -!- Keymaker has quit.
2005-03-02
04:19:57 -!- cpressey has quit (Read error: 104 (Connection reset by peer)).
04:21:42 -!- cpressey has joined.
05:00:41 -!- heatsink has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:18:25 -!- lindi- has quit (Read error: 54 (Connection reset by peer)).
09:19:35 -!- lindi- has joined.
09:30:39 -!- heatsink has quit ("Leaving").
21:16:10 -!- Keymaker has joined.
21:16:35 <Keymaker> HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI! HI!
21:18:43 <arke> teh hies
21:25:28 <Keymaker> hi
21:25:44 <Keymaker> so.. what's up?
21:31:34 <arke> nothing
21:31:35 <arke> :)
21:32:09 <Keymaker> ok :)
21:33:14 <arke> playing a game
21:36:58 <Keymaker> what game?
21:56:28 <Keymaker> rgh. i is getting tired. must sleep. ZZzzz
21:56:32 <Keymaker> bye
21:56:34 -!- Keymaker has quit.
22:14:06 -!- lindi- has quit (Read error: 54 (Connection reset by peer)).
22:15:39 -!- lindi- has joined.
2005-03-03
02:39:47 <lament> what
02:40:41 <arke> where?
02:40:42 <arke> when?
02:40:50 <arke> under which circumstances?
02:40:53 <arke> who
02:40:54 <arke> ?
02:40:55 <arke> how?
02:40:57 <arke> :D
02:42:37 <lament> wtf?
05:26:17 -!- calamari has joined.
07:12:42 -!- puzzlet has joined.
07:22:31 <arke> I'm selling gmail invites for $5
07:23:20 <lament> that's rather low
07:24:48 -!- calamari_ has joined.
07:25:35 <arke> buy one :)
07:26:01 <lament> by "low" i don't mean the price
07:26:15 <arke> oh heh
07:26:21 <lament> i mean your personal ethics :)
07:26:24 <arke> :)
07:26:33 <arke> hey, $5 x 50 = $250
07:26:38 <arke> that keeps me alive for a month
07:27:26 <arke> :D
07:28:14 <lament> you don't need any money to stay alive for a month
07:28:26 <lament> well, depending on the month and on your location
07:30:08 <arke> :D
07:30:16 <arke> I'm living in CA
07:30:28 <arke> if i was living back in germany again, i could live in the woods no problem
07:30:31 <arke> except the lack of computer
07:30:31 <arke> :D
07:41:56 -!- calamari has quit (Read error: 110 (Connection timed out)).
07:41:56 -!- puzzlet has quit (Connection timed out).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:23:34 -!- puzzlet has joined.
09:53:03 -!- calamari_ has quit ("Leaving").
10:19:56 -!- calamari has joined.
10:42:33 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
11:02:20 -!- calamari has quit ("Leaving").
11:46:40 -!- puzzlet has joined.
12:08:09 -!- transmogrify has joined.
12:08:13 <transmogrify> hello
12:12:24 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
12:12:28 -!- fizzie_ has joined.
13:05:39 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
16:09:29 -!- {^Raven^} has joined.
16:10:20 <{^Raven^}> hi
17:21:52 <{^Raven^}> does anyone know of any games written inbrainfuck
17:32:28 -!- transmogrify has quit ("bye").
17:59:53 <lament> hi
17:59:55 <lament> i sure don't
18:00:18 <{^Raven^}> darn
18:00:29 <{^Raven^}> i was hoping to see some examples
18:00:46 <{^Raven^}> guess i'm gonna have to write em myself :(
18:01:31 <{^Raven^}> the supercoder looks like the perfect keyboard for a spoon based machine tho
18:08:26 -!- fizzie_ has changed nick to fizzie.
20:56:55 <arke> hehe
20:56:58 <arke> games in BF?
20:57:15 <arke> You could probably write a console based one by emitting escape codes
20:57:15 <arke> :D
20:57:36 <cpressey> wumpus and flip are good candidates.
20:57:52 <fizzie> Or a nice graphical one with bfvga-or-what-was-it-called-again.
20:58:45 <{^Raven^}> yeah, what seems to be most awkward is interpreters geting input a line at a time
20:58:49 <{^Raven^}> instead of a char at a time
20:59:01 <{^Raven^}> would make space-invaders difficult
20:59:04 <fizzie> (bfvga is a DOS-only thing, uses the 320x200x8bit VGA mode with the 64000 bytes of display memory mapped as the brainf*ck array.)
20:59:30 <fizzie> (And if I were to hazard a guess, it probably doesn't do line-buffered input.)
21:01:46 <{^Raven^}> might have to wait until other projects get started
21:02:08 <arke> or make your own
21:02:14 <arke> takes like 5 minutes to code a BF :)
21:02:58 <{^Raven^}> i'm planning a cgi-aware BF-vm next
21:03:26 <{^Raven^}> when i remember how to program in C again
21:03:56 <fizzie> That's true. Didn't take me very long to write 'befvga' (just like bfvga, except with the display memory mapped as a 320x200-sized befunge93 playfield). Doing graphics with that was a bit too arduous, though.
21:04:19 <{^Raven^}> i'll taka a peek
21:15:01 <{^Raven^}> hey, that's pretty impressive
21:26:30 <{^Raven^}> bfvga does line-buffered input. is there a source release :(
21:32:11 <fizzie> Don't know of one.
2005-03-04
00:09:07 -!- Keymaker has joined.
00:09:49 <Keymaker> arke: who buys gmail accounts anyways..? :p
00:10:21 <Keymaker> "23:28:14 <lament> you don't need any money to stay alive for a month"
00:10:23 <Keymaker> lol
00:10:37 <Keymaker> yeah, eating garbage is fun
00:11:28 <Keymaker> anyways.. why not living in germany anymore?
00:12:59 <Keymaker> {^Raven^}: yeah, even the brainfuck is the game designer's right-hand tool, there aren't many games for it, at least i haven't seen
00:13:24 <Keymaker> i should make one, i've planned for long, but never got started on it :) "needs planning"
00:13:40 <Keymaker> (i mean never got started on making the game)
00:13:59 <{^Raven^}> i've had a play, need to find a nice 'terp
00:14:31 <Keymaker> ? 'terp?
00:14:47 <{^Raven^}> interpreter, virtual machine type thingy
00:14:55 <Keymaker> ah, yes..
00:16:26 <{^Raven^}> got a basic adventure game up and running
00:16:34 <{^Raven^}> just need to figure out a nice parser
00:16:42 <Keymaker> neato
00:16:49 <Keymaker> hmmm
00:16:55 <Keymaker> parser can be a bit hard to do
00:17:07 <Keymaker> possible, but hard :)
00:17:58 <{^Raven^}> main concern is speed, i can code in as much flexibility as i want but it'll run like a snail on sleeping tablets
00:18:15 <Keymaker> :)
00:18:17 <Keymaker> yeah
00:18:52 <Keymaker> it can take easily a lot calculation power
00:19:32 <Keymaker> we have to wait a few years more to get the cool stuff running in brainfuck :)
00:19:51 <Keymaker> nah, just joking.. there's plenty of cool stuff already..
00:20:05 <{^Raven^}> i've thought about some interesting stuff that be possible but my C coding sucks
00:20:10 <arke> Keymaker: parents moved and I was only 13 at the time, so I had to come with. I never wanted to. :/
00:20:36 <Keymaker> arke: ok :\
00:20:45 <Keymaker> and..
00:21:00 <Keymaker> me no good at c either
00:21:06 <arke> C sucks :D
00:21:10 <Keymaker> yeah
00:21:15 <Keymaker> :)
00:21:41 <{^Raven^}> it's about as portable as BF so the seem to be stuck together atm
00:21:56 <Keymaker> :)
00:22:41 <{^Raven^}> it would be nice to extend the functionality of BF with an OS abstraction layer without changing the language in any way
00:22:52 <Keymaker> indeed
00:23:03 <Keymaker> good way to mess up the computer :D
00:23:09 <{^Raven^}> so we could potentially do real file i/o and accept command line options
00:23:14 <Keymaker> yeah
00:23:32 <Keymaker> eof is a problem today
00:23:54 <Keymaker> in 8-bit implementations that i use
00:24:13 <{^Raven^}> i make ppl put an @ at the end of the input file
00:24:57 <{^Raven^}> it makes my life a bit easier and is less implementation dependant
00:25:10 <Keymaker> yeah, but what about files that have allkinds of values from 0 to 255?
00:25:24 <{^Raven^}> that's why I reckon we need an abstraction layer
00:25:36 <Keymaker> yeah
00:26:09 <{^Raven^}> thus, you want to check for eof so you do something like [-].+++++.,
00:26:39 <{^Raven^}> 'terp would recognise that as special command number 5 and write back a byte that gives the EOF
00:26:54 <Keymaker> hmm
00:27:08 <Keymaker> something like that would be good
00:27:52 <Keymaker> not to add any new instructions, but to add more functionality for '.'
00:27:59 <{^Raven^}> you could implement as many special commands as would be useful
00:28:10 <Keymaker> yeah
00:28:12 <{^Raven^}> no, I would keep the language itself exactly the same
00:28:14 <cpressey> {^Raven^}: jeffry was working on something like this.
00:28:36 <cpressey> damn, what's his nick again.... caligari, i think?
00:28:43 <Keymaker> calamari
00:28:48 <Keymaker> :)
00:28:49 <cpressey> that's it, thanks :)
00:29:09 <{^Raven^}> he's a damn fine coder that guy
00:29:13 <Keymaker> yah
00:29:24 <{^Raven^}> bfasm is so way above my head...
00:29:39 <Keymaker> :)
00:30:13 <{^Raven^}> the beauty of an abstraction layer is that once it is stable, the main interpreter could be written for any esoteric language
00:30:58 <{^Raven^}> do you know if jeffry is still working on his idea for one?
00:31:06 <Keymaker> dunno
00:31:55 <{^Raven^}> it's good to know that more than just me might find it useful
00:32:04 <Keymaker> :)
00:33:02 <Keymaker> brainfuck is optimal for developing some nice software
00:33:07 <Keymaker> like.. uhm...
00:33:47 <Keymaker> cat :)
00:33:50 <cpressey> {^Raven^}: afaik, he's working on it as a full-fledged operating system.
00:34:03 <{^Raven^}> oh wow!
00:34:17 <cpressey> but the layer is just a protocol, it could be implemented for other os'es...
00:34:31 <cpressey> the useful thing would be to have the same protocol
00:34:50 <Keymaker> yeah
00:34:51 <cpressey> dare i say "standardized"...? no, i daren't. :)
00:34:55 <Keymaker> :)
00:35:04 <Keymaker> btw; anyone knows what this is?
00:35:06 <Keymaker> http://martin.egy.nu/BFOS/
00:35:07 <{^Raven^}> an abstraction layer providing at least similiar functionality to the C library
00:35:53 <Keymaker> yeah
00:36:26 <Keymaker> and as well, i've never taken any closer look on that bfos, but it's not the calamari's project
00:37:07 <{^Raven^}> it looks like program to write a bootdisk for an esoteric OS
00:37:32 <Keymaker> ok
00:38:07 <{^Raven^}> did you like my site Keymaker? this is kindof freaky buy i spotted you in my logs...
00:38:25 <Keymaker> hmm..
00:38:29 <Keymaker> what was your site called?
00:38:30 <{^Raven^}> of all the IPs in all the worls and that kind of stuff
00:38:36 <{^Raven^}> jonripley.com
00:38:41 <Keymaker> yah
00:38:45 <Keymaker> i liked
00:38:55 <{^Raven^}> thx
00:38:57 <Keymaker> :)
00:39:46 <{^Raven^}> do you know if Daniel C ever pops on here?
00:39:59 <Keymaker> guess have i been waiting... :)
00:40:10 <{^Raven^}> waiting?
00:40:17 <Keymaker> yeah
00:40:34 <Keymaker> though, not actually
00:40:40 <Keymaker> anymore
00:40:49 <Keymaker> since there's e-mail :)
00:40:50 <{^Raven^}> ok...now i'm confused
00:41:00 <Keymaker> i meant that when i first came to this channel
00:41:14 <Keymaker> i because i wanted to chat to dbc "live" :)
00:41:18 <Keymaker> but that has never happened
00:41:30 <{^Raven^}> ahh
00:41:37 <Keymaker> instead, we've sent plenty of e-mail
00:47:24 <Keymaker> as well, according to my luck, if he happens to visit this place sometime, then i'm probably somewhere not here. :\
00:47:45 <{^Raven^}> cpressey: found the BOS section of his site and it does look interesting, would have never thought of implementing low level disk access and stuff
00:51:01 <Keymaker> but..
00:51:08 <Keymaker> i think i'll go to sleep
00:51:15 <Keymaker> 3 am here
00:51:20 <Keymaker> 'nite
00:51:21 <{^Raven^}> 1am
00:51:23 <{^Raven^}> nite
00:51:27 -!- Keymaker has left (?).
03:49:46 -!- puzzlet has joined.
07:49:29 -!- puzzlet has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:25:54 -!- puzzlet has joined.
10:49:04 -!- dbc has joined.
10:54:04 <dbc> I just sent you email with a list of comments and suggestions.
10:58:32 -!- sedric has joined.
11:15:33 <dbc> And now I'm going to sleep, but not before the customary ASCII art fractal.
11:15:45 <dbc> ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
11:15:45 <dbc> ++-++ ++-++ ++-++ ++-++ ++-++ ++-++ ++-++ ++-++
11:15:45 <dbc> | | | | | | | | | | | | | | | |
11:15:45 <dbc> ++-+---+-++ ++-+---+-++ ++-+---+-++ ++-+---+-++
11:15:55 <dbc> ++ | | ++ ++ | | ++ ++ | | ++ ++ | | ++
11:15:55 <dbc> | | | | | | | |
11:15:55 <dbc> ++ | | | | ++ ++ | | | | ++
11:15:55 <dbc> ++-+---+-------+---+-++ ++-+---+-------+---+-++
11:16:02 <dbc> | | | | | | | | | | | |
11:16:03 <dbc> ++-++ | | ++-++ ++-++ | | ++-++
11:16:03 <dbc> ++ ++ | | ++ ++ ++ ++ | | ++ ++
11:16:03 <dbc> | | | |
11:16:10 <dbc> ++ ++ | | | | ++ ++
11:16:10 <dbc> ++-++ | | | | ++-++
11:16:10 <dbc> | | | | | | | |
11:16:10 <dbc> ++-+---+-------+---------------+-------+---+-++
11:16:18 <dbc> ++ | | | | | | ++
11:16:18 <dbc> | | | | | |
11:16:18 <dbc> ++ | | ++ | | ++ | | ++
11:16:18 <dbc> ++-+---+-++ | | ++-+---+-++
11:16:28 <dbc> | | | | | | | | | |
11:16:29 <dbc> ++-++ ++-++ | | ++-++ ++-++
11:16:29 <dbc> ++ ++ ++ ++ | | ++ ++ ++ ++
11:16:29 <dbc> | |
11:16:38 <dbc> ++ ++ ++ ++ | | ++ ++ ++ ++
11:16:38 <dbc> ++-++ ++-++ | | ++-++ ++-++
11:16:38 <dbc> | | | | | | | | | |
11:16:38 <dbc> ++-+---+-++ | | ++-+---+-++
11:16:48 <dbc> ++ | | ++ | | ++ | | ++
11:16:49 <dbc> | | | | | |
11:16:49 <dbc> ++ | | | | | | ++
11:16:49 <dbc> ++-+---+-------+---------------+-------+---+-++
11:16:56 <dbc> | | | | | | | |
11:16:56 <dbc> ++-++ | | | | ++-++
11:16:56 <dbc> ++ ++ | | | | ++ ++
11:16:56 <dbc> | | | |
11:17:03 <dbc> ++ ++ | | ++ ++ ++ ++ | | ++ ++
11:17:03 <dbc> ++-++ | | ++-++ ++-++ | | ++-++
11:17:03 <dbc> | | | | | | | | | | | |
11:17:03 <dbc> ++-+---+-------+---+-++ ++-+---+-------+---+-++
11:17:10 <dbc> ++ | | | | ++ ++ | | | | ++
11:17:10 <dbc> | | | | | | | |
11:17:10 <dbc> ++ | | ++ ++ | | ++ ++ | | ++ ++ | | ++
11:17:10 <dbc> ++-+---+-++ ++-+---+-++ ++-+---+-++ ++-+---+-++
11:17:17 <dbc> | | | | | | | | | | | | | | | |
11:17:18 <dbc> ++-++ ++-++ ++-++ ++-++ ++-++ ++-++ ++-++ ++-++
11:17:18 <dbc> ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
11:17:34 <dbc> Good night people.
11:17:44 -!- dbc has quit ("you have no chance to survive make your time.").
11:40:13 -!- puzzlet has quit ("bye").
13:49:40 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
13:50:26 -!- fizzie has joined.
17:51:54 -!- sedric has quit (Read error: 110 (Connection timed out)).
18:09:39 -!- lament has quit (Remote closed the connection).
18:09:45 -!- lament has joined.
20:09:19 -!- Keymaker has joined.
20:09:33 <Keymaker> aaargh.. can't.. be.. true..
20:10:23 <Keymaker> i was away when dbc happened to visit..
20:10:37 <{^Raven^}> it is almost as if you willed it
20:10:44 <Keymaker> ?
20:10:52 <{^Raven^}> to happen
20:10:58 <Keymaker> why do you think so?
20:11:36 <{^Raven^}> when you mentioned wanting to see him in here yesterday :)
20:11:41 <Keymaker> yeah
20:12:33 <Keymaker> i didn't understand your text first, sorry :)
20:14:26 <Keymaker> just when i happen to be away the visiting happens.. i could have guessed this
20:15:10 <Keymaker> either the way, the ascii art was cool once again :)
20:38:21 <arke> hi
20:42:50 <Keymaker> hi
20:44:26 <{^Raven^}> hullo
21:10:21 <Keymaker> hm.. can't get the idea for a keen 3 mod.. been trying for a month already..
21:14:13 <Keymaker> grrrh
21:14:49 * Keymaker tries to think..
21:14:57 <arke> counterstrike mod for keen
21:14:57 <arke> lol
21:15:04 <Keymaker> hehe :)
22:12:55 <Keymaker> good night..
22:13:00 -!- Keymaker has quit.
2005-03-05
00:20:59 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
00:22:24 -!- fizzie has joined.
00:27:05 <arke> Colorado Springs: A guy walked into a little corner store with a shot gun and demanded all the cash from the cash drawer. After the cashier put the cash in a bag, the robber saw a bottle of scotch that he wanted behind the counter on the shelf. He told the cashier to put it in the bag as well, but he refused and said "Because I don't believe you are over 21." The robber said he was, but the clerk still refused to give it to him because he didn't believe him. At this
00:41:22 -!- heatsink has joined.
03:30:31 <{^Raven^}> nite peeps
03:35:03 <heatsink> nite rave
03:42:18 -!- heatsink has quit ("Leaving").
04:48:25 -!- cmeme has quit (Ping timeout: 14400 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:23:44 <ZeroOne> arke: your message is cut at "At this"...
13:25:34 -!- Keymaker has joined.
13:26:10 <Keymaker> hi!
13:26:36 <Keymaker> good "news", i just rewrote my brainfuck program for calculating digital root
13:27:12 <Keymaker> the new version counts the digital root of pi's 10000 first decimals in about 6 seconds, while the old took about 41 seconds
13:27:47 <Keymaker> as well, the code's shorter and it uses a lot less memory cells
13:29:06 <Keymaker> the code seems to be 69 instructions shorter (401 bytes). almost half of it comes from printing "DIGITAL ROOT: " and new-line
13:30:09 <Keymaker> most probably the printing of that text could be made a lot smaller, but i don't really like searching the shortest ways to print text in bf
13:30:53 <{^Raven^}> where does you website live Keymaker?
13:31:17 <Keymaker> nonewhere :)
13:31:32 <Keymaker> it was at info1.info.tampere.fi/~lhetuhe
13:31:40 <Keymaker> but it's not there anymore
13:32:19 <Keymaker> i'm planning to buy one cheap hosting, and eventually i do it, once i invent good brainfuck related domain name
13:33:19 <Keymaker> (actually there reads on that link that the site is moved, but i just put it there beforehand :))
13:33:33 <Keymaker> the site isn't anywhere, or actaully there even wasn't a brainfuck site yet
13:33:43 <Keymaker> (just BFCC site)
13:35:29 <Keymaker> anyways: this new version seems to do the job with 2000000000+ executed instructions _less_ than the old version (so you can guess this is a big improvement in the program)
13:35:29 <{^Raven^}> how much server space/bandwidth would you need?
13:35:43 <Keymaker> probably 2000kb a month :p
13:36:12 <{^Raven^}> how much file space?
13:36:33 <Keymaker> probably not more than 1000kb :)
13:36:46 <Keymaker> oops
13:37:12 <Keymaker> i meant megabyte
13:38:46 <Keymaker> hmmm, or was 1000kb something like megabyte? my brain is ****ed
13:39:03 <{^Raven^}> 1 megabyte is 1024Kb
13:39:08 <{^Raven^}> in real money
13:39:12 <Keymaker> ah ok
13:39:34 <Keymaker> so the stuff fits easily under one megabyte
13:39:43 <Keymaker> but i will buy the site sooner or later
13:39:49 <Keymaker> the problem is only the name
13:40:13 <Keymaker> can't think of any good domain..
13:41:25 <{^Raven^}> bracketcommadotbracket.org aka [,.] ?
13:42:02 <Keymaker> hehe, that could be fun :)
13:42:20 <{^Raven^}> nice esoteric name and it translates to a typewriter proggy
13:42:32 <Keymaker> yeah
13:42:41 <Keymaker> although that program would never start :p
13:43:12 <Keymaker> plusbracketcommadotbracked.org would do the job
13:43:19 <Keymaker> +[,.]
13:44:01 <{^Raven^}> i freely give away that domain name idea
13:44:09 <Keymaker> :)
13:45:40 <Keymaker> couple of names that i've thought are
13:45:43 <Keymaker> nested-loops.org
13:46:24 <Keymaker> bf30000.org
13:47:15 <{^Raven^}> i like nested-loops.org
13:47:20 <Keymaker> yeah
13:47:29 <Keymaker> i like it too, maybe that would be a good choice
13:48:03 <{^Raven^}> or without the dash. nestedloops.org, easier to remember
13:48:15 <Keymaker> hmm yeah
13:48:47 <Keymaker> also, i can't find that name having any double meanings
13:48:57 <Keymaker> (gotta be careful when selecting name..)
13:49:19 <Keymaker> it probably doesn't mean anything other than inner/nested loops in a programming language..?
13:50:05 <{^Raven^}> AKAIK that's the only meaning
13:50:15 <Keymaker> ah, great :)
13:52:07 <Keymaker> hmmm.. can't really decide with or without the dash though..
13:53:18 <Keymaker> and as well, i think the org is better in this than net
13:53:31 <{^Raven^}> both are availiable, go for the one most visually appealing to you
13:53:42 <Keymaker> yeah
13:53:52 <{^Raven^}> i'd like to see a for-profit BrainFuck company ;) that would be something
13:54:13 <Keymaker> hehe :)
13:59:28 <Keymaker> sounds like a plan then, i try to decide with or without the dash.. and then order it.
14:27:45 <Keymaker> anyways, i must go now
14:27:51 <Keymaker> bye
14:27:53 -!- Keymaker has left (?).
14:44:56 -!- cmeme has joined.
19:45:13 -!- calamari has joined.
19:59:38 -!- Keymaker has joined.
20:03:19 -!- {^Raven^} has quit (Read error: 110 (Connection timed out)).
20:04:24 -!- {^Raven^} has joined.
20:05:51 <Keymaker> hmm
20:08:13 <Keymaker> by the way; does anyone know a good mp3 player for linux? like something that's like winamp in windows, like something popular?
20:08:25 <Keymaker> or at least very good one
20:28:08 <Keymaker> is it just me or is many brainfuck "tutorial" on the net just actually there to try to make its author look "1337 h4x0r" because he can print his alias in this language? :) as well, it seems that many just covers basic things like ++++[>+++++<-] and says "have fun programming!" or limits to only badly made code of brainfuck program that prints out something..? :)
20:29:25 <cpressey> such are the limits of most people's ability to code in brainfuck, i suppose :)
20:29:46 <Keymaker> hehe
20:29:57 <Keymaker> and i consider myself stupid ;)
20:31:19 <cpressey> heh :) i like to think of it this way: being able to write complex brainfuck programs is not the kind of clever i am :)
20:31:33 <Keymaker> :)
20:31:41 <cpressey> ok, that grammar sounded a lot better in my head than it did in text, but you get the idea.
20:31:47 <Keymaker> yeah
20:34:14 <Keymaker> i can write basic brainfuck stuff like quine, bf interpreter, isbn number validity checker etc.. but i have no idea how to calculate pi ;) so, i'm quite stupid :p
20:34:40 <Keymaker> but i hope someday i can get something really awesome done.. ah..
20:38:30 <Keymaker> anyways, this tutorial thing is really disturbing.. i know nobody is that great when starting a new language, but i wouldn't write tutorial if i couldn't do much else than print hello world.. as well, i'm really annoyed many call this language limited or useless :\
20:40:14 <Keymaker> somebody should tell them: "if not interested, go BASIC" :p
20:43:14 <cpressey> i think calculating pi requires more number theory type knowledge than brainfuck programming ability anyway.
20:43:30 <Keymaker> hmm, can be true
20:43:54 <Keymaker> and number theory i don't have :)
20:44:30 <cpressey> and yeah, a _real_ tutorial would be nice. something that demonstrates that it really is just as computationally powerful as java, or whatever is on most coder's minds these days.
20:44:56 <Keymaker> yeah
20:50:26 <Keymaker> there should be tutorial to cover more of the cool stuff in brainfuck instead of telling that one can't create something in it (it's just those "tutorial" writers' skills that suck, not the language!)
20:53:59 <Keymaker> there should be International Brainfuck Conference :)
21:02:34 -!- calamari has quit (Read error: 110 (Connection timed out)).
21:06:46 <Keymaker> idea! i could try thue-morse sequence program next in brainfuck. sounds like a good idea, yet highly possible to code. :)
21:58:13 <{^Raven^}> there are hundreds of BrainFuck tutorials that I have seen on the net. unfortunately it is justthe same 2 tutorials repeated ad nauseum
21:58:58 <Keymaker> yeah
22:00:24 <{^Raven^}> theoretically it has been proved that any possible program can be coded in BF. i have a few dozen book here that give examples of how to do lots of interesting things in various machine languages
22:01:04 <Keymaker> ah
22:01:10 <Keymaker> sounds like a neat books
22:01:15 <Keymaker> what they're called?
22:01:20 <{^Raven^}> maybe someone with the coding ability could create something similiar for BF
22:02:02 <{^Raven^}> z80 machine code for humans, arm the dabhand guide, 6502 assembly routines (600pages)
22:02:14 <{^Raven^}> and similiar
22:02:56 <Keymaker> ok :)
22:03:24 <{^Raven^}> i wonder if it would be possible to target gcc to cross-compile to bfasm which could then be comiled to BF
22:03:51 <Keymaker> uhh.. didn't get it :)
22:04:33 <{^Raven^}> gcc is a C compiler, you can setup different configurations so that it will compile code for whichever system you fancy
22:04:43 <Keymaker> ah
22:05:03 <Keymaker> so first compiling c to asm and that bfasm changes it to bf code?
22:05:21 <{^Raven^}> yup, preferably calamari's bfasm
22:05:34 <Keymaker> that'd be quite neat :)
22:05:51 <{^Raven^}> it would be seriously freaky if someone managed to pull it off
22:05:57 <Keymaker> hehe
22:06:13 <{^Raven^}> a nice high-level language that can be compiled to brainfuck
22:06:20 <Keymaker> hehe :)
22:06:42 <Keymaker> can't see it being impossible :)
22:07:16 <{^Raven^}> kind of defeats the point of programming in pure machine language (aka +-,.[]<>) but IIRC they were using assembly language (aka bfasm) in the fifties
22:07:22 <Keymaker> then, naturally, it would be annoying to someone just translate already made c code and tell that he has done md5 program in brainfuck.. :\
22:07:25 <Keymaker> yeah
22:07:49 <Keymaker> although even if that kind of program appears, i won't use
22:07:57 <cpressey> the horrific part would be the stack management, i think :)
22:07:59 <Keymaker> i want to think at brainfuck level and code on it
22:08:19 <Keymaker> and not use any "code-generators" :)
22:08:22 <lament> yo
22:08:25 <lament> hi all
22:08:28 <Keymaker> hi
22:08:30 <{^Raven^}> hey there
22:08:37 <cpressey> hi lament
22:09:18 <Keymaker> anyways, as a sidenote: if i ever see another brainfuck-to-c program written in c i just die
22:09:25 <Keymaker> i can't stand those
22:09:33 <Keymaker> and seen those at least ten today only..
22:09:51 <lament> just wait till calamari finishes his c-to-brainfuck
22:09:58 <{^Raven^}> hehe, everyone writes those, even i have - but at least mine is written in brainfuck
22:10:28 <Keymaker> yeah, they should do c-to-brainfuck as calamari (as lament just said :))
22:10:36 <Keymaker> that'll be quite neat
22:10:52 <{^Raven^}> i wouldn't be suprised if he wasn;t already working on it
22:14:16 <{^Raven^}> IMHO we all need to find a way to take esoteric languages to new heights of usefulness
22:14:27 <Keymaker> yeah
22:14:37 <Keymaker> there is no point in "normal" languages
22:14:51 <Keymaker> :) i'll select bf!
22:14:54 <lament> {^Raven^}: usefulness?
22:15:19 <{^Raven^}> a project i'm working on
22:15:33 <Keymaker> :)
22:16:05 <{^Raven^}> which is designed for all esoteric languages, not just brainfuck
22:16:10 <Keymaker> since there isn't a reason why the project should be coded in c++ instead of brainfuck, so....
22:16:22 <Keymaker> what is designed?
22:16:26 <lament> {^Raven^}: explain
22:16:32 <Keymaker> yea
22:17:06 <{^Raven^}> hmmm, i wonder if i should commit myself, i know it's possible but it's still in the design stage
22:17:24 <lament> commit to explaining?
22:17:29 <cpressey> like calamari's eso-os?
22:17:30 <Keymaker> :)
22:17:38 <Keymaker> i sense something like that
22:17:46 <{^Raven^}> i hope to introduce a paradigm shift in the way esoteric languages can be used
22:17:55 <Keymaker> ah
22:18:04 <Keymaker> that sounds pretty interesting :)
22:18:32 <{^Raven^}> all my BF programs are already executable on the Unix command line which was the first step
22:19:15 <{^Raven^}> ./HelloWorld.b and I already have pure BrainFuck scripts running in my CGI bin
22:19:23 <{^Raven^}> but IMHO that's not enough
22:19:43 <Keymaker> :)
22:20:49 <{^Raven^}> i want to be able to generate a dynamic website in BF without needing mod_bf
22:20:58 <Keymaker> hmmm
22:21:07 <Keymaker> (what's mod_bf?)
22:21:08 <cpressey> like #!/usr/local/bin/bf ?
22:21:23 <cpressey> except make some wrapper that strips out the first line of text
22:22:03 <{^Raven^}> mod_bf is an apache module which you can use to make dynamic sites, you can pass parameters in the URL which are passed as input to a BF program
22:22:06 <{^Raven^}> i don't use it
22:22:39 <cpressey> mod_bf is kind of lame from what i hear
22:22:42 <Keymaker> i see
22:22:50 <Keymaker> well, wouldn't some php script work?
22:22:54 <{^Raven^}> it has some severe security implications
22:23:57 <{^Raven^}> PHP would probably work fine, same with perl/java/etc but I'd prefer to use plain BF scripts
22:24:15 <{^Raven^}> with the #!/usr/bin/bf header - of course :)
22:24:21 -!- calamari has joined.
22:25:04 <{^Raven^}> hi calamari
22:25:10 <Keymaker> hi
22:25:20 <Keymaker> (this channel is strangely active today :))
22:25:30 <cpressey> yo calamari :)
22:27:11 <lament> calamari: we were just talking about you
22:27:14 <lament> calamari: how you never do anything :P
22:41:08 <Keymaker> hmm.. zzZz.. i'll go to sleep. been fun today here :) keep fillin' the logs!
22:41:18 <{^Raven^}> nite
22:41:19 <Keymaker> nite
22:41:21 -!- Keymaker has left (?).
22:45:31 <{^Raven^}> calamari, i like your site, you've got some really interesting stuff there
22:47:49 <{^Raven^}> BFASM is a very impressive piece of software
22:52:36 <cpressey> {^Raven^}: is calamari's EsoAPI like what you had in mind?
22:52:54 <{^Raven^}> similiar but completely different
22:53:35 <cpressey> how so?
22:56:12 <{^Raven^}> the API interface will be almost the same but with a different range of functionality
22:57:01 <{^Raven^}> more suited to day-to-day programming tasks
22:57:36 <cpressey> hmm. well, it could be extended, obviously.
22:57:47 <cpressey> my criticism of it as it stands is that it's not quite general enough.
22:59:11 <{^Raven^}> and I want to make something that can be applied to every esoteric language, including malbolge - but i'll not be writing the demonstration code for that one
22:59:48 <cpressey> right, that's what i meant.
23:00:03 <cpressey> having the return code appear in a memory location isn't general enough, for example.
23:00:13 <cpressey> you might not have memory locations :)
23:00:19 <cpressey> it should appear on the input channel...
23:01:09 <{^Raven^}> both could be available
23:02:51 <cpressey> well, there's an issue of opacity. it would be nice for the layer to be able to work with existing interpreters without modifying them, meaning, you couldn't play with the memory locations directly anyway.
23:03:59 <{^Raven^}> with the free availiability of interpreter source code adding functionality to any interpreter should be trivial
23:07:47 <arke> whens the next BF competition?
23:08:39 <cpressey> {^Raven^}: that's still not quite general enough for my taste.
23:17:30 <cpressey> but, until i write something up, my taste is a moot point :)
23:17:35 <cpressey> i'll write something up.
23:18:16 <{^Raven^}> what are you thinking of?
23:24:28 <cpressey> like EsoAPI, but more general. a layer that lives between the i/o and the os, that translates special input/output to/from the program, into system calls.
23:24:54 <{^Raven^}> that is exactly what i am coding
23:30:50 <cpressey> cool.
23:35:38 <{^Raven^}> now i've said it in public i hope no one steals it
23:35:39 <{^Raven^}> :)
23:36:20 <{^Raven^}> although you could say i took the idea from calamari, i found EsoAPI afterwards
23:37:16 <cpressey> hmm, i don't think of it that way. it's essentially a protocol; it _should_ be public.
23:37:54 <cpressey> if the internet didn't have peer-reviewed rfc's, the world would be a mess :)
23:38:07 <cpressey> of course, this is esoteric programming, so you could easily make a counter argument...
23:38:30 <cpressey> that things should be as obscure as possible ;)
23:41:17 <{^Raven^}> I'd like to make the OS abstraction layer as clear as possible. The languages using it are obscure enough already
23:53:03 -!- heatsink has joined.
2005-03-06
00:01:48 <{^Raven^}> yay...it works :)
00:06:00 <heatsink> what does?
00:35:41 <{^Raven^}> >+>++++++++++<[<[-].+.+.>>.<+] prints hex of numbers 1 to 255
00:36:02 <heatsink> :)
00:37:30 <{^Raven^}> called project easel atm
00:41:12 <heatsink> this isn't branfuck?
00:41:39 <heatsink> looked like bf to me.
00:41:49 <{^Raven^}> it is bf
00:42:03 <heatsink> ok, what's project easel?
00:42:27 <{^Raven^}> OS abstraction layer for esoteric languages
00:44:16 <heatsink> deliciously ironic.
01:05:23 <arke> when is the next BF contest, if any? :)
01:05:36 <lament> you mean the sourceforge thing?
01:06:25 <{^Raven^}> lament: was that to me or arke?
01:06:34 <arke> lament: do you mean me or raven?
01:06:41 <lament> you
01:06:42 <arke> eh, lol
01:06:45 <arke> which one
01:06:45 <arke> lol
01:06:47 <lament> you
01:06:48 <{^Raven^}> rotflmao
01:06:59 <arke> lol
01:07:01 <arke> ARKE OR RAVEN
01:07:02 <arke> :D
01:07:06 <lament> you
01:07:21 <lament> the green one
01:07:22 <arke> me, arje?
01:07:25 <arke> arke*?
01:07:41 <lament> NO
01:07:42 <lament> yes
01:07:53 * arke slaps lament ;)
01:08:03 * {^Raven^} 's brain turns to mush
01:08:15 <arke> lament: please say a name, ARKE or RAVEN
01:08:29 <lament> a name, ARKE or RAVEN
01:08:47 <{^Raven^}> ...well this is an esoteric chat room after all...
01:09:07 <lament> Your Highness Arke
01:09:22 <lament> Doth thou mean the noble Sourceforge site?
01:10:49 <arke> lament: I am not sure of which you speak.
01:10:51 <heatsink> *Dost
01:11:05 <arke> lament: I saw 2 BF contests on cristofs site
01:11:14 <arke> so i figured there'll probably be more
01:11:15 <arke> :D
01:25:46 * calamari wakes up
01:27:36 <calamari> lament: you're right.. I only get the bf urge every once in a while.. but when I do, usually something fun comes of it
01:28:27 <calamari> and I squeezed every last byte out of that boot sector :)
01:43:41 <{^Raven^}> >.++.--.<.+.-.>[-]>++++++++[<+++++++++++++>-]<.<.++.-.+[->.<].[-]++++++++++.
01:43:56 <{^Raven^}> display 'h' if the -h switch has been passed on the command line :D
01:55:39 <cpressey> ok, i wrote something up.
01:55:43 <cpressey> http://catseye.webhop.net/projects/pesoix/doc/pesoix.html
02:16:22 <calamari> cool :)
02:19:18 <{^Raven^}> sweet :)
02:19:28 <{^Raven^}> I've knocked up a page for you to link to
02:19:30 <{^Raven^}> http://jonripley.com/easel/
02:21:33 <cpressey> ok, cool! i've added it.
02:22:35 <{^Raven^}> this is pretty darn cool! :D
02:22:36 <{^Raven^}> thx
02:22:37 <calamari> how will the overlapping specs be sorted out?
02:23:38 <{^Raven^}> That's an interesting question
02:24:28 <cpressey> yeah
02:24:48 <cpressey> i don't know yet
02:25:32 <{^Raven^}> under Easel there are currently 65280 possible unique API calls
02:27:07 <cpressey> well, EsoAPI has the first few 'non banked' commands. Easel has (so far) banks 01, 02, and 03 (which conflict with EsoAPI). and i threw in bank 10
02:27:10 <cpressey> (all in hex)
02:28:19 <cpressey> there could in theory be an unlimited number of api calls, if one of the banks admits sub-banks (and one of those sub-banks admits sub-sub-banks, etc)
02:29:23 <{^Raven^}> in theory it is possibe, but whatever the final depth is, I would like all API sections to be as deep.
02:30:23 <{^Raven^}> I could allocate EsoAPI a sub-block of calls but I don't know that I can add low level disk access and keep portability
02:30:45 <cpressey> well, i'd like all the 'common' api sections to be only 1 bank deep, and have anything deeper reserved for 'vendor extensions' :)
02:31:35 <cpressey> the low-level disk access doesn't have to be real... it could be emulated. or more simply, those commands could just be reserved for EsoAPI
02:32:06 <cpressey> since the low-level stuff is mostly useful for booting anyway.
02:32:25 <{^Raven^}> yes, ideally I would like to have them as one specification
02:33:23 <cpressey> i worry that calamari's boot block doesn't have enough space left in it to parse a bank number :)
02:33:57 <{^Raven^}> lets say that I if I use banks 1-9, banks 10-19 could be reserved for the main development team and banks 20-255 would be allocated on a block-by-block basis to different vendors
02:35:09 <{^Raven^}> or even make the vendor blocks another level deep, so each vendor had 65536 calls available
02:35:21 <{^Raven^}> that would be easy to cod
02:35:23 <{^Raven^}> e
02:38:17 <{^Raven^}> hmmm, this could work... If the user is boots into BFOS they have calamari's current EsoAPI calls available. If they then issue API call 00h 09h it switches to the easel API (now part of EsoAPI)
02:39:26 <{^Raven^}> and from Easel (which they are now in) they issue 00h 09h 01h and that switches them back to the low-level EsoAPI
02:40:04 <{^Raven^}> but, if a user is running a PESOIX enabled interpreter then they only have the Easel functionality available and all low-level EsoAPI calls are emulated
02:40:10 <{^Raven^}> does that make any sense?
02:41:10 <cpressey> hmmm, a modal api :) actually, that probably makes the most sense. and it's even ugly enough to be kind of esoteric!
02:41:22 <cpressey> i'll think about it for a bit.
02:41:46 <{^Raven^}> calamari, your comments would be appreciated
02:42:17 -!- calamari has quit (Read error: 110 (Connection timed out)).
02:42:23 <cpressey> heh
02:42:37 <{^Raven^}> And it would mean that there is only one PESOIX standard - EsoAPI - if calamari lets me use the name
02:42:44 <{^Raven^}> lol
03:02:49 <cpressey> ok, i like the idea of different 'dialects' (with the default dialect being the BOS aka EsoAPI dialect), and a command to switch between dialects. but the command to switch between dialects should probably be the same in every dialect, or chaos will ensue
03:02:58 <cpressey> (not that that's _necessarily_ bad, mind you :)
03:03:28 <cpressey> and if a particular implementation doesn't support a particular dialect, well, that's ok. but it needs to notify the program of that.
03:04:18 <{^Raven^}> that would allow an infinite number of different PESOIX layers
03:05:03 <cpressey> essentially, yeah. the important thing is that it allows for more overlap.
03:06:09 <{^Raven^}> so...all PESOIX conpliant tools start up in calamari's layer,
03:07:07 <{^Raven^}> and then issue a dialect switching command to switch specifications.
03:08:14 <cpressey> yep.
03:08:28 <cpressey> btw, nice website :)
03:08:38 <{^Raven^}> thx :D
03:09:12 <cpressey> "*** Winner of the 2204 2k Classic Text Adventure Competition ***" - heh, are you a time traveller? :)
03:10:00 <{^Raven^}> not any more
03:10:58 <{^Raven^}> load the source code into a BBC BASIC to see a high level language doing a good impression of an esoteric one :)
03:11:09 <cpressey> hehe
03:15:19 <{^Raven^}> i arbitarily nominate 00h 09h xxh where xx is the dialect ID, seems logical as 09h is the next free EsoAPI call
03:17:07 <{^Raven^}> 00h 09h 00h would select to the low-level API.
03:19:03 <{^Raven^}> Hopefully...00h 09h 01h would select Easel, with Easel functionality (hopefully) being a requirement for all PESOIX compliant tools. This is to allow all PESOIX tools to have the same basic functionality.
03:25:26 <{^Raven^}> i have added some more info to the site
03:25:46 <{^Raven^}> bedtime methinks, need to sleep
03:25:47 <{^Raven^}> nite
03:29:48 <cpressey> g'night :)
03:29:53 <cpressey> i'll work on it a bit more too...
03:30:06 <cpressey> 00 09 sounds good to me
03:30:24 <{^Raven^}> this looks like the start of something interesting
05:47:33 <{^Raven^}> The PESOIX site is looking great and is full of good ideas
05:54:49 -!- heatsink has quit ("Leaving").
06:57:01 -!- calamari has joined.
07:43:47 -!- calamari has quit ("Leaving").
07:45:49 -!- calamari has joined.
07:45:53 <{^Raven^}> hi
07:47:31 <{^Raven^}> have completed a working PESOIX source as per the cpressey's specs
07:54:33 <cpressey> hi
07:54:41 <cpressey> i've implemented something too
07:54:52 <cpressey> http://catseye.webhop.net/projects/esobrace/src/esobrace.c
07:55:34 <cpressey> all it does is recognize the SWITCH DIALECT command and acknowledge it, right now
07:55:39 <cpressey> but it's a nice start imo :)
07:56:23 <cpressey> the issues with buffered i/o are a little more painful than i even expected (and i expected quite a bit of pain)
07:56:33 <cpressey> but i think i can work them into the spec
07:56:44 <cpressey> but it's almost midnight here, so that'll wait :)
07:56:46 <{^Raven^}> yeah, every system has it's own way of doing it
07:56:58 <{^Raven^}> it's 8am here, couldn;t sleep.../
07:57:09 <calamari> {^Raven^}: didn't realize you wrote a etxt adventure in bf.. very cool :)
07:57:13 <calamari> text
07:57:56 <{^Raven^}> thanks
07:57:58 <calamari> I also noticed an @ at the end of the file.. I suspect I corrupted you on that. oops!
07:58:25 <{^Raven^}> there are too many ways that an EOF can happen
07:59:01 <{^Raven^}> you are probably right calamari
07:59:52 <calamari> I used the @ to make my interpreter easier to write.. laziness on my part
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:08 <{^Raven^}> cpressey: that's a scary bit of code
08:03:34 <{^Raven^}> here is my pre-alpha http://jonripley.com/easel/pesoix.zip
08:03:41 <calamari> set_up_us_the_brace.. LOL
08:04:15 <{^Raven^}> it supports EsoAPI at start and will allow bank switching when I add the call,
08:04:50 <{^Raven^}> pre-alpha EsoAPI, dialect7f and easal are coded for
08:05:43 <{^Raven^}> it even passes calamari's EsoAPI wrapper test :)
08:08:40 <{^Raven^}> we won't need an '@' at the end of the file soon...we will be able to call the appropriate PESOIX function to check EOF :)
08:08:56 <calamari> neato!
08:09:47 <calamari> do you have an easel test program I can run on my esoapi interpreter (it should abort, correct?)
08:10:00 <{^Raven^}> ummm...
08:11:17 <{^Raven^}> there are some easel test programs in the above archive
08:11:33 <{^Raven^}> but they are pre-PESOIX
08:11:37 <calamari> oic
08:12:48 <calamari> what I mean is.. if I try to run an esoapi program on a regular bf interpreter, it will abort (because of the wrapper). What happens if I run an easel program on esoapi.. will it complain, or proceed and possibly crash?
08:15:07 <{^Raven^}> EsoAPI will need to be modified to support dialect switching (aka 00h 09h xxh)
08:16:58 <calamari> I can't support that.. no bytes left
08:17:16 <{^Raven^}> that is unfortunate :(
08:17:24 <calamari> it's okay though
08:17:43 <calamari> all that is needed is some sort of installation check like I did for esoapi
08:18:07 <calamari> if the pesoix check fails, the program should exit
08:18:14 <cpressey> that's accounted for, sort of
08:18:32 <cpressey> you should get a confirmation if a dialect switch is successful
08:18:59 <cpressey> if you don't you assume the current system doesn't support that dialect
08:19:13 <{^Raven^}> yes a value representing TRUE/FALSE should be returned
08:19:16 <cpressey> and so bos only supports one dialect, that;s ok
08:19:36 <calamari> is bos the default dialect?
08:19:41 <{^Raven^}> yup
08:19:50 <calamari> cool
08:20:05 <{^Raven^}> all PESOIX compliant software starts in BOS mode
08:20:32 <calamari> I should say esoapi rather than bos.. hehe
08:20:50 <calamari> really cool what you guys have done
08:21:15 <cpressey> still a lot of details to work out :)
08:22:16 <calamari> okay.. so I'd output 00 09 00 to "switch" to EsoAPI dialect, correct?
08:22:48 <{^Raven^}> from a cold start you are already in EsoAPI
08:22:58 <cpressey> but otherwise yes
08:23:06 <{^Raven^}> yup
08:23:44 <{^Raven^}> cpressy, take a peek at http://jonripley.com/easel/pesoix.zip
08:24:02 <cpressey> k
08:24:04 <calamari> okay.. so I'm an EsoAPI program, it comes back ater 00 09.. then I output 00 and am stuck
08:24:35 <cpressey> stuck how?
08:24:50 <calamari> hmm. .so I should do 00 09 01
08:25:19 <calamari> wait.. don't want to assume any dialect except esoapi
08:25:51 <{^Raven^}> if you do 00 09 00 from EsoAPI nothing much will happen atm
08:27:54 <{^Raven^}> There will be a modified wrapper for Easel programs which checks for both dialects being available
08:29:09 <{^Raven^}> but after you have checked the all required dialects are available, you can switch between them at will
08:32:27 <calamari> hmm.. right now BOS prints an error message when a bad call is made.. should probably hange that behavior
08:32:52 <calamari> better would just be to ignore the bad call
08:35:33 <{^Raven^}> terminating execution with an error on a bad call would work
08:35:46 <calamari> what if calling the esoapi installation check also put you back into command "00" mode? could that be used to determine whether pesoix is installed?
08:36:31 <{^Raven^}> that needs to be worked on
08:37:01 <{^Raven^}> cpressey has done an impressive job with the specs so far
08:37:08 <calamari> yeah he has
08:37:19 <calamari> I'm suggesting an alteration I suppose
08:37:23 <cpressey> my 2c... biggest problem right now is that EsoAPI and Easel both assume the esolang has the concept of a "current cell"... not all of them do
08:38:05 <{^Raven^}> ahh, that will change
08:38:07 <calamari> cpressey: esoapi could be made to work with a stack based language as well
08:38:50 <cpressey> calamari: i'm pushing for working through the i/o channels only. it's the only thing common enough.
08:39:08 <{^Raven^}> i am going to modify Easel to return results via the i/o channels
08:40:15 <{^Raven^}> the main sticking point is that the EsoAPI installation check should return via i/o instead of trying to set a cell
08:40:20 <cpressey> calamari: although in the case of EsoAPI it's very understandable; the code required to (say) read a disk block in via "standard input" probably wouldn't fit in a boot block nicely :)
08:40:40 <cpressey> {^Raven^}: that's a bit more reasonable, yeah
08:41:09 <calamari> cpressey: the main problem with pure i/o was the installation check.. if I read a byte on a normal bf interp, it is going to hang until I press a key
08:41:16 <cpressey> although in any case the input routine turns into "do i have something to return? if so return it. if not then do real input"
08:41:39 <cpressey> calamari: that's sort of unavoidable though
08:41:48 <calamari> cpressey: not the way I did it :)
08:42:06 <cpressey> calamari: that's because you know the language will be brainfuck :)
08:42:21 <calamari> If a language doesn't have a current cell.. then they'd use their stack, or whatever.. up to the language implementor
08:43:18 <{^Raven^}> i feel we are stuck inside the BOS bootstrap
08:43:22 <cpressey> calamari: what would you use in thue? or strelnokoff?
08:43:40 <calamari> Raven: is there a bug?
08:43:51 <calamari> cpressey: never heard of them
08:44:03 <calamari> not trying to be argumentative
08:44:05 <cpressey> also, i don't like the idea of rewriting every esolang interpreter to work with this
08:44:18 <cpressey> calamari: that only means they're even more esoteric :)
08:44:30 <calamari> just saying that I didn't find pure i/o to be a valid solution because it required the user to push a key in order to exit the program
08:45:28 <calamari> you'd have to rewrite every esolang interpreter to work with it.. afaik :)
08:45:32 <cpressey> ok. i find that acceptable, while i find modifying every interpreter to handle responses (each in a different way depending on the language) to not be acceptable.
08:45:32 <{^Raven^}> you O the installation check, the check code puts the result at the head of the input buffer, you read that single character from the input stream and
08:45:47 <{^Raven^}> no return required
08:45:48 <cpressey> calamari: no, actually you don't. that's the brace program i'm working on.
08:45:48 <calamari> and you hang forever
08:46:04 <calamari> until the user presses a key
08:46:22 <calamari> hehe
08:47:01 <cpressey> if you want to be friendly, you could output a message first, like: if you are not running under pesoix, press "return" to exit
08:47:17 <calamari> why, though? :)
08:47:43 <calamari> the whole idea was that this would be an extended functionality layer.. it would require a change to the original interpreter
08:47:50 <cpressey> no
08:47:54 <cpressey> it doesn't.
08:48:22 <calamari> really? that seems liek magic
08:48:36 <cpressey> the esobrace program runs another program (the esolang interpreter) and intercepts its I/O
08:49:20 <{^Raven^}> and on systems where esobrace will not work you use a modified interpreter
08:49:41 <{^Raven^}> i am working on the modified interpreter side of things
08:50:07 <cpressey> yeah, it only works on unix right now, freebsd in particular... porting it to windows might be, ehm, interesting. (maybe with cygwin)
08:51:18 <{^Raven^}> but that requires cygwin and i'd prefer the user not to have to download extra software. esobrace will never work on RISC OS, not sure about Macs
08:51:57 <{^Raven^}> that's where the modified interpreter comes into it's own, it will run on any system that a C compiler can target.
08:52:03 <cpressey> should work on modern macs, since they're mostly bsd based. risc os, no clue :)
08:52:20 <{^Raven^}> no fork(ing) way - npi
08:52:30 <cpressey> a modified interpreter is a good approach too; the drawback is of course that it's only one language
08:52:50 <{^Raven^}> only for the first draft
08:53:04 <calamari> cpressey: thats also the advantage, though.. because the implementor can make the esoapi calls work in a way consistent with the language
08:54:01 <calamari> cool idea with the forking though :)
08:54:10 <cpressey> resulting in 'n' different ways to use the api, as opposed to one :)
08:54:19 <calamari> since I'm running linux now, it should work nicely
08:55:06 <{^Raven^}> to add PESOIX into any interpreter requires 3 new lines of code and 2 minor changes
08:55:09 <calamari> not really, IMO.. but I don't wish to argue :)
08:55:29 <calamari> (that was to cpressey, sorry my typing is slow)
08:56:19 <{^Raven^}> #include "pesoix.h", pesoix_initialise, pesoix_finalise and changing getchar/putchar with pesoix_getchat and pesoix_putchar
08:56:39 <calamari> anyhow.. glad to see esoapi in there at all, so I feel very honored, thanks :)
08:58:02 <cpressey> calamari: it's not that i want to argue, it's just that there are pros and cons to each approach. i'll consider both sides and write something up, maybe we can get a better idea about it. in the very worst case, pesoix can support both... somehow :)
08:59:17 <cpressey> in the meantime, i need some shuteye :)
08:59:22 <cpressey> g'night folks!
08:59:24 <{^Raven^}> calamari, if there was an equivalent to command.com within BOS then you could support Easel
08:59:25 <{^Raven^}> nite
08:59:33 <calamari> cya Chris, nice work :)
09:00:46 -!- Keymaker has joined.
09:00:59 <{^Raven^}> hi
09:01:40 <{^Raven^}> bed sounds like a good idea even tho it's 9am here
09:02:33 <calamari> I should probably do the same.. need to get up early tomorrow
09:03:53 <Keymaker> hi
09:04:12 <calamari> Keymaker: hi, bye
09:04:16 <Keymaker> :)
09:04:22 <Keymaker> bye
09:04:23 <{^Raven^}> bye all
09:04:26 <{^Raven^}> bye me
09:04:30 <Keymaker> bye
09:04:32 <calamari> cya raven, nice meeting you
09:04:37 <{^Raven^}> same here
09:04:46 <Keymaker> seems the there has been plenty of cool stuff happening while i was away..
09:04:51 -!- calamari has quit ("Leaving").
09:04:57 <{^Raven^}> yup...you missed all the fun
09:05:18 <Keymaker> well, i didn't understand it anyways :p
09:05:29 <{^Raven^}> see ya
09:05:40 <Keymaker> yah
09:08:09 <Keymaker> ARKE: (typed that capital that you could notice :)) the next BF competition will be there pretty soon, there should be a topic posted on Golf forum in a few days
09:08:31 <Keymaker> and, it is no bfgolf, i just use their forums again :p
09:48:25 <Keymaker> gotta go.
09:48:27 -!- Keymaker has left (?).
15:27:56 -!- [^Raven^] has joined.
15:44:34 -!- {^Raven^} has quit (Read error: 110 (Connection timed out)).
16:23:44 -!- [^Raven^] has changed nick to {^Raven^}.
21:05:51 -!- heatsink has joined.
21:30:06 <{^Raven^}> hi
21:30:57 <{^Raven^}> cpressey: http://jonripley.com/easel/ep_specs.txt, contains a write up of my ideas for PESOIX specification so far, please read and comment. Thanks
22:07:38 -!- kipple has joined.
23:15:41 <arke> Contest right now: In the next 24 hours, create an 8086 compatible, DOS Brainfuck interpreter. The source to be interpreted is appended to the end of the executable, and terminated with a 0. 24 hours from now, send me your results by /msg
23:22:16 -!- lament has quit (sterling.freenode.net irc.freenode.net).
23:31:54 <arke> smallest entry wins
23:34:41 -!- lament has joined.
23:37:28 <arke> smallest entry wins
23:37:30 <arke> :)
23:40:52 <kipple> Don't do assembler myself, but otherwise an interesting contest :)
23:40:58 <arke> :)
23:41:04 <arke> got 4 contestnats, hoping for more
23:44:15 -!- lament has quit (sterling.freenode.net irc.freenode.net).
23:46:29 -!- lament has joined.
23:52:06 <lindi-> arke: how large are they?
23:52:36 <arke> lindi-: oh they havent submitted, I just meant i have 4 people that are doing it
23:52:45 <lindi-> oh
23:52:52 <lindi-> too bad i have physics exam tomorrow :P
23:52:55 <arke> you're welcome to join
23:52:55 <arke> ;)
23:52:59 <arke> aah, thats too bad
23:53:05 <arke> you can write it now and submit early
23:53:34 <lindi-> nope, but i could write it after the exam
23:54:45 <arke> aah, well thats probably after 24 hours though :(
23:55:02 <arke> actually, since you're in .fi, you probably still have time.
23:55:06 <fizzie> It's 02am localtime here.
23:55:19 <arke> aah, so you have time after the exam
23:55:27 <arke> make sure i have it by 1am your time though
23:57:18 <lindi-> arke: how should it do it's input and output?
23:57:24 <lindi-> s/it's/its/
23:59:17 <lindi-> BIOS services, DOS services, something else?
2005-03-07
00:00:33 <arke> lindi-: keyboard input, screen output. The rest is up to you
00:00:41 <arke> (I'm using int 0x21, al=0x06)
00:03:27 <lindi-> ok
00:03:59 <heatsink> You probably have so few contestants because you chose an esoteric operating system for the contest. ;)
00:10:41 <lindi-> operating system doesn't really play any role here, except for the I/O stuff
00:10:41 -!- arke has quit (Remote closed the connection).
00:10:41 -!- arke has joined.
04:46:40 -!- kipple has quit (Read error: 110 (Connection timed out)).
05:47:53 -!- heatsink has quit ("Leaving").
06:07:14 <cpressey> {^Raven^}: will do
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:28:37 <{^Raven^}> thx
12:06:25 -!- kipple has joined.
12:35:59 -!- kipple has quit (sterling.freenode.net irc.freenode.net).
13:49:43 -!- kipple has joined.
14:03:31 -!- puzzlet has joined.
14:07:53 -!- kipple has left (?).
14:35:19 <{^Raven^}> cpressey: minor revison to stream IDs
14:35:56 <{^Raven^}> cpressey: updated version online, Draft Easel API is at http://jonripley.com/easel/api.txt
14:43:37 -!- kipple has joined.
16:30:04 <{^Raven^}> does any one know of any references to use of floating point numbers in esoteric languages?
17:20:52 -!- Keymaker has joined.
17:21:25 <Keymaker> {^Raven^}: fl0at is evlil!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17:22:10 <Keymaker> by the way, didn't realize your project "completely" until seeing that api list.. sounds great'
17:22:20 <Keymaker> what about using pc-speaker? :)
17:22:34 <{^Raven^}> you can;t tell me that you wouldn't want to floating point arithmetic in, lets say, malbolge :)
17:22:46 <Keymaker> hehe
17:23:02 <{^Raven^}> any thing that I can work out portable C code for is possible
17:23:13 <Keymaker> :)
17:23:18 <{^Raven^}> Beep! is the current limit
17:23:23 <Keymaker> ok
17:24:03 <Keymaker> is beep just "printing" byte 7 (?)?
17:24:06 <{^Raven^}> yup
17:24:09 <Keymaker> ok
17:24:26 <Keymaker> i've seen that as brainfuck program as well :)
17:24:34 <Keymaker> not hard to program :p
17:24:45 <{^Raven^}> :) i've just put the latest version of the API on my site
17:25:06 <Keymaker> ok
17:25:09 <Keymaker> i'll take a look
17:25:43 <{^Raven^}> any comments, suggestions are appreciated
17:26:11 <Keymaker> "cool!"
17:26:32 <{^Raven^}> thx :D
17:27:29 <Keymaker> :) i'm concerned about one thing though
17:27:45 <Keymaker> this far running any esoteric program has been safe
17:27:54 <Keymaker> now, without deep understanding of some program
17:28:05 <Keymaker> one can accidentally open a program that deletes all his files
17:28:18 <Keymaker> or does something not so good..
17:28:23 <Keymaker> :\
17:29:03 <{^Raven^}> i know, it also opens up the possibilities of writing a virus or some other malware :(
17:30:11 <{^Raven^}> i am wondering about making the API request user confirmation of file deletion and system calls
17:30:17 <Keymaker> yeah
17:30:21 <Keymaker> that should be
17:30:43 <Keymaker> in my humble opinion the user should get informed about things that might be harmful
17:30:46 <Keymaker> good idea
17:32:11 <{^Raven^}> question is, should it ask by default or only if an -requestconfirmation (type) switch is given on the command line?
17:32:35 <Keymaker> always
17:32:43 <Keymaker> unless NOT toggled off :)
17:32:55 <Keymaker> that i suggest
17:33:27 <Keymaker> since there are always people who don't read any documents and just assuming the program is safe and people who can't remember to set that kind of stuff on (like me :))
17:34:22 <{^Raven^}> sounds like a very good idea, i will add a -noconfirmation (type) switch to turn off this for known safe programs. It will come in handy for shell scripts where user can specify #!/usr/bin/whatever -safe on the first line
17:35:13 <Keymaker> ok
17:36:19 <Keymaker> -bugmenot :)
17:37:20 <{^Raven^}> lol, how about opening a file for writing/update also being considered unsafe?
17:37:51 <Keymaker> i think so
17:37:59 <Keymaker> at least if it's in the different directory
17:38:39 <Keymaker> although in linux all the problems are smaller, but in windows environment it could mess all :)
17:38:48 <Keymaker> what i am talking.. :D
17:39:12 <Keymaker> i meant "in linux all the problems can't do that much harm by their own"
17:39:18 <Keymaker> or that i guess, at least
17:39:24 <Keymaker> and hope :)
17:39:39 <Keymaker> at least i haven't managed to mess anything yet
17:41:42 <{^Raven^}> same thing about dangerous stuff being possible goes for all mainstream programming/script languages
17:42:04 <Keymaker> sure
17:42:06 <Keymaker> i know that
17:42:14 <Keymaker> that's why i prefer esoteric ones ;)
17:42:37 <{^Raven^}> I wonder if Norton|M'Coffee will ever need to add a detction code for an esoteric nasty !
17:42:44 <Keymaker> :D
17:43:02 <Keymaker> then the cops would be behind your door soon :) or then not..
17:43:08 <{^Raven^}> lol
17:47:51 <Keymaker> anywas, what i was about to say, was this: even there are stuff in other programming languages about file i/o and stuff, and they aren't asked for user to confirm, i still suggest you have there that "ask for confirmation" by default, that can be set off if wanted to..
17:48:31 <{^Raven^}> that's the plan now
17:48:55 <Keymaker> o-k
17:49:57 <Keymaker> by the way, how i would use the stuff in brainfuck program? like for example printing some cell's value in decimal?
17:50:44 <{^Raven^}> PESOIX does not support memory cells, but it's simple to do
17:51:13 <Keymaker> so how it would work in brainfuck then?
17:51:37 <{^Raven^}> (set value)>[-].+.-..<.
17:51:57 <Keymaker> i see
17:52:19 <Keymaker> just like i assumed :)
17:59:15 -!- elysium has joined.
18:03:34 <Keymaker> gotta go. bye
18:03:36 -!- Keymaker has quit.
19:06:20 -!- elysium has quit (Client Quit).
20:15:43 -!- calamari has joined.
20:58:24 <{^Raven^}> hi
22:14:28 -!- calamari has quit (Read error: 110 (Connection timed out)).
23:17:25 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
23:19:40 -!- cmeme has joined.
23:19:58 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
23:20:48 -!- cmeme has joined.
2005-03-08
00:10:52 -!- {^Raven^} has quit ("Leaving").
00:17:18 -!- {^Raven^} has joined.
00:26:37 -!- lament_ has joined.
00:31:44 -!- lament has quit (Read error: 110 (Connection timed out)).
04:58:02 -!- lament_ has changed nick to lament.
05:11:54 -!- kipple has quit (Read error: 110 (Connection timed out)).
05:21:51 -!- lindi- has quit (Read error: 110 (Connection timed out)).
05:35:41 -!- fizzie has quit (Read error: 110 (Connection timed out)).
05:53:28 -!- fizzie has joined.
07:08:59 -!- calamari has joined.
07:09:32 <calamari> hi
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:21 -!- calamari has quit (Read error: 60 (Operation timed out)).
09:07:42 -!- kipple has joined.
11:14:33 -!- lament_ has joined.
11:14:47 -!- lament has quit (Read error: 104 (Connection reset by peer)).
12:10:31 -!- lindi- has joined.
15:06:38 -!- auckland_pig has joined.
15:07:54 <auckland_pig> oink oink
15:07:59 <auckland_pig> :)
15:08:08 <auckland_pig> me and my turning complete language... mmm
15:22:12 -!- auckland_pig has quit ("Chatzilla 0.9.67 [Firefox 1.0.1/20050225]").
15:47:57 -!- Keymaker has joined.
15:48:10 <Keymaker> greetings
15:48:24 <{^Raven^}> hi
15:49:13 <Keymaker> hi
15:54:25 <Keymaker> OK
15:54:37 <Keymaker> EVERYONE check out this:
15:54:37 <Keymaker> http://sourceforge.net/forum/forum.php?thread_id=1244436&forum_id=201037
15:54:44 <Keymaker> and welcome! ;)
15:59:53 <{^Raven^}> looks like an interesting challenge
16:01:36 <Keymaker> hehe
16:01:47 <Keymaker> hope so
16:02:02 <Keymaker> hopefully we'll see you in the competition :)
16:05:54 <lindi-> arke: what happened with the DOS bf interpreter contest btw?
16:07:11 <Keymaker> yeah :)
16:09:50 <Keymaker> anyways, i'll go. i was just dropping by and told the message about the competition. :)
16:09:53 -!- Keymaker has quit.
17:19:42 -!- trillianuser has joined.
17:19:49 <trillianuser> tach
17:31:02 -!- trillianuser has quit ("Leaving").
19:20:51 -!- Keymaker has joined.
19:20:54 <Keymaker> yo
19:27:18 <Keymaker> must go other channel fast!
19:27:20 -!- Keymaker has quit.
19:36:05 -!- Keymaker has joined.
19:36:18 <Keymaker> well, false alarm :)
19:37:47 <Keymaker> anyways, remember that Your feedback is wanted/needed in the LBFC topic at Golf forum.. ;)
19:39:41 <{^Raven^}> what confuses me, if EOF is no change in input stream, wouldn't the number 22 in one of the examples cause early program termination as per the rules?
19:40:29 <Keymaker> wait..
19:40:42 <Keymaker> no
19:40:51 <Keymaker> of course no,
19:41:01 <Keymaker> at least i can't see why it would
19:42:55 <Keymaker> ?? could make a bit more clear what you meant?
19:45:27 <{^Raven^}> k
19:45:40 <Keymaker> ? :)
19:45:43 <Keymaker> "ok"?
19:45:57 <{^Raven^}> yes
19:46:19 <Keymaker> ok :)
19:47:41 <{^Raven^}> no worries i misread part of the post
19:48:09 <Keymaker> ah, ok
20:19:55 <Keymaker> bye.
20:19:55 -!- Keymaker has quit.
20:53:56 <arke> lindi-: I lost, he won. :)
20:54:05 <arke> lindi-: he had 98 bytes, although I haven't seen the code yet
20:54:32 <lindi-> ok
23:14:40 -!- lament_ has changed nick to lament.
23:23:07 -!- lament has changed nick to Kilgore-Salmon.
23:24:09 -!- Kilgore-Salmon has changed nick to lament.
2005-03-09
01:53:04 -!- cpressey has quit ("leaving").
02:00:10 -!- cpressey has joined.
04:03:04 -!- heatsink has joined.
04:21:23 -!- kipple has quit (Read error: 110 (Connection timed out)).
05:21:48 -!- heatsink has quit ("Leaving").
06:39:17 -!- dbc has joined.
07:13:49 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
07:16:14 -!- Taaus has joined.
13:38:07 -!- clog has joined.
13:38:07 -!- clog has joined.
14:14:24 -!- Keymaker has joined.
14:14:34 <Keymaker> dbc: Hello!
14:15:28 <mtve> historical moment :)
14:15:38 <Keymaker> Can't believe this is happening. :)
14:15:47 <Keymaker> (That's why I'm trying to write properly.)
14:22:48 <Keymaker> dbc: Are you presence? (What I've noticed it doesn't tell if someone actually is here even the name is.)
15:44:02 <Keymaker> well, probably not :) bakc to olde writing
15:46:03 <Keymaker> and to anyone: PLEASE CHECK THE LBFC TOPIC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15:46:10 <Keymaker> thank you.
15:46:13 <Keymaker> :)
15:46:25 <Keymaker> i'll play some commander keen noew, i may be back later
15:46:28 -!- Keymaker has quit.
16:14:24 -!- {^Raven^} has joined.
2005-03-10
01:03:56 -!- heatsink has joined.
03:21:45 -!- heatsink has quit ("Leaving").
03:39:09 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:19:04 <dbc> Hello.
04:20:38 <lament> hello
04:33:56 -!- Keymaker has joined.
04:37:22 <dbc> Hello.
04:37:44 <dbc> (THis is even more historical)
04:39:40 <Keymaker> Wow!
04:39:43 <Keymaker> Hi!
04:39:52 <Keymaker> Indeed.
04:41:41 <lament> dbc: where's the pretty fractal?
04:41:59 <Keymaker> :)
04:42:38 <dbc> I don't have one yet.
04:42:49 <lament> where's the ugly fractal?
04:43:04 <Keymaker> those aer cool
04:43:13 <Keymaker> not ugly IMHO
04:46:44 <Keymaker> i'll be away ~10 minutes. darn mornings.
05:02:59 <Keymaker> hmh, i wonder where are all those BFers now.. last time there was plenty of discussion about the contest. do they wait the rules to be confirmed or what?! annoying..
05:07:31 <dbc> Good question.
05:09:05 <Keymaker> yeah, well let's hope they'll come back :)
05:09:31 <Keymaker> or then the comp will get two entries (which is better than one, though) :)
05:10:11 <dbc> We can be pretty sure we won't hear about it for a while after it happens.
05:10:19 <dbc> (wrong forum, sorry)
05:10:26 <Keymaker> :D
05:15:10 <Keymaker> too bad, i need to go now. :( bye.
05:15:13 -!- Keymaker has quit.
06:00:39 -!- dbc has quit ("you have no chance to survive make your time.").
07:33:16 -!- ZeroOne has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:45:30 -!- kipple has joined.
10:27:58 -!- puzzlet has quit.
17:20:44 -!- Keymaker has joined.
17:20:52 <Keymaker> yo
17:24:44 <kipple> ho
17:25:04 <Keymaker> hi
17:25:23 <kipple> hello :)
17:25:36 <Keymaker> :)
17:25:45 <kipple> well that was an interesting conversation :D
17:25:49 <Keymaker> yah
17:25:55 <Keymaker> well, how's going?
17:26:03 <kipple> ah, not too bad...
17:26:08 <Keymaker> ok
17:26:24 <Keymaker> i wish i could say the same :)
17:27:01 -!- kipple has quit (Excess Flood).
17:27:59 -!- kipple has joined.
17:28:13 <kipple> yikes!
17:28:25 <Keymaker> hehe
17:28:48 <kipple> did that incredibly long text get through?
17:29:38 <Keymaker> nope :(
17:30:02 <kipple> I somehow managed to paste 50 lines of C# code into my question to you
17:30:15 <kipple> and was promptly disconnected
17:30:31 <Keymaker> ok
17:30:51 <kipple> anyway, I was gonna ask if you have gotten any feedback on the BF-contest
17:30:58 <Keymaker> well
17:31:06 <Keymaker> there has been one post in sourceforge forum
17:31:09 <Keymaker> that's all :\
17:31:34 <Keymaker> i wonder why, last time people were all there. perhaps it isn't good asking for any public feedback, then.
17:32:00 <kipple> they'll probably show up when the contest starts
17:33:23 <Keymaker> yeah
17:33:26 <Keymaker> hope so :)
17:39:59 <Keymaker> well, must go. :\
17:40:02 -!- Keymaker has left (?).
21:08:43 <arke> hi
21:52:11 -!- lament has quit ("I lost an eye in a drunken ko fight!").
22:22:31 -!- lament has joined.
2005-03-11
01:47:28 -!- kipple has left (?).
02:30:23 -!- heatsink has joined.
03:27:49 -!- ChanServ has quit (Killed by alindeman ()).
03:27:50 -!- ChanServ has joined.
03:27:50 -!- irc.freenode.net has set channel mode: +o ChanServ.
03:52:28 -!- calamari has joined.
03:52:34 <calamari> hi
03:52:49 <{^Raven^}> hullo
03:53:00 <calamari> how's it going?
03:53:46 <{^Raven^}> got some custom wrappers up and running for EsoAPI and Easel
03:53:54 <calamari> cool
03:54:01 <calamari> that was fast!
03:54:10 <{^Raven^}> your textgen.java came in handy
03:54:21 <calamari> yeah, doesn't it? :)
03:54:31 <{^Raven^}> the PESOIX interface is pretty much complete, EsoAPI emulation is ready
03:54:44 <calamari> wish I knew of an algorithm that was provably optimal, but that one comes decently close
03:54:52 <{^Raven^}> and I'm just integrating Easel into the new source tree
03:55:12 <{^Raven^}> it beat my best algorithm by 30 bytes
03:55:39 <calamari> it gets beaten by other algorithms in certain cases
03:55:57 <calamari> after the string gets long enough they all tend to even out tho
03:56:04 <{^Raven^}> at the moment you are only calculating one hash table at the very start
03:56:29 <calamari> yeah.. the hash table has a high cost involved
03:56:36 <{^Raven^}> if you reach a character where you have a large string of +++ or --- you should think about generating another hash table
03:58:12 <calamari> it seems like there should be a mathematical way to get the same results that it takes textgen so long to find
03:58:28 <calamari> ahh well :)
03:59:11 <{^Raven^}> http://jonripley.com/easel/api.txt has the current draft API
03:59:37 <{^Raven^}> i'm going to add a bunch of useful mathematical functions that are a bit difficult to do in BF
04:00:41 <{^Raven^}> and it's now 99.999% backwards compaitble, it only breaks on old programs that send the init code as the first output
04:00:54 <{^Raven^}> which is none of them AFAIK
04:02:49 <{^Raven^}> how's BFBasic coming along?
04:02:54 <calamari> I'd tend toward things that BF could not do on it's own.. seems less like cheating that way :)
04:03:24 <calamari> coming along? I haven't worked on that code in years :)
04:03:33 <{^Raven^}> i know, the main thing I wanted was file I/O and access to environment variables
04:03:34 <{^Raven^}> :)
04:04:28 <calamari> another thing lacking is being able to fork
04:04:42 <calamari> haven't checked your spec if you included that :)
04:04:44 <{^Raven^}> the cheating stuff will be made available for lazy people
04:04:54 <{^Raven^}> no, fork is not something i have played with
04:05:15 <calamari> or if not fork, at least a way to run another app
04:05:59 <{^Raven^}> there will be a system call that you can use to run other apps
04:06:03 <calamari> currently the only way to do it is by emulating the new app with a BFI type wrapper.. very ugly!
04:07:35 <{^Raven^}> the main nightmare is going to be unbuffered input as each system does it differently
04:07:44 <calamari> yeah
04:08:03 <calamari> chris pressey put tsome effort into solving that a while back.. pibfi I think it was called
04:08:10 <{^Raven^}> there's some good GPL code out there I can steal
04:08:25 <{^Raven^}> one feature I'd love to have is keyboard scanning
04:08:47 <{^Raven^}> with that you could write arcade games
04:09:06 <{^Raven^}> it's no fun if the space invaders wait for you to press a key
04:11:04 <{^Raven^}> i'm planning to add the ability to include a configurable text parser aswell
04:11:30 <calamari> that can be done with plain bf
04:13:06 <{^Raven^}> hmmm, the code is a bit complex if you are dealing with a large set of valid input
04:14:06 <{^Raven^}> and the execution time would be beyond most people's patience
04:17:05 <calamari> haha.. assembling a program with the BF bfasm binary already takes too long.. part of the fun of it! ;)
04:20:47 <{^Raven^}> I can't believe that you actually managed to bootstrap BFASM
04:23:33 <calamari> It was just a matter of writing BFASM in very simplistic C code that I could convert to BFASM
04:24:41 <{^Raven^}> I wonder if gcc could be targeed to produce bfasm. That would be interesting but I dread to think though how much code that stdio alone would require.
04:24:56 <calamari> I originally looked into gcc
04:25:25 <calamari> I oculdn't figure it out!
04:26:28 <calamari> although, I think it could be made to generate bfasm code
04:28:45 <calamari> would definitely need pesoix to implement stdio
04:29:48 <{^Raven^}> possibly would require a specific PESOIX-C dialect implenting the standard C library
04:30:06 <{^Raven^}> for simplicity Easel may not be C complete
04:30:42 <calamari> thats okay.. "bf complete" is good enough for me :)
04:30:51 <{^Raven^}> there are too many things that it doesn't seem to make sense to implemrnt
04:30:55 <{^Raven^}> :) Ook!
04:35:31 <{^Raven^}> it should be possible to recompile pure BF into ultra-efficient bytecode for nextgen interpreters
04:37:28 <calamari> dunno about ultra efficient :)
04:38:11 <arke> Hiya
04:38:19 <calamari> hi arke
04:38:25 <{^Raven^}> hi arke
04:39:12 <{^Raven^}> 75%-90% reduction of code is achievable atm
04:40:32 <arke> I wrote a VM for my TI-83 and then I also wrote an optimizing BrainFuck compiler for it
04:40:41 <arke> (all of this in TI-BASIC, an esoteric language on its own!)
04:40:56 <arke> Did all sorts of optimization
04:41:14 <arke> As I thought of more things to optimize, I thought of more raw opcodes for the VM
04:41:33 <arke> unfortunately, the calculator went berserk on me and so I lost it
04:41:34 <arke> :(
04:41:40 <{^Raven^}> aww that sucks
04:42:00 <arke> Yeah
04:42:24 <arke> The original one was a direct BF->VM translation, and a simple program would take several minutes
04:42:38 <arke> it was satisfying to see, as i went along, that it went down to several seconds
04:42:55 <{^Raven^}> an orthoganal RISC instruction set should be possible, with only a few opcodes required
04:45:18 <arke> Some of the opcodes were ADDV (+-), ADDP (<>), JZ ([), JNZ (]), IN (,), OUT (.)
04:45:30 <arke> then I added CLR ([-])
04:45:55 <arke> and I had SET and MOV to and from a temporary VM register
04:46:13 <arke> so I had a pattern matching thing (HELL to do in TI-BASIC, took me several hundreds of lines ;))
04:46:25 <arke> which would detect [<+>-] and some variations
04:46:30 <arke> and translated that into it
04:46:46 <arke> Took me a month of school classes to do this
04:46:46 <{^Raven^}> i have things like, mzero [offset], add [+/- offset,] [#+/- number]
04:46:57 <arke> yeah
04:47:02 <arke> I was so pissed off when I lost it
04:47:03 <arke> :/
04:47:25 <{^Raven^}> i can imagine
04:48:33 <calamari> never did finish putting bf on this hp41cx .. blah
04:49:02 <{^Raven^}> atm i'm working on finding equivalent code and moving it to seperate functions
04:49:25 <{^Raven^}> i feel like i'm writing a compression algorithm
04:50:07 <calamari> sounds like you're on the right track then ;)
04:50:22 <arke> :)
04:50:38 <arke> Ooh, if I ever get a TI-89 I have to implement it there
04:50:49 <arke> becuase it supports subroutines
04:50:53 <arke> which would make life SOOOO much easier
04:50:53 <arke> :)
04:51:07 <calamari> I wrote some slow ones for the ti82 and hp48
04:51:28 <{^Raven^}> i wrote space invaders for mine before it was burgled
04:52:02 <arke> in TI-BASIC? ;)
04:52:06 <arke> that must have been _slow_
04:52:26 <calamari> also for the casio cfx-9800g although it is not able to print characters , just numbers
04:52:45 <{^Raven^}> especially as the aliens were circles :)
04:52:54 <calamari> so you have to interpret the ascii to know if it printed hello world correctly
04:53:04 <arke> hehe
04:53:42 <{^Raven^}> that was over a decade ago
04:53:55 <arke> eh
04:53:58 <arke> i feel so young
04:53:58 <arke> ;)
04:54:27 <arke> a decade ago I was playing with QBasc, routinely crashing the beta copy of Windows 95 my dad got with it
04:54:54 <calamari> yeah.. I hink it was 1996 when I first played with a ti82.. programming it was the reason I failed my hs calc 1 class
04:55:51 <{^Raven^}> i used to hate geography so much my teacher let me go play in the computer room instead
04:56:01 <arke> hehe
04:56:05 <{^Raven^}> still passed it somehow tho
04:56:42 <{^Raven^}> those were the days
04:57:06 <arke> :)
04:57:10 <{^Raven^}> when an 8Mhz computer was considered top of the line kit
04:57:34 <{^Raven^}> and i was stuck with a 2Mz machine and a tape deck for my programs
04:57:34 <arke> hehe
04:57:44 <arke> I remember my dad getting his new computer at the time
04:57:55 <calamari> program for the 2600, can still enjoy that era
04:58:05 <arke> "This is a Pentium 90! This is a HUGE step up from that 486! Can you imagine how smooth Doom would run on this!?)
04:58:13 <{^Raven^}> my college tutor felt so sorry for me he gave me a disk drive :)
04:58:43 <{^Raven^}> i remember you when you had to wait for windows 2.1 to cache the font encoding for each character as you typed it
04:58:57 <arke> haha
04:59:21 <calamari> windows? blah.. dos 3.30 is all you need
04:59:42 <{^Raven^}> dos? nah c/pm :)
04:59:56 <{^Raven^}> i'd have loved to be at MIT in the late fifties
05:00:15 <arke> DOS? cp/m? Why, in my time we would manually flip the bits on the terminal to make our operating system every time we wanted to use the computer
05:00:19 <arke> </old d00dz0r>
05:00:25 <arke> {^Raven^}: yeah :)
05:00:35 <arke> and now I leave, installing new linux, yay
05:00:37 * arke afk
05:00:48 <{^Raven^}> when you would just rewire the processor on when the techno-mages weren't looking to add a new instruction
05:01:50 <{^Raven^}> i can't imagine writing programs using a hole punch these days
05:03:03 <calamari> weren't the holes square?
05:03:30 <{^Raven^}> before my time afaik
05:04:06 <heatsink> OH NO, HANGING CHADS CAUSED THE PRESIDENT TO GET -(2^12) VOTES!
05:04:30 <calamari> http://www.cs.uiowa.edu/~jones/cards/collection/i-program.html
05:05:50 <heatsink> while some say that many voters intended to cast -256 votes for the president, others say that confusing punch cards are to blame for the error.
05:08:04 <{^Raven^}> -(2^12) is -4096 so definately some computing errors there
05:08:57 <{^Raven^}> reminds me when i spent an hour trying to convince an information technology college tutor that 1Kb is 1024 bytes and not 1000
05:09:30 <{^Raven^}> 5:10 am and time for bed methinks
05:09:34 <heatsink> heh
05:09:37 <heatsink> goodnight.
05:09:41 <{^Raven^}> especially when i have to be up in 2 hours
05:09:56 <heatsink> well, it'll be easier to get up than if you had gotten five hours of sleep.
05:10:02 <{^Raven^}> night heatsink, calamari
05:10:15 <{^Raven^}> i prefer 9-5 the wrong way round
05:10:21 <heatsink> ^_^
05:11:17 <{^Raven^}> but as a programmer 24hr takeaway and inreavenous coffee and just taking occasional naps on a 48hr+/-RND(48hr) cycle would suit me
05:11:41 <calamari> cya raven
05:11:46 <{^Raven^}> nite
05:11:56 * {^Raven^} is in bed
06:53:11 -!- calamari has quit (Read error: 145 (Connection timed out)).
06:57:56 -!- heatsink has quit ("Leaving").
07:39:51 -!- calamari has joined.
07:45:29 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:56:01 -!- kipple has joined.
12:44:47 -!- mtve has quit (Read error: 110 (Connection timed out)).
13:54:12 -!- mtve has joined.
17:33:53 -!- Keymaker has joined.
17:34:13 <Keymaker> stegnography is cool! wow!
18:19:45 <kipple> The whitespace language is nice for steganography :)
18:19:53 <Keymaker> :)
18:21:39 <Keymaker> grr.. i've written this thue-morse sequence program three times.. on two first times i didn't realize simple mistake. now i must do it yet again.. :) hopefully now i'm succesful
18:22:02 <Keymaker> (the third version works, but not exactly as supposed to..)
18:26:12 <Keymaker> hmm, must go.
18:26:13 -!- Keymaker has quit.
2005-03-12
01:06:14 <{^Raven^}> got a 10-bit BF interpreter here, is that cheating?
01:06:19 <{^Raven^}> :)
01:41:42 -!- heatsink has joined.
01:59:07 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:28:43 -!- heatsink has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:28:16 <lament> Taaus: http://z3.ca/~lament/bb_fugue.mp3
09:45:33 -!- kipple has joined.
21:44:59 -!- calamari has joined.
21:56:52 <calamari> hi
21:58:20 <{^Raven^}> hi calamari :)
21:58:37 <calamari> hi raven
22:15:00 -!- Keymaker has joined.
22:16:21 <Keymaker> seems that it's time for traditional "Saturday Night Brainfuck" (coding..) again! :)
22:56:51 -!- calamari has quit ("Leaving").
23:00:54 <Keymaker> hm
23:46:48 -!- Keymaker has left (?).
2005-03-13
03:40:37 -!- heatsink has joined.
03:49:09 -!- kipple has quit (Read error: 60 (Operation timed out)).
04:46:41 -!- heatsink has quit ("Leaving").
05:00:34 -!- calamari has joined.
05:01:37 <calamari> hello
05:06:21 <{^Raven^}> howdy
05:07:16 <calamari> hows bf treatin ya?
05:07:44 <{^Raven^}> very nicely thanks, all is going really well
05:08:18 <calamari> have you done much oo design?
05:09:22 <calamari> just wondering if you had any suggestions on how to restructure this mess of code
05:09:28 <{^Raven^}> not in the conventional sense, most of my large projects are modular
05:10:15 <calamari> just curious, are you still in school?
05:10:21 <{^Raven^}> no
05:10:44 <calamari> so youre an old fart working on bf? cool... :)
05:12:30 <{^Raven^}> I think i'm only 1 yr 2 months older than you
05:13:56 <calamari> how would you know? lol
05:16:43 <{^Raven^}> :)
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:20 -!- calamari has quit ("Leaving").
08:57:31 -!- ChanServ has quit (ACK! SIGSEGV!).
08:58:04 -!- ChanServ has joined.
08:58:04 -!- irc.freenode.net has set channel mode: +o ChanServ.
10:10:28 -!- lament has quit (Read error: 60 (Operation timed out)).
13:02:52 -!- kipple has joined.
15:59:15 -!- lament has joined.
16:36:27 -!- Keymaker has joined.
16:36:39 <Keymaker> i'm so stupid...
16:37:00 <Keymaker> better try thue-morse sequence program once again
16:37:15 <Keymaker> can't believe how stupid i've been..
17:28:22 <Keymaker> aaaaargh this makes me insane X{}
17:28:27 -!- Keymaker has left (?).
2005-03-14
03:59:15 -!- calamari has joined.
03:59:21 <calamari> hi
04:16:43 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:20:43 -!- heatsink has joined.
06:59:11 -!- calamari has quit ("Leaving").
07:00:02 -!- heatsink has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:41:27 -!- kipple has joined.
19:11:45 -!- calamari has joined.
19:11:50 <calamari> hi
19:12:20 <{^Raven^}> hullo
19:12:25 <arke> teh hies
19:14:54 <calamari> raven: started implementing that new labeling scheme
19:15:01 <calamari> it shouldn't be a big deal
19:16:01 <{^Raven^}> excellent, i've been reading through the code
19:16:17 <{^Raven^}> and am testing a few ideas for other things
19:23:13 <{^Raven^}> calamari: i'll send you my updates when I have the code is working
19:24:24 <calamari> sounds like we'll have fun merging things hehe
19:25:08 <calamari> I'm working from the original code, since the 16-bit label changes are unneeded now
19:25:59 <{^Raven^}> i am working from the original code too, making a detailed log of all the changes so far to make it easier for someone to integrate
19:29:18 <calamari> I figured we'd just use diff
19:29:31 <calamari> that will help though, for sure :)
21:07:35 -!- calamari has quit (Read error: 110 (Connection timed out)).
23:45:39 -!- paramount has joined.
2005-03-15
01:11:22 -!- paramount has quit (""Naturally, there are exceptions because otherwise it would be too easy to understand." -- Brian "Beej" Hall").
02:01:16 -!- heatsink has joined.
03:08:58 -!- kipple has quit.
03:30:38 -!- calamari has joined.
03:31:17 <calamari> hi
03:54:03 <{^Raven^}> hi calamari
03:54:38 <calamari> hi raven, how's it going?
03:55:10 <{^Raven^}> great, got some good updates for ya
03:55:36 <{^Raven^}> been having fun learning java ;)
03:56:00 <calamari> cool.. just got back from shopping a little while ago.. working on goto
03:57:07 <{^Raven^}> shall i send you the new code + change log?
03:57:15 <{^Raven^}> or integrate it all later
03:57:24 <calamari> later.. in a groove ;)
03:57:41 <{^Raven^}> sweet :)
03:57:44 <heatsink> a groove is the opposite of a rut, right?
03:57:51 <calamari> ya
03:57:55 <{^Raven^}> yup, programming nirvana
03:58:06 <heatsink> strange how this language works.
03:59:36 <{^Raven^}> which language?
03:59:44 <heatsink> english
04:00:01 <{^Raven^}> lol yup
04:01:27 <{^Raven^}> calamair: i can't wait to see what you have come up with
04:01:34 <{^Raven^}> *calamari
04:01:55 <calamari> you'll have to, otherwise you'll be writing very sequential code :)
04:02:13 <{^Raven^}> hehe :) i'll just have fun at my end then
04:03:18 <{^Raven^}> ii'm starting to understand how it all works now ;)
04:04:17 <{^Raven^}> anyways, back to bed, have to be up soon
04:04:20 <{^Raven^}> nite all
04:04:43 <heatsink> g'niters.
04:12:07 <calamari> yay, goto is working :) now to do if, gosub, and ongoto
04:41:31 -!- Keymaker has joined.
04:42:04 <Keymaker> calamari: what are you working on..? where is goto working and where do you need to make gosub and ongoto to work? :)
04:50:53 -!- Keymaker has quit.
04:56:52 <calamari> (Keymaker): BFBASIC
04:58:30 <calamari> (Keymaker): Trying out new label code that isn't limited to 256 labels (unlimited, acutally)
04:58:52 <calamari> ongoto is being a problem.. need to think how I can solve it
05:05:30 <calamari> hash functions aren't exactly a strong point of bf :)
05:06:56 <calamari> happy pi day, btw, to anyone where it's still March 14th ;)
05:07:11 -!- heatsink has quit ("Leaving").
07:23:42 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:14 -!- arke has changed nick to EIGHT_EQUALS_D.
08:02:49 -!- EIGHT_EQUALS_D has changed nick to arke.
09:45:08 -!- kipple has joined.
12:39:28 -!- cmeme has quit ("Client terminated by server").
12:40:11 -!- cmeme has joined.
12:59:26 -!- kipple has quit (Read error: 104 (Connection reset by peer)).
13:01:34 -!- kipple has joined.
15:47:11 -!- calamari has joined.
15:47:17 <calamari> hi
15:47:18 -!- kipple_ has joined.
15:47:28 <calamari> hi kipple
15:47:33 <{^Raven^}> hi
15:47:47 <calamari> raven: any thoughts on my mail?
15:48:11 <calamari> I did get a few ideas last night that are somewhat unrelated
15:48:53 <{^Raven^}> calamari: writing up a potential solution now
15:48:59 <calamari> I think it'd be neat to leave the code in @VAR form until the very end, and have a routine that sorted the variables to minimize code size
15:51:16 <kipple_> hi calamari :)
15:51:28 <calamari> I'm not sure if the algorithm I've come up will work, but here it is: 1) count interactions between variables (an interaction occurs linearly, as each @ is come across, for example @A[@B+@A-] would be two interactions on AB)
15:52:12 <calamari> 2) start with a generic variable ordering (as it is now)
15:52:54 <calamari> 3) determine which way each variable would like to go. They will be "pulled" each direction by the total number of interactions they have in that direction
15:53:27 <calamari> 4) Figure out which variable if pulled the way it wants to be will reduce the << >> the most
15:53:46 <calamari> 5) repeat at 3) if the << >> count is reduced at all
15:54:33 <calamari> I'm hoping this will work even with the large arrays
15:55:33 -!- kipple has quit (Read error: 145 (Connection timed out)).
15:55:53 <calamari> since this will require a 2nd pass, I can also check to see that any GOTO's have a matching destination LABEL
15:57:18 <{^Raven^}> have just sent idea by email
15:58:25 <calamari> yeah, that's the best I could come up with too
15:59:07 <calamari> the benefit of tdoing it that way is it will work nicely with my above algorithm since the variables need no be in a certain order
15:59:07 <{^Raven^}> most ways to do it are non-trivial oin BF
15:59:41 <calamari> lets merge what we have
15:59:54 <calamari> that way you can have something that will work for your game
16:00:17 <{^Raven^}> i'll email you the changes
16:00:22 <calamari> ok
16:01:14 <calamari> I've been trying to think of ways to make the code more OO.. haven't figured it out completely yet, but I think I'm almost there
16:01:35 <calamari> I definitely want each statement to be its own class
16:03:36 <calamari> the way to do that is to have Java check out which class files are in a certain subdirectory, and load them. Each class can return certain information to plug into the compiler. Haven't figured out all the details of that yet.. easy for things like GOTO, but assign is harder since = isn't at the front
16:05:06 <{^Raven^}> i'm not sure it needs to be OO
16:05:45 <{^Raven^}> ok, update sent by email
16:05:58 <calamari> it doesn't need to be.. but it should be :)
16:06:06 <{^Raven^}> hehe :)
16:06:56 <{^Raven^}> a second pass would allow NOPs to be removed from the code, but we can do this via a temp file after compilation
16:07:37 <calamari> well, it's only a second pass of sorts.. the file isn't parsed twice, but the bf output is held from being written right away
16:09:19 <{^Raven^}> i thought about doing that, but after 2 days of Java I'm not yet sure about juggling arrays :)
16:09:59 * {^Raven^} likes to learn a language by writing/working on a fully developed project at the first attempt
16:10:16 <calamari> certain operations cause some >><< wastefulness, if they don't conform to the @VAR spec.. for example variable assign and read go off and do their own thing, but they still need to interface with the outside world, so you'll sometimes see wasted brackets around them. It uses fixed >>> to get to the known previous location so then the next @ call might cause <<<<<< and suddenly you have >>><<<<<<
16:11:18 <{^Raven^}> it's easy to remove them by looping through the code removing all instances of -+ +- <> >< [-]{-] until none were removed
16:12:30 <calamari> Raven: I tlike the idea of wrapping the output, but I think it should be off by default unless -w is specified
16:13:50 <{^Raven^}> that's easy enough to do I was thinking about making wrapwidth=0 turning off wrapping
16:13:57 <calamari> unfortunately, SYSTEM predates PESOIX
16:13:59 <calamari> :)
16:14:04 <{^Raven^}> or adding a -nowrap option
16:14:50 <calamari> you could add a PESOIX command later, though! :)
16:15:18 <{^Raven^}> END EXIT and STOP seem to be enough ways to terminate
16:15:29 <{^Raven^}> i have never seen SYSTEM used in that way before
16:15:58 <calamari> in BASICA and GWBASIC it was the only way to actually exit
16:16:25 <calamari> EXIT itself doesn't exit the program.. that's for things like EXIT FOR
16:16:43 <{^Raven^}> hmmm, I still think that END and STOP are the two ways to keep
16:16:56 <{^Raven^}> SYSTEM is usually reserved for making system calls
16:17:28 <calamari> Not in any basic I've seen so far.. even QBASIC and QuickBasic reserve SYSTEM for exiting the program
16:18:02 <calamari> so I think it should stay
16:18:07 <{^Raven^}> ok
16:18:24 <{^Raven^}> it must be a M$ thing
16:18:29 <calamari> maybe so
16:19:37 <calamari> but they have been the most successful with their basic's.. Visual Basic is still surviving, somehow
16:19:59 <{^Raven^}> BBC BASIC has been going for over 24 years
16:20:18 <{^Raven^}> and the latest version is only a month old
16:21:25 <{^Raven^}> and it is available for over 30 platforms :)
16:21:50 <calamari> apparently not BF ;)
16:22:01 <{^Raven^}> heheh
16:54:26 -!- kipple has joined.
16:57:07 -!- kipple_ has quit (zelazny.freenode.net irc.freenode.net).
16:57:15 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net).
16:57:16 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net).
16:58:15 -!- cmeme has joined.
16:58:47 -!- fizzie has joined.
20:01:59 -!- calamari has quit (Read error: 110 (Connection timed out)).
20:09:37 -!- calamari has joined.
21:09:48 -!- Keymaker has joined.
22:14:52 -!- Keymaker has left (?).
23:12:00 -!- angelic has joined.
2005-03-16
00:16:41 -!- angelic has left (?).
00:18:00 -!- calamari has quit (Read error: 60 (Operation timed out)).
02:14:20 -!- heatsink has joined.
03:34:20 -!- calamari has joined.
03:34:27 <calamari> hi
03:35:02 <calamari> raven: lostking is 645k :)
03:35:05 <{^Raven^}> hi calamari
03:35:09 <{^Raven^}> sweet :)
03:35:41 <calamari> haven't tried the optimizer, but it runs great on my plain bfi
03:36:32 <calamari> I think it's faster too, because it writes everything at once.. less disk time
03:36:55 <{^Raven^}> did you work out that possible bug?
03:37:00 <calamari> no, which bug?
03:37:07 <calamari> you were going to tell me about it then I got cut off
03:37:14 <{^Raven^}> ahh, check ur email :)
03:37:28 <{^Raven^}> might be a feature i've not noticed before
03:40:04 <calamari> that is weird
03:40:36 <{^Raven^}> if it doesn't fail due to a negative memory pointer, it leaves the pointer in the wrong place
03:40:43 <calamari> bfasm has better array code.. maybe I should just stick it in and see if it is fixed
03:41:23 <{^Raven^}> setting the array manually first works perfectly
03:47:04 <calamari> I'm going to try to make a simpler example
03:47:43 <{^Raven^}> it still should fail/go strange if you remove the imov(ctr)=1 from the for loop
03:48:49 <{^Raven^}> that really comfused me
03:49:20 <calamari> what fun: 1[-]2[e+o+*>+<2-]e[2+e-]*>[[>>]+[<<]>>-]+[>>]<[<[<<]>+1+*>[>>]<-]<[<<]>[>[>>]<+<[<<]>-]>[>>]<<[-<<]>
03:49:57 * calamari puts on his write-only hat and gets to it
03:50:42 * {^Raven^} checks and finds the same bug in 1.30 :(
03:51:23 <calamari> that's a good sign
03:51:45 <calamari> that means it's probably the bf code itself
03:52:31 <calamari> let me try that code on the new 1.40 just for the heck of it
03:52:45 -!- kipple has quit (Read error: 110 (Connection timed out)).
03:53:45 <calamari> I get no pointer errors
03:53:56 <calamari> have you tried it without the optimizing interpreter?
03:54:35 <{^Raven^}> gonna compile and test it with your bfi
03:55:21 <calamari> don't bother
03:55:30 <calamari> it broke on 1.30 for me also
03:55:45 <calamari> maybe just worked on 1.40 because the array got moved or something
03:56:19 <calamari> wow, code is half the size too.. hehe
03:57:21 <{^Raven^}> bfi (from bfasm 0.20) on both 1.30 and 1.40 generated code for error.bas gives 'Memory pointer error'
03:57:37 <{^Raven^}> aka bfi 0.10
04:03:47 <calamari> I've reduced it to: DIM ctr:DIM iloc(13):DIM imov(9):iloc(12)=1:FOR ctr=0 TO 9:imov(ctr)=0:NEXT ctr
04:15:35 <{^Raven^}> DIM ctr:DIM iloc(12):DIM imov(1):iloc(12)=1:FOR ctr=0 TO 1:imov(ctr)=0:NEXT ctr
04:16:31 <{^Raven^}> if you DIM iloc(11):iloc(11)=1 it doesn't generate an error but i'm still not sure where the pointer ends up
04:16:48 <{^Raven^}> or if you set iloc(<10)=1 the same
04:17:49 <calamari> I'm almost 100% sure it's in the array code.. trying to decipher the bfasm code
04:21:52 <{^Raven^}> in the debug output for the above code, at the end of the line immediately before {FOR ...}
04:22:04 <calamari> I thought I had these mapped out someplace on my disk.. I don't see them.. maybe my mind really is that sick to write that code in place
04:22:11 <{^Raven^}> there is an extra < at the end, removing it fixes the code
04:22:41 <calamari> not necessarily
04:22:49 <calamari> might still be off by one
04:26:29 <{^Raven^}> no, i am sure that is it
04:26:52 <{^Raven^}> DIM ctr:DIM iloc(13):DIM imov(9):iloc(12)=1:FOR ctr=0 TO 9:imov(ctr)=20+ctr:NEXT ctr:PRINT imov(0):PRINT imov(1)
04:28:23 <{^Raven^}> changing the >-<< to >-< at the end of the code immediatey before the {FOR ...} fixes it and gives the expected results of imov(0)=20 and imov(1)=21
04:28:48 <{^Raven^}> which I think proves the pointer is in the right place
04:30:08 <{^Raven^}> for bfbasic 1.30 anyways
04:31:15 <{^Raven^}> bugger, that same code works fine in 1.40
04:31:48 <{^Raven^}> gonna go to bed before my head explodes
04:31:50 <{^Raven^}> nite all
04:31:54 <calamari> cya
04:32:11 <calamari> thanks for finding the bug.. gonna keep at this bfasm code
04:32:30 <{^Raven^}> np, was fun
04:32:42 <{^Raven^}> needle in a haystack methinks :)
05:25:48 <calamari> sto has been deciphered.. cool algorithm, if I do say so myself :)
05:25:56 <calamari> now on to rcl
05:54:39 -!- Tefad has joined.
05:54:44 <Tefad> sup!
05:54:59 <Tefad> i'm writing a brainfuck interpreter for fun
05:55:16 <Tefad> and i can't get one of the tests working : \
05:55:34 <heatsink> brainfuck is way popular here.
05:55:43 <heatsink> What's the test doing?
05:55:51 <Tefad> []++++++++++[>>+>+>++++++[<<+<+++>>>-]<<<<-] "A*$";?@![#>>+<<]>[>>]<<<<[>++<[-]]>.>. supposed to return H
05:55:57 <Tefad> mine returns I : \
05:56:16 -!- Frobozz has joined.
05:56:22 <heatsink> Have you stepped through the program?
05:56:33 <Tefad> a bit
05:57:52 <heatsink> what is the "A*$"; bit, anyway?
05:58:13 <Tefad> i'm guessing to foul some goofy interpreters
05:58:23 <Tefad> @ is supposed to be ignored
05:58:38 <Tefad> (or there wouldn't be any output eh?)
05:59:34 <heatsink> so... you can just pretend those chars are not there?
05:59:55 <Tefad> yup, only the eight tokens are valid
06:00:26 <Tefad> []++++++++++[>>+>+>++++++[<<+<+++>>>-]<<<<-] [>>+<<]>[>>]<<<<[>++<[-]]>.>.
06:00:39 <Tefad> i think the first [] are to screw with some interpreters, no?
06:01:06 <heatsink> it depends on whether mem is initialized to zero.
06:01:12 <heatsink> So you didn't write this bit of code?
06:01:31 <Tefad> no.
06:01:43 <heatsink> Then you did write this bit of code.
06:01:50 <Tefad> what
06:02:21 <Frobozz> He's saying no he didn't
06:02:21 <Tefad> i hate english
06:02:21 <Tefad> not my code.
06:02:34 <Frobozz> Tefad: Learn Russian ^_^
06:02:34 <heatsink> okay.
06:02:34 * Tefad stabs Frobozz with a pink elephant.
06:02:47 * Frobozz smacks Tefad over the head with a dictionary
06:02:53 * heatsink laughs
06:04:53 <Tefad> the test is entitled "Tests for several obscure problems."
06:05:31 <Tefad> my interpreter isn't 100% yet anyway
06:05:38 <heatsink> Have you tested the operators individually?
06:05:51 <Tefad> yes
06:06:00 <Tefad> i've done constant number generation
06:06:07 <Tefad> i've done read input, spitback output
06:07:18 <Tefad> hmm
06:07:25 <Tefad> i think it doesn't like nested loops
06:07:30 <Tefad> grrrr i thought i fixed that once
06:07:49 <Tefad> i'm using a stack for those
06:08:02 <heatsink> should work.
06:10:57 <Tefad> i think i'm erring with pointer artihmetic.. bah
06:14:34 <heatsink> bye.
06:14:36 -!- heatsink has quit ("Leaving").
06:16:47 <Tefad> blargh
06:20:17 -!- Frobozz has quit ("Leaving").
06:37:25 <calamari> yes! the new array code shaved 10k off raven's game :)
07:32:35 -!- calamari has quit (Read error: 60 (Operation timed out)).
07:57:36 -!- Tefad has quit ("brb").
07:58:28 -!- Tefad has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:22:13 -!- kipple has joined.
11:40:49 -!- kipple has quit.
11:56:27 -!- kipple has joined.
16:01:18 -!- Tefad has quit (Read error: 110 (Connection timed out)).
20:34:06 -!- Keymaker has joined.
20:34:10 <arke> teh hies
20:34:13 <Keymaker> hiya
20:34:16 <arke> :)
20:34:17 <arke> Whats up/
20:34:24 <Keymaker> good good
20:34:28 <arke> 5:)
20:34:30 <arke> :)
20:34:36 <Keymaker> i'm bringing some good news before going to sleep;
20:34:48 <Keymaker> the Logical Brainfuck Competition has started!
20:34:50 <Keymaker> for more:
20:34:51 <Keymaker> http://sourceforge.net/forum/forum.php?thread_id=1249789&forum_id=201037
20:35:01 <Keymaker> everyone is welcome and good luck! :)
20:35:05 <arke> Hehe, nice.
20:35:08 <Keymaker> :)
20:36:10 <arke> Aah, erm.
20:36:15 <Keymaker> ?
20:37:09 <arke> can you give me an example of a valid expression?
20:37:20 <Keymaker> 44,55^
20:37:26 <Keymaker> XOR(44, 55)
20:37:38 <Keymaker> (followed by a new-line in this competition)
20:37:52 <arke> aah.
20:38:02 <arke> so what about 44~,55^
20:38:03 <Keymaker> read the rules-planning topic :)
20:38:04 <arke> would that work?
20:38:10 <Keymaker> no
20:38:22 <Keymaker> it will be said in the rules that that isn't valid
20:38:32 <Keymaker> that should be 44~55^
20:38:46 <arke> Oh, ~ takes the place of the comma
20:38:59 <arke> 44~55~^ is valid?
20:39:03 <Keymaker> yeah
20:39:27 <arke> Neat.
20:39:32 <Keymaker> comma can be used only and if there is a digit on both sides of the comma, for example like in "0,0"
20:39:33 <Keymaker> yeah
20:39:35 <Keymaker> :)
20:39:39 <arke> As is, say, 44~55^66&
20:39:47 <Keymaker> indeed
20:39:53 <arke> Hehe, wow.
20:40:01 <Keymaker> :)
20:40:29 <Keymaker> but anyways, i'll need to go now; be sure to read the rules topic carefully (and check the rules planning topic as well) :)
20:40:31 <arke> I need to learn how to do less-than comparisons in BF
20:40:37 <arke> Ok, will do :)
20:40:37 <Keymaker> bye
20:40:41 <Keymaker> ok
20:40:41 <{^Raven^}> nite
20:40:44 <Keymaker> nite
20:40:46 -!- Keymaker has quit.
22:30:43 -!- calamari has joined.
22:46:46 <calamari> hi
22:47:06 <{^Raven^}> hi calamari :)
22:47:17 <calamari> hi raven.. did you keep a backup copy?
22:47:24 <{^Raven^}> yup
22:47:27 <{^Raven^}> did you?
22:47:36 <calamari> ok good, I'll keep working then :)
22:47:51 <calamari> wasn't sure if the update left you broken
22:48:13 <calamari> looking into the var=# and var=var stuff
22:48:44 <calamari> var=var because right now I think it's doing t0=var1, var2=t0
22:49:07 <{^Raven^}> i think it does in several areas
22:49:28 <calamari> also not sure about how I'm doing the add-to loops
22:50:12 <calamari> if I can avoid add-to loops I'll make them an optimization level (as I've done with the variable reordering, although -O2 is default)
22:50:57 <{^Raven^}> optimising var=var ane var=# will be a major improvement
22:51:51 <{^Raven^}> did you track down that array bug?
22:52:17 <{^Raven^}> or does the new array code fix it
22:52:23 <calamari> lol, that was easy to understand... add-to loops are way broken.. does high/low hex nibbles
22:52:42 <calamari> I didn't track down the bug.. but the new array code is smaller and didn't crash
22:52:48 <{^Raven^}> sweet
22:53:17 <calamari> took about 10k off your game
22:53:42 <calamari> anyhow, afk
22:53:48 <{^Raven^}> have fun
22:53:54 <{^Raven^}> it's all looking very good
23:42:31 <arke> Aaaha!
23:42:35 <arke> I'm smart.
23:42:37 <arke> I know how I'm gonna do this
23:42:39 <arke> I'm gonna write it in Forth
23:42:43 <arke> then I'm gonna change to eliminate all return stack tricks
23:42:43 <arke> then I'm gonna change to eliminate all VARIABLEs
23:42:44 <arke> then I can translate it one-to-one
23:42:47 <arke> :)
23:42:56 <arke> And then go over it optimizing
2005-03-17
00:43:36 <calamari> arke: bf golf? :)
00:48:36 <arke> yeah
00:48:43 <arke> because I just started trying in pure BF
00:48:48 <arke> and i didnt even know where to start
00:48:49 <arke> ;)
00:49:11 <arke> And I'm pretty familiar with Forth
00:52:20 <calamari> arke: I did something similar in a previous contest.. first I wrote it in basic, using functions.. then I removed the functions and used gosub, then I removed the gosubs, just using if/goto/stack. then I saw that someone had it to something like 37 bf instructions, and I gave up :)
00:52:56 <arke> calamari: hehe. If you look at the description, though, this one will be quite large no matter how goood you are
00:53:15 <arke> calamari: because you have to implement binary operators in terms of add/subtract, and thats hell :)
00:53:33 <calamari> I'm glad for the contest.. I need binary ops for bfbasic :)
00:53:44 <calamari> err bitwise
00:54:06 <calamari> are they logical operators ?
00:54:14 <calamari> hope not.... that'd be useless
00:54:41 <calamari> or I just don't don't the right terminology :)
00:54:43 <arke> nope, I think he means binary :)
00:54:48 <arke> bitwise
00:54:49 <arke> ;)
00:55:03 <calamari> bitwise => #, ??? => true/false
00:55:04 <calamari> ?
00:55:28 <arke> bitwise = and/or/xor, boolean = true/false
00:55:58 <calamari> so yeah, I do want bitwise operators
00:56:34 <calamari> of course, there isn't the contraint of using a fixed amunt of memory that I was hoping for :)
00:57:18 <arke> I think the best bet is to use the BF pointer as a stack, in pretty much every situation
00:57:24 <arke> :D
00:58:16 <calamari> arke: well the problem is whether it is even possible to do.. I know that bf css program does a bitwise operation, but it uses as much memory as it feels like
00:58:51 <arke> calamari: well, this is pretty complex, so no matter what you do you'll be using a good amount of memory
00:59:02 <calamari> I think it was using 2 cells for each bit, or such
00:59:18 <calamari> I'm hoping for a constant memory usage, regardless of cell size
01:01:13 <calamari> arke: happen to know of an equation to find the optimal add-to loop multipliers to produce a certain number?
01:02:49 <calamari> never mind.. I think I found a pattern finally :)
01:05:59 <arke> calamari: Find the greatest number less than or equal to it that is not prime. Add that number, as a multiplication of two of its factors, and the difference :)
01:06:41 <arke> (I did 47 earlier, which was >++++++++[<++++++>-]<-
01:08:20 <calamari> so with 47 you get 46 = 2*23
01:08:49 <arke> actually, I did 48 = 6*8
01:08:59 <arke> :)
01:09:09 <calamari> you said less that or equal
01:09:29 <calamari> okay.. so 48.. = 2*24
01:09:58 <arke> 2*24 or 4*12 or 8*6 .. :)
01:10:13 <calamari> right..
01:10:37 <calamari> so how did you choose 8*6?
01:11:18 <calamari> just the sum was lowest/
01:13:20 <arke> yeah
01:13:22 <arke> :)
01:39:02 -!- Tefad has joined.
01:46:47 <{^Raven^}> nite all
01:47:02 <arke> night {^Raven^}
02:49:01 -!- calamari has quit (Read error: 110 (Connection timed out)).
02:57:33 -!- kipple has quit (Read error: 60 (Operation timed out)).
03:26:22 -!- calamari has joined.
03:33:12 <calamari> hi
03:34:38 <arke> hi
03:39:04 <calamari> ark2: 22 = 2 * 11, but 21+1 is shorter :)
03:39:46 <arke> :)
03:39:51 <arke> just depends
03:39:58 <arke> i dont think theres a definite algo
03:40:19 <arke> >+++++++[<+++>-]<+
03:40:19 <arke> :)
03:40:24 <calamari> I think there is, I just haven't been able to describe it in algebraic terms yet :)
03:40:35 <arke> :)
03:40:56 <calamari> if you graph out the optimal solutions, they follow each other diagonally
03:41:32 <calamari> for example 32-33, 34-35, and 36-38 are all diagonals (4*8, 5*7, 6*6)
03:41:46 <calamari> there are no gaps between them
03:42:17 <calamari> the problem is knowing that 3*9 isn't any good
03:43:31 <arke> 3*9 => >>+++[<+++[<+++>-]>-]<<
03:43:33 <arke> :)
03:44:20 <calamari> ;) that's longer I think
03:44:54 <arke> probably
03:44:55 <arke> :D
03:45:02 <calamari> 22 vs 7+12=19
04:04:22 <calamari> I think the smaller number should go first tho.. go around the loop less times, so it's faster :)
04:22:15 <calamari> I think I just figured it out.. was on to something with the diagonals. If the sums are displayed on a grid:
04:22:24 <calamari> 1 2 3 4 5
04:22:32 <calamari> 2 3 4 5
04:22:39 <calamari> 3 4 5
04:22:44 <calamari> 45
04:22:57 <calamari> 5
04:23:04 <calamari> oops.. oh well, you get the idea
04:23:20 <calamari> no maybe not, let me try again, lol
04:23:52 <calamari> 1 2 3 4 5
04:23:59 <calamari> 3 4 5 6
04:24:15 <calamari> 4 5 6
04:24:18 <calamari> bah
04:24:35 <calamari> anyhow, the / diagonals all have the same number
04:24:42 <calamari> (if I did it right)
04:25:11 <calamari> so that means that any combo in a diagonal LEFT of that will be more optimal
04:26:04 <calamari> the squares, 1 4 9 16 25 36 are optimal
04:28:07 <calamari> there are diagonals in between those with squares, but the square is the base
04:28:44 <calamari> anyhow, what I'm getting at is that the "formula" goes something like:
04:29:18 <calamari> 1) take the square root of the number and round down, this is the startinng point
04:30:12 <calamari> 2) if this isn't the answer, start at the top of the next diagonal to the right.
04:31:49 <calamari> 3) go down the diagonal until a number larger than the one we're looking for is found (down the diagonal means left and down)
04:33:07 <calamari> if not found, travel down the next diagonal.. the larger number WILL be found (I think it's possible to know to go to the second column right away, but I haven't figured out for sure)
04:33:32 <arke> Hehe
04:33:35 <calamari> I should say greater or equal to
04:33:36 <arke> I'd rather just do it by hand
04:33:36 <arke> :)
04:33:40 <arke> But, nice work
04:33:51 <calamari> either the greater number will be the answer, or the previous on the diagonal
04:33:52 <arke> maybe if you get it to like a single function that would be awesome
04:34:05 <calamari> yeah, that's the idea :)
04:34:54 <calamari> it will only work for the simple loop, none of that nested fun you were doing :)
04:36:19 <calamari> the "in-between" diagonal is int(sqrt(#))*(1 + int(sqrt(#)))
04:37:45 <calamari> the question is whether that is optimal.. I'm 99% sure it is
04:37:52 -!- Frobozz has joined.
04:38:43 <calamari> so that way you only have to check a single diagonal
04:39:38 <calamari> it's probably best to work upwards rather than downwards, though.. the numbers at the top are almost certainly not optimal
04:40:03 <calamari> anyhow.. I think I have enough to code it.. afk :)
04:40:21 <arke> :)
07:24:12 -!- Frobozz has quit ("Leaving").
07:45:43 -!- calamari has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:19:22 -!- calamari has joined.
09:19:29 <calamari> hi
09:39:57 <calamari> bye
09:39:59 -!- calamari has quit ("Leaving").
10:51:34 -!- kipple has joined.
13:06:42 -!- FreeNSK has joined.
13:08:29 <{^Raven^}> this sucks....
13:08:50 <{^Raven^}> i can do the bitwise operations but not the reverse polish input thingy
13:09:17 <FreeNSK> lol the topic url is funny
13:23:45 -!- FreeNSK has changed nick to FreeNSK-away.
13:59:58 -!- FreeNSK-away has changed nick to FreeNSK.
14:30:18 <{^Raven^}> i hate it when perfectly correct code doesn't work
14:30:25 <{^Raven^}> the universe needs rebooting again
14:52:16 -!- Keymaker has joined.
14:52:20 <Keymaker> yo
14:52:27 <{^Raven^}> hi there
14:52:32 <Keymaker> hi
14:52:44 <Keymaker> i see you're going to enter the competition as well.. good luck! :)
14:52:56 <Keymaker> i should start my entry soon. i wish i had more time
14:53:05 <{^Raven^}> i can do the logic but not the input processing :(
14:53:13 <Keymaker> i see
14:53:34 <Keymaker> remember that this takes a lot space; i have a feeling my code will be at least 1000+
14:53:38 <Keymaker> :)
14:54:41 <{^Raven^}> not got it all in BF yet but the algrithm is sound
14:55:03 <Keymaker> sound? i can't understand!
14:55:28 <{^Raven^}> ahh, means algorithm is perfect (for BF)
14:55:56 <Keymaker> i see
14:55:59 <Keymaker> :)
14:56:47 <Keymaker> by the way, were you in the previous competition (BFCC #1?)
14:57:04 <Keymaker> and to not everyone, this is NOT part of BF Golf
14:57:12 <Keymaker> *to note
14:59:45 <{^Raven^}> no, i'm not intending to enter really but it seemed an interesting challenge to work out a BF algorithm
14:59:54 <{^Raven^}> for bitwise operations
15:00:08 <Keymaker> ok
15:00:12 <Keymaker> but why not enter!?!
15:00:32 <Keymaker> i'm the lamest bf coder ever and i still will enter..
15:02:10 <{^Raven^}> hmmm, good point
15:02:30 <{^Raven^}> about entering...not ur BF coding
15:03:11 <Keymaker> hehe :)
15:08:01 <Keymaker> must go another channel! quick!
15:08:03 -!- Keymaker has quit.
15:11:27 -!- FreeNSK has changed nick to FreeNSK-away.
15:21:44 -!- FreeNSK-away has quit ("http://portal.wikinerds.org").
15:29:14 -!- kipple has quit.
16:46:45 -!- Keymaker has joined.
16:46:55 <Keymaker> hmm
17:39:19 -!- Keymaker has left (?).
18:02:42 -!- calamari has joined.
18:02:50 <calamari> hi
18:03:00 <{^Raven^}> hi there
19:11:39 -!- Keymaker has joined.
19:11:43 -!- Keymaker has left (?).
19:12:22 -!- Keymaker has joined.
19:12:35 <Keymaker> yo
19:22:17 <{^Raven^}> hi
19:23:12 <Keymaker> hiya
19:23:33 <Keymaker> btw, do you ever sleep? you seem to be here no matter when i check the place. :p
19:24:15 <{^Raven^}> i sleep, but I have a different timezone every day
19:24:27 <Keymaker> :)
19:25:19 <{^Raven^}> gotta go make an auto program loading BF interpreter for dumb windowz ppl to use
19:25:30 <Keymaker> hmm
19:25:34 <{^Raven^}> who wouldn;t know a command line if ....well you can imagine
19:25:40 <Keymaker> heh
19:26:42 <{^Raven^}> i just hope they can live with a dos box, i don't fancy putting it in a fancy window
19:26:51 <Keymaker> what? there are bf interpreters for computers now?! i've always used paper and pen!
19:27:06 <Keymaker> yeah, that should be fine
19:27:26 <Keymaker> windows is missing a good console system
19:27:59 <{^Raven^}> definately, since they removed most of the DOS functionality it's next to useless
19:28:10 <calamari> that's why I went to linux
19:28:16 <Keymaker> :)
19:28:21 <calamari> win98 is fine, but xp is crap
19:28:29 <{^Raven^}> I have 5 logins on 3 different OSs atm
19:28:35 <Keymaker> hehe
19:28:48 <{^Raven^}> RISC OS, Linux and Windows and I develop software for all of em
19:29:10 <{^Raven^}> :(
19:29:11 <calamari> which is your favorite, risc?
19:29:22 <{^Raven^}> umm, depends what for
19:29:29 <Keymaker> (i use linux (and xp) although i don't really need much more than ability to print out a character or get input)
19:29:43 <Keymaker> what is risc?
19:30:01 <calamari> Keymaker: some funky UK os
19:30:05 <{^Raven^}> Reduced Instruction Set Computer
19:30:06 <calamari> written in asm
19:30:10 <Keymaker> hmmm
19:30:16 <{^Raven^}> it is a technichal term for a type of processor
19:30:27 <Keymaker> hmm
19:30:32 <calamari> screenshots make it look a little like win3.1
19:30:38 <Keymaker> :)
19:30:55 <Keymaker> could be nice
19:31:00 <{^Raven^}> CISC (complex instruction set computer) processors have millions and millions of machine language instructions
19:31:08 <Keymaker> aaargh
19:31:14 <calamari> not millions :)
19:31:27 <{^Raven^}> RISC processors have a small core highly useful instructions
19:31:35 <Keymaker> million = more than 8 :)
19:31:50 <calamari> thanks for the translattion ;)
19:32:16 <Keymaker> :)
19:32:25 <calamari> of course there is OISC
19:32:27 <{^Raven^}> x86 is an example of CISC, whereas ARM only has 20 instructions and you need less than 12 for most programs
19:32:36 <calamari> haven't played with that any
19:33:23 <Keymaker> hey.. iirc was there something that had only three instructions or something? the name sounded like something OISC or something.. can't remember, read in wikipedia..
19:33:35 <calamari> oisc only has one
19:33:41 <Keymaker> wooh
19:33:46 <Keymaker> how does it work?!
19:33:53 <calamari> google: oisc ;)
19:34:00 <Keymaker> what's google?
19:34:04 <calamari> lol
19:34:17 <Keymaker> found it! "Office of the Immigration Services Commissioner OISC."
19:34:46 <calamari> http://en.wikipedia.org/wiki/OISC
19:34:52 <Keymaker> ah
19:34:59 <Keymaker> this is the oisc i've read about
19:35:05 <Keymaker> although didn't understand :\
19:35:32 <Keymaker> all i'm wondering is how to make it esoteric programming language ;)
19:35:51 <lament> eh
19:35:57 <lament> it already is an esoteric programming language
19:36:16 <{^Raven^}> source code is available from the main page
19:36:38 <Keymaker> hm.. main page?
19:36:50 <Keymaker> that sounds nice
19:38:15 <calamari> wonder how much it'd be to translate bf -> oisc
19:38:23 <Keymaker> :)
19:38:41 <calamari> theres a project for you, Keymaker .. hehe
19:38:46 <Keymaker> :)
19:38:56 <{^Raven^}> site has link rot :(
19:39:03 <Keymaker> sorry, i'm not much into that kind of projects
19:39:29 <Keymaker> :)
19:40:30 <calamari> afk.. my code needs pest control
19:41:08 <lament> ESR is the OISC maintainer
19:41:11 <lament> of all people
19:41:38 <{^Raven^}> afk, but it still sucks writing a BF 'terp that only runs one program just cos of windows ppl
19:43:13 <Keymaker> can anyone get this file opened?
19:43:14 <Keymaker> http://catb.org/~esr/retro/oisc.shar.gz
19:43:21 <Keymaker> it complains something to me
19:45:46 <{^Raven^}> works fine here...if you can unpack the .shar file, load it into a text editor and read the info
19:46:13 <Keymaker> hmmm, probably i can't, i suck using all those tools
19:50:17 <lament> i think OISC is an older version of OIC
19:50:20 <lament> and OIC is what you should actually download
19:50:57 <lament> yep yep.
19:51:09 <lament> http://www.catb.org/~esr/retro/oic.tgz
19:51:11 <lament> get that instead.
19:51:13 -!- calamari has set topic: Logical Brain**** Competition, http://sourceforge.net/forum/forum.php?thread_id=1244436&forum_id=201037.
19:51:37 <Keymaker> cheers calamari, that's friendly :)
19:51:58 <Keymaker> lament: ok
19:52:22 <lament> calamari: do you want control over the brainfuck golf page?
19:52:25 <lament> i.e. brainfuck.sf.net
19:52:35 <Keymaker> i could :D
19:52:37 <lament> i'm the owner
19:52:41 <Keymaker> wow
19:52:44 <Keymaker> never knew that
19:52:53 <lament> but i haven't done anything in years :)
19:52:59 <calamari> lament: sure, but I may never use it, is that okay?.. :)
19:53:04 <Keymaker> :=
19:53:18 <lament> you could at least update it with the results of current competitions :)
19:53:27 <lament> i have a whole automatic submittal/judging system there
19:53:33 <lament> but it's a bit of a mess
19:53:44 <calamari> cool.. I haven't been keeping up with the bf golf stuff
19:53:58 <Keymaker> actually, that competition isn't a bf golf, i'm just borrowing your forums :)
19:54:17 <lament> well who cares
19:54:22 <lament> brainfuck golf is dead
19:54:34 <lament> the project is simply called 'brainfuck' so you could put anything there
19:54:40 <Keymaker> wow
19:54:52 <lament> i'm not sure why they allowed me to name the project that :)
19:54:54 <Keymaker> that would be neat
19:54:57 <Keymaker> :)
19:55:20 <Keymaker> if calamari don't want it i could take it :)
19:55:47 <lament> Keymaker: do you have a SF account?
19:55:52 <Keymaker> nope
19:55:55 <lament> get one
19:55:58 <Keymaker> ok
19:58:12 <{^Raven^}> does anyone here have MacOS X and would be willing/able to compile a BF interpreter (in C) for me?
19:58:20 <lament> I can try
19:58:52 <calamari> :( only os9 here
19:59:06 <lament> i have os x :))
19:59:10 <lament> it's cute
19:59:34 <{^Raven^}> thx. an OS 9 one would be cool too, have no Macs here and I'd like to make an interpreter available on my site
20:00:05 <calamari> it might be cool, but I don't even know what to do with that crazy mac c compiler
20:00:13 <calamari> weird stuff
20:00:45 <{^Raven^}> source archive is at http://jonripley.com/volatile/bftools.zip
20:00:55 <calamari> I'm not sure that os9 has any concept of a command line app
20:01:02 <{^Raven^}> no probs
20:01:57 <calamari> raven: really weird.. those temp vars ARE being dimmed, and rearranged, but it apparently isn't finding the best arrangement
20:02:26 <calamari> I'm noticing some weird shadowing of array vars, could be throwing things off
20:02:33 <{^Raven^}> that is weird
20:04:00 <lament> make fails
20:04:05 <lament> in a very silly way:
20:04:10 <lament> strip --strip-all bf
20:04:11 <lament> strip: unrecognized option: --strip-all
20:04:43 <lament> other than that, the interpreter seems to work fine
20:04:49 <lament> (why wouldn't it?)
20:05:12 <{^Raven^}> sweet, it is Erik Bosman's optimising interpreter
20:05:16 <Keymaker> lament: i'm "bf_keymaker" now in sourceforge.
20:06:45 <lament> ok, i made you an admin
20:06:50 <Keymaker> wow!
20:06:52 <Keymaker> thanks :)
20:07:05 <lament> {^Raven^}: welcome ;)
20:08:34 <Keymaker> :)
20:10:24 <Keymaker> but, now i must go. bye
20:10:34 -!- Keymaker has left (?).
20:12:15 <calamari> cool.. he'll do a lot better at maintaining things than I would :)
20:12:59 <lament> I could make you an admin as well :)
20:14:21 <calamari> sure, if you'd like to: killerkalamari
20:15:05 <calamari> raven: now I can add you as a developer and we can have bfbasic cvs
20:15:17 <lament> ok added
20:15:19 <{^Raven^}> ooh,
20:15:29 <{^Raven^}> do i need to join SF?
20:15:37 <calamari> lament: thanks
20:15:39 <calamari> yeah
20:19:54 <{^Raven^}> lament: have registered a new account, just have to wait to complete the registration
20:21:50 <calamari> raven: i'll add you as a developer rather than an op
20:22:27 <calamari> I should just be a developer too, but it's cool :)
20:23:06 <lament> hehe
20:23:18 <lament> just don't start a war there or anything
20:24:49 <{^Raven^}> np
20:25:03 <{^Raven^}> ok, i'm in username is ravenswolf_
20:26:38 <{^Raven^}> what do i need to do now?
20:32:28 -!- cpressey has quit (Read error: 104 (Connection reset by peer)).
20:33:01 -!- cpressey has joined.
20:39:03 <calamari> Raven: I've added you
20:40:54 <calamari> do you know how to use cvs?
20:41:16 <{^Raven^}> no
20:42:41 <calamari> it's a little complicated
20:47:14 <{^Raven^}> i'll work it out
20:47:35 <calamari> I can help you.. I just need to set up a couple things with the repository
20:52:31 <calamari> ok
20:52:50 <calamari> I assume you use bash
20:53:00 <calamari> add these to your .bashrc
20:53:03 <calamari> export CVS_RSH=ssh
20:53:55 <calamari> export CVSROOT=:ext:ravenswolf_@cvs.sourceforge.net:/cvsroot/brainfuck
20:54:19 <calamari> then do "cvs checkout bfbasic"
20:54:28 <calamari> tell me how that goes
20:56:41 <{^Raven^}> yup
20:57:17 <calamari> should get one file
20:57:29 <{^Raven^}> bfbasic.sh :D
20:57:32 <calamari> yeah
20:57:41 <calamari> I didn't put anything else on yet
20:58:25 <calamari> one thing to know about cvs is that once something is put on, it can be removed, but it will still be there, in a deleted fashion
20:58:41 <calamari> so don't put things on unless you're sure where it goes :)
20:58:51 <{^Raven^}> :)
20:59:04 <calamari> to add something to the repository, you first tell it cvs add (filename)
20:59:20 <calamari> this is how you add directories too
20:59:23 * {^Raven^} is listening but has to pop out for a few mins...
20:59:33 <calamari> okay
20:59:57 <calamari> I'll keep going, come back and read the history or whatever :)
21:00:27 <calamari> to actually put a file on the repository after the add, you do: cvs commit filename
21:00:54 <calamari> it will ask for a log file entry.. put something like "initial version"
21:01:16 <calamari> to remove a file it's: cvs remove file, then: cvs commit file
21:01:49 <calamari> what about existing files? to update your file to the latest, do cvs update filename. Always a good idea
21:02:08 <calamari> you can also leave off the filename and it will update recursively: cvs update
21:03:06 <calamari> if the update gives a "U" or "M", you're good to go, do a: cvs commit filename to commit your changes. add an appropriate log entry explaining the changes
21:03:15 <calamari> if you get "C", then there was a conflict
21:04:21 <calamari> check the file and you'll see a lines such as <<<<<, code, ||||||, code, >>>> this shows the conflicting lines. one side will be what you had, the other will be what was already there
21:05:41 <calamari> usually, they will need to be combined "somehow" to resolve the conflict. "somehow" isn't always obvious, but looking at both pieces usually gives a good idea about what should stay and what shouldn't
21:05:56 <calamari> then remove the << || >> and re-update
21:06:01 <calamari> then commit
21:06:35 <calamari> other useful commands: cvs diff filename (to see the differences between your file and the repos).. good for remembering what you changed for the log comment
21:06:44 <calamari> cvs log filename (see the log entries)
21:07:28 <calamari> cvs update doesn't give you new files.. use cvs checkout for that.. it won't mess up existing files
21:07:41 <calamari> that's about it from off the top of my head
21:25:46 <{^Raven^}> cheers, i'll save that in a file somewhere
21:27:19 <{^Raven^}> s0urcef0rgedude
21:27:22 <{^Raven^}> oops
21:29:37 <{^Raven^}> changed that one, must remember who has the caret
21:49:04 <arke> teh hies
21:53:17 -!- calamari_ has joined.
21:58:19 -!- calamari has quit (Read error: 110 (Connection timed out)).
22:24:05 -!- calamari_ has changed nick to calamari.
22:38:50 <{^Raven^}> hi
22:39:02 <{^Raven^}> calamari: how goes?
22:50:21 <calamari> raven: testing out the new variable optimizer now
22:50:26 <calamari> takes forever :(
22:50:41 <{^Raven^}> aww
22:53:05 <calamari> been running about 5 minutes now, I have it printing updates as it finds a better combo
22:54:10 <{^Raven^}> is it looking any better atm?
22:54:31 <calamari> I'll know when it's done.. the T's should be close to the front
23:01:27 <calamari> started at 625774 arrows, currently at 340884
23:01:45 <calamari> definitely down to the spare change now
23:07:08 <calamari> lol, still going 339772
23:07:54 <{^Raven^}> eep
23:08:15 <calamari> it's almost had it.. improvements are 10 or less now
23:09:12 <{^Raven^}> are the temps being declared for the -O1 improvement or will it just be for -O2 or above?
23:09:46 <calamari> I'm going to let this finish, because I'm pretty sure it will give me the rock bottom answer
23:09:57 <calamari> then I can experiment with ways of speeding it up
23:11:00 <calamari> it's basically a bubble sort right now, where you swap the two items that improve things the most
23:11:24 <calamari> so for all that searching, only one change takes place
23:12:12 <calamari> still hanging on, down to 4-5
23:15:27 <calamari> whoa, that was a big drop.. might be a while yet
23:15:41 <{^Raven^}> what happened?
23:15:57 <calamari> it was piddling along 2 at a time, then dropped about 75
23:16:28 <calamari> just happened to move the right thing I guess :)
23:17:14 <calamari> dropping by 12's now.. blah
23:21:42 <calamari> yep, t0 t1, are right at the start
23:21:47 <calamari> t2 is a little farther down
23:21:59 <{^Raven^}> are cmd and room very close to the start?
23:22:13 <calamari> {_Q=0, _G=1, _T=2, _0=3, _1=4, _2=5, _3=6, _4=7, _5=8, _6=9, _T0=10, _T1=11, COMPASS=12, NOUN=13, ERR=14, ROOM=15, _T2=16, SCORE=17, EXITN=18, OBJSHELD=19, YORN=20, TEMP=21, WOF=22, CTR=23, LAMP=24, OLDCMD=25, QUIT=26, URN=27, WIN=28, PCAT=29, EXITE=30, EXITW=31, MAGE=32, PCOMPASS=33, PPRAY=34, MAXSCORE=35, LIGHT=36, EXITS=37, CMD=38, ROOMTMP=39, ADDSCORE=40, _L1=41, ~ILOC=42, _L3=75, _L4=76, _L5=
23:22:42 <calamari> 512080 bytes total
23:22:51 <{^Raven^}> try this...
23:22:59 <calamari> trying it wit the older algorithm for comparison
23:23:08 <{^Raven^}> count the number of times that the variable occurs in the procram
23:23:11 <{^Raven^}> *program
23:23:27 <{^Raven^}> pre-sort the list in descending order of occurences
23:23:58 <{^Raven^}> so most common vars come first in the list
23:24:31 <{^Raven^}> that might drop the time taken to do the rest of the sort
23:25:26 <{^Raven^}> with a few exceptions the final output has a high correlation
23:25:33 <calamari> uhoh.. might be a bug
23:25:45 <{^Raven^}> ?
23:25:55 <calamari> took the matches and it froze
23:30:07 <calamari> bah, something is wrong with it
23:39:10 <calamari> hopefully that's fixed.. trying it again with a few speed changes
23:40:04 <calamari> {_Q=0, _G=1, _T=2, _0=3, _1=4, _2=5, _3=6, _4=7, _5=8, _6=9, _T0=10, _T1=11, COMPASS=12, NOUN=13, ERR=14, ROOM=15, _T2=16, YORN=17, LAMP=18, OBJSHELD=19, SCORE=20, TEMP=21, WOF=22, CTR=23, MAGE=24, QUIT=25, URN=26, WIN=27, _L3=28, OLDCMD=29, EXITN=30, EXITW=31, MAXSCORE=32, PCAT=33, PPRAY=34, PCOMPASS=35, LIGHT=36, EXITE=37, CMD=38, ROOMTMP=39, ADDSCORE=40, _L4=41, EXITS=42, ~ILOC=43, _L5=76, _L6=
23:40:46 <calamari> argh.. still freezing up
23:58:26 -!- calamari_ has joined.
2005-03-18
00:02:49 <calamari_> this is a pesky bug to track down
00:07:23 <{^Raven^}> is the order of the system variables QGI01234etc significant?
00:10:25 -!- calamari has quit (Read error: 110 (Connection timed out)).
00:11:17 <calamari_> I'm not sure anymore
00:11:29 <calamari_> I know they need to stay together
00:12:06 <{^Raven^}> maybe you could exclude the system variables from the sort
00:12:14 <calamari_> I do
00:12:40 <{^Raven^}> hmmm...
00:14:07 <calamari_> the problem is that there are two different indexes I'm dealing with when rearranging things, and I probably messed it up somewhere
00:14:51 <calamari_> the first array "order", gives the original index numbers in the order they are currently in
00:15:42 <calamari_> the other "index", gives which index place in "order" that a particular original index is at
00:16:28 <calamari_> I need to keep track of the original indexes so that I can test against the interaction list, which uses the original index numbers
00:17:27 <calamari_> there is also a "start" list that gives the start positions for each variable
00:17:35 <calamari_> sanyhow, afk
00:17:40 <{^Raven^}> have fun
00:17:48 <{^Raven^}> i gotta go to bed anyhow#
00:17:59 <{^Raven^}> ...must have breakfast sometime
00:18:04 <{^Raven^}> nite all
00:21:55 <calamari_> cya raven
00:28:38 -!- calamari_ has quit ("Leaving").
06:10:29 -!- calamari has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:18 -!- clog has joined.
08:48:18 -!- clog has joined.
11:24:36 -!- bNk6i6l3lBeZrT7 has joined.
11:41:11 -!- bNk6i6l3lBeZrT72 has joined.
11:41:11 -!- bNk6i6l3lBeZrT7 has quit (Read error: 54 (Connection reset by peer)).
11:41:15 <bNk6i6l3lBeZrT72> Wow! This BF Golf sounds great!
11:50:02 -!- bNk6i6l3lBeZrT72 has left (?).
13:18:04 -!- Keymaker has joined.
13:18:21 <Keymaker> bNk6i6l3lBeZrT72: it is not bf golf!
13:18:31 <Keymaker> (yes, i never get tired repeating it..)
13:19:54 <Keymaker> but either the way, see you there :)
13:25:04 <Keymaker> f... this is day is annoying.. X{}
13:25:08 <Keymaker> bye
13:25:09 -!- Keymaker has quit.
17:59:30 -!- calamari has joined.
18:00:17 <calamari> hello
19:03:04 <{^Raven^}> hi there
19:09:27 <calamari> raven: it turns out that the -O3 changes were causing the freezing problem, not the variable optimization
19:23:12 <calamari> raven: can you think of a way to extract digits from a number in forward order?
19:24:04 <calamari> print var is broken for numbers like 255, because it's actually 65535, or whatever the size that the cell is on these bigger interps
19:24:56 <{^Raven^}> i'll have a think
19:25:14 <{^Raven^}> is this the print decimal value of cell in BF?
19:25:30 <calamari> yeah
19:25:46 <calamari> right now it extreacts the digits in reverse, hardcoded for a max of 3 digits
19:26:07 <calamari> that was fine because I expected the code to be run on an 8-bit cell interp
19:28:33 <calamari> hmm, may have something
19:28:54 <{^Raven^}> difficult without a stack
19:28:55 <calamari> 65535/10=6553/10=655/10=65/10=6/10=0 .. divided 5 times
19:29:25 <{^Raven^}> that's easy enouugh
19:29:48 <calamari> so I start with 1 and multiply back 4 times.. 10*10*10*10=10000
19:30:03 <calamari> now I can extract the leftmost digit
19:39:10 <{^Raven^}> you could do it with DIV and MOD but I can't work out the BF for it
19:40:25 <calamari> div and mod provide a backwards answer
19:40:54 <calamari> that's essentially how it is done now
19:41:56 <{^Raven^}> 123456 DIV 100000 = 1
19:42:15 <calamari> oic
19:42:18 <{^Raven^}> if num - divisor > 0 num -= divisor
19:42:28 <{^Raven^}> divisor /= 10
19:42:38 <{^Raven^}> 23456 DIV 10000 = 2
19:42:45 <{^Raven^}> etc
19:43:10 <calamari> it could really be written in bfbasic code, couldn't it? :)
19:43:18 <calamari> maybe that's the best way
19:43:37 <calamari> since it's so complicated
19:44:40 <{^Raven^}> diong ot backwards only needs a max of 10 cells for 32-bit
19:45:03 <{^Raven^}> but mem use is dependant on cell width :(
19:45:19 <{^Raven^}> aka 10 digits
19:45:23 <calamari> Doing it in forward order prevents any assumptions
19:45:42 <{^Raven^}> just awkward :(
19:45:59 <fizzie> My "print out brainf*ck cell as decimal" is basically a "+1 to a variable-length BCD number" started with "0" and called the amount of times the cell specifies. It's.. "not very fast".
19:47:00 <fizzie> (~220 characters of code.)
19:49:22 <fizzie> Used that a ~year ago when writing some answers to our "introduction to imperative programming (in C)" course homework in BF.
19:50:12 <calamari> doesn't look like it liked M=0-1, M=M/10
19:52:26 <calamari> wow, that divide routine is complicated
19:57:06 <calamari> hmm.. is there an ansi sequence that will push a line to the right?
19:57:39 <calamari> then I could extract in reverse and display as I go
20:03:47 <{^Raven^}> if you could determine how many digits you needed to output you could use LOCATE to set the cursor to the right place
20:04:16 <calamari> raven: ceil(log(x)/log(10)).. but I'm not sure how to do that with bf :)
20:04:22 <{^Raven^}> but you would need to be careful if you printed a 2 digit number starting at the rightmost column
20:04:54 <calamari> you don't need locate.. can just print spaces then use backspace
20:06:53 <{^Raven^}> same difference really depends how moving left from col 0 is implemented
20:07:05 <{^Raven^}> for worst case scenario
20:08:15 <calamari> oic
20:09:05 <calamari> the easy way out is to have the user tell us the cell size
20:09:08 <{^Raven^}> n = 12345 : digits = 0 : WHILE n : n /= 10 : digits++ : ENDWHILE
20:09:19 <{^Raven^}> gives num of digits to print
20:10:32 <{^Raven^}> ^^^ integer math
20:10:47 <calamari> yeah that works.. divide is still freezing up :(
20:10:57 <calamari> either that or its just really slow
20:11:15 <calamari> just slow
20:11:26 <calamari> finally finished
20:12:04 <calamari> wonder if there's a fast hack for dividing by 10
20:13:23 <{^Raven^}> i only have the standard BF libarary code for DIV 10 here
20:13:25 <calamari> heh, it's fine for #'s <256
20:13:47 <calamari> if they want to print big numbers then the user will need to wait or use a better interp :)
20:23:03 <calamari> cool, that works, just a little slow
20:23:29 <calamari> well, a lot slow actually.. need to try compiling the optimizing interp you sent me
20:24:29 <{^Raven^}> which OSs are you using?
20:24:38 <calamari> linux
20:25:16 <{^Raven^}> ahh, if i sent you the full bftools release just type make :)
20:38:31 <arke> teh hies
20:38:44 <{^Raven^}> hullo arke
20:41:34 <arke> :)
20:41:35 <arke> hows life?
20:41:56 <{^Raven^}> fun as usual. :)
20:42:05 <arke> Cool :)
20:54:43 <{^Raven^}> creative writing ability is inversely proportional to the amount of programming completed
20:54:51 <{^Raven^}> grrr....
20:58:08 <arke> :P
22:07:53 -!- calamari has quit (Read error: 60 (Operation timed out)).
23:01:43 -!- {^Raven^} has quit ("Leaving").
2005-03-19
00:10:57 -!- {^Raven^} has joined.
06:00:54 -!- calamari has joined.
06:01:02 <calamari> hi
06:27:16 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
13:59:44 -!- acrim has joined.
15:15:52 -!- acrim has left (?).
16:04:10 -!- Keymaker has joined.
16:04:57 <Keymaker> hey
16:43:48 <Keymaker> bye
16:43:50 -!- Keymaker has left (?).
21:05:25 -!- Keymaker has joined.
21:08:24 <Keymaker> yo
22:18:15 <{^Raven^}> hi
22:23:14 <Keymaker> hi
22:43:31 <Keymaker> ah, this one piece of code seems to work
22:43:48 <{^Raven^}> i'm still debugging mine
22:43:54 <Keymaker> (finally i have time to work on lbfc entry a bit)
22:44:07 <Keymaker> i have done almost zero code for that :)
22:44:12 <Keymaker> way too busy
22:45:28 <{^Raven^}> even workarounds for the bug don't work :(
22:45:38 <Keymaker> :(
22:46:19 <{^Raven^}> the exact same code works elsewhere :((
22:46:26 <Keymaker> hmmm
22:46:41 <Keymaker> is there something wrong in implementation?
22:47:04 <{^Raven^}> it's not that simple
22:47:09 <Keymaker> ok
22:48:59 <{^Raven^}> time to get real low-level
22:49:05 <Keymaker> hehe
22:49:39 <Keymaker> time to open the pc case and take out the microscope :)
22:49:59 <{^Raven^}> there is a problem with the universe i need to work out and code around
22:50:08 <Keymaker> yeah
22:54:43 <Keymaker> aaaaargh underflow!!!!
22:55:15 <{^Raven^}> rewriting a big part of the code to see if that helps
22:55:39 <Keymaker> ok
23:07:06 <{^Raven^}> Aargh! -ve pointer
23:07:26 <Keymaker> ?
23:07:40 <{^Raven^}> negative BF pointer
23:07:47 <Keymaker> ah
23:07:59 <{^Raven^}> -ve = negative / +ve = positive
23:08:04 <Keymaker> yeah yeah
23:08:10 <Tefad> boo.
23:08:14 <Keymaker> hi
23:08:16 <{^Raven^}> aagrh!
23:08:17 <Tefad> neg. pos.
23:08:17 <{^Raven^}> hi
23:11:50 <Keymaker> ..and i had just one '<' too more..
23:11:59 <Keymaker> don't you just hate that kind of thing? :)
23:12:02 <{^Raven^}> yup
23:12:21 <{^Raven^}> i have two cells overlapping in 2 parts of the program
23:12:28 <{^Raven^}> everything else works fine
23:12:34 <Keymaker> ok
23:12:59 <{^Raven^}> trying a dummy cell in the right place now
23:13:35 <{^Raven^}> i give up
23:13:39 <Keymaker> :\
23:26:22 <{^Raven^}> Yay!
23:26:30 <{^Raven^}> It works! Finally!
23:26:35 <Keymaker> congrats
23:26:50 <{^Raven^}> Horrible kludge number 47 fixed it!
23:26:56 <Keymaker> :)
23:27:15 <{^Raven^}> i'm letting it corrupt where it has cells overlapping
23:27:33 <{^Raven^}> i inserted 10 dummy cells that i don't care about
23:27:41 <{^Raven^}> time to remove the other 46 kludges
23:29:01 <{^Raven^}> phew.
23:29:23 <Keymaker> that's why it's called brainfuck ;)
23:29:59 <{^Raven^}> an example of genetic programming...make random mutations to the program until it works
23:30:12 <Keymaker> hehe
23:30:42 <{^Raven^}> i will finish this one day
23:36:45 <Keymaker> now i got my piece of code workin'
23:37:08 <{^Raven^}> i thought my code had had it
23:37:12 <{^Raven^}> congrats
23:37:18 <Keymaker> :)
2005-03-20
00:06:28 <Keymaker> well, probably time to go.
00:06:34 <Keymaker> bye
00:06:36 <{^Raven^}> bye
00:06:38 -!- Keymaker has left (?).
00:07:05 <arke> hi
00:07:10 <arke> damn, i missed keymaker
00:07:11 <arke> :D
00:07:13 <{^Raven^}> hi
00:07:18 <{^Raven^}> by about 3 secomds
00:10:43 <arke> yeah :(
05:15:11 -!- calamari has joined.
05:17:17 <calamari> hi
05:33:38 <{^Raven^}> hi
05:35:35 <calamari> hi raven, whatcha doing up so late?
05:35:57 <{^Raven^}> was trying to sleep
05:36:26 <calamari> do you have irc wake you up or something?
05:37:20 <{^Raven^}> nah, PC is too far away
05:37:23 <calamari> hey.. since you're here, spring break is over
05:37:40 <calamari> so I'll post what I have on cvs and leave things in your capable hands
05:38:02 <{^Raven^}> cool, i'll look forward to it
05:38:08 <calamari> might do a bit more tomorrow, no telling though
05:38:12 <calamari> 'k
05:38:31 <{^Raven^}> have you managed to track down the bugs in the array handling?
05:38:47 <calamari> new bugs?
05:39:06 <calamari> I completely replaced the old array handling code
05:39:10 <{^Raven^}> the ones in the code I sent to you to demonstrate a couple
05:39:40 <calamari> have I sent you the new bfasm array code?
05:39:46 <{^Raven^}> no
05:39:56 <calamari> oic
05:40:06 <{^Raven^}> i have bfbasic 1.40beta3 i think
05:40:06 <calamari> there is some kind of problem with -O3 btw
05:40:19 <calamari> it was what was crashing me the other day
05:40:35 <calamari> so don't use that for the time being :)
05:40:58 <calamari> I have some half-bf/half-basic code written up for the new print statement
05:41:15 <calamari> didn't ever do the return statement :|
05:41:34 <{^Raven^}> hehe, what happens if you do?
05:41:57 <calamari> ? just haven't implemented it yet
05:42:11 <{^Raven^}> i was thinking of ways to emulate functions and procedures using a form of GOSUB
05:43:05 <{^Raven^}> passing parameters and returning values looks quite simple
05:44:08 <{^Raven^}> if i can add multiple source file handling it would open up function libraries
05:44:57 <calamari> I think the next thing to do is string support
05:45:03 <calamari> that's what is really lacking
05:45:22 <calamari> but wherever you take it is fine :)
05:46:48 <{^Raven^}> i wonder how many people might get involved in the SF side
05:47:19 <calamari> no one can just jump in.. would have to add them as a developer
05:47:29 <calamari> or they could fork it, since it's gpl
05:49:07 <calamari> you're really the only one who has shown more than passing interest
05:49:39 <{^Raven^}> i can;t imagine why that would be
05:50:08 <calamari> because it's basic and not c, is my guess :)
05:50:50 <{^Raven^}> basic is underrated these days IMHO
05:51:50 <calamari> yeah, however I can see the point a little.. other languages just seem to be more suited to larger projects
05:52:22 <{^Raven^}> how is your bfcc coming along?
05:52:58 <calamari> was going to work on it during spring break, but we worked on bfbasic instead
05:53:13 <{^Raven^}> apologies for distracting you ;)
05:53:17 <calamari> probably for the best, have a compilers class next semester and maybe I'll be able to do a better job
05:54:02 <{^Raven^}> i have a cross-compiler that i wrote for fun that could be retarteted to bfbasic
05:54:47 <{^Raven^}> *retargeted
05:55:09 <{^Raven^}> for development of text adventures
05:55:17 <{^Raven^}> i reckon it might interest a few people
05:55:27 <{^Raven^}> get some more ppl interested in bfbasic
05:57:56 <calamari> that'd be cool
05:58:22 <calamari> would you be willing fto have your game packaged with bfbasic? that'd be really neat :)
05:59:18 <{^Raven^}> i'll have a think about it
05:59:41 <calamari> still figuring out how to navigate the forest, atm.. this is the original <256 label version, though
05:59:57 <calamari> has the map changed?
06:00:04 <{^Raven^}> not at all
06:00:16 <{^Raven^}> would you like the most recent development version?
06:00:21 <calamari> sure!
06:00:37 <{^Raven^}> it may not work with the current bfbasic
06:01:01 <{^Raven^}> have had to code around some odd array bugs, but i'll put in a compiled working version for reference
06:02:14 <calamari> there's an old game called "hobbit" that I'd like to port to bfbasic sometime. It's a sversion of "Temple of Loth", simplified a bit and probably mixed with another game that I haven't found yet :)
06:03:02 <{^Raven^}> sounds like a good plan, I'd quite like to tackle Colossal Cave sometime, the original adventure
06:03:06 <calamari> I didn't write the original, but it's a typical grid game, the kind that the wumpus author hated
06:04:16 <calamari> I was going to port my java chess program, but it'd probably take too long for the computer to move
06:08:51 <{^Raven^}> chess is a tricky one
06:09:01 <{^Raven^}> have emailed you the latest version
06:09:21 <calamari> I managed to write smething that at least makes me think a bit to beat it
06:09:44 <{^Raven^}> excellent
06:10:18 <calamari> won't win any competitions, but who cares about all that? all commercialized these days
06:10:32 <calamari> thanks, I'll check that out
06:11:01 <calamari> it's a fun game.. you're a good writer
06:11:21 <{^Raven^}> thx very much
06:12:13 <{^Raven^}> I'm trying to think what the "full" version of the game would be that continues the story
06:12:48 <calamari> I'll have to tell you that after I find my way out of the "small forest" :)
06:13:22 <{^Raven^}> hehe, it's one of those awful mazez that used to litter the old games
06:13:32 <calamari> yeah, zelda had a couple of them
06:13:41 <{^Raven^}> drop an item in each location and make a map
06:13:54 <calamari> or look at the source code ;)
06:14:03 <{^Raven^}> hehe, that would work
06:14:10 <{^Raven^}> it's all in there
06:14:39 <{^Raven^}> somewhere in the two-thousand two-hundred lines of it ;)
06:14:43 <calamari> oh, does it actually remember where you drop things? wow, didn't try that
06:15:02 <{^Raven^}> of course it does, it's a fully functional game
06:21:02 <calamari> I think I'm just going to use a jump table for return.. it will limit thigngs to 256 gosub's, unless they're using a 16-bit interp
06:24:06 <{^Raven^}> that should be more than enough
06:24:49 <calamari> for now, but with the functions later it might tend to run out
06:25:17 <{^Raven^}> it depends if the gosub table is based only on GOSUBs called
06:25:48 <{^Raven^}> i guess it depends how things develop
06:25:49 <calamari> this is the way I have it planned:
06:26:15 <calamari> GOSUB LABEL = gs(gp)=#:gp++:goto label
06:26:30 <calamari> RETURN = gp--:goto return
06:26:56 <calamari> RETURN: t=gs(gp), if t=0 then goto label1, etc
06:27:03 <Tefad> holy ugliness
06:27:19 <Tefad> oh wait, this is #esoteric, rock on.
06:27:20 <calamari> oops GOSUB LABEL = gs(gp)=#:gp++:goto label label1:
06:27:40 <calamari> tefad: I'd love to hear a better way, please! can't think of one
06:28:08 <calamari> bf isn't exactly overflowing with ways to jump around in the code :)
06:29:11 <calamari> anyhow.. every gosub would need a label so that the return could get back
06:29:22 <{^Raven^}> yeah
06:29:46 <{^Raven^}> worst case scenario: read ahead first and then inline all gosubs
06:30:14 <{^Raven^}> code bloat + infinite gosubs
06:30:31 <calamari> that doesn't really help because the return doesn't know where to go until runtime
06:30:42 <calamari> you could call the same routine from multiple places
06:32:45 <{^Raven^}> inlined gosubs would never need returns but it has significant disadvantages, mainly each time the gosub is called, the GOSUB is replaces with the function code itself
06:32:55 <{^Raven^}> probably not a good plan
06:33:07 <calamari> oic what you mean.. that's not good :)
06:33:58 <{^Raven^}> problem is, that for every elegant solution there are a million hacks that would work
06:34:08 <{^Raven^}> and trying to find the one elegant solution
06:35:44 <Tefad> i wonder how hard it would be to write a C interpreter in brainfuck
06:36:17 <{^Raven^}> an interpreter that only supported a small subset of C would probably be quite difficult
06:36:26 <Tefad> hehe
06:36:42 <calamari> c can't be completely interpreted by bf without something like pesoix
06:37:07 <Tefad> oh?
06:37:17 <Tefad> it could be done... just reallly slowwwwly
06:37:20 <calamari> there are no facilities for file i/o, for example
06:37:26 <Tefad> oh pfft
06:37:38 <{^Raven^}> i'm working on it when i have time
06:37:52 <calamari> unless you mean without the standard library
06:38:04 <Tefad> as much C as you could have with the limited input/output
06:38:12 <Tefad> stdin stdout only.
06:38:19 <{^Raven^}> probably not the full C library, there's too much that doesn't seem to apply atm
06:38:32 <Tefad> that still includes quite a lot
06:38:51 <calamari> raven: yeah.. I went through it one day and write down which functions seemed to make sense and which ones didn't
06:38:56 <calamari> write -> wrote
06:39:26 <{^Raven^}> ooh, can i have a copy if you still have it to hand, plz?
06:39:45 <calamari> handling the floating point math would be a huge project all on its own
06:40:20 <{^Raven^}> i'll lay as good a foundation as i can
06:40:41 <calamari> raven: what are you writing? c in bf?
06:42:01 <{^Raven^}> no, it's an esoteric language <> operating system abstraction layer
06:42:45 <{^Raven^}> like (and emulating) EsoAPI but with a different dialect that allows file I/O and a lot more
06:43:12 <calamari> oh right, for pesoix
06:43:16 <{^Raven^}> yup
06:43:47 <{^Raven^}> i'll open the code once it's in a state i'm happy with and hopefully other ppl will come in and add other stuff
06:44:06 <calamari> I found the file, but apparently I didn't finish the list like I thought I had
06:44:18 <{^Raven^}> no probs
06:44:46 <calamari> I think it'd be better to just write a smaller standard library more suited to bf
06:44:56 <calamari> that's a common practice in embedded c
06:45:01 <{^Raven^}> that's what i'm trying to do
06:45:12 <calamari> I mean with bf
06:45:35 <{^Raven^}> oh...not sure i could pull that one off
06:45:50 <{^Raven^}> PESOIX is designed for all esoteric languages
06:46:19 <calamari> if I can call a pesoix function when it gets hard, it kinda takes the fun out of it
06:46:42 <calamari> pesoix calls are perfect for things that are impossible
06:47:08 <calamari> for example, there is no way to find out what time it is in bf. that's a perfect pesoix candidate
06:47:14 <{^Raven^}> i'm hesitant to remove some of the calls that could be considered cheating
06:47:30 <{^Raven^}> time is supported, command line arguments
06:47:47 <calamari> not telling you to.. just saying I won't be using them, because I would feel like I'm cheating
06:48:39 <{^Raven^}> i'm glad about that, i just hope that you might use some of the otherwise impossible functions despite the ability to cheat
06:49:08 <calamari> yeah, no problems there.. if it's impossible then I really have no other choice if I want that functionality
06:49:38 <{^Raven^}> if someone codes up the networking support in the distant future than i can see no problems with a basic webserver written in BF
06:50:05 <calamari> hoping for 5min of slashdot fame?
06:50:17 <{^Raven^}> just want to see if it's possible
06:51:03 <{^Raven^}> i've already had my 15 mins of fame a few timesw
06:51:11 <calamari> well you do have in and out.. just like a network card
06:51:47 <{^Raven^}> not been /.'d before tho
06:51:51 <calamari> so you could write the entire webserver, netowrk layer, etc, in bf, given the appropriate in and out to the card ;)
06:52:14 <{^Raven^}> that's one possibility
06:52:55 <calamari> since you can'
06:53:13 <{^Raven^}> but i would not want to code that
06:53:15 <calamari> t really go lower than i/o level, it'd be a fair way to do things
06:53:28 <calamari> exactly.. that's why it hasn't been done yet
06:53:31 <{^Raven^}> a TCP/IP stack written in BF
06:53:43 <calamari> you wouldn't need a full stack
06:54:03 <calamari> just one good enough to support an extremely simple webserver
06:54:35 <{^Raven^}> i have seen a working one in 3 lines of perl
06:54:44 <{^Raven^}> so can't be too hard
06:55:34 <{^Raven^}> I'm still tackling unbuffered I/O, got it up and running on one platform so far
06:55:51 <calamari> perl has a much larger library than bf's pitiful 2 i/o functions
06:56:13 <calamari> I'm pretty sure they're just calling perl functions that take care of the dirty work
06:56:33 <{^Raven^}> it all comes down to I and O eventually it just coding up the black box in the middle
06:57:19 <calamari> if you do go crazy and decide to do it, check out the network stack written for the old 8-bit computers. I think they have one for c64 and another for atari8
06:57:48 <{^Raven^}> like i say i'm gonna leave it for a future developer unless i can work it out myself#
06:58:11 <calamari> I guess all the info is in rfc's, right?
06:58:39 <calamari> or a really good book on networking :)
06:58:51 -!- puzzlet has joined.
06:58:54 <calamari> hi puzz
06:59:00 <{^Raven^}> hi
06:59:31 <puzzlet> hi all
07:03:16 <{^Raven^}> 7am, time to get up i guess
07:03:22 <{^Raven^}> so i should probably go to bed
07:03:28 <{^Raven^}> mornin all :)
07:03:46 <calamari> yeah me too, midnight here
07:03:56 <calamari> cya later
07:03:59 <{^Raven^}> nite
07:04:03 -!- calamari has quit ("Leaving").
07:25:04 -!- lament has quit (Remote closed the connection).
07:30:00 -!- lament has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:42:47 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
08:46:32 -!- puzzlet has joined.
09:35:11 -!- puzzlet has quit ("전 이만 갑니다.").
13:02:10 -!- Keymaker has joined.
13:02:19 <Keymaker> hi
14:20:00 -!- Keymaker has left (?).
2005-03-21
03:17:58 -!- cpressey has quit (Read error: 104 (Connection reset by peer)).
03:22:22 -!- cpressey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:31:36 -!- calamari has joined.
08:31:41 <calamari> hi
08:50:54 -!- calamari has quit ("Leaving").
21:38:12 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
21:39:38 -!- cmeme has joined.
21:39:56 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
21:40:40 -!- cmeme has joined.
21:41:52 -!- cmeme has quit (Client Quit).
21:42:35 -!- cmeme has joined.
21:43:48 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
21:44:33 -!- cmeme has joined.
21:45:44 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
21:46:27 -!- cmeme has joined.
21:47:41 -!- cmeme has quit (Client Quit).
21:48:30 -!- cmeme has joined.
21:49:37 -!- cmeme has quit (Client Quit).
21:50:25 -!- cmeme has joined.
21:51:33 -!- cmeme has quit (Client Quit).
21:52:18 -!- cmeme has joined.
21:53:30 -!- cmeme has quit (Client Quit).
21:54:21 -!- cmeme has joined.
21:55:25 -!- cmeme has quit (Client Quit).
21:56:09 -!- cmeme has joined.
21:57:22 -!- cmeme has quit (Client Quit).
21:58:04 -!- cmeme has joined.
21:59:18 -!- cmeme has quit (Connection reset by peer).
22:00:06 -!- cmeme has joined.
22:01:14 -!- cmeme has quit (Client Quit).
22:01:57 -!- cmeme has joined.
22:02:35 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
22:03:28 -!- cmeme has joined.
22:03:36 -!- cmeme has quit (Success).
22:04:38 -!- cmeme has joined.
22:04:49 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
22:29:13 -!- cpressey has quit (sterling.freenode.net irc.freenode.net).
22:31:44 -!- cpressey has joined.
23:02:00 -!- cmeme has joined.
23:05:53 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
23:15:40 -!- cmeme has joined.
23:20:00 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
23:21:10 -!- cmeme has joined.
23:52:02 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
23:52:53 -!- cmeme has joined.
23:52:53 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
23:53:50 -!- cmeme has joined.
23:54:05 -!- cmeme has quit (Remote closed the connection).
23:55:04 -!- cmeme has joined.
2005-03-22
02:36:34 <Tefad> damn.
04:17:38 -!- heatsink has joined.
07:27:31 -!- heatsink has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:56:44 -!- cpressey has quit (sterling.freenode.net irc.freenode.net).
08:56:45 -!- arke has quit (sterling.freenode.net irc.freenode.net).
08:56:46 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
08:56:46 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
08:56:46 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
08:56:46 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
08:56:47 -!- Tefad has quit (sterling.freenode.net irc.freenode.net).
08:56:47 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
08:56:48 -!- {^Raven^} has quit (sterling.freenode.net irc.freenode.net).
09:16:25 -!- ChanServ has joined.
09:16:25 -!- cmeme has joined.
09:16:25 -!- {^Raven^} has joined.
09:16:25 -!- Tefad has joined.
09:16:25 -!- mtve has joined.
09:16:25 -!- irc.freenode.net has set channel mode: +o ChanServ.
09:17:14 -!- arke has joined.
09:18:25 -!- fizzie has joined.
09:20:16 -!- Taaus has joined.
09:22:03 -!- cpressey has joined.
10:51:01 -!- lament has quit (Remote closed the connection).
10:52:22 -!- lament has joined.
13:17:12 -!- clog has joined.
13:17:12 -!- clog has joined.
16:58:04 -!- Keymaker has joined.
16:58:31 <Keymaker> rgrgghhhhhhhraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrghhhhhhhhhhhhhhhhhhhhh hi
17:44:36 -!- Keymaker has left (?).
2005-03-23
03:27:32 -!- calamari has joined.
03:28:36 <calamari> hi
03:36:41 -!- heatsink has joined.
05:32:11 -!- discosteve has joined.
05:33:27 -!- discosteve has left (?).
06:16:36 -!- heatsink has quit ("Leaving").
06:48:40 -!- ChanServ has quit (ACK! SIGSEGV!).
07:15:37 -!- calamari_ has joined.
07:15:38 -!- calamari has quit (Read error: 110 (Connection timed out)).
07:18:41 -!- ChanServ has joined.
07:18:41 -!- irc.freenode.net has set channel mode: +o ChanServ.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:41:17 -!- calamari_ has quit ("Leaving").
13:17:07 -!- ChanServ has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- cpressey has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- Taaus has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- arke has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- lament has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- Tefad has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- lindi- has quit (clarke.freenode.net irc.freenode.net).
13:17:07 -!- {^Raven^} has quit (clarke.freenode.net irc.freenode.net).
13:17:13 -!- ChanServ has joined.
13:17:13 -!- lindi- has joined.
13:17:13 -!- lament has joined.
13:17:13 -!- cpressey has joined.
13:17:13 -!- Taaus has joined.
13:17:13 -!- fizzie has joined.
13:17:13 -!- arke has joined.
13:17:13 -!- cmeme has joined.
13:17:13 -!- {^Raven^} has joined.
13:17:13 -!- Tefad has joined.
13:17:13 -!- mtve has joined.
13:17:13 -!- irc.freenode.net has set channel mode: +o ChanServ.
16:21:13 -!- Jidder has joined.
16:32:59 -!- Jidder has left (?).
16:39:21 -!- baadc0de has joined.
16:41:23 <baadc0de> can anyone point me to a usable IRC channel where one can discuss programming language design a bit?
16:42:08 <{^Raven^}> can't think of any offhand
16:42:45 <baadc0de> i'm trying to create a functional UnrealScript - class language for a generic multi media engine
16:42:55 <baadc0de> I'm currently pondering over "const"
16:43:31 <{^Raven^}> have you looked into how other languages implement const for inspiration?
16:44:23 <baadc0de> have, yes, and the outcome is: unrealscript doesn't have it, C++ has it, C# doesn't
16:44:43 <baadc0de> it's probably not so much of a language but std lib feature
16:46:15 <{^Raven^}> const is a c++/C# keyword not a lib func
16:48:12 <{^Raven^}> definition: const - A keyword that allows you to define a variable whose value does not change.
16:48:13 <baadc0de> yes, ofc, but if you have const in a language, and the std lib is very much connected with the language, the question probably is, whether or not to use const in the std lib
16:48:45 <baadc0de> since I've been given feedback that const confuses scripters
16:48:48 <{^Raven^}> as const deals with declaring variables it makes sense to have it in the language
16:49:15 <{^Raven^}> if it is part of your language then all libraries can make use of it
16:49:59 <{^Raven^}> yeah, well i reckon that coders who understand it will use it
16:50:16 <{^Raven^}> and the rest will just declare a variable and not change it's value
16:50:50 <baadc0de> okay, I guess I'll just make use of const in the lib, but not too extensive
16:52:02 <baadc0de> since I don't support de-consting casts...
16:52:19 <{^Raven^}> heh, conts are meant to stay that way
16:52:38 <{^Raven^}> if the value may need to be changed then declare it as a regular variable
16:52:52 <{^Raven^}> const is only for values that DO NOT change
16:54:13 <baadc0de> sure thing, but C++, for example, has const_cast
16:55:28 <{^Raven^}> better to consult the C++ documentation for usage of const in class member functions
16:57:18 <baadc0de> consider void f(const int& i) { ((int&)i) = 3; }
16:58:00 <baadc0de> I think even class X { int y; void f() const { ((X*)this)->y = 3; } is possible
17:00:16 <{^Raven^}> the comp.lang.c++ newsgroup may have some better answers for you
17:00:33 <{^Raven^}> this is a little out of my depth
17:02:23 <baadc0de> oh, sorry then
17:02:52 <{^Raven^}> no probs
17:02:56 <baadc0de> the only thing I wanted to point out is that in C++, one can make a const variable non-const at any time, by utilizing a cast.
17:03:09 <{^Raven^}> oic
17:10:45 -!- baadc0de has left (?).
18:37:02 -!- Keymaker has joined.
18:37:12 <Keymaker> hi
19:29:36 -!- lindi- has quit (Read error: 113 (No route to host)).
19:30:44 -!- lindi- has joined.
19:30:51 <Keymaker> hi
19:35:30 -!- cmeme has quit (Remote closed the connection).
19:36:24 -!- cmeme has joined.
19:36:36 -!- cmeme has quit (Remote closed the connection).
19:37:21 -!- cmeme has joined.
20:12:02 -!- Keymaker has left (?).
21:15:17 -!- Tefad has quit (Read error: 110 (Connection timed out)).
21:19:38 -!- Tefad has joined.
21:57:33 -!- ChanServ has quit (Shutting Down).
22:14:10 -!- ChanServ has joined.
22:14:10 -!- irc.freenode.net has set channel mode: +o ChanServ.
2005-03-24
01:06:49 -!- Tefad has quit (Read error: 110 (Connection timed out)).
01:15:36 -!- Tefad has joined.
01:56:36 -!- heatsink has joined.
02:58:37 -!- lament has quit ("Changing server").
02:58:40 -!- lament has joined.
03:06:47 -!- calamari has joined.
03:06:57 <calamari> hi
03:33:59 -!- ChanServ has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- calamari has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- lindi- has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- cpressey has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- Taaus has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
03:33:59 -!- heatsink has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- arke has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- Tefad has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- lament has quit (clarke.freenode.net irc.freenode.net).
03:34:00 -!- {^Raven^} has quit (clarke.freenode.net irc.freenode.net).
03:34:25 -!- ChanServ has joined.
03:34:25 -!- calamari has joined.
03:34:25 -!- lament has joined.
03:34:25 -!- heatsink has joined.
03:34:25 -!- Tefad has joined.
03:34:25 -!- cmeme has joined.
03:34:25 -!- lindi- has joined.
03:34:25 -!- cpressey has joined.
03:34:25 -!- Taaus has joined.
03:34:25 -!- fizzie has joined.
03:34:25 -!- arke has joined.
03:34:25 -!- {^Raven^} has joined.
03:34:25 -!- mtve has joined.
03:34:25 -!- irc.freenode.net has set channel mode: +o ChanServ.
06:14:57 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:09:42 -!- heatsink has quit ("Leaving").
16:16:32 -!- mtve has quit (Read error: 110 (Connection timed out)).
20:06:43 -!- clog has quit (^C).
20:06:43 -!- clog has quit (ended).
20:06:52 -!- clog has joined.
20:06:52 -!- clog has joined.
22:29:07 -!- Keymaker has joined.
22:29:15 <Keymaker> hi
22:32:00 <Keymaker> where is everyone?!
22:32:04 <Keymaker> raven?!
22:33:02 <lament> we're losT!!!!
22:33:55 <Keymaker> nooo!
22:47:35 <{^Raven^}> hi
22:50:02 <arke> Keymaker: when is the deadline again
22:50:15 <Keymaker> 15th april
22:50:24 <Keymaker> hi raven
22:50:52 <Keymaker> (or when the first seconds of 16th start the competition is over.. as said in the topic)
22:51:00 <Keymaker> which reminds me..
22:51:21 <Keymaker> maybe the channel topic should be changed to link to the actual topic that has the confirmed rules of competition..
23:01:08 <Keymaker> i can't even dream what kind of solutions the brainfuck pros will offer to this competition..
23:01:41 <arke> yeah
23:01:46 <Keymaker> :)
23:01:49 <arke> i dont think my solution will be nearly s good
23:02:14 <Keymaker> not to mention mine..
23:02:37 <Keymaker> but at least you can say you can program something in brainfuck if you can do this ;)
23:02:46 <arke> :)
23:03:01 <Keymaker> seriously, this is no easy, this is quite hard task
23:03:10 <Keymaker> and requires different skillz
23:03:44 <Keymaker> now i'll try to make the input "function" smaller..
23:04:50 <Keymaker> most i don't like in brainfuck programming planning the smallest movement in cells, like for example if doing the code some other way you can save 5 movings. :\
23:05:02 <Keymaker> orther stuff i love in it :)
23:05:21 <Keymaker> the memory arrangement..
2005-03-25
00:21:17 <Keymaker> g'nite
00:21:25 <{^Raven^}> nite
00:21:29 -!- Keymaker has left (?).
00:44:49 -!- arke has quit (Read error: 131 (Connection reset by peer)).
00:44:49 -!- arke has joined.
05:45:31 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
05:46:35 -!- Taaus has joined.
07:40:15 -!- mtve has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
2005-03-26
00:56:11 -!- mike-zed|afk has joined.
01:46:16 -!- mike-zed|afk has quit ("Der Horizont einiger Menschen ist ein Kreis mit dem Radius Null. Und das nennen die ihren Standpunkt").
04:53:32 -!- passbe has joined.
04:53:50 -!- KrPtiKz has joined.
04:54:16 -!- KrPtiKz has left (?).
05:00:05 -!- passbe has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
2005-03-27
00:08:26 -!- Tefad has quit (Remote closed the connection).
01:56:36 -!- Tefad has joined.
02:41:18 -!- heatsink has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:51:06 -!- heatsink has quit ("Leaving").
10:44:29 -!- {^Raven^} has quit (Remote closed the connection).
14:32:59 -!- Keymaker has joined.
14:35:59 <Keymaker> hi
14:53:23 <Keymaker> where are everyones?
16:24:26 -!- Keymaker has left (?).
2005-03-28
01:21:38 -!- heatsink has joined.
03:11:27 -!- matricks has joined.
03:11:31 <matricks> yay
03:12:50 <matricks> :) http://www.teepop.net/fungus/fungus002.png
03:52:27 <lament> looks cool, what is it?
03:56:46 -!- heatsink has quit (Read error: 60 (Operation timed out)).
05:08:10 -!- calamari has joined.
07:17:29 -!- calamari has quit (Read error: 110 (Connection timed out)).
07:17:45 -!- calamari has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:21:35 -!- Keymaker has joined.
09:22:01 <Keymaker> hi
09:22:12 <Keymaker> matricks: is that somekind of befunge 93 editor?
09:22:15 <Keymaker> looks cool! :)
09:23:18 <Keymaker> as well, has the code something to do with roman numbers? (just thought about the file name roman5.bf and those I, V, X.. stuff there)
09:52:59 -!- Keymaker has left (?).
11:18:57 -!- calamari has quit (Read error: 110 (Connection timed out)).
11:59:47 <matricks> it's a Befunge93 interactive intepreter and debugger :)
12:00:02 <matricks> http://www.teepop.net/fungus/fungus-0.21-win32.zip
12:00:24 * matricks just woke up
20:59:01 -!- lament has quit (sterling.freenode.net irc.freenode.net).
21:00:02 -!- lament has joined.
21:03:02 <matricks> http://www.teepop.net/fungus/fungus004.png
21:03:03 <matricks> :)
22:15:32 <lament> is it win32 only?
2005-03-29
04:49:53 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
04:50:26 -!- fizzie has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:48:13 <matricks> lament: it's SDL so it should compile under any platform that SDL supports
11:08:21 -!- calamari has joined.
11:19:35 -!- DMM has joined.
11:26:20 <matricks> jisses.. my mother get more action than the action in this channel :)
11:31:59 <DMM> TMI...
11:33:55 <matricks> ?
11:40:55 <DMM> Too Much Information
11:41:21 <DMM> is this channel normally more happening at other times of day?
11:42:16 <matricks> no
11:45:07 <DMM> I see :-)
11:45:20 <matricks> oh.. wiat
11:45:36 <matricks> you havn't seen this
11:45:37 <matricks> http://www.teepop.net/fungus/fungus004.png
11:46:20 <DMM> looks evil..
11:46:33 <DMM> a bit befungey looking and... are those Roman numerals?
11:53:43 <matricks> its a Befunge-93 editor and debugger
11:54:01 <matricks> the loaded program converts latin -> roman
11:58:43 <DMM> aha
11:59:04 <DMM> debugging befunge... what will they think of next? :-)
12:00:34 <DMM> I'm off to sleep... will check in some other time. I only discovered this channel today when browsing Wikipedia on esoteric languages.
12:00:56 <matricks> same here
12:01:07 <matricks> they? I wrote that app
12:01:14 <DMM> heh
12:01:26 <DMM> you're mad :-) Which helps in this community
12:01:40 <matricks> I get that alot :) the mad part.. or crazy
12:01:47 * DMM guesses cpressey is Chris Pressey
12:02:22 <DMM> anyway, I'm off... later
12:02:29 -!- DMM has left (?).
12:45:32 <calamari> matricks: nice editor.. I like the catseye checkerboard look :)
12:46:24 -!- calamari has quit ("Leaving").
13:37:40 -!- Tefad has quit (Read error: 110 (Connection timed out)).
13:40:29 -!- Tefad has joined.
18:06:17 -!- Keymaker has joined.
18:06:24 <Keymaker> aaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrgggggggggggggggghhhhhhhhhhhhhhhhhhhhhh
18:07:13 <Keymaker> DMM: welcome & we are crazy & and i guess you're right about, that is Chris Pressey (whoever that is :p (joke))
18:07:19 <Keymaker> i'm way too busy.
18:07:27 <Keymaker> and nervous
18:09:05 <Keymaker> either the way; i got idea how to make a brainfuck program a lot smaller, but i don't have time to work on it right now. well, cya folks.
18:09:29 <Keymaker> ps. DMM: this channel isn't active whatever there is daylight or not ;)
18:09:32 -!- Keymaker has quit.
18:29:25 -!- matricks has quit ("Lost terminal").
18:31:17 -!- kma has joined.
18:31:21 <kma> roar \o/
18:31:29 -!- kma has changed nick to matricks.
2005-03-30
03:34:45 -!- heatsink has joined.
03:58:22 -!- calamari has joined.
06:28:50 -!- heatsink has quit ("Leaving").
07:02:03 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
07:02:03 -!- matricks has quit (sterling.freenode.net irc.freenode.net).
07:02:03 -!- lindi- has quit (sterling.freenode.net irc.freenode.net).
07:02:03 -!- cpressey has quit (sterling.freenode.net irc.freenode.net).
07:02:03 -!- calamari has quit (sterling.freenode.net irc.freenode.net).
07:02:04 -!- arke has quit (sterling.freenode.net irc.freenode.net).
07:02:05 -!- Tefad has quit (sterling.freenode.net irc.freenode.net).
07:02:05 -!- lament has quit (sterling.freenode.net irc.freenode.net).
07:02:05 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
07:02:05 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
07:02:40 -!- calamari has joined.
07:02:40 -!- arke has joined.
07:02:52 -!- matricks has joined.
07:02:52 -!- lindi- has joined.
07:02:52 -!- cpressey has joined.
07:03:01 -!- Tefad has joined.
07:03:01 -!- lament has joined.
07:03:01 -!- mtve has joined.
07:03:01 -!- cmeme has joined.
07:09:09 -!- ChanServ has joined.
07:09:09 -!- irc.freenode.net has set channel mode: +o ChanServ.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:23 -!- calamari has quit (Read error: 60 (Operation timed out)).
08:24:00 -!- DMM has joined.
10:02:19 -!- DMM has quit ("Crikey!").
11:30:23 <matricks> http://www.teepop.net/fungus
11:30:34 <matricks> or did I paste that earlier?
14:00:38 -!- Keymaker has joined.
14:01:07 <Keymaker> matricks: no, you haven't posted the link to the site earlier
14:01:19 <Keymaker> and cool, i'll try the program when i have more time,
14:01:23 <Keymaker> in few days or so ;)
14:04:36 <matricks> :)
14:04:40 <Keymaker> :)
14:04:44 <matricks> :P
14:04:58 <matricks> I'm thinking of implementing Funge-98
14:05:05 <Keymaker> hmm
14:05:09 <Keymaker> i have never tried that
14:05:14 <Keymaker> or well, not very interested either
14:05:22 <matricks> it's like befunge-93.. but more stuff
14:05:22 <Keymaker> but iirc it was a lot more confusing
14:05:34 <matricks> the nicest stuff is that a cell is 32bit instead of 8
14:05:40 <Keymaker> NO!!!!!!!!!!!!!!!!!
14:05:43 <Keymaker> that is not nice at all :p
14:05:50 <matricks> why? :)
14:06:02 <Keymaker> hmmm.. it just doesn't feel right
14:06:11 <Keymaker> in my humble opinion
14:06:20 <matricks> heh
14:06:31 <matricks> it's alot of trouble storing larger values now
14:06:39 <Keymaker> hmm
14:06:49 <Keymaker> in befunge, yes
14:07:06 <Keymaker> (in brainfuck **love** not at all)
14:08:11 <matricks> I like befunge more then brainfuck
14:08:17 <Keymaker> i see
14:08:24 <Keymaker> so do many others
14:08:25 <matricks> befunge is weirdier :)
14:08:29 <Keymaker> yeah
14:08:32 <Tefad> cell can be unicode now : P
14:08:42 <matricks> heh
14:08:45 <Tefad> is befunge the one with a limited program array?
14:08:51 <Keymaker> yeah
14:08:56 <Keymaker> 80x25 iirc
14:08:58 <Tefad> bah.
14:09:01 <matricks> yeah
14:09:06 <matricks> Fungus uses 80x50 tho
14:09:09 <Keymaker> but incredible stuff has been made with that
14:09:21 <Keymaker> you should fix it to 25, i think
14:09:23 <matricks> Fungus-98 defines a 32bit working space
14:09:32 <Tefad> heh, damn
14:09:37 <matricks> Keymaker: probebly
14:10:00 <Tefad> so 2^64 cells?
14:10:12 <matricks> Tefad: something like that
14:10:23 <matricks> http://quadium.net/funge/spec98.html
14:10:57 <Tefad> cells, i meant chars of input
14:13:59 <matricks> Funge-98 also specifies threading and funge in n-dimentions :)
14:18:53 <Keymaker> :)
14:19:38 <Keymaker> there's some work to do
14:20:13 <Keymaker> the good news is that my plan on the bf program worked and it works perfectly..
14:25:36 <Keymaker> yet again i have to say, it is truly the language of the languages (brainfuck) :) programming would be annoying without it
14:25:47 <Keymaker> but must go.
14:25:49 -!- Keymaker has quit.
14:25:50 <matricks> heh
14:25:53 <matricks> doh!
18:25:04 -!- Keymaker has joined.
18:25:27 <Keymaker> rghh
18:32:46 <Keymaker> yeah yeah!
18:35:15 <Keymaker> this newest version of digital root program is a lot better than the previous version that i thought was good :) this new version makes the code a lot shorter, memory usage only four cells etc.. i realized there is a method that is so simple, yet effective, to do the job better :) the previous version took about 7-9 seconds to calculate the digital root of pi's 10000 first decimals while this does it under half a second.
19:06:40 -!- Keymaker has left (?).
20:29:20 -!- kipple has joined.
23:12:03 -!- kipple has quit (Read error: 110 (Connection timed out)).
23:21:26 -!- arke has quit ("PARENTS HATE ME - no internet. Feel free to send me email at chris dot r dot walton at gmail dot com").
23:39:50 -!- Alaric has joined.
2005-03-31
01:13:42 -!- Alaric has left (?).
04:59:40 -!- heatsink has joined.
05:52:24 -!- heatsink has quit ("Leaving").
06:47:03 -!- calamari has joined.
06:47:17 <calamari> hi
07:47:10 <lament> hi
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:01 <matricks> hi
09:15:29 -!- DMM has joined.
09:16:12 -!- calamari has quit (Read error: 110 (Connection timed out)).
09:48:39 -!- DMM has quit ("Crikey!").
10:16:36 -!- kipple has joined.
11:09:16 -!- kipple has left (?).
11:50:25 -!- kipple has joined.
16:21:02 -!- Keymaker has joined.
16:21:11 <Keymaker> heyy
16:38:59 <Keymaker> fcl..
16:40:02 <Keymaker> it can be this mandrake 10.0 has crap software or then something's wrong, but can't get a file that is about on mb opened..
16:40:07 <Keymaker> should there be newlines?
16:40:18 <Keymaker> there aren't any
16:40:20 <Keymaker> :\
16:42:24 <Keymaker> hmm
16:42:31 <Keymaker> something really strange is happening.
17:31:44 <Keymaker> aaaaaaarghhhhhhhh
17:42:24 -!- Keymaker has left (?).
←2005-02 2005-03 2005-04→ ↑2005 ↑all