01:47:28 -!- kipple has left (?). 02:30:23 -!- heatsink has joined. 03:27:49 -!- ChanServ has quit (Killed by alindeman ()). 03:27:50 -!- ChanServ has joined. 03:27:50 -!- irc.freenode.net has set channel mode: +o ChanServ. 03:52:28 -!- calamari has joined. 03:52:34 hi 03:52:49 <{^Raven^}> hullo 03:53:00 how's it going? 03:53:46 <{^Raven^}> got some custom wrappers up and running for EsoAPI and Easel 03:53:54 cool 03:54:01 that was fast! 03:54:10 <{^Raven^}> your textgen.java came in handy 03:54:21 yeah, doesn't it? :) 03:54:31 <{^Raven^}> the PESOIX interface is pretty much complete, EsoAPI emulation is ready 03:54:44 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 it gets beaten by other algorithms in certain cases 03:55:57 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 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 it seems like there should be a mathematical way to get the same results that it takes textgen so long to find 03:58:28 ahh well :) 03:59:11 <{^Raven^}> http://jonripley.com/easel/api.txt has the current draft API 03:59:37 <{^Raven^}> i'm going to add a bunch of useful mathematical functions that are a bit difficult to do in BF 04:00:41 <{^Raven^}> and it's now 99.999% backwards compaitble, it only breaks on old programs that send the init code as the first output 04:00:54 <{^Raven^}> which is none of them AFAIK 04:02:49 <{^Raven^}> how's BFBasic coming along? 04:02:54 I'd tend toward things that BF could not do on it's own.. seems less like cheating that way :) 04:03:24 coming along? I haven't worked on that code in years :) 04:03:33 <{^Raven^}> i know, the main thing I wanted was file I/O and access to environment variables 04:03:34 <{^Raven^}> :) 04:04:28 another thing lacking is being able to fork 04:04:42 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 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 currently the only way to do it is by emulating the new app with a BFI type wrapper.. very ugly! 04:07:35 <{^Raven^}> the main nightmare is going to be unbuffered input as each system does it differently 04:07:44 yeah 04:08:03 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 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 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 It was just a matter of writing BFASM in very simplistic C code that I could convert to BFASM 04:24:41 <{^Raven^}> I wonder if gcc could be targeed to produce bfasm. That would be interesting but I dread to think though how much code that stdio alone would require. 04:24:56 I originally looked into gcc 04:25:25 I oculdn't figure it out! 04:26:28 although, I think it could be made to generate bfasm code 04:28:45 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 thats okay.. "bf complete" is good enough for me :) 04:30:51 <{^Raven^}> there are too many things that it doesn't seem to make sense to implemrnt 04:30:55 <{^Raven^}> :) Ook! 04:35:31 <{^Raven^}> it should be possible to recompile pure BF into ultra-efficient bytecode for nextgen interpreters 04:37:28 dunno about ultra efficient :) 04:38:11 Hiya 04:38:19 hi arke 04:38:25 <{^Raven^}> hi arke 04:39:12 <{^Raven^}> 75%-90% reduction of code is achievable atm 04:40:32 I wrote a VM for my TI-83 and then I also wrote an optimizing BrainFuck compiler for it 04:40:41 (all of this in TI-BASIC, an esoteric language on its own!) 04:40:56 Did all sorts of optimization 04:41:14 As I thought of more things to optimize, I thought of more raw opcodes for the VM 04:41:33 unfortunately, the calculator went berserk on me and so I lost it 04:41:34 :( 04:41:40 <{^Raven^}> aww that sucks 04:42:00 Yeah 04:42:24 The original one was a direct BF->VM translation, and a simple program would take several minutes 04:42:38 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 Some of the opcodes were ADDV (+-), ADDP (<>), JZ ([), JNZ (]), IN (,), OUT (.) 04:45:30 then I added CLR ([-]) 04:45:55 and I had SET and MOV to and from a temporary VM register 04:46:13 so I had a pattern matching thing (HELL to do in TI-BASIC, took me several hundreds of lines ;)) 04:46:25 which would detect [<+>-] and some variations 04:46:30 and translated that into it 04:46:46 Took me a month of school classes to do this 04:46:46 <{^Raven^}> i have things like, mzero [offset], add [+/- offset,] [#+/- number] 04:46:57 yeah 04:47:02 I was so pissed off when I lost it 04:47:03 :/ 04:47:25 <{^Raven^}> i can imagine 04:48:33 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 sounds like you're on the right track then ;) 04:50:22 :) 04:50:38 Ooh, if I ever get a TI-89 I have to implement it there 04:50:49 becuase it supports subroutines 04:50:53 which would make life SOOOO much easier 04:50:53 :) 04:51:07 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 in TI-BASIC? ;) 04:52:06 that must have been _slow_ 04:52:26 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 so you have to interpret the ascii to know if it printed hello world correctly 04:53:04 hehe 04:53:42 <{^Raven^}> that was over a decade ago 04:53:55 eh 04:53:58 i feel so young 04:53:58 ;) 04:54:27 a decade ago I was playing with QBasc, routinely crashing the beta copy of Windows 95 my dad got with it 04:54:54 yeah.. I hink it was 1996 when I first played with a ti82.. programming it was the reason I failed my hs calc 1 class 04:55:51 <{^Raven^}> i used to hate geography so much my teacher let me go play in the computer room instead 04:56:01 hehe 04:56:05 <{^Raven^}> still passed it somehow tho 04:56:42 <{^Raven^}> those were the days 04:57:06 :) 04:57:10 <{^Raven^}> when an 8Mhz computer was considered top of the line kit 04:57:34 <{^Raven^}> and i was stuck with a 2Mz machine and a tape deck for my programs 04:57:34 hehe 04:57:44 I remember my dad getting his new computer at the time 04:57:55 program for the 2600, can still enjoy that era 04:58:05 "This is a Pentium 90! This is a HUGE step up from that 486! Can you imagine how smooth Doom would run on this!?) 04:58:13 <{^Raven^}> my college tutor felt so sorry for me he gave me a disk drive :) 04:58:43 <{^Raven^}> i remember you when you had to wait for windows 2.1 to cache the font encoding for each character as you typed it 04:58:57 haha 04:59:21 windows? blah.. dos 3.30 is all you need 04:59:42 <{^Raven^}> dos? nah c/pm :) 04:59:56 <{^Raven^}> i'd have loved to be at MIT in the late fifties 05:00:15 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 05:00:25 {^Raven^}: yeah :) 05:00:35 and now I leave, installing new linux, yay 05:00:37 * arke afk 05:00:48 <{^Raven^}> when you would just rewire the processor on when the techno-mages weren't looking to add a new instruction 05:01:50 <{^Raven^}> i can't imagine writing programs using a hole punch these days 05:03:03 weren't the holes square? 05:03:30 <{^Raven^}> before my time afaik 05:04:06 OH NO, HANGING CHADS CAUSED THE PRESIDENT TO GET -(2^12) VOTES! 05:04:30 http://www.cs.uiowa.edu/~jones/cards/collection/i-program.html 05:05:50 while some say that many voters intended to cast -256 votes for the president, others say that confusing punch cards are to blame for the error. 05:08:04 <{^Raven^}> -(2^12) is -4096 so definately some computing errors there 05:08:57 <{^Raven^}> reminds me when i spent an hour trying to convince an information technology college tutor that 1Kb is 1024 bytes and not 1000 05:09:30 <{^Raven^}> 5:10 am and time for bed methinks 05:09:34 heh 05:09:37 goodnight. 05:09:41 <{^Raven^}> especially when i have to be up in 2 hours 05:09:56 well, it'll be easier to get up than if you had gotten five hours of sleep. 05:10:02 <{^Raven^}> night heatsink, calamari 05:10:15 <{^Raven^}> i prefer 9-5 the wrong way round 05:10:21 ^_^ 05:11:17 <{^Raven^}> but as a programmer 24hr takeaway and inreavenous coffee and just taking occasional naps on a 48hr+/-RND(48hr) cycle would suit me 05:11:41 cya raven 05:11:46 <{^Raven^}> nite 05:11:56 * {^Raven^} is in bed 06:53:11 -!- calamari has quit (Read error: 145 (Connection timed out)). 06:57:56 -!- heatsink has quit ("Leaving"). 07:39:51 -!- calamari has joined. 07:45:29 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:56:01 -!- kipple has joined. 12:44:47 -!- mtve has quit (Read error: 110 (Connection timed out)). 13:54:12 -!- mtve has joined. 17:33:53 -!- Keymaker has joined. 17:34:13 stegnography is cool! wow! 18:19:45 The whitespace language is nice for steganography :) 18:19:53 :) 18:21:39 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 (the third version works, but not exactly as supposed to..) 18:26:12 hmm, must go. 18:26:13 -!- Keymaker has quit.