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:54 <Keymaker> arke: what's wrong with brainfuck? doing something program or..?
12:40:27 -!- Keymaker has quit.
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:33:14 <arke> playing a game
21:56:28 <Keymaker> rgh. i is getting tired. must sleep. ZZzzz
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.
02:40:50 <arke> under which circumstances?
05:26:17 -!- calamari has joined.
07:12:42 -!- puzzlet has joined.
07:22:31 <arke> I'm selling gmail invites for $5
07:24:48 -!- calamari_ has joined.
07:26:01 <lament> by "low" i don't mean the price
07:26:21 <lament> i mean your personal ethics :)
07:26:33 <arke> hey, $5 x 50 = $250
07:26:38 <arke> that keeps me alive for a month
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: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: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: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.
17:21:52 <{^Raven^}> does anyone know of any games written inbrainfuck
17:32:28 -!- transmogrify has quit ("bye").
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:57:15 <arke> You could probably write a console based one by emitting escape codes
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: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:26:30 <{^Raven^}> bfvga does line-buffered input. is there a source release :(
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: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:47 <{^Raven^}> interpreter, virtual machine type thingy
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:55 <Keymaker> parser can be a bit hard to do
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: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:21:41 <{^Raven^}> it's about as portable as BF so the seem to be stuck together atm
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: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: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: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: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: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: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:55 <{^Raven^}> it's good to know that more than just me might find it useful
00:33:02 <Keymaker> brainfuck is optimal for developing some nice software
00:33:50 <cpressey> {^Raven^}: afaik, he's working on it as a full-fledged operating system.
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:51 <cpressey> dare i say "standardized"...? no, i daren't. :)
00:35:04 <Keymaker> btw; anyone knows what this is?
00:35:07 <{^Raven^}> an abstraction layer providing at least similiar functionality to the C library
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:38:07 <{^Raven^}> did you like my site Keymaker? this is kindof freaky buy i spotted you in my logs...
00:38:30 <{^Raven^}> of all the IPs in all the worls and that kind of stuff
00:39:46 <{^Raven^}> do you know if Daniel C ever pops on here?
00:39:59 <Keymaker> guess have i been waiting... :)
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: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: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: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: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: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:10:23 <Keymaker> i was away when dbc happened to visit..
20:11:36 <{^Raven^}> when you mentioned wanting to see him in here yesterday :)
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 :)
21:10:21 <Keymaker> hm.. can't get the idea for a keen 3 mod.. been trying for a month already..
21:14:57 <arke> counterstrike mod for keen
22:13:00 -!- Keymaker has quit.
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: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: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:32 <Keymaker> it was at info1.info.tampere.fi/~lhetuhe
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: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:36:33 <Keymaker> probably not more than 1000kb :)
13:38:46 <Keymaker> hmmm, or was 1000kb something like megabyte? my brain is ****ed
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:40:13 <Keymaker> can't think of any good domain..
13:41:25 <{^Raven^}> bracketcommadotbracket.org aka [,.] ?
13:42:20 <{^Raven^}> nice esoteric name and it translates to a typewriter proggy
13:42:41 <Keymaker> although that program would never start :p
13:43:12 <Keymaker> plusbracketcommadotbracked.org would do the job
13:44:01 <{^Raven^}> i freely give away that domain name idea
13:45:40 <Keymaker> couple of names that i've thought are
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: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: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:52 <{^Raven^}> i'd like to see a for-profit BrainFuck company ;) that would be something
13:59:28 <Keymaker> sounds like a plan then, i try to decide with or without the dash.. and then order it.
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: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: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: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:41 <cpressey> ok, that grammar sounded a lot better in my head than it did in text, but you get the idea.
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: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: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
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: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: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: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:05:03 <Keymaker> so first compiling c to asm and that bfasm changes it to bf code?
22:05:51 <{^Raven^}> it would be seriously freaky if someone managed to pull it off
22:06:13 <{^Raven^}> a nice high-level language that can be compiled to brainfuck
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: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:09:18 <Keymaker> anyways, as a sidenote: if i ever see another brainfuck-to-c program written in c i just die
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: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:37 <Keymaker> there is no point in "normal" languages
22:14:54 <lament> {^Raven^}: usefulness?
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: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:46 <{^Raven^}> i hope to introduce a paradigm shift in the way esoteric languages can be used
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:20:49 <{^Raven^}> i want to be able to generate a dynamic website in BF without needing mod_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:39 <cpressey> mod_bf is kind of lame from what i hear
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:20 <Keymaker> (this channel is strangely active today :))
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: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: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
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: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: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:35:38 <{^Raven^}> now i've said it in public i hope no one steals it
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.
00:35:41 <{^Raven^}> >+>++++++++++<[<[-].+.+.>>.<+] prints hex of numbers 1 to 255
00:42:27 <{^Raven^}> OS abstraction layer for esoteric languages
01:05:23 <arke> when is the next BF contest, if any? :)
01:05:36 <lament> you mean the sourceforge thing?
01:06:34 <arke> lament: do you mean me or raven?
01:07:53 * arke slaps lament ;)
01:08:15 <arke> lament: please say a name, ARKE or RAVEN
01:08:47 <{^Raven^}> ...well this is an esoteric chat room after all...
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: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: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:43 <cpressey> http://catseye.webhop.net/projects/pesoix/doc/pesoix.html
02:19:28 <{^Raven^}> I've knocked up a page for you to link to
02:22:37 <calamari> how will the overlapping specs be sorted out?
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: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: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: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:37 <{^Raven^}> And it would mean that there is only one PESOIX standard - EsoAPI - if calamari lets me use the name
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:09:12 <cpressey> "*** Winner of the 2204 2k Classic Text Adventure Competition ***" - heh, are you a time traveller? :)
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: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:29:53 <cpressey> i'll work on it a bit more too...
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:47:31 <{^Raven^}> have completed a working PESOIX source as per the cpressey's specs
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: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:57:09 <calamari> {^Raven^}: didn't realize you wrote a etxt adventure in bf.. very cool :)
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: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: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:09:47 <calamari> do you have an easel test program I can run on my esoapi interpreter (it should abort, correct?)
08:11:17 <{^Raven^}> there are some easel test programs in the above archive
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: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: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: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:23:44 <{^Raven^}> cpressy, take a peek at http://jonripley.com/easel/pesoix.zip
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: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:37:01 <{^Raven^}> cpressey has done an impressive job with the specs so far
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: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: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:48 <cpressey> calamari: no, actually you don't. that's the brace program i'm working on.
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:43 <calamari> the whole idea was that this would be an extended functionality layer.. it would require a change to the original interpreter
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:30 <cpressey> a modified interpreter is a good approach too; the drawback is of course that it's only one language
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:24 <{^Raven^}> calamari, if there was an equivalent to command.com within BOS then you could support Easel
09:00:46 -!- Keymaker has joined.
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: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:05:18 <Keymaker> well, i didn't understand it anyways :p
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: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: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:40:52 <kipple> Don't do assembler myself, but otherwise an interesting contest :)
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:52 <lindi-> too bad i have physics exam tomorrow :P
23:52:55 <arke> you're welcome to join
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:59:17 <lindi-> BIOS services, DOS services, something else?
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: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").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
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:23:02 <{^Raven^}> any thing that I can work out portable C code for is possible
17:24:03 <Keymaker> is beep just "printing" byte 7 (?)?
17:24:26 <Keymaker> i've seen that as brainfuck program as well :)
17:24:45 <{^Raven^}> :) i've just put the latest version of the API on my site
17:25:43 <{^Raven^}> any comments, suggestions are appreciated
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: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:43 <Keymaker> in my humble opinion the user should get informed about things that might be harmful
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: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:37:20 <{^Raven^}> lol, how about opening a file for writing/update also being considered unsafe?
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:39:12 <Keymaker> i meant "in linux all the problems can't do that much harm by their own"
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: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:43:02 <Keymaker> then the cops would be behind your door soon :) or then not..
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: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:59:15 -!- elysium has joined.
18:03:36 -!- Keymaker has quit.
19:06:20 -!- elysium has quit (Client Quit).
20:15:43 -!- calamari has joined.
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.
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: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:22:12 -!- auckland_pig has quit ("Chatzilla 0.9.67 [Firefox 1.0.1/20050225]").
15:47:57 -!- Keymaker has joined.
15:54:37 <Keymaker> http://sourceforge.net/forum/forum.php?thread_id=1244436&forum_id=201037
15:59:53 <{^Raven^}> looks like an interesting challenge
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: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:31:02 -!- trillianuser has quit ("Leaving").
19:20:51 -!- Keymaker has joined.
19:27:20 -!- Keymaker has quit.
19:36:05 -!- Keymaker has joined.
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: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:47:41 <{^Raven^}> no worries i misread part of the post
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
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.
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: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: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.
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:33:56 -!- Keymaker has joined.
04:37:44 <dbc> (THis is even more historical)
04:41:41 <lament> dbc: where's the pretty fractal?
04:42:38 <dbc> I don't have one yet.
04:42:49 <lament> where's the ugly fractal?
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: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:25:45 <kipple> well that was an interesting conversation :D
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:48 <kipple> did that incredibly long text get through?
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:51 <kipple> anyway, I was gonna ask if you have gotten any feedback on the BF-contest
17:31:06 <Keymaker> there has been one post in sourceforge forum
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:40:02 -!- Keymaker has left (?).
21:52:11 -!- lament has quit ("I lost an eye in a drunken ko fight!").
22:22:31 -!- lament has joined.
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:53:46 <{^Raven^}> got some custom wrappers up and running for EsoAPI and Easel
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: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: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: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: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: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: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: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: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:47:02 <arke> I was so pissed off when I lost it
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: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: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:58 <arke> i feel so young
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: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: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:59:21 <calamari> windows? blah.. dos 3.30 is all you need
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: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: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: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: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
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.
18:19:45 <kipple> The whitespace language is nice for steganography :)
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:13 -!- Keymaker has quit.
01:06:14 <{^Raven^}> got a 10-bit BF interpreter here, is that cheating?
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.
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:46:48 -!- Keymaker has left (?).
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:07:44 <{^Raven^}> very nicely thanks, all is going really well
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: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
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: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 (?).
03:59:15 -!- calamari has joined.
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:14:54 <calamari> raven: started implementing that new labeling scheme
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: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.
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:55:10 <{^Raven^}> great, got some good updates for ya
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:44 <heatsink> a groove is the opposite of a rut, right?
03:58:06 <heatsink> strange how this language works.
04:01:27 <{^Raven^}> calamair: i can't wait to see what you have come up with
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: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: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:18 -!- kipple_ has joined.
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: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: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:54 <calamari> that way you can have something that will work for your game
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:58 <calamari> it doesn't need to be.. but it should be :)
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: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: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: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.
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: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:07 <calamari> you were going to tell me about it then I got cut off
03:37:28 <{^Raven^}> might be a feature i've not noticed before
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: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: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:56 <calamari> have you tried it without the optimizing interpreter?
03:54:35 <{^Raven^}> gonna compile and test it with your bfi
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'
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: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: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:32:11 <calamari> thanks for finding the bug.. gonna keep at this bfasm code
05:25:48 <calamari> sto has been deciphered.. cool algorithm, if I do say so myself :)
05:54:39 -!- Tefad has joined.
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: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: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:43 <heatsink> Then you did write this bit of code.
06:02:34 * Tefad stabs Frobozz with a pink elephant.
06:02:47 * Frobozz smacks Tefad over the head with a dictionary
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:06:00 <Tefad> i've done constant number generation
06:06:07 <Tefad> i've done read input, spitback output
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:10:57 <Tefad> i think i'm erring with pointer artihmetic.. bah
06:14:36 -!- heatsink has quit ("Leaving").
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:36 <Keymaker> i'm bringing some good news before going to sleep;
20:34:48 <Keymaker> the Logical Brainfuck Competition has started!
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:37:09 <arke> can you give me an example of a valid expression?
20:37:38 <Keymaker> (followed by a new-line in this competition)
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:22 <Keymaker> it will be said in the rules that that isn't valid
20:38:46 <arke> Oh, ~ takes the place of the comma
20:38:59 <arke> 44~55~^ is valid?
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:39 <arke> As is, say, 44~55^66&
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:46 -!- Keymaker has quit.
22:30:43 -!- calamari has joined.
22:47:17 <calamari> hi raven.. did you keep a backup copy?
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: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: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
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:56 <arke> And then go over it optimizing
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: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: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:55:03 <calamari> bitwise => #, ??? => true/false
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: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:49 <arke> actually, I did 48 = 6*8
01:09:58 <arke> 2*24 or 4*12 or 8*6 .. :)
01:39:02 -!- Tefad has joined.
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:39:04 <calamari> ark2: 22 = 2 * 11, but 21+1 is shorter :)
03:39:58 <arke> i dont think theres a definite algo
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: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 => >>+++[<+++[<+++>-]>-]<<
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:23:04 <calamari> oops.. oh well, you get the idea
04:23:20 <calamari> no maybe not, let me try again, lol
04:24:35 <calamari> anyhow, the / diagonals all have the same number
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:35 <calamari> I should say greater or equal to
04:33:36 <arke> I'd rather just do it by hand
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: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 :)
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:39:59 -!- calamari has quit ("Leaving").
10:51:34 -!- kipple has joined.
13:06:42 -!- FreeNSK has joined.
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: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:34 <Keymaker> remember that this takes a lot space; i have a feeling my code will be at least 1000+
14:54:41 <{^Raven^}> not got it all in BF yet but the algrithm is sound
14:55:28 <{^Raven^}> ahh, means algorithm is perfect (for BF)
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:59:45 <{^Raven^}> no, i'm not intending to enter really but it seemed an interesting challenge to work out a BF algorithm
15:00:32 <Keymaker> i'm the lamest bf coder ever and i still will enter..
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.
17:39:19 -!- Keymaker has left (?).
18:02:42 -!- calamari has joined.
19:11:39 -!- Keymaker has joined.
19:11:43 -!- Keymaker has left (?).
19:12:22 -!- Keymaker has joined.
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:25:19 <{^Raven^}> gotta go make an auto program loading BF interpreter for dumb windowz ppl to use
19:25:34 <{^Raven^}> who wouldn;t know a command line if ....well you can imagine
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: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:29 <{^Raven^}> I have 5 logins on 3 different OSs atm
19:28:48 <{^Raven^}> RISC OS, Linux and Windows and I develop software for all of em
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:30:16 <{^Raven^}> it is a technichal term for a type of processor
19:30:32 <calamari> screenshots make it look a little like win3.1
19:31:00 <{^Raven^}> CISC (complex instruction set computer) processors have millions and millions of machine language instructions
19:31:27 <{^Raven^}> RISC processors have a small core highly useful instructions
19:31:50 <calamari> thanks for the translattion ;)
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: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:34:17 <Keymaker> found it! "Office of the Immigration Services Commissioner OISC."
19:34:46 <calamari> http://en.wikipedia.org/wiki/OISC
19:34:59 <Keymaker> this is the oisc i've read about
19:35:32 <Keymaker> all i'm wondering is how to make it esoteric programming language ;)
19:35:57 <lament> it already is an esoteric programming language
19:36:16 <{^Raven^}> source code is available from the main page
19:38:15 <calamari> wonder how much it'd be to translate bf -> oisc
19:38:41 <calamari> theres a project for you, Keymaker .. hehe
19:39:03 <Keymaker> sorry, i'm not much into that kind of projects
19:40:30 <calamari> afk.. my code needs pest control
19:41:08 <lament> ESR is the OISC maintainer
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: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:51:09 <lament> http://www.catb.org/~esr/retro/oic.tgz
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:52:22 <lament> calamari: do you want control over the brainfuck golf page?
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: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:22 <lament> brainfuck golf is dead
19:54:34 <lament> the project is simply called 'brainfuck' so you could put anything there
19:54:52 <lament> i'm not sure why they allowed me to name the project that :)
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:58:12 <{^Raven^}> does anyone here have MacOS X and would be willing/able to compile a BF interpreter (in C) for me?
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: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: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:04:11 <lament> strip: unrecognized option: --strip-all
20:04:43 <lament> other than that, the interpreter seems to work fine
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: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: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:18 <lament> just don't start a war there or anything
20:25:03 <{^Raven^}> ok, i'm in username is ravenswolf_
20:32:28 -!- cpressey has quit (Read error: 104 (Connection reset by peer)).
20:33:01 -!- cpressey has joined.
20:47:35 <calamari> I can help you.. I just need to set up a couple things with the repository
20:53:55 <calamari> export CVSROOT=:ext:ravenswolf_@cvs.sourceforge.net:/cvsroot/brainfuck
20:54:19 <calamari> then do "cvs checkout bfbasic"
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: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: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: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:29:37 <{^Raven^}> changed that one, must remember who has the caret
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:50:21 <calamari> raven: testing out the new variable optimizer now
22:53:05 <calamari> been running about 5 minutes now, I have it printing updates as it finds a better combo
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: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:15:27 <calamari> whoa, that was a big drop.. might be a while yet
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:21:42 <calamari> yep, t0 t1, are right at the start
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: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: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: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:58:26 -!- calamari_ has joined.
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:12:06 <{^Raven^}> maybe you could exclude the system variables from the sort
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: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: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:09 -!- Keymaker has quit.
17:59:30 -!- calamari has joined.
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:25:14 <{^Raven^}> is this the print decimal value of cell in BF?
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:55 <calamari> 65535/10=6553/10=655/10=65/10=6/10=0 .. divided 5 times
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:42:18 <{^Raven^}> if num - divisor > 0 num -= divisor
19:43:10 <calamari> it could really be written in bfbasic code, couldn't it? :)
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:23 <calamari> Doing it in forward order prevents any assumptions
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: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:10:47 <calamari> yeah that works.. divide is still freezing up :(
20:10:57 <calamari> either that or its just really slow
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: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:25:16 <{^Raven^}> ahh, if i sent you the full bftools release just type make :)
20:54:43 <{^Raven^}> creative writing ability is inversely proportional to the amount of programming completed
22:07:53 -!- calamari has quit (Read error: 60 (Operation timed out)).
23:01:43 -!- {^Raven^} has quit ("Leaving").
00:10:57 -!- {^Raven^} has joined.
06:00:54 -!- calamari has joined.
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:43:50 -!- Keymaker has left (?).
21:05:25 -!- Keymaker has joined.
22:43:31 <Keymaker> ah, this one piece of code seems to work
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:45:28 <{^Raven^}> even workarounds for the bug don't work :(
22:46:19 <{^Raven^}> the exact same code works elsewhere :((
22:46:41 <Keymaker> is there something wrong in implementation?
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:55:15 <{^Raven^}> rewriting a big part of the code to see if that helps
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:21 <{^Raven^}> i have two cells overlapping in 2 parts of the program
23:12:59 <{^Raven^}> trying a dummy cell in the right place now
23:26:50 <{^Raven^}> Horrible kludge number 47 fixed it!
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: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:36:45 <Keymaker> now i got my piece of code workin'
00:06:38 -!- Keymaker has left (?).
00:07:10 <arke> damn, i missed keymaker
05:15:11 -!- calamari has joined.
05:35:35 <calamari> hi raven, whatcha doing up so late?
05:36:26 <calamari> do you have irc wake you up or something?
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:08 <calamari> might do a bit more tomorrow, no telling though
05:38:31 <{^Raven^}> have you managed to track down the bugs in the array handling?
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: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: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: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: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:58 <calamari> was going to work on it during spring break, but we worked on bfbasic instead
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: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:58:22 <calamari> would you be willing fto have your game packaged with bfbasic? that'd be really neat :)
05:59:41 <calamari> still figuring out how to navigate the forest, atm.. this is the original <256 label version, though
06:00:16 <{^Raven^}> would you like the most recent development version?
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: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:10:18 <calamari> won't win any competitions, but who cares about all that? all commercialized these days
06:11:01 <calamari> it's a fun game.. you're a good writer
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: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: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:56 <calamari> RETURN: t=gs(gp), if t=0 then goto label1, etc
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:46 <{^Raven^}> worst case scenario: read ahead first and then inline all 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: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:42 <calamari> c can't be completely interpreted by bf without something like pesoix
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: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: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: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: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: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: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:51 <calamari> so you could write the entire webserver, netowrk layer, etc, in bf, given the appropriate in and out to the card ;)
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: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: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.
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.
14:20:00 -!- Keymaker has left (?).
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: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.
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 (?).
03:27:32 -!- calamari has joined.
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: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: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:10:45 -!- baadc0de has left (?).
18:37:02 -!- Keymaker has joined.
19:29:36 -!- lindi- has quit (Read error: 113 (No route to host)).
19:30:44 -!- lindi- has joined.
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.
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: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:50:02 <arke> Keymaker: when is the deadline again
22:50:52 <Keymaker> (or when the first seconds of 16th start the competition is over.. as said in the topic)
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:49 <arke> i dont think my solution will be nearly s good
23:02:37 <Keymaker> but at least you can say you can program something in brainfuck if you can do this ;)
23:03:01 <Keymaker> seriously, this is no easy, this is quite hard task
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. :\
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.
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.
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.
16:24:26 -!- Keymaker has left (?).
01:21:38 -!- heatsink has joined.
03:11:27 -!- matricks has joined.
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:12 <Keymaker> matricks: is that somekind of befunge 93 editor?
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
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
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:40:55 <DMM> Too Much Information
11:41:21 <DMM> is this channel normally more happening at other times of day?
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: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: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: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:29 -!- kma has changed nick to matricks.
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!").
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:04:58 <matricks> I'm thinking of implementing Funge-98
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:06:02 <Keymaker> hmmm.. it just doesn't feel right
14:06:31 <matricks> it's alot of trouble storing larger values now
14:07:06 <Keymaker> (in brainfuck **love** not at all)
14:08:11 <matricks> I like befunge more then brainfuck
14:08:32 <Tefad> cell can be unicode now : P
14:08:45 <Tefad> is befunge the one with a limited program array?
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: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: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:49 -!- Keymaker has quit.
18:25:04 -!- Keymaker has joined.
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.
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.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
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: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:42:31 <Keymaker> something really strange is happening.
17:42:24 -!- Keymaker has left (?).