2005-07-01: 00:00:11 maybe a small bit, but I dont think you should. :) 00:00:20 why not... 00:00:30 you will have the special edition 5d 00:00:38 hee hee. 00:00:43 if you said to me where to post the code 00:00:47 i do it now. 00:02:08 <{^Raven^}> hmmm...time-travel maybe possible in hcbf :) 00:02:30 do place like geocities still host files for free? I'm sort of out of that loop. 00:03:15 <{^Raven^}> yeah, you can get free geocities space with a yahoo id, tripod does free hosting 00:03:47 yrz@inverno:~/wrk/eso$ tar cvzf hcbf5d-0.0.1.tar.gz hcbf5d-0.0.1/ 00:03:57 r u happy? 00:04:47 * {^Raven^} is confused 00:04:47 the name does'nt make sense 00:05:00 5dbf should sonds better 00:05:06 but i'm quite drunk. 00:05:16 better if i go sleep. 00:06:29 niyr. 00:06:32 nite. 00:06:35 <{^Raven^}> nite 00:06:40 uhm 00:06:43 no 00:06:52 i gonna shutdown my box 00:07:05 this nighy 00:07:15 it's a... 00:07:22 how do you call... 00:07:24 yes 00:07:25 storm. 00:07:26 :) 00:13:38 -!- yrz\werk has quit (Remote closed the connection). 00:38:16 -!- BigZaphod has quit. 01:17:41 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 01:17:58 -!- comet_11 has joined. 01:29:23 -!- comet_11 has changed nick to CXI. 02:48:09 -!- BigZaphod has joined. 03:12:26 -!- Alf1973 has joined. 03:13:29 -!- Alf1973 has left (?). 03:29:19 <{^Raven^}> nite peeps 03:46:45 -!- calamari has joined. 03:46:51 hi 03:50:05 -!- graue has joined. 03:55:33 hi graue 04:06:55 hello 04:07:21 there are a bunch of cool languages discussed on the mailing list ages ago, of which information does not seem to be available elsewhere 04:08:01 Cliff Biffle's Dumbf*ck seems rather interesting, from http://esoteric.sange.fi/archive/2001-q2-1 04:22:32 -!- calamari has quit ("bbl"). 04:42:45 -!- malaprop has quit ("quit"). 05:48:48 -!- calamari has joined. 07:04:43 -!- calamari has quit ("Leaving"). 07:04:43 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 07:06:58 -!- graue has quit. 07:10:43 has anyone played with this: http://jonripley.com/i-fiction/games/LostKingdomBF.html ? 07:11:34 I am trying to run it in a C BF interpreter, but my cpu is maxed and I've not seen any output for a few minutes now... not sure if it is broke or just still working on working. :) 07:14:12 this interp: http://swapped.cc/bf/ 07:16:34 hmm, okay, maybe that interp is bad. there's one included with the game that seems to run it right away. 07:57:43 use an optimizing compiler 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:16:36 -!- calamari has joined. 08:16:50 hi 08:17:11 raven: I've made 1.42.. but "print var" doesn't seem to work right.. it's always printing 0 08:20:50 anyhow.. I need to go to bed.. I'll commit what I have, for now 08:23:27 committed.. 'night 08:23:29 -!- calamari has quit ("Leaving"). 08:50:13 -!- lament has quit (Remote closed the connection). 08:50:15 -!- lament has joined. 08:55:26 -!- tokigun has joined. 08:55:39 hello 09:04:33 -!- yrz\werk has joined. 10:32:09 -!- yrz\werk has quit (Read error: 145 (Connection timed out)). 10:41:48 -!- yrz\werk has joined. 11:21:06 <{^Raven^}> BigZaphod; Lost Kingdom makes two assumptions about the interpreter, cells wrap on underflow/overflow and cells are 8 bits wide 13:02:26 -!- jix has joined. 13:02:39 moin 13:02:53 <{^Raven^}> hullo 13:06:19 hello 13:27:32 -!- malaprop has joined. 13:59:25 <{^Raven^}> calamari: Can you give me some example code that does not work? the only thing I have found is an issue with bfdebug and -ddd 14:17:10 -!- graue has joined. 15:19:23 -!- fungebob has joined. 15:19:54 hidy ho everybody 15:22:28 -!- jimbo0000 has quit (Read error: 145 (Connection timed out)). 15:30:42 hello, fungebob 15:30:53 <{^Raven^}> hullo 15:35:07 Hey i got a question about funge if anyones interested in answering: what happens if you 'g' from a blank cell? or if you 'p' a non-funge command to a cell and the pc passes over it? 16:05:49 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 16:10:00 -!- jix has quit ("This computer has gone to sleep"). 16:27:37 'g' from blank is 32, executing a noncommand is noop afair. 16:28:17 good befunge interpreter should have at least two modes i think - strict and not strict. 16:28:49 in strict every doubtful action should complain, in non-strict it should be some reasonable defaults. 16:30:44 that sounds very sensible - what do you think about blocking on input? should stdin be empty when its time to read, should it have another mode to set whether a zero is pushed, nothing pushed, or program waits for input? 16:31:39 it should wait, that's common for console esolanguages. 16:32:32 nothing pushes is not convenient. pushing zero means binary zero on input is not possible. 16:33:12 well, some "action" mode with pushing some special char (not 0-255, and not EOF) is reasonable too. 16:34:01 hmm so i guess these complaints might warrant a stderr stream 16:34:34 yep, thus non-strict would be just 2>/dev/null 16:36:38 there was a general policy on how esolang should iteract with outside world somewhere long ego. 16:44:08 would you say that the general popularity of esolang has gone up or down in recent years? 16:45:59 it looks like it goes down for me, or maybe just community became too dispersed 16:46:46 there is also quite less place left for simple conceptions, basically all of them are already explored. 16:56:49 I'm still not entirely sure what it is i find so attractive about esolang - it's definitely off the beaten path 16:57:10 how many people in the history of the world would you say have ever written a funge program? 17:35:46 -!- BigZaphod has quit. 17:41:36 sorry, was travelling to home. hard to say, maybe around hundred of them have published their codes. maybe a thousand total. 18:07:53 I think I deserve the "idiot of the day" award, or something 18:09:01 my "proof" with Archway is totally invalid, because the method for translating Brainfuck programs to Archway doesn't work 18:09:11 http://www.oceanbase.org/graue/archway/archway.txt <-- what's wrong with these examples? 18:09:48 but maybe Archway is a marginally interesting language anyway (I just implemented it) 18:09:54 cat looks like this: 18:09:59 /.\ 18:10:02 \,/ 18:13:34 -!- BigZaphod has joined. 18:17:52 hello, BigZaphod 18:31:28 <{^Raven^}> hi BigZaphod 18:31:44 graue: really? it seemed valid... although there was one small hole that i noticed, that is, Archway does allow paths to cross (the method of translating Brainfuck to it doesn't use it though) 18:31:49 like: 18:31:50 /\ 18:31:54 \ <--- 18:31:58 | 18:32:00 v 18:32:19 the path goes left, up, right, down (and crosses itself there) 18:32:49 not hard to 'fix' by adding two 'instructions' which act like 'pipes' and only allow either up-down motion or side-to-side 18:33:24 anyway, i don't think there's any serious doubt, even though maybe none of the proofs are 100% watertight... 18:37:51 graue: actually, where is the example of translating brainfuck to archway? i can't find it anymore... 18:44:25 oi, lots of wiki changes! 18:50:09 ok, so most of them are m 18:50:56 oh, I removed the examples because they were bogus 18:51:28 for some reason I thought that a[bc]d could be translated to 18:51:29 /bc\ 18:51:29 a/ \d 18:52:31 I'm trying to convert a brainfuck program (dbc's rot13) to archway, but it seems to require extra throwaway cells to make the loops work right 18:52:42 ahhh 18:52:46 well, it's close 18:52:55 you need some sort of conditional version of \ and / 18:53:13 they are conditional 18:53:16 you mean, unconditional? 18:53:54 hm, yes... i guess what i mean is you probably need either 4 instructions, or more-complicated semantics 18:56:27 it can be done with ^ as an unconditional "start going up", % as "move one cell to the right and then go down" and & as "if current cell is 1 go left else go right," as follows: 18:56:28 % 18:56:28 b 18:56:28 c 18:56:28 a^&d 18:56:48 er, substitute "nonzero" for "1" 18:59:04 and "unconditional" with "conditional" 18:59:06 <{^Raven^}> graue: i see, re cat...on program start we hit a \ and according to the rules, the pointer moves down and outside of the program 18:59:25 {^Raven^}, no, the current cell is 0 at that point, so it's a nop 19:00:01 <{^Raven^}> graue: ahh, yes 19:00:29 in the ^%& language, a[b[c]d]e becomes 19:00:29 % 19:00:29 c 19:00:29 &b^&d% 19:00:29 a^ &e 19:01:46 you can eliminate wire crossing by using = and | as pipes, where if the IP is moving horizontally and hits | or vertically and hits =, the program ends, and if the IP moves into a blank space or anything else the program ends 19:02:17 or rather than the program ending, it could just be an error, with the only valid way for the program to end being to go off the right of the starting row 19:03:42 so now we'd have 19:03:43 -!- calamari has joined. 19:03:43 % 19:03:43 |c 19:03:43 &b^&d% 19:03:43 a^=====&e 19:03:54 graue: sorry ;) 19:04:54 oh cool, thought I interrupted the middle of a program.. guess not 19:05:11 nope 19:05:14 graue: you're right, only 3 are needed... very, uh, "pretty" example code, btw :) 19:05:19 thank you 19:07:33 <{^Raven^}> hi calamari 19:07:35 raven: maybe it's only a bfdebug bug, then? -dd seems to work fine for a different interpreter.. didn't try -dd inside bfdebug 19:07:53 -ddd wasn't working correctly inside bfdebug 19:08:05 but, it can't really be tested outside it, for obvious reasons :) 19:08:05 <{^Raven^}> calamari: i ran a number of small test programs and only -ddd fell over 19:08:33 hmm.. the only real difference is that -ddd doesn't output the > or < 19:08:38 so that's weird 19:10:49 graue: hmmm... what if... make \ work unconditionally right->down, but conditionally left-up... / could be unconditionally both up->right and down->left... ? 19:10:49 <{^Raven^}> calamari: two options: bfdebug works fine and babasic is flawed but seems to work 99% of the time, or bfdebug has an issue with embedded @vars 19:10:49 graue: no wait, n/m 19:12:08 raven: my bet is on a bfdebug problem, since it hasn't been as well tested :) 19:12:34 <{^Raven^}> calamari: -dd + varmap will give us the answer to this 19:12:52 nope.. because bfdebug will really mess up then 19:13:07 it will see the @var's and go there, then do > and < on top of that 19:14:23 perhaps I should require something like $$ that activates the @var's 19:14:42 <{^Raven^}> bfdebug reads @var map, executes code as usual but when encountering an @var in the program it checks the current cell and complains if they do not agree 19:14:59 no, that's bad 19:15:40 It's okay if @var and actual cell don't agree, in certain situations 19:16:06 <{^Raven^}> checking individual array elements would be a problem 19:16:20 ? 19:16:48 <{^Raven^}> but if @myvar is supposed to be in cell 34 and it is referenced while we are on cell 35 that tells us that a misalignment has occured 19:17:12 <{^Raven^}> but ok if you don't think it would work 19:17:31 by the way, cpressey: the pipes (= and |) idea doesn't prevent wirecrossing, because +, -, etc might still be used multiple times 19:17:32 raven: it's fine.. for example, imagine if you did >@myvar 19:18:09 it allows for weird situations to occur, sure.. but some tricker bf code needs it 19:18:27 I am not good at writing tricky bf code, so I can't provide an example :) 19:19:30 could you write me a quick -ddd program? a = 123: print a (that's it).. then I can test from here 19:20:11 <{^Raven^}> sure 19:21:02 I'll be in #flood 19:21:06 -!- calamari has left (?). 19:22:36 -!- calamari has joined. 19:22:39 re's 19:22:56 raven: you can paste it as a private message, I suppose :) ircii doesn't care about flooding :) 19:24:30 <{^Raven^}> (DIM _Q(1)) 19:24:30 <{^Raven^}> (DIM _G(1)) 19:24:30 <{^Raven^}> (DIM _T(1)) 19:24:30 <{^Raven^}> (DIM _0(1)) 19:24:31 <{^Raven^}> (DIM _1(1)) 19:24:34 <{^Raven^}> (DIM _2(1)) 19:24:35 <{^Raven^}> (DIM _3(1)) 19:24:39 <{^Raven^}> (DIM _4(1)) 19:24:41 <{^Raven^}> (DIM _5(1)) 19:24:43 <{^Raven^}> (DIM _6(1)) 19:24:45 <{^Raven^}> (DIM _T0(1)) 19:24:47 <{^Raven^}> (DIM A(1)) 19:24:49 <{^Raven^}> $_Q=0$_G=1$_T=2$_0=3$_1=4$_2=5$_3=6$_4=7$_5=8$_6=9$_T0=10$A=11 19:24:51 <{^Raven^}> (FIRST) 19:24:53 <{^Raven^}> (code) @_G+@_Q+[ 19:24:57 <{^Raven^}> (A=123) 19:25:00 <{^Raven^}> (pre) @_G[@_T[-]+@_G-]@_T[@_G+ 19:25:01 <{^Raven^}> (code) @_T0[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++ 19:25:03 <{^Raven^}> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 19:25:06 <{^Raven^}> ++++++++@A[-]@_T0[@A+@_T0-] 19:25:10 <{^Raven^}> {PRINT} 19:25:11 <{^Raven^}> (code) (PRINT a) 19:25:13 <{^Raven^}> (_T0=A) 19:25:15 <{^Raven^}> @_T0[-]@A[@_T0+@_0+@A-]@_0[@A+@_0-]@_1[-]@_2[-]@_3[-]@_4[-]@_ 19:25:18 <{^Raven^}> T0[@_3+[@_4+@_0+@_3-]@_0[@_3+@_0-]+@_4----------[@_0-@_4[-]]@ 19:25:20 <{^Raven^}> _0[@_2+@_3[-]@_0-]@_2[@_4+@_0+@_2-]@_0[@_2+@_0-]+@_4--------- 19:25:21 <{^Raven^}> -[@_0-@_4[-]]@_0[@_1+@_2[-]@_0-]@_T0-]@_1[@_0++++++++[@_1++++ 19:25:23 <{^Raven^}> ++@_2++++++@_0-]@_1.@_2.[-]@_1[-]]@_2[@_0++++++++[@_2++++++@_ 19:25:25 <{^Raven^}> 0-]@_2.[-]]@_0++++++++[@_3++++++@_0-]@_3.[-]@_0++++++++++.[-] 19:25:27 <{^Raven^}> (END) 19:25:30 <{^Raven^}> (code) @_Q- 19:25:32 <{^Raven^}> (post) @_T-] 19:25:33 <{^Raven^}> (LAST) 19:25:35 <{^Raven^}> (code) @_Q] 19:25:40 <{^Raven^}> hmmm... possible oops there 19:27:31 that will be cool in the log :) 19:28:58 thanks for compiling that for me 19:30:06 <{^Raven^}> no probs, but next time I'll send you a url. Uploading to my web site is a matter of doing cp 19:32:14 oic 19:32:22 graue: argh, you're right. i guess that's one reason why i just tried to eliminate keeping track of any sort of 'direction state' in beturing... 19:35:24 problem found 19:35:52 the line wrapping causes the @ and var to be split in some cases 19:36:03 I need to ignore whitespace, and it should be fixed 19:37:54 yeah.. manually moved the split lines and the program worked fine 19:41:30 <{^Raven^}> i'll do some more tests to confirm that 19:41:33 <{^Raven^}> bbl. food 19:48:56 -!- graue has quit. 19:49:36 -!- graue has joined. 19:55:27 I don't think Archway is possible to write anything nontrivial in 19:55:46 maybe I'm missing something, though 19:57:25 brb 19:57:27 -!- calamari has quit ("Leaving"). 19:58:15 -!- calamari has joined. 19:58:25 it seems impossible, when having looped, and having the same position and direction as at an earlier time, to then do the same thing regardless of whether the last / or \ you hit was ignored or turned on 19:58:57 raven: http://kidsquid.com/programs/bf I've put 1.21 up .. I was really working on 1.30 at home, but this will will for now :) 19:58:59 if it is possible to compute in Archway, it at least isn't easy to convert Brainfuck programs 19:59:17 will ->work 19:59:33 this work work for now? 20:01:07 graue: some langs repeat a word for plural, so you could say work work -> works 20:01:12 :P 20:01:32 that works 20:03:16 I think I'll go get some food myself.. afk 20:03:34 my conclusion is that Archway is unusable for computation; I can't even write [-] in it 20:06:11 graue: i still think it deserves a mention on the wire-crossing page, because it was the inspiration for Braktif (that is, the structure of the programs; at the time i didn't realize the flaw) 20:07:09 anyway i'll work it in when i mention (and add an entry for) Braktif 20:08:57 okay 20:13:47 -!- yrz\werk_ has joined. 20:18:14 <{^Raven^}> calamari: have a good example of -ddd strangeness for you 20:21:28 -!- yrz\werk has quit (Client Quit). 20:22:23 graue: what's wrong with this archway code? 20:22:33 wait.. it isn't going to paste here very well.. :) 20:22:48 I try anyway. 20:22:48 /\ 20:22:48 -/ 20:22:49 ++++/ 20:23:29 the two lines at the top should left-aline with the bottom slash. 20:23:48 aline = align 20:24:15 when I try to run it, the archway interp just returns like it didn't do anything. I might be missing something. 20:24:34 raven: @_0-@_T0[@_0-@_T0-]@_0[@_T0+@_0-]@_T0[@_L1+@_G-@_T0[-]] 20:24:41 raven: notice the @G ? 20:24:47 err @_G 20:25:08 is that in the not function? 20:25:57 raven: (_T0=NOT(_T0)) 20:26:14 <{^Raven^}> hmmm... 20:27:24 <{^Raven^}> that does look odd 20:28:20 graue: btw, what's the word on daily wiki dumps ? 20:29:17 <{^Raven^}> the NOT is @_0-@_T0[@_0-@_T0-]@_0[@_T0+@_0-] 20:31:16 so what's that extra junk doing there I wonder 20:33:49 <{^Raven^}> post code for label _F1? 20:34:07 <{^Raven^}> it is in the -dd version and that works perfectly 20:34:24 it appears to be goto code 20:35:00 it would jump to L1 20:35:28 which I guess is _F1 20:35:46 yeah, it is.. :) 20:35:51 <{^Raven^}> it is the end of IF NOT(expr) THEN GOTO _F1 20:36:44 <{^Raven^}> it's just that the -ddd version here displays 06 and terminates in the middle of the program 20:37:04 <{^Raven^}> when it should loop and display 0 to 255 20:37:06 yeah.. it is crashing actually java.lang.ArrayIndexOutOfBoundsException: -1 20:39:19 I see something.. one minute 20:40:31 yep.. another bfdebug bug.. ~ is a valid variable name character 20:40:47 one min.. I'll make 1.22 ;) 20:42:47 BigZaphod, there's no loop there... 20:43:07 you add four, then you get to the / and go up, subtract one, now you have three 20:43:32 then you turn around, subtract one again (now you have two) and go left 20:43:41 continuing off the left side and ending the program 20:43:56 I'm not sure what you're trying to do with that code 20:43:57 oh.. heh. I see.. 20:48:08 graue: btw, what's the word on daily wiki dumps ? 20:48:22 I heard you the first time 20:48:24 just a minute 20:49:07 :) 20:49:15 brb, need to upload 1.22 20:49:16 -!- calamari has quit ("Leaving"). 20:49:52 -!- calamari has joined. 20:50:06 raven: okay.. 1.22 .. :/ 20:50:27 <{^Raven^}> downloaded it 3 mins ago :D 20:50:56 hahaha 20:51:53 <{^Raven^}> has gone through first 4 iterations with no problems or errors 20:52:09 yeah, I let mine get to 10 before I stopped it 20:52:31 I guess it'd be worth it to let it go all the way to 255 20:52:52 okay, it will now get dumped every day at 22:24 or so UTC 20:53:01 you can continue to download the dump at 00:01 UTC for simplicity, of course 20:53:12 graue: excellent.. thanks 20:53:34 <{^Raven^}> graue: it's nice to see the wiki is alive again, thx 20:53:38 bbl.. need food 20:53:46 -!- calamari has quit (Client Quit). 20:54:23 it was never dead, unless you mean the server outage for about an hour that one time 20:58:11 the wiki is great, thanks for it graue. 20:58:56 :) 21:03:30 by the way, should I come up with some way to leave users' preferences, email addresses, passwords etc out of the database dump? 21:03:59 I would prefer password wasn't in the dump, but email and such I don't care about. 21:04:14 well, it's hashed 21:04:31 but if your password is (e.g.) "corn" it can be cracked easily 21:04:50 hey, how'd you know?! 21:04:53 ;) 21:05:01 the reason I haven't tried to do that, is I thought someone might want to set up an exact copy of the wiki, user accounts and all 21:05:20 That would be valuable, should you get hit by a bus. 21:05:23 probably not a great idea, though 21:05:31 true. 21:05:53 gotta run, l8r all 21:06:03 -!- BigZaphod has quit. 21:07:26 <{^Raven^}> how about a .htaccess to prevent casual downloading 21:07:40 huh? 21:07:47 everyone would have to ask me for a password then? 21:08:09 <{^Raven^}> no set one master password which is given privately to known people 21:08:53 <{^Raven^}> and if wget (or similiar) is set ot download the backup each day it can automatically provide the user/pass pair 21:09:11 all it would take then is one person to be careless with the password, and the password may as well not exist 21:09:36 And given that the dump has had hashed passwords in it for the last few weeks, that horse has already left the barn. 21:10:00 those passwords can be changed 21:16:00 ok, done, mw_user/mw_user_newtalk/mw_user_rights are no longer being dumped 21:16:57 -!- sergacity has quit. 21:17:27 -!- jix has joined. 21:18:04 moin moin 21:18:25 hello jix 21:19:09 i just noted that my wiki backup cron entry wasn't working 21:20:06 yeah, it seems to have a strange schedule or something 21:20:28 I just updated the dump now, and also it will now update daily, due to calamari's request 21:20:43 the 2 files are manual backups (for testing the commandline) 21:20:45 but you can grab it only once a week if that's all you feel like doing 21:20:49 I see 21:21:14 my cron entry for performing the backup didn't work at first because I didn't realize all the filenames had to be absolute 21:21:29 I couldn't run ~/svnup.sh, I had to run /home/myusername/svnup.sh 21:21:42 i mean, dbdump.sh, though. svnup was a different cron entry 21:21:54 i'm using a date command for generating the path 21:22:02 and insert it into the wget command 21:22:13 * jix likes oneliners 21:22:27 my .sh file is only one line if you don't count "#!/bin/sh" 21:22:34 it was just easier to edit as a separate file 21:29:18 I wonder how hard it is to make a Turing-complete language with 30 instructions (none of which have explicit arguments), that loses its Turing completeness as soon as any one of the 30 is taken away 21:29:24 sort of the opposite of a Turing tarpit 21:30:48 hmmmm 21:30:58 i think it depends on how contrived you let it be 21:32:13 you could have 22 different 'nop' instructions, one instruction that is 'increment iff all 22 different nop instructions have already been executed at least once', and the other 7 brainfuck instructions 21:32:23 that;s downright pathological, though 21:32:49 (i've been thinking of too many pathological languages lately, sorry ;) 21:32:56 you could just use decrement 255 times instead 21:33:09 ok, but you get the idea :) 21:33:10 i have a new idea for a joke language 21:34:06 the nop instructions would clearly modify some sort of global state 21:34:22 how about ruling out instructions that do that? 21:34:55 except, even "where the memory pointer points" and "where the IP is" are global state, so a better definition is needed 21:35:35 the instructions behavior may not depend on the global state 21:36:05 wouldn't brainfuck be in violation of that? 21:36:11 + and - depend on where the memory pointer is 21:36:21 but the behavior is always the same 21:36:25 increment/decrement by one 21:36:39 i don't think you can avoid that... you can rule out global state whose only affect is to allow other instructions to be executed, maybe 21:37:28 er... i mean rule out instruction that affect some state that only affects whether other instructions can be used 21:38:23 or maybe i meant the first thing. anyway, it's pretty clear when it's being 'artifical' and when it's fairly natural, even without a strict definition... and natural would be far more interesting 21:38:23 that's more like it, yes 21:51:02 i've always wanted to design a language where each instruction does an unreasonably large amount of stuff (like "increment register a and decrement register b and push contents of register c onto the stack and zero out register d and jump forward two intructions if d was non-zero before we zeroed it") 21:51:23 the right combination of those might require 30+ instructions just to cancel each other out to get something useful done :) 21:51:55 yes, that would be fun 21:51:56 but the trick is combining them and making sure _all_ instructions do lots of stuff (no fair having a few instructions that just do little 'cleanup' things; it'd be too easy) 21:52:38 heh, I think a 2D language with 22.5 degree turns would be fun 21:55:18 a 2d language where movement is based on gravity (with black holes, planets etc..) is fun too 21:59:49 jix: how would that work? movement of a pc? 22:00:38 fungebob: well your pc has a weight.. i didn't say it is possible to programm in such a language.. 22:01:41 are you saying it is impossible? 22:01:54 i don't know 22:02:10 ot: i like the current ruby quiz 22:50:41 -!- jix has quit ("Banned from network"). 23:29:02 -!- jimbo000 has joined. 2005-07-02: 00:04:08 -!- BigZaphod has joined. 00:09:06 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 00:10:03 I think windows should be named an esoteric OS because it is just a pain to use sometimes. 00:10:14 which is why I own a mac. :) 00:10:34 sorry, just venting... I had a failed attempt to make a win2k box dhcp properly. 00:10:38 ugh. 00:26:06 I think it's pretty esoteric how Macs cannot be controlled using the keyboard at all 00:26:54 bah.. that's only a problem if you don't know all the shortcut keys. :) 00:46:38 is 2L a counterexample of the wire crossing problem? 00:56:48 I'm not sure to have understood the problem well 01:05:35 the problem is that languages like Befunge and SNUSP and such seem(ed) need to have a "jump over" instruction somehow 01:12:48 wouldn't a "nop" (space) be enough? 01:13:28 (in the points where the paths cross, that is) 01:16:37 that counts as a wire crossing too 01:18:13 yeah, but no need for # if a space is in the crosspoint 01:19:34 replace "the problem is that" with "roughly stated, the problem is that" 01:22:44 well, part of the state (in the TM/FSA sense) is the PC direction; if a NOP instruction is in the crosspoint then the wires can cross without problems, as long as there's a state that "remembers" the PC direction - that's my opinion at least 02:09:44 I've just written an interpreter for a really esoteric language 02:09:46 I hope it works 02:10:56 what language? 02:24:47 a crazy new one 02:24:56 two-dimensional 02:25:08 45 degree turns 02:30:27 à la Wierd? 02:34:02 no, not like Wierd 02:34:18 just like Befunge or PATH or SNUSP or whatever, but it can move diagonally 02:34:24 and all turns are relative 02:45:04 nice 02:51:25 nite 03:00:17 'nite 03:16:17 -!- puzzlet_ has changed nick to puzzlet. 04:12:56 -!- malaprop has quit ("quit"). 07:24:55 I've released a new two-dimensional language, ADJUST 07:25:02 it is extremely esoteric 07:25:19 look for it at http://www.esolangs.org/files/ in at most eight hours 07:25:24 -!- graue has left (?). 07:28:43 -!- calamari has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:39:31 -!- calamari has quit ("Leaving"). 09:12:06 pgimeno: the problem is not whether wires "can cross without problems", it's simply whether wires must cross at all 09:12:19 afaict 2L is rife with wire (or if you prefer, path) crossings 09:13:39 i have a hard time imagining writing a 2L program without crossing at least once - but that doesn't mean much, since i have a hard time imagining writing *any* 2L program :) 09:14:02 anyway, it's way past my bedtime... good night 09:14:08 nite 09:15:10 so the problem is to build a noncrossing program, not to let it cross without problems 09:52:52 -!- jix has joined. 09:53:45 moin 11:21:49 <{^Raven^}> mornin 15:12:47 -!- phos has joined. 15:36:27 * {^Raven^} is watching Live-8 gig in London-UK 17:41:07 -!- sp3tt has joined. 18:51:34 -!- sp3tt_ has joined. 18:55:53 pgimeno: yes... or rather, to find a language where all programs are non-crossing (or prove that there isn't one) 18:55:58 for some definition of non-crossing 18:56:21 which seems to be the real sticking point... it's hard to define how programs should be represented by graphs 18:57:03 -!- sp3tt has quit (Nick collision from services.). 18:57:19 -!- sp3tt_ has changed nick to sp3tt. 18:57:51 anyway, ... i just found this, somewhat randomly: 18:57:54 http://www.absoluteastronomy.com/encyclopedia/L/Li/List_of_esoteric_programming_languages.htm 18:58:01 lists several that i've never heard of 19:17:40 sup 19:25:30 -!- yrz\werk_ has quit (Client Quit). 19:26:53 -!- yrz\werk has joined. 19:45:30 oh, i see.. it's just a copy of wikipedia's list... (strangely large list they have considering they don't consider half of them encylopedic enough...) 19:48:30 i'd like to see a voting system on the esolang wiki btw 19:49:08 something like, everyone with a user page is allowed to put either a '+' or a '-' next to each entry on the language list 19:49:16 but only one, and it must have a link to the user page 19:50:12 although... i'm not sure 19:50:52 maybe it would be better to just try to get everything, no matter how bad 19:50:56 but i'm not sure where it stops 19:51:12 like, is Joy esoteric? 19:51:35 or is it too useful? 19:51:57 for that matter, is ALPACA really esoteric? 19:52:34 anyway, someone wake up graue... i want to know why he deleted 23. 20:01:39 bah, the wiki's gone down anyway :( 20:04:13 n/m, back up... maybe it's just under load 20:05:49 -!- J|x has joined. 20:16:04 -!- jix has quit (Read error: 110 (Connection timed out)). 20:23:41 -!- J|x has changed nick to jix. 20:29:17 -!- sp3tt_ has joined. 20:37:36 -!- sp3tt has quit (Read error: 145 (Connection timed out)). 20:57:21 -!- graue has joined. 21:13:31 hello 21:23:22 cpressey: when I started the esowiki in April, I originally intended to copy over the esolang content from Wikipedia 21:23:48 I got about half through with that before deciding it was a mess and it would be best to start over, so I deleted everything 21:24:11 no one has gotten around to re-adding 23 21:39:17 -!- sp3tt__ has joined. 21:39:25 -!- sp3tt__ has changed nick to sp3tt. 21:53:58 graue: ok, i was about to re-add it... i'll do that, then 21:56:49 -!- sp3tt_ has quit (Read error: 110 (Connection timed out)). 22:15:16 -!- sp3tt__ has joined. 22:24:27 hrm. there is sort of a band between esoteric and joke language... sort of an "I DARE you to implement this"...: *W, SARTRE, Magenta, Tamerlane, TURKEY BOMB, probably others... they could be jokes, or esolangs, depending on the weather... wonder if they deserve their own category... 22:30:54 -!- sp3tt has quit (Read error: 110 (Connection timed out)). 22:42:31 cpressey: I guess a SMITH variant going in spirals can be a TC 2D language 22:47:18 TC noncrossing 2D language, I mean 22:47:21 -!- sp3tt__ has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"). 22:47:36 (but maybe I'm still misunderstanding something) 22:49:10 hey pgimeno, you looked at ADJUST yet? 22:56:24 -!- phos has quit (Read error: 110 (Connection timed out)). 23:02:25 -!- Kmkr has joined. 23:02:31 'ello 23:07:46 graue: not yet 23:07:47 hgi Kmkr 23:07:49 hi 23:08:27 graue: link? 23:19:12 hi 23:19:41 pgimeno: it's quite possible. cellular automata look like good leads... 23:19:53 * Kmkr reads about adjust 23:21:35 sounds interesting this far.. 23:23:53 aargh! 23:26:54 this language is evil 23:31:54 -!- yrz\werk_ has joined. 23:33:38 pgimeno, link is: http://www.esolangs.org/files/adjust/ 23:34:43 Kmkr, writing anything in it? 23:37:47 one trick I discovered that was not intentional, is that you can access the 2, 3, and 5 commands by themselves using 2 (2*5*5), K (3*5*5) and } (5*5*5), since applying 5 twice is a nop 23:39:12 -!- yrz\werk has quit (Client Quit). 23:47:57 nope 23:48:01 but perhaps sometime 23:48:19 that's cool, i was wondering how to do that 23:48:20 :) 23:49:07 you were supposed to have to do other stuff too and just deal with the side effects 23:49:20 yeah 23:49:23 but it turned out so confusing to program in that I think the 2K} wimpmode is a good thing 23:49:32 yep 23:52:05 "Push the accelerator's value" 23:52:10 you probably mean accumulator there 23:52:51 probably 23:53:59 "We consider bits in a byte to be numbered from 0 to 7, with 0 being the least significant." 23:54:13 does this mean 00000001 would be one or vice versa? 23:54:26 i've never understood what means least significant 23:55:03 Kmkr: that would be 0 then 23:55:05 the 1 bit is least significant, then the 2 bit, then the 4 bit etc 23:55:21 or on this case, 0th bit :) 23:55:22 in 00000001, the bit that is on is bit 0, yes 23:55:43 -!- heatsink has joined. 23:57:22 ah ok 2005-07-03: 00:05:30 who's first to write 99bob in this language? :) 00:05:42 you? ;) 00:05:55 i hope not! :p 00:15:09 if there is space before instruction, do i use '!'? like for example 00:15:11 !!!!B 00:20:14 it could provide interesting results if a competition was held in this language.. for example, "write the shortest program to print out 'Hello, I'm some data..' to win!" 00:20:43 what do you mean if there's space before an instruction? 00:20:56 i mean if there is spaces 00:21:00 if a character doesn't get executed it can be anything (exclamation mark, space, etc) 00:21:06 ah ok then 00:22:57 what means "out of bounds"? 00:23:05 the interpreter doesn't like my code :) 00:23:14 it means your code left the rectangle of code space 00:23:27 the only clean way to exit is a C (command 67) 00:23:44 that i've been trying to.. 00:24:04 there seems to be error somewhere 00:24:25 but, anyways. 00:24:27 i need to go. 00:24:59 i have to wake "early" (8 am) today.. for many days i've slept till 3 pm.. :) 00:25:17 nite 00:25:19 -!- Kmkr has quit ("I've seen this déjà vu before.."). 00:32:58 -!- jix has quit ("Banned from network"). 00:58:07 -!- graue has quit. 03:06:10 -!- graue has joined. 03:47:21 -!- graue_ has joined. 03:55:46 -!- graue has quit (Read error: 145 (Connection timed out)). 03:57:34 -!- graue_ has left (?). 04:02:55 -!- fungebob has quit (Ping timeout: 14400 seconds). 04:47:20 -!- heatsink has quit ("Leaving"). 05:51:12 -!- calamari has joined. 05:51:16 hi 06:17:45 -!- scribble has joined. 06:18:20 -!- scribble has left (?). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:27:45 -!- calamari has quit (Remote closed the connection). 11:13:51 <{^Raven^}> morning 11:29:38 -!- yrz\werk_ has changed nick to yrz\werk. 12:05:03 -!- jix has joined. 14:25:04 -!- yrz\werk has quit (Read error: 145 (Connection timed out)). 14:28:23 -!- yrz\werk has joined. 20:05:45 -!- J|x has joined. 20:15:52 -!- jix has quit (Read error: 110 (Connection timed out)). 20:25:25 I haven't actually read any of this yet, but it looks interesting: http://cs.wellesley.edu/~fturbak/pubs/6821/current/ 20:45:10 -!- J|x has changed nick to jix. 21:04:00 -!- Kmkr has joined. 21:04:08 woah. thanks for that link 21:04:16 really cool book 21:04:32 i'm sure going to read it 21:04:39 it's fairly new book as well 21:43:47 <{^Raven^}> hi keymaker 21:48:35 hi 21:52:35 <{^Raven^}> calamari and I have been working on BFBASIC, new version is available on SF 21:52:46 ah 21:54:06 <{^Raven^}> more stuff coming soon I hope, calamari has written a really nice symbolic debugger in Java for BF 21:54:48 cool 21:56:22 where can i find BFBASIC? 21:57:38 <{^Raven^}> jix: http://cvs.sourceforge.net/viewcvs.py/brainfuck/bfbasic/ 22:01:29 i get a proxy error msg but i don't use a proxy 22:02:03 so get i 22:02:10 (and i don't use proxy) 22:02:45 <{^Raven^}> hmmm... 1 sec... 22:04:00 <{^Raven^}> Temporarily available here: http://jonripley.com/~jon/bfbasic-1.41.zip 22:05:08 i'll need to go 22:05:11 'nite 22:05:14 -!- Kmkr has quit ("I've seen this déjà vu before.."). 22:05:19 <{^Raven^}> nite 22:06:40 -!- jix has quit (Remote closed the connection). 22:06:47 -!- jix has joined. 22:29:58 hmm whirl basic? 22:30:37 <{^Raven^}> Should be possible for any suitably motivated person :) 22:32:13 i'm going to write a whirl-basic 22:34:31 * {^Raven^} tries to imagine the look on BigZaphod's face when he sees the release version :) 22:34:56 hrhr 22:36:02 i'll start with a whirl asm and then a basic=>whirl asm converter 22:37:38 <{^Raven^}> hmmm...With that method you could have inline assembler inside a Whirl BASIC program 22:38:33 * {^Raven^} would love to be able to retarget Small-C to something esoteric 22:39:08 hmm whirl is that whirly i need 3 levels.. basic=>high-level-asm=>low-level-asm(only the whirl instructions)=>whirl 22:39:12 3 steps 22:41:37 but first i need to sleep 22:41:40 g'nite 22:41:44 <{^Raven^}> nite 22:41:57 -!- jix has quit ("WHIRL"). 23:36:55 -!- calamari has joined. 23:38:40 hi 23:39:22 <{^Raven^}> hullo calamari 23:39:40 hi raven 23:43:06 -!- graue has joined. 23:55:56 hi graue 23:56:01 hi calamari 23:56:06 <{^Raven^}> hay graue 23:56:13 hay {^Raven^} 23:56:18 graue: how is it that the dumps seem to be getting smaller, instead of larger? :) 23:56:26 I don't know 23:56:39 need to patent that and sell it ;) 23:56:40 there's a "cache" of some kind in there... 23:56:50 oic 23:56:54 and the old deleted stuff might actually get expunged after a while (I'm not sure about this)... 23:57:01 and I stopped including the user tables 23:57:15 privacy concerns? 23:57:22 security 23:57:25 it contained hashed passwords 23:57:45 oic 23:57:49 which, of course, may be a secure hash, but if your password is an english word or something, that would still be enough to compromise it 2005-07-04: 00:16:06 -!- BigZaphod has quit. 02:15:12 -!- yrz\werk_ has joined. 02:22:35 -!- yrz\werk has quit (Client Quit). 02:30:10 bbl 02:30:11 -!- calamari has quit ("Leaving"). 02:33:55 <{^Raven^}> nite peeps 02:34:03 'nite 02:54:44 -!- calamari has joined. 02:54:46 re's 03:41:40 -!- computergeek has joined. 03:42:13 hello, computergeek 03:42:17 hey all 03:42:57 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 03:45:39 -!- pgimeno has joined. 03:45:40 -!- computergeek has quit (Client Quit). 03:46:32 -!- computergeek has joined. 03:49:00 -!- computergeek has changed nick to anonymous8943698. 03:49:16 -!- anonymous8943698 has changed nick to computergeek6933. 03:54:01 -!- computergeek6933 has quit ("Programming.."). 04:41:10 -!- yojimbo has joined. 04:44:49 -!- yojimbo has left (?). 05:41:26 -!- BigZaphod has joined. 06:26:57 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 06:27:24 -!- CXI has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:44 -!- graue has quit (Remote closed the connection). 08:07:11 -!- graue has joined. 08:26:02 -!- calamari has quit (Read error: 110 (Connection timed out)). 09:40:23 -!- graue has quit. 11:15:10 -!- yrz\werk_ has changed nick to yrz\werk. 11:41:00 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 11:45:32 -!- puzzlet has joined. 12:12:36 -!- jix has joined. 12:13:02 moin 13:39:16 -!- jix has quit ("Banned from network"). 13:52:22 -!- jix has joined. 19:08:39 plopp 20:04:48 -!- J|x has joined. 20:05:22 -!- jix has quit (Nick collision from services.). 20:05:26 -!- J|x has changed nick to jix. 20:08:47 p..LOP 21:26:35 -!- calamari has joined. 21:26:39 hi 21:33:05 I had the chance to work on my game last night.. making some progress! 21:33:55 -!- BigZaphod has quit. 21:49:09 bbl.. gotta go kill some redcoats! 21:49:21 -!- calamari has quit ("<=K"). 21:53:51 -!- deltab has quit (Connection reset by peer). 22:48:11 -!- jix has quit ("Banned from network"). 23:45:35 -!- BigZaphod has joined. 2005-07-05: 00:10:17 -!- BigZaphod has quit. 00:12:26 -!- BigZaphod has joined. 00:19:05 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 00:20:00 -!- CXI has joined. 00:43:35 sweet.. Victor sent me a fixed flash whirl machine. Now 99bob works in it: http://www.bigzaphod.org/whirl/Whirl-1.01.swf 00:44:14 <{^Raven^}> very nice :) 00:45:00 <{^Raven^}> BigZaphod: Did you enjoy playing Lost Kingdom? 00:47:23 {^Raven^}: I haven't had time to really play it yet. I love the idea, though. 00:47:39 when I got it working was right when I had to leave... of course. :) 00:48:55 * {^Raven^} wrote Lost Kingdom :D 00:49:09 sweet! Did not know that. :) 00:49:55 Very impressive. :) 00:50:06 <{^Raven^}> thanks! 00:51:06 <{^Raven^}> The original interpreter you tried uses 32-bit cells internally, so the game would have run incredably slowly 00:52:50 I'm quite impressed it runs as fast as it does considering the level bf operates at in general. 00:53:43 party time for a little while. afk for a bit. 00:53:56 <{^Raven^}> have fun 02:04:50 <{^Raven^}> nite peeps 03:17:06 -!- graue has joined. 04:05:02 -!- graue has left (?). 05:52:36 -!- BigZaphod has quit. 06:11:54 -!- BigZaphod has joined. 06:28:58 -!- BigZaphod has quit. 06:38:43 -!- tokigun has joined. 06:38:54 hello 06:38:56 :) 06:39:35 recently i was finishing some codes... 07:31:20 -!- BigZaphod has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:07:00 -!- calamari has joined. 08:07:03 hi 10:16:46 <{^Raven^}> hullo 11:06:16 -!- cmeme has quit (Read error: 104 (Connection reset by peer)). 11:06:59 -!- cmeme has joined. 11:34:03 -!- calamari has quit ("Leaving"). 12:59:15 -!- tokigun has quit (Read error: 131 (Connection reset by peer)). 12:59:54 -!- tokigun has joined. 13:24:48 -!- malaprop has joined. 15:46:51 -!- comet_11 has joined. 15:47:55 -!- CXI has quit (Success). 16:02:32 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 16:19:38 -!- comet_11 has quit (Read error: 104 (Connection reset by peer)). 16:20:30 -!- comet_11 has joined. 16:51:03 -!- jix has joined. 17:07:26 -!- BigZaphod has quit. 17:24:54 moin 17:38:01 -!- Gibbon has joined. 17:38:22 -!- comet_11 has quit (Read error: 104 (Connection reset by peer)). 18:36:27 -!- calamari has joined. 18:50:48 -!- BigZaphod has joined. 19:25:52 -!- Gibbon has quit (Read error: 104 (Connection reset by peer)). 19:28:18 -!- CXI has joined. 19:41:18 -!- calamari has quit ("Leaving"). 19:41:41 -!- CXI has quit (Read error: 131 (Connection reset by peer)). 19:42:49 -!- comet_11 has joined. 20:05:42 -!- J|x has joined. 20:07:28 -!- yrz\werk_ has joined. 20:13:50 -!- yrz\werk has quit (Read error: 145 (Connection timed out)). 20:15:51 -!- jix has quit (Read error: 110 (Connection timed out)). 20:24:11 -!- yrz\werk has joined. 20:39:28 -!- yrz\werk_ has quit (Client Quit). 20:59:22 -!- J|x has changed nick to jix. 21:29:07 -!- comet_11 has changed nick to CXI. 21:30:26 -!- yrz\werk_ has joined. 21:47:24 -!- yrz\werk has quit (Client Quit). 22:50:29 -!- jix has quit ("Banned from network"). 23:31:42 -!- calamari has joined. 23:31:46 hi 23:51:05 -!- BigZaphod has quit. 2005-07-06: 00:29:55 <{^Raven^}> hullo 00:36:17 <{^Raven^}> calamari: I'm having no luck with the parsing routines to get FOR...STEP recognised :( 00:37:24 <{^Raven^}> calamari: I want to get this working before I tackle SELECT CASE 00:49:32 -!- calamari has quit (Read error: 110 (Connection timed out)). 01:12:44 -!- calamari has joined. 01:12:49 hi 01:13:22 <{^Raven^}> hullo calamari 01:13:36 hi raven 01:14:14 <{^Raven^}> i've been working on my game :) 01:14:22 cool, I have too :) 05:11:23 -!- tokigun has joined. 05:11:32 hello :) 05:26:11 -!- malaprop has quit ("quit"). 05:35:11 -!- calamari_ has joined. 05:45:23 -!- calamari has quit (Read error: 110 (Connection timed out)). 07:58:00 -!- BigZaphod has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:54 there should be a reply about real malbolge "cat", http://lambda-the-ultimate.org/node/view/823 08:23:14 -!- calamari- has joined. 08:41:11 -!- calamari_ has quit (Read error: 110 (Connection timed out)). 08:50:38 -!- BigZaphod has quit. 09:40:11 mtve: I'd reply but I don't se where 09:40:11 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 09:40:34 s/se/see/ 09:41:32 I'm writing the part about practical Malbolge programming 09:41:42 it's getting too long for a language article 09:46:40 -!- calamari- has quit ("night"). 10:14:49 ok, I'm registered and now I'm writing a comment 10:51:38 slide rules are fun. 10:51:54 done 10:52:00 slide rules? 10:56:04 yeah 10:56:58 what do you mean? 11:05:10 i mean they are fun. 11:08:47 oops, I see what you mean... my confusion was similar to the one in the "-You rock! -You rule!" joke that was posted here recently 11:40:34 -!- yrz\werk_ has changed nick to yrz\werk. 12:37:18 -!- jix has joined. 12:40:17 moin 13:02:03 -!- malaprop has joined. 13:17:40 pgimeno: great! 13:18:56 -!- jix has quit (Read error: 104 (Connection reset by peer)). 13:19:26 -!- jix has joined. 13:23:44 thanks for the reference, mtve 13:52:46 -!- sp3tt has joined. 15:31:36 -!- yrz\werk_ has joined. 15:34:00 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 15:47:45 -!- yrz\werk has joined. 15:50:31 -!- jix has quit (Read error: 104 (Connection reset by peer)). 16:01:00 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 16:06:18 -!- jix has joined. 16:09:04 -!- yrz\werk_ has quit (Read error: 110 (Connection timed out)). 16:22:18 -!- BigZaphod has joined. 17:00:21 -!- BigZaphod has quit. 17:07:50 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 17:08:21 -!- CXI has joined. 17:30:52 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 17:35:17 -!- BigZaphod has joined. 17:35:22 -!- yrz\werk has joined. 17:38:06 -!- CXI has quit (Read error: 54 (Connection reset by peer)). 17:39:06 -!- comet_11 has joined. 17:39:26 -!- comet_11 has changed nick to CXI. 19:08:47 -!- comet_11 has joined. 19:09:21 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 19:09:25 -!- comet_11 has changed nick to CXI. 19:45:04 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 19:46:33 -!- CXI has joined. 19:50:53 the wiki seems to be having db problems. 19:52:48 cancel that... :) 20:06:12 -!- J|x has joined. 20:06:46 -!- jix has quit (Nick collision from services.). 20:06:50 -!- J|x has changed nick to jix. 20:11:02 -!- comet_11 has joined. 20:11:49 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 20:58:57 -!- comet_11 has changed nick to CXI. 22:17:42 -!- jix has quit ("Banned from network"). 22:41:18 -!- calamari has joined. 22:41:20 hi 22:41:26 hey 22:41:43 hi zaphod, how are you? 22:41:54 doing good, you? 22:42:05 little tired, but okay :) 22:45:02 pgimeno: http://kidsquid.com/misc/sliderule.rtf <-- my slide rule contribution ;) 22:46:05 freaky, I was just reading about slide rules on wikipedia yesterday. 22:46:19 * BigZaphod has never used one. 22:46:26 interesting.. fits into one page in ms word.. ahh well, just shrink the font a little for linux ;) 22:46:44 zaphod: you should get one off ebay.. they are not expensive 22:46:59 calamari: I was thinking about it... 22:47:00 it was a lot of fun learning how to use it 22:48:28 pretty neat how many computations even a simple 'rule can do.. mine is only signle sided 22:48:40 calamari: nice! 22:49:34 pgimeno: thanks.. spent way too many hours making that thing :) 22:51:35 hehe, that's what an esoteric programmer is expected to do isn't it? 23:09:33 bbl.. :) 23:09:34 -!- calamari has quit ("Leaving"). 23:19:29 i have a 25 cm slide rule from russia 23:20:42 logarithmic scales to 10, 100 and 100, log-log scales to e and to 20000, sine scale, tangent scale, sine/tangent scale, reverse log scale. 23:23:35 not superb, but still nice 23:23:43 made in 1969 23:59:25 lament: why? 2005-07-07: 00:07:58 ? 00:59:58 -!- BigZaphod has quit. 01:01:55 -!- calamari has joined. 01:02:33 hi 01:31:25 bbl 01:31:27 -!- calamari has quit ("Leaving"). 03:04:02 pgimeno: <> 03:04:08 (re Malbolge programming page) 04:02:46 -!- BigZaphod has joined. 04:45:45 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 05:00:07 -!- GregorR has joined. 05:09:14 -!- pgimeno has joined. 05:22:01 -!- calamari has joined. 05:22:05 hi 05:22:10 -!- malaprop has left (?). 06:12:00 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 06:28:08 -!- fizzie has quit (Read error: 104 (Connection reset by peer)). 07:05:13 -!- pgimeno has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:26:00 cpressey: thanks but it's lscheffer's merit mostly, I just walked the way he opened 09:40:30 -!- calamari has quit (Read error: 110 (Connection timed out)). 10:49:48 -!- puzzlet has quit (Client Quit). 11:25:36 <{^Raven^}> six london underground stations and at least 3 busses have been bombed 11:40:31 yuck 11:41:01 I'm so sorry, Raven 11:44:20 are you in London city? 11:44:31 <{^Raven^}> nope, Sheffield 11:49:02 -!- jix has joined. 11:49:37 moin 12:57:26 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 12:58:49 -!- CXI has joined. 13:01:31 -!- malaprop has joined. 14:38:15 -!- jix has quit ("This computer has gone to sleep"). 14:38:28 <{^Raven^}> calamari: Got it working :D 15:20:00 -!- jix has joined. 16:13:24 -!- kipple has joined. 16:24:28 -!- fungebob has joined. 16:37:13 -!- puzzlet has joined. 17:04:58 -!- BigZaphod has quit. 17:39:13 -!- BigZaphod has joined. 18:04:44 -!- yrz\werk_ has joined. 18:11:01 <{^Raven^}> calamari: Good news! :-)# 18:16:53 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 18:23:51 I think this list is too short: http://www.stacken.kth.se/~foo/rpn/ 20:06:02 -!- J|x has joined. 20:11:27 -!- jix has quit (Nick collision from services.). 20:11:29 -!- J|x has changed nick to jix. 20:18:55 -!- BigZaphod has quit. 20:22:01 -!- BigZaphod has joined. 22:14:05 -!- fungebob has quit ("Today is a good day to chat."). 22:22:38 -!- fungebob has joined. 22:30:27 hey all, new flunger is now online at http://jimbomania.com/code/flunger.html 22:30:45 source is available for anyone who has flash, and a bare actionscript file if not 22:32:30 -!- fungebob has changed nick to fungebob-away. 22:34:13 fungebob-away: when you click execute it should have a starting speed and not be off.. that's sort of confusing initially, I think. but that's just me. 22:38:07 i'm listening to a brainfuck program calculating all prime numbers <=3 22:38:21 listening?? 22:38:29 yes 22:38:43 i modified the choon wave generator 22:39:06 wrote a bf=>c converter that outputs the current memval to stderr after each instructions 22:39:23 and now i have a 3 min wave file for prime numbers <=3 22:39:34 haha 22:43:04 sound: http://www.harderweb.de/jix/out.mp3 22:43:12 program: http://daniel.lorch.cc/projects/brainfuck/php-brainfuck-1.01/examples/prime.phps 22:43:16 input: "3\n" 22:45:11 nite 22:46:03 nite 22:46:19 -!- jix has quit ("Banned from network"). 23:42:52 -!- BigZaphod has quit. 2005-07-08: 00:14:05 -!- fungebob has joined. 00:17:28 -!- BigZaphod has joined. 00:29:40 -!- kipple_ has joined. 00:29:40 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 00:42:49 -!- kipple_ has quit (Read error: 104 (Connection reset by peer)). 00:49:44 -!- kipple_ has joined. 01:00:40 * {^Raven^} grins... 03:27:50 -!- BigZapho1 has joined. 03:27:50 -!- BigZaphod has quit (Read error: 104 (Connection reset by peer)). 03:28:02 -!- BigZapho1 has changed nick to BigZaphod. 03:45:59 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 04:10:41 -!- graue has joined. 04:13:21 hello 04:54:44 -!- tokigun has joined. 04:55:03 hello 05:02:11 -!- fungebob has quit. 05:21:14 -!- graue has left (?). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:59:46 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 11:02:13 -!- kipple_ has joined. 11:49:07 -!- {^Raven^} has quit (Remote closed the connection). 11:52:02 -!- tokigun has joined. 11:52:12 hello 12:33:40 -!- jix has joined. 12:34:05 moin 13:39:24 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 13:39:27 -!- tokigun_ has joined. 13:39:29 -!- tokigun_ has changed nick to tokigun. 14:03:20 -!- {^Raven^} has joined. 14:05:20 -!- yrz\werk_ has quit (Read error: 104 (Connection reset by peer)). 14:05:54 -!- yrz\werk has joined. 17:14:56 -!- BigZaphod has quit. 17:23:50 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 17:32:33 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 17:33:22 -!- puzzlet has joined. 17:56:38 -!- BigZaphod has joined. 18:16:34 -!- rot1 has joined. 18:27:36 -!- jix has quit (brown.freenode.net irc.freenode.net). 18:27:36 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 18:29:18 -!- jix has joined. 18:29:18 -!- pgimeno has joined. 18:29:23 -!- jix has quit ("Banned from network"). 18:29:23 -!- jix has joined. 18:36:24 -!- jix has quit (brown.freenode.net irc.freenode.net). 18:36:24 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 18:36:50 -!- jix has joined. 18:36:50 -!- pgimeno has joined. 20:00:55 -!- Kmkr has joined. 20:01:18 'ello 20:03:49 grh 20:03:55 nothing but spam 20:04:30 yep 20:04:48 :) 20:04:57 i mean in my inbox 20:05:08 yep :D 20:05:17 "But I don't like spam!" 20:06:00 this is probably some monty python stuff that i don't know how to continue.. or? :) 20:06:17 -!- J|x has joined. 20:06:32 monty python, yes.. but I think it pretty much speaks for itself and need not be continued. :) 20:06:55 -!- jix has quit (Nick collision from services.). 20:06:57 -!- J|x has changed nick to jix. 20:09:05 :) 20:13:14 neat cellular automata-type test environment: http://ccl.northwestern.edu/netlogo/ 20:15:30 i'll try it at home 20:15:36 (in ~3 weeks) 20:22:11 -!- fungebob-away has changed nick to fungebob. 20:22:31 Hey fungers, what happens if you attempt a p with a negative address in funge-93? 20:22:52 add 80 to x or 25 to y to wrap it around? should a strict mode complain about this? 20:24:08 fungebob: it's undefined 20:24:59 hmmm undefined eh? same thing for addresses greater than 80 and 25? 20:25:09 of course. 20:32:05 fungebob: greater than 79 and 24, actually :) 20:36:18 ah, so true:) how about division and remainders? im reading http://www.phlamethrower.co.uk/befunge/index.php#files 20:37:37 i bet they work the same as in C :) 20:37:44 *cough* i wonder why *cough* 20:38:18 are signed cells part of the funge standard? 20:39:41 isn't there an actual funge standard somewhere 20:39:45 lament: because the first interpreter was written in C, and the semantics for divide and modulo weren't defined any further than that 20:40:06 fungebob: i think the assumption is that they're unsigned 20:40:23 lament: yes 20:40:28 for 98 20:41:09 * jix has to make his webpage 20:41:51 cpressey: exactly :) 20:42:05 oh, there isn't a 94 standard? 20:42:14 94? 20:42:20 93 20:42:26 there's a document 20:42:50 cpressey: go write a standard! :) 20:42:53 better late than never 20:43:37 lament: i'll write one if you write one for smallfuck :) 20:44:28 but i did! 20:44:48 i think 20:44:58 fungebob: the documentation ( http://catseye.webhop.net/projects/befunge93/doc/befunge93.html ) only says that playfield cells are ASCII afaict. and ASCII is technically 7-bits, unsigned. 20:46:23 befunge-93 is pretty much defined by its reference implementation, though 20:46:44 of course, there are places where C is flexible, like whether 'char' is signed or unsigned 20:47:37 i figured that the cells would be the same u32 as the stack for computation 20:47:50 but it was never explicitly mentioned 20:50:32 that's true... really, only a lower limit (ASCII) is mentioned 20:50:46 btw, stack cells are explicitly described as 'signed long int' 20:52:35 ... which is unfortunate as it's a limitation for TC ;) 20:54:01 darn, the wiki login times out too fast 20:54:56 hmm, it never seems to timeout for me anymore 20:55:02 which is bad - i'm apt to forget my password 20:55:50 does that have to do with marking the "remember password" checkbox on login? 20:56:18 ahhh. probably, yeah. 20:58:54 heh, I didn't mark it because I thought that the effect was for it to auto-fill the password field 21:02:20 new flunger's out: http://jimbomania.com/code/flunger.html this version blocks on empty stdin and has lots more autmoatic examples, and more fixes 21:02:21 -!- puzzlet has quit (Remote closed the connection). 21:02:24 -!- puzzlet has joined. 21:02:26 the rollers are way cool 21:03:18 cpressey: do you know the fungus test suite? is it officially endorsed? 21:08:12 fungebob: i think i've seen it... i can't officially endorse it because i don't remember if i've ever actually tried it or not :) 21:08:24 it's for -98, right? 21:10:12 mostly for 98, but it was stated on the site that some of the tests would work fine for 93 21:10:38 the suite of tests requires 98 for file access, but some individual modules would be 93-compliant 21:13:59 well... any test that passes on the 93 reference interpreter could be considered "officially endorsed" i suppose... :) 21:14:03 not so for 98 though 21:14:11 fbbi is full of bugs, i'm sure 21:18:30 http://esolangs.org/wiki/NegaPosi << the first iorcc entry didn't know it is on the wiki... 22:07:27 I think there needs to be an XML raster image format. 22:08:20 ... 22:08:35 Oh, almost forgot alpha! 22:08:36 lol 22:08:44 GregorR: sounds like xpm 22:08:56 XPM isn't quite that bad :P 22:09:02 But close 22:09:41 xml-raster could support an insane number of colors.. and it'd forward-compatible. 22:10:41 <{^Raven^}> Gregor: It still looks a lot more efficient than most MS generated HTML which requires over 330 bytes of encoding data per byte of test 22:10:59 you could do steganography between pixels. 22:12:05 I think I'll make a quick-n-dirty implementation of it when I get home from work ... put a few example images up :) 22:14:27 If my calculations are correct, one 1024x768 image would be approximately 80MB 22:15:08 <{^Raven^}> at what DPI? 22:16:11 It's raster, a pixel is a pixel. 22:18:04 Though I guess the tag could have dpi="" to make it explicit XD 22:19:08 to make it more verbose you could add something like: ... for each line of the image. 22:20:12 XD 22:20:43 ... 22:23:33 you could also have ... within the tags for each individual line. of course that might just be getting silly. :) 22:25:20 <{^Raven^}> with each position being specified explicitly seems superflous 22:26:57 in the gimp project an xml-based image format was considered for a time... it must still be somewhere in the archives 22:27:02 We're talking about an XML raster image format and you're objecting to superflousity? 22:27:36 maybe it's still under consideration 22:28:21 <{^Raven^}> seems more in spirit 22:30:14 Sort of a blurry line between subelements and parameters ... 22:30:43 I was working under the pretense that a pixel IS a location, and HAS an R, G and B. 22:30:51 ooh.. I like that. Pixels could be specified out of order. 22:31:17 For no good reason besides ludicrousy ^_^ 22:32:53 wouldn't it be more like this?: 25500 22:33:23 you could use xslt to build an image editor. 22:34:51 <{^Raven^}> ... 22:35:07 <{^Raven^}> ^^^for added convenience 22:35:28 ohh.. yes.. it should be a bit-level specification. 22:35:30 way better. 22:35:32 -!- fungebob has changed nick to fungebob-out. 22:36:17 <{^Raven^}> it solves the problem of having to recompute an n-bit value each time you need to change one sub-bit. 22:37:43 <{^Raven^}> and gives us a method of storing just one image on one CD-R 22:38:00 probably a very small image... 22:38:51 <{^Raven^}> hmmm... add ... and you can extend this to a movie file format 22:39:52 you could add tag outside of the frames that specifies things like fps and you'd have an animated gif kind of thing. 22:40:36 the bit format also has the advantage of making it easier for the programmer to use Smallfuck for digital image processing 22:40:58 <{^Raven^}> yes, that is a very important consideration 22:52:50 -!- calamari has joined. 22:52:52 hi 22:54:32 http://gregorr.homelinux.org/xmlraster/example.rxml.bz2 22:54:46 I didn't make it bit format, sorry ;) 22:54:52 But it is a two-frame animation. 22:55:21 compresses nicely. 22:56:46 Oh no! I made it wrong :( 22:57:01 It should say , but doesn't have the / :( 22:57:07 doh! 22:58:35 <{^Raven^}> hey calamari 22:58:49 <{^Raven^}> calamari: am working on BFBASIC 1.50 rc1 22:59:50 raven: got your mail on it.. sounds very cool 23:00:49 you mentioned that arrays were still causing problems.. is it still with the for loop? 23:02:16 i have some ideas for my =>whirl language 23:02:50 <{^Raven^}> calamari: FOR has been completely rewritten from the brainfuck point of view, the bug lies elsewhere 23:03:51 when does it seem to happen? 23:03:52 optimization is doldene by genetic algorithms because my mind is going to expo if i use something different than try,modify,try,modify(genetic algorithms(simplified)) 23:04:10 what code crashes? 23:04:37 or causes problems 23:05:14 expo=>explode 23:05:35 <{^Raven^}> element zero of an array is one case where corruption happens, it used to be fixable by allocating a dummy array before each real array 23:06:58 <{^Raven^}> also, in some cases a non-array variable is overwritten by the value of another non-array variable 23:07:15 that's pretty weird 23:07:48 do these bugs hapen with -O0 ? 23:07:57 err happen ;) 23:08:10 is it just me as non java programmer or is the bf-basic code uhm.. chaotic? 23:08:24 jix: no, it's crappy code 23:08:33 <{^Raven^}> isn't the lowest -O1? but yes it still happens 23:08:52 raven: yeah, you're right -O1 :) 23:10:02 wow, this monospace 12 font makes 0 and O look identical.. usually one is rounder than the other, not this time 23:10:22 <{^Raven^}> i have noticed that a(5)=0:a(4)=0 puts a(5) in the cell before a(4) which seems odd 23:11:15 ogff by one error? I'll have to check it out 23:11:22 gotta go.. time to work again :) 23:11:27 -!- calamari has quit ("<=K"). 23:12:17 <{^Raven^}> jix: aside from a few known issues BFBASIC works perfectly 23:13:06 i hope someday my (nameless) =>whirl lang will work perfectly too 23:13:26 -!- BigZaphod has quit. 23:14:08 <{^Raven^}> it's interesting to note that BFBASIC is one of the few BASIC implementations that has no interpreter - it is a straight compiler :) 23:15:27 hmm bootstrapping bf-basic ^^ 23:15:46 writing a bf-basic compiler in bf-basic 23:17:05 <{^Raven^}> once it works as intended it might be a good project for a suitably perverse individual 23:19:38 * jix is still trying to figure out the best stack layout for whirl 23:22:49 -!- heatsink has joined. 23:26:38 -!- ycantie has joined. 23:29:56 -!- jix has quit ("Banned from network"). 23:33:09 -!- ycantie has quit ("ChatZilla 0.9.61 [Mozilla rv:1.7.6/20050319]"). 23:35:32 anyone seen that movie "king cobra" or somethinf? 23:58:14 -!- Kmkr has quit. 2005-07-09: 01:33:56 -!- shapr has joined. 01:52:08 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 02:15:44 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 02:15:44 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 02:15:45 -!- CXI has quit (brown.freenode.net irc.freenode.net). 02:15:45 -!- lament has quit (brown.freenode.net irc.freenode.net). 02:15:46 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 02:15:46 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 02:15:46 -!- mtve has quit (brown.freenode.net irc.freenode.net). 02:15:47 -!- rot1 has quit (brown.freenode.net irc.freenode.net). 02:15:49 -!- shapr has quit (brown.freenode.net irc.freenode.net). 02:15:49 -!- heatsink has quit (brown.freenode.net irc.freenode.net). 02:15:49 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 02:15:51 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 02:15:51 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 02:15:51 -!- fungebob-out has quit (brown.freenode.net irc.freenode.net). 02:15:53 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 02:15:53 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 02:29:22 -!- ChanServ has joined. 02:29:22 -!- pgimeno has joined. 02:29:22 -!- shapr has joined. 02:29:22 -!- heatsink has joined. 02:29:22 -!- puzzlet has joined. 02:29:22 -!- rot1 has joined. 02:29:22 -!- yrz\werk has joined. 02:29:22 -!- {^Raven^} has joined. 02:29:22 -!- fungebob-out has joined. 02:29:22 -!- CXI has joined. 02:29:22 -!- cmeme has joined. 02:29:22 -!- lament has joined. 02:29:22 -!- cpressey has joined. 02:29:22 -!- mtve has joined. 02:29:22 -!- ZeroOne has joined. 02:29:22 -!- lindi- has joined. 02:29:22 -!- irc.freenode.net has set channel mode: +o ChanServ. 03:25:05 I've nearly finished pnmtorxml :) 03:46:16 Done! Now on to rxmltopnm :) 03:59:25 -!- jimbo000 has joined. 04:18:20 I can now convert RXML to a raw framebuffer :) 04:29:05 * heatsink can now get the Nth element of a cons list in unlambda 04:29:33 * heatsink has scheme code to generate the unlambda code 04:29:43 * heatsink which is then compiled into scheme code to execute 04:35:33 -!- fungebob-out has quit (Ping timeout: 14400 seconds). 04:45:02 Either rxmltopnm doesn't work, or 35MB is a lot of XML :P 04:46:24 35mb is a lot of xml. 05:03:13 -!- malaprop has quit ("quit"). 05:16:52 Actually, rxmltopnm was broken *shrugs* 05:17:10 libxml2 is quite fast. 05:18:55 YAY!!!! 05:18:56 It works! 05:53:12 -!- heatsink has quit ("Leaving"). 06:40:01 -!- BigZaphod has joined. 06:43:14 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 07:12:11 Wow, RXML compresses quite well XD 07:12:18 35MB -> 844K 07:12:56 how big is the source bmp, jpg, whatever? 07:23:55 It's a 36K jpeg 07:24:01 477x498 07:31:26 http://www.codu.org/rxml.php 07:33:20 I'm debating whether to post that in #xml XD 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:41:47 -!- tokigun has joined. 08:41:57 hello 08:47:30 -!- rot1 has quit (Read error: 145 (Connection timed out)). 08:48:31 GregorR: RXML looks good, except that it's very large :p 08:51:13 i suggest or element for palette. 09:57:49 -!- jix has joined. 10:00:19 jix: hello 10:09:27 moin 10:28:40 -!- kipple_ has joined. 10:29:46 i hope someday my (nameless) =>whirl lang will work perfectly too 10:29:47 oh 10:31:21 i have no code atm 10:31:30 hmm 10:31:36 still thinking about stack/variable/array/temp memory layout 10:31:56 you mean c(or whatever) to whirl compiler? 10:32:47 yes but not c ..a new language 10:32:48 oops, c? hmm it's very hard. 10:33:01 jix: then intermediate language? 10:33:14 yes but a highlevel language 10:33:20 a bit like BF-BASIC 10:33:26 i see... 10:33:50 i planed to make whirl assembler but didn't start :) 10:34:51 i need a whirl debugger.. 10:35:13 with a clean ui and breakpoints 10:38:26 i used my python implementation to debug 99 bob in whirl. 10:38:47 ...but doesn't have good ui 10:39:53 i'm going to use ruby for the compiler 10:41:31 ah my friend has made aheui interpreter in ruby. 10:41:45 http://dittos.dnip.net/aheui.rb 10:42:03 python is faster but i don't like the syntax.. 10:42:26 jix: yes i think so... 10:42:58 some syntax looks weird... especially decorators 10:43:26 hmm i have to learn ruby again :p 10:44:34 ruby 2.0 is going to be faster (i hope.. it's a complete rewrite and it will use a vm afaik) 10:44:58 oh 10:45:14 i heard yarv... 10:47:04 yarv is for ruby 1.9 (ruby 1.8 with 2.0 features, not a rewrite) 10:48:47 tokigun: what os do you use? 10:49:18 windows xp 10:49:33 ah 10:49:38 i want to use ubuntu linux but i doesn't have enough space 10:49:52 harddisk? 10:49:55 yes 10:50:04 buy a bigger one ^^ 10:50:37 :) 10:51:13 i'm reading Programming Ruby again 10:56:05 "I need a harder disk" (actually heard from a client) 10:58:06 pgimeno: did you hear "hardest disk"? :) 10:59:31 i named my hard disk harder-disk on my old computer 10:59:39 (my family name is harder) 11:00:00 good naming! 12:22:10 -!- yrz\werk has quit (Remote closed the connection). 12:22:42 -!- yrz\werk has joined. 13:10:24 tokigun: i'm writing a whirl debugger with a tk gui 13:10:31 oh 13:10:35 in ruby? 13:10:38 yes 13:10:59 i didn't use tk in python; i used wxPython for gui. 13:11:20 but ruby/tk comes with ruby 13:11:50 yes tkinter comes with python too. :) 13:12:13 i had some problems with wxwidgets under osx 13:12:27 hmm.... 13:13:53 wxwdigets looks nicer(more native widgets.. more translating between carbon or cocoa and wx) but on osx tk is faster 13:14:42 i felt tk on windows is slower... :( 13:15:43 and tk comes with osx wx doesn't 13:16:53 anyway... i have to think about whirl quine :) 13:17:01 it seems easy, relatively 13:18:26 oh and tk is easy 13:26:19 :) 13:26:41 phew! 13:26:50 pgimeno: ? 13:26:56 * pgimeno just finished his Malbolge programming article 13:28:51 http://www.esolangs.org/wiki/Malbolge_programming 13:44:12 -!- yrz\werk_ has joined. 13:44:51 finished it just in time since I have to go now 13:54:40 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 15:30:33 jix: i finished reading Programming Ruby and (to practice) made Whirl interpreter in Ruby :) 15:32:38 hmm tktext sucks 15:33:31 wxmac and wxruby isn't stable enough 15:33:33 -!- yrz\werk has joined. 15:33:43 ruby-cocoa isn't platform independent 15:44:23 oops. 15:44:27 not good... 15:48:49 i hate gui toolkits 15:49:05 but i love gui 15:51:01 -!- yrz\werk_ has quit (Read error: 110 (Connection timed out)). 16:13:52 -!- sp3tt has joined. 16:18:06 BigZaphod: I've made Whirl interpreter in Ruby. :) 16:18:34 See http://dev.tokigun.net/esolang/index_en.php#whirl . 16:20:27 ah .. now i understand tktext 16:21:03 tokigun: why a hash as memory? 16:21:32 and the cell size isn't limited to 32-bit signed 16:21:48 jix: hmm 16:21:51 for instance... eh 16:22:08 an array is faster than an hash 16:22:13 if reading index -4 of memory? 16:22:21 yes i know 16:22:28 what does the reference implementation does? 16:22:39 jix: hmm 16:23:55 it uses STL vector... maybe it cannot handle negative index 16:24:30 but i implemented it for safety (yes. it can be changed) 16:25:02 jix: "and the cell size isn't limited to 32-bit signed" what do you mean? 16:25:18 the reference implementatoin uses int as cell data type.. right? 16:25:19 do you mean "the cell size should be limited to 32-bit signed int"? 16:25:21 yes 16:25:31 yes 16:25:39 wait a minute... 16:26:49 aint=int&0x7F_FF_FF_FF;sign=(int>>31)&1;(sign ? -1-aint : aint) should work (untestet) 16:27:04 but it doesnt 16:27:23 jix: C++ specification says 16:27:40 "Plain ints have the natural size suggested by the architecture of the execution environment" 16:27:51 it can be 16-bit, 32-bit, 64-bit, even 36-bit and so on... 16:27:56 ok 16:28:03 but there should be a minimum limit 16:28:31 maybe it can be 32-bit int 16:28:36 ok 16:28:46 16 bits is the minimum; IIRC some Cray compiler have 42-bit-or-so ints 16:28:57 pgimeno: 42-bit? 16:28:59 oops. 16:29:07 anyway.. so i didn't think about Fixnum and Bignum 16:29:31 I'm not sure, I'm only sure it was neither a power of 2 nor a multiple of 8 and that sounded very weird 16:29:44 if i want to implement Malbolge interpreter, type of int is very important issue :) 16:29:56 there were computers with 9bit bytes.. or? 16:30:40 well, it's relatively easy to limit size 16:30:41 jix: not x86, but there're some architectures that has 6bit, 9bit, 12bit byte 16:30:59 (12bit is not sure... but i heard 6bit/9bit byte) 16:31:33 tokigun: of course not x86.. because the instruction set isn't for 9bit bytes 16:31:39 yes 16:32:05 wasn't the eniac decimal? 16:32:29 i don't know 16:32:29 and the snes(super nintendo entertainment system)'s cpu had a decimal mode too 16:32:39 how about precision? 16:32:51 4-digits? 16:33:31 hmm 16:33:41 tokigun: i don't know the sens cpu in normal mode: 0x05 + 0x05 == 0x0A in decimal mode 0x05 + 0x05 == 0x10 16:33:55 i think it depends on the registers used 16:34:00 hmm 16:34:34 and i think only the accumulator register was set to decimal in decimal mode.. the adress registers in decimal would be a stupid idea 16:35:02 address registers in decimal is... crazy. 16:35:09 anyway it resembles BCD 16:35:20 base -2 numbers are cool 16:35:26 no need for a sign bit 16:35:35 decimal computers were popular around the 60's I think 16:35:45 There is phi base too :) 16:35:56 (phi = golden ratio) 16:36:00 tokigun: base 2i muhahahahahaha 16:36:05 * jix knows 16:36:06 that's roughly the justification that Knuth gives for making the MIX language support decimal 16:36:06 hahahahaha 16:36:32 it's impossible to represent all numbers with base 2i afaik 16:36:44 you can represent some complex numbers but not all 16:37:13 uhm phi base? with digits 0 == 0 and 1 == phi^position ? 16:37:25 jix: wait... i'm searching wikipedia article 16:37:26 because you can't have phi digits 16:37:55 oh, i found: 16:37:56 http://en.wikipedia.org/wiki/Golden_mean_base 16:38:09 it is called "phinary" 16:39:24 what about base i! where 123456 would mean 1*6! + 2*5! + 3*4! + 4*3! + 5*2! + 6*1! ? ;) 16:39:43 lindi-: special case of mixed radix... :) 16:39:52 there is "fibonacci representation" too. 16:39:56 oh 16:40:05 gotta google that up 16:41:52 http://en.wikipedia.org/wiki/Moon_Hee_Jun 16:42:06 He looks good... except eyes 16:42:40 tokigun: that fibonacci representation seems to avoid non-unique representation by restricting what numbers can be used 16:42:56 lindi-: yes it is also universal code. 16:42:58 tokigun: factorial presentation does not have that limit, i think 16:43:23 or hmm 16:43:51 lindi-: factorial representation... i think it cannot be used for general purpose 16:43:52 123456 would actually be illegal :P 16:43:55 :) 16:44:31 many months ago i designed simple machine language uses fibonacci coding 16:44:49 because then 6 = 6*1! would equal 100 = 1*3! 16:46:17 -!- yrz\werk has quit (Read error: 104 (Connection reset by peer)). 16:47:01 -!- yrz\werk has joined. 17:14:03 -!- sp3tt has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"). 17:49:41 get to sleep... 17:49:42 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 18:24:22 -!- calamari has joined. 18:30:33 -!- calamari has quit ("Leaving"). 18:39:58 -!- jimbo000 has joined. 19:33:46 -!- yrz\werk_ has joined. 19:43:21 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 20:06:09 -!- J|x has joined. 20:15:07 -!- jix has quit (Read error: 110 (Connection timed out)). 20:15:15 -!- J|x has changed nick to jix. 20:57:44 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 22:23:00 -!- Lizzy_K has joined. 22:23:09 -!- Lizzy_K has left (?). 22:38:05 -!- jimbo000 has joined. 22:42:40 -!- GS30NG has joined. 22:43:24 -!- GS30NG has quit (Remote closed the connection). 23:45:43 the number base lindi- was talking about is called factoradic. 23:46:34 it has a name? interesting 23:46:39 yep 23:46:40 http://en.wikipedia.org/wiki/Factoradic 23:47:36 was that page already there when we spoke about this on some math lesson? 23:49:49 very fascinating indeed 23:50:40 base -2 is still the best one 23:50:41 no, it wasn't. that article was created on October 29, 2004. however, I this http://en.wikipedia.org/w/index.php?title=Mixed_radix&diff=6471719&oldid=6471554 edit on October 10, 2004 23:50:55 s/I this/I made this 23:51:38 the program i wrote to convert decimal to factoradic presentation is dated November 9, 2004 23:52:10 ok 23:52:25 you still have that one? :) cool. 23:54:09 someone have edited those articles to state that the least significant number would stand for 0!... I can't see, why. :P 23:54:37 huh 23:54:59 and isn't 0! == 1 23:55:11 yeah. 0! == 1! == 1 23:55:17 yes it is the the article is wrong with 0! 23:55:33 if you see my original contribution, there was no 0! 23:55:56 fix it :) 23:57:13 I should do that, but I don't understand if that change would affect all that stuff about Lehmer codes and permutations. :P 23:57:45 hmm 23:59:20 "In this numbering system, the rightmost digit may be 0, the next 0 or 1, the next 0, 1, or 2, and so on." 23:59:37 ZeroOne: so it doesn't really matter whether there is 0! or not because the multiplier will always be 0 2005-07-10: 00:01:38 hmm. that seems to be true, but always padding the number with a zero is just silly anyway. 00:02:20 dunno, maybe it's just a cosmetic issue :) 00:02:31 the first digit in base n is n^0... 00:04:06 gotta admit that's true 00:04:44 lindi-, seems like you need to modify your program ;) 00:15:00 maybe but i'm too tired to take a look at it now 00:16:12 me too 00:17:39 not that I could take a look at your program but I'm just generally too tired to do anything 00:18:58 it's also damn hot in here even though the window is wide open 00:32:16 finally managed to catch up with all the classpath* mailing lists, time to sleep, good night 00:32:55 -!- heatsink has joined. 00:47:41 I finally managed to brush my teeth. 'night. 01:13:31 {^Raven^}: i have problems compiling the latest bfbasic 01:15:03 -!- yrz\werk_ has quit (Remote closed the connection). 01:15:37 -!- yrz\werk has joined. 01:16:04 <{^Raven^}> jix: version 1.50 rc1 ? 01:16:09 yes 01:16:35 <{^Raven^}> 1 sec... 01:16:37 i get 4 errors in bfbasic.java 01:16:46 <{^Raven^}> hmmm, odd 01:16:55 3 about incompatilbe types 01:17:00 no 2 about types 01:17:19 http://rafb.net/paste/results/YSkI1Q59.html 01:19:28 <{^Raven^}> what compiler are you using? 01:19:50 the javac that ships with osx 01:20:04 has no -v or --version flag 01:21:38 <{^Raven^}> I'll take a peek at it tomorrow, but here is the compiled version http://jonripley.com/~jon/bfbasic.jar 01:22:14 Exception in thread "main" java.lang.UnsupportedClassVersionError: bfbasic (Unsupported major.minor version 49.0) 01:23:21 java version "1.4.2_07" 01:23:21 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-215) 01:23:21 Java HotSpot(TM) Client VM (build 1.4.2-50, mixed mode) 01:23:24 hmm 01:24:16 <{^Raven^}> I'm completely new to Java, so there may be something I've done that's not at all good 01:24:35 <{^Raven^}> it works here but if it doesn't run on other machines that's a problem 01:24:48 i'm even newer to java.. i never learned it and only wrote 2 robocode bots.. never used java anywhere else 01:25:02 {^Raven^}: thats cross platform in action 01:25:27 <{^Raven^}> i'm using sun java 1.5.0 here 01:25:41 there's no java 1.5.0 for osx atm 01:26:25 osx java is always behind because there are so many os dependent parts in java and osx isn't first priority for sun 01:29:57 ah there is already a java 1.5 for osx 01:30:16 only 34mb 01:30:39 -!- yrz\werk has quit (Read error: 104 (Connection reset by peer)). 01:30:53 <{^Raven^}> i'm looking at the code to see if I can work out something 01:30:53 -!- yrz\werk has joined. 01:31:54 * jix is away for about 5 mins 01:50:40 <{^Raven^}> jix: I have fixed the bugs 01:51:08 <{^Raven^}> jix: please download http://jonripley.com/~jon/bfbasic.jar again 02:02:58 hmm lonh 5 mins 02:03:00 long 02:03:21 it works 02:03:38 <{^Raven^}> New version compiles okay with gcj 1.4.2! 02:03:45 <{^Raven^}> great to hear :D 02:04:31 <{^Raven^}> jix: thanks for the error report, it showed me exactly what I needed :) 02:23:03 whats wrong with this code? DIM kk(4) 02:23:03 kk(2)=10 02:23:03 PRINT kk(2) 02:26:51 <{^Raven^}> Nothing. Sadly the array handling in BFBASIC is a bit broken at the moment, your mileage may vary significantly 02:28:44 if i write j=2 and kk(j) it works as expected 02:41:31 -!- jix has quit ("Banned from network"). 03:53:58 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 04:12:23 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 05:09:56 -!- heatsink has quit (Remote closed the connection). 05:36:28 -!- tokigun has joined. 05:37:33 hello 05:38:57 world 05:42:20 ! 05:43:21 \0 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:29:58 i'm making new befunge variant... this is hello world program: http://pastebin.com/310394 08:43:42 updated: http://pastebin.com/310400 09:49:25 interesting. how does it work? 09:53:53 ZeroOne: hmm 09:54:09 original specification is in korean so i cannot put it here... 09:54:20 so i have to explain this code. 09:54:54 this programming language is derived from Befunge. 09:55:11 I didn't named it but currently it is called "SFunge". (think sponge) 09:55:52 SFunge has two registers, infinite code space, and three 2D vector. 09:55:59 (yes there is no stack) 09:56:49 three vectors are: IP(instruction pointer), delta(direction of IP), DP(data pointer) 09:57:18 when program starts, IP is (0,0); delta is (1,0); and DP is (0,0). 09:57:32 and two registers (called A and B) is 0. 09:57:36 s/is/are/ 09:58:23 the following is a list of instructions: 09:58:33 + (B += A); - (B -= A); * (B *= A) 09:58:49 ~ (swap A and B); < (swap A and B, if A > B); > (swap A and B, if A < B) 09:59:14 / (dx, dy = -dy, dx); \ (dx, dy = dy, dx) -- imagine mirror 09:59:29 @ (terminate program); 0..9 (set A to 0..9) 10:00:12 # (skip next instruction if B == 0); . (period; print A as ASCII character); : (colon; print A as integer) 10:00:34 , (comma; input A as character); ; (semicolon; input A as integer) 10:02:14 { (put character at DP to B); | (pipe; add (A, B) to DP. if there is negative coord. in DP, it is replaced to 0) 10:02:36 } (put B to character at DP as character) 10:03:03 in case of { instruction, empty cell is assumed as #32. 10:04:05 hmm hello world program reads "Hello, world!" string from its code space. 10:04:21 (so you shouldn't remove "Hello, world! program" text; it is a part of program) 10:04:53 3+5*0~|} -- put newline character to (15, 0) 10:05:13 oops 10:05:20 not newline character, but null character. sorry 10:05:42 anyway, -2+0~| -- move data pointer to (2, 0), that is starting point of string 10:06:26 now A = 2, B = 0. using # we enter to main loop. 10:06:41 (because B = 0, it skips next instruction /) 10:07:09 {~. -- it reads character from current DP, and prints it. 10:07:51 00~1|{ (actually same as "0~1|{") -- move DP to next character (because offset is (1, 0)) and read it. 10:08:25 if this character is null, we should exit loop. so # instruction is used. 10:08:45 otherwise it returns "/" instruction 10:09:08 finally "2+5*~." (prints newline character) is executed and program is terminated. 10:09:24 hmm.. any question? 10:09:53 -!- kipple_ has joined. 10:10:01 hello 10:12:09 hi 10:12:40 -!- kipple_ has changed nick to kipple. 10:13:20 i'm making new befunge variant. i didn't named it but i'm calling it "SFunge". 10:15:26 so the program starts with 3+5*0~. A is set to 3, B to 3, A to 5, B to 15, A to 0, then A to 15 and B to 0 10:15:31 I see 10:15:36 ZeroOne: looks good? 10:16:45 yeah. I got it now. :) 10:16:53 :) 10:17:27 spec is (almost) finished... but i don't know how to name it. 10:18:20 well, the name often comes the last 10:18:31 I gotta go now. see you later. 10:18:36 really? :) 10:18:40 good bye :) 10:18:52 see you. 10:19:05 Pfunge is good 10:19:14 and ambiguous 10:19:20 puzzlet: .. 10:19:27 told you 11:48:37 -!- kipple_ has joined. 11:48:38 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 12:20:43 -!- shapr has quit (Read error: 60 (Operation timed out)). 12:27:51 -!- jix has joined. 12:30:38 uhm there's a problem with whirl 12:31:59 if you move the memory pointer you can't access any value you had before the move 12:32:26 you have to destory your value for the dadd 12:32:38 and you can't access the old memval 12:34:36 jix: did you implement loop or conditional structure in whirl? 12:34:49 i didn't implemented anything atm 12:34:53 hmm 12:35:06 it is possible to move a value 12:36:10 decrement if>0(move> increment move> increment move <<) 12:37:39 with add and div it is possible to get any value into $value without destroying memval 13:03:47 -!- CXI has quit (Connection timed out). 13:10:38 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 14:38:38 -!- malaprop has joined. 16:12:50 -!- minus273 has joined. 16:13:08 hi all 16:17:15 hello 16:38:53 -!- minus273 has quit (Remote closed the connection). 17:11:40 test 17:11:52 ok 17:27:25 -!- jix has quit ("Banned from network"). 17:27:32 -!- jix has joined. 18:58:41 huh? 20:06:15 -!- J|x has joined. 20:16:15 -!- jix has quit (Read error: 110 (Connection timed out)). 20:39:20 -!- J|x has quit (brown.freenode.net irc.freenode.net). 20:39:20 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 20:40:07 -!- J|x has joined. 20:40:07 -!- pgimeno has joined. 20:55:44 -!- J|x has changed nick to jix. 20:55:53 me is back 21:22:39 i've implemented a 1 register mul/div minsky machine with input and output 21:23:58 [ot] http://www.dilbert.com/comics/dilbert/archive/dilbert-20050710.html 21:24:22 jix: nice 21:24:46 what kind of language do you use? 21:24:48 well 3 registers 2 for input and output but they are only buffers and can't do any calculations 21:24:48 ruby 21:25:01 the interpreter is written in ruby 21:25:16 the interpreter for what? (was my question) 21:25:28 a 1 register mul/div minsky machine 21:26:01 eg a FSA connected with a mul/div register of unlimited size which is able to multiply,divide and test for division 21:26:08 uhm no eg 21:26:36 so it consists of a table of states, right 21:26:36 ? 21:26:43 yes 21:27:02 okay, that's roughly what I was asking :) 21:27:43 i've done cat in 2 states with 3 rules 21:28:08 nice 21:28:47 with the mul/div register you simmulate n add/sub registers 21:28:53 how are the operations coded into the transition table? one more column? 21:29:08 'STATE COND MULT IO NEWSTATE 21:29:14 state is the state of the rule 21:29:26 cond is the condition (10 == the register is dividable by 10) 21:29:36 MULT is the factor to multiply the register with 21:29:43 IO is for input output 21:29:48 and newstate is the next state 21:29:56 I see now 21:30:02 IO is done with negative COND and MULT 21:30:27 oh if cond is true the register gets divided by cond 21:30:55 read: http://esolangs.org/wiki/Minsky_machine 21:31:18 single-register Minsky machines are very expensive in terms of wasted integer space AFAIK 21:31:27 they are 21:31:53 you simmulate n sub-add-registers 21:32:08 storing them as 2^a*3^b*5^c... 21:32:15 7^d 21:32:32 and subtract n from register d is divide by n*7 21:33:19 i'm going to write a optimized to-c compiler with factorizes the integers the program at compile time 21:33:59 wahoo just 3 days school left until holidays 21:35:26 :) 21:48:58 -!- asd has joined. 21:50:44 -!- asd has quit (Client Quit). 22:16:20 -!- heatsink has joined. 22:27:27 -!- shapr has joined. 22:33:05 -!- BigZaphod has quit. 22:44:47 -!- jix has quit ("Banned from network"). 23:59:47 -!- puzzlet has quit ("Lost terminal"). 2005-07-11: 00:28:06 -!- puzzlet has joined. 01:43:57 -!- BigZaphod has joined. 01:43:57 -!- kipple_ has quit (Read error: 104 (Connection reset by peer)). 03:07:38 -!- jimbo000 has joined. 03:24:36 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- lament has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- mtve has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- shapr has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 03:24:36 -!- jimbo000 has quit (brown.freenode.net irc.freenode.net). 03:25:18 -!- ChanServ has joined. 03:25:18 -!- jimbo000 has joined. 03:25:18 -!- BigZaphod has joined. 03:25:18 -!- puzzlet has joined. 03:25:18 -!- shapr has joined. 03:25:18 -!- pgimeno has joined. 03:25:18 -!- malaprop has joined. 03:25:18 -!- yrz\werk has joined. 03:25:18 -!- {^Raven^} has joined. 03:25:18 -!- cmeme has joined. 03:25:18 -!- lament has joined. 03:25:18 -!- cpressey has joined. 03:25:18 -!- lindi- has joined. 03:25:18 -!- ZeroOne has joined. 03:25:18 -!- mtve has joined. 03:25:18 -!- irc.freenode.net has set channel mode: +o ChanServ. 03:43:55 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 03:43:55 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 03:44:12 -!- lament has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- mtve has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- shapr has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 03:44:13 -!- jimbo000 has quit (brown.freenode.net irc.freenode.net). 03:45:38 -!- ChanServ has joined. 03:45:38 -!- jimbo000 has joined. 03:45:38 -!- BigZaphod has joined. 03:45:38 -!- puzzlet has joined. 03:45:38 -!- shapr has joined. 03:45:38 -!- pgimeno has joined. 03:45:38 -!- malaprop has joined. 03:45:38 -!- yrz\werk has joined. 03:45:38 -!- {^Raven^} has joined. 03:45:38 -!- cmeme has joined. 03:45:38 -!- lament has joined. 03:45:38 -!- cpressey has joined. 03:45:38 -!- lindi- has joined. 03:45:38 -!- ZeroOne has joined. 03:45:38 -!- mtve has joined. 03:45:38 -!- irc.freenode.net has set channel mode: +o ChanServ. 03:45:46 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 03:45:47 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 03:45:47 -!- lament has quit (brown.freenode.net irc.freenode.net). 03:45:49 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 03:45:49 -!- mtve has quit (brown.freenode.net irc.freenode.net). 03:45:49 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 03:45:53 -!- shapr has quit (brown.freenode.net irc.freenode.net). 03:45:53 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 03:46:00 -!- jimbo000 has quit (brown.freenode.net irc.freenode.net). 03:46:59 -!- ChanServ has joined. 03:46:59 -!- jimbo000 has joined. 03:46:59 -!- BigZaphod has joined. 03:46:59 -!- puzzlet has joined. 03:46:59 -!- shapr has joined. 03:46:59 -!- pgimeno has joined. 03:46:59 -!- malaprop has joined. 03:46:59 -!- yrz\werk has joined. 03:46:59 -!- {^Raven^} has joined. 03:46:59 -!- cmeme has joined. 03:46:59 -!- lament has joined. 03:46:59 -!- cpressey has joined. 03:46:59 -!- mtve has joined. 03:46:59 -!- ZeroOne has joined. 03:46:59 -!- lindi- has joined. 03:46:59 -!- irc.freenode.net has set channel mode: +o ChanServ. 05:07:40 -!- heatsink has quit (Read error: 104 (Connection reset by peer)). 06:16:03 -!- jimbo000 has quit. 06:42:38 -!- BigZaphod has quit. 07:16:51 -!- calamari has joined. 07:39:31 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 07:39:31 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 07:39:31 -!- lament has quit (brown.freenode.net irc.freenode.net). 07:39:32 -!- mtve has quit (brown.freenode.net irc.freenode.net). 07:39:32 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 07:39:32 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 07:39:33 -!- calamari has quit (brown.freenode.net irc.freenode.net). 07:39:34 -!- shapr has quit (brown.freenode.net irc.freenode.net). 07:39:34 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 07:39:36 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 07:39:36 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 07:39:36 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 07:39:36 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 07:39:36 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 07:40:00 -!- cmeme has joined. 07:41:01 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 07:41:41 -!- GregorR has joined. 07:44:46 -!- ChanServ has joined. 07:44:46 -!- malaprop has joined. 07:44:46 -!- pgimeno has joined. 07:44:46 -!- lament has joined. 07:44:46 -!- irc.freenode.net has set channel mode: +o ChanServ. 07:45:40 -!- calamari has joined. 07:45:40 -!- ZeroOne_ has joined. 07:46:12 -!- cpressey has joined. 07:47:08 -!- puzzlet has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:33 -!- cmeme has quit (Read error: 104 (Connection reset by peer)). 08:03:33 -!- lament_ has joined. 08:04:15 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- calamari has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- lament has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- ZeroOne_ has quit (brown.freenode.net irc.freenode.net). 08:04:15 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 08:04:27 -!- GregorR has quit (Read error: 110 (Connection timed out)). 08:04:41 -!- puzzlet has quit (Nick collision). 08:05:34 -!- GregorR has joined. 08:05:34 -!- ChanServ has joined. 08:05:34 -!- lament has joined. 08:05:34 -!- calamari has joined. 08:05:34 -!- mtve has joined. 08:05:34 -!- puzzlet has joined. 08:05:34 -!- pgimeno has joined. 08:05:34 -!- cmeme has joined. 08:05:34 -!- cpressey has joined. 08:05:34 -!- yrz\werk has joined. 08:05:34 -!- BigZapho1 has joined. 08:05:34 -!- lindi- has joined. 08:05:34 -!- shapr has joined. 08:05:34 -!- BigZaphod has joined. 08:05:34 -!- irc.freenode.net has set channel mode: +o ChanServ. 08:05:55 -!- calamari_ has joined. 08:05:55 -!- BigZaphod has quit (Read error: 110 (Connection timed out)). 08:05:56 -!- {^Raven^} has joined. 08:06:24 -!- malaprop has joined. 08:09:43 -!- ZeroOne_ has joined. 08:16:28 -!- lament has quit (Connection timed out). 08:21:23 -!- calamari has quit (Connection timed out). 08:24:00 -!- lament_ has changed nick to lamnet. 08:24:08 -!- lamnet has changed nick to lament. 09:00:34 -!- BigZapho1 has changed nick to BigZaphod. 09:13:44 -!- calamari_ has quit (Connection timed out). 09:41:32 -!- calamari has joined. 10:03:13 -!- puzzlet has quit (Client Quit). 10:53:05 -!- calamari has quit ("Leaving"). 10:55:00 -!- calamari has joined. 11:00:55 -!- yrz\werk_ has joined. 11:02:21 -!- yrz\werk has quit (Nick collision from services.). 11:02:25 -!- yrz\werk_ has changed nick to yrz\werk. 11:06:28 -!- calamari has quit ("Leaving"). 13:37:59 -!- J|x has joined. 13:39:39 -!- J|x has changed nick to jix. 13:39:44 moin 13:48:19 http://www.bash.org/?3936 14:02:40 -!- ChanServ has quit (Shutting Down). 14:03:24 -!- ChanServ has joined. 14:03:24 -!- irc.freenode.net has set channel mode: +o ChanServ. 14:36:11 -!- kipple__ has joined. 15:57:55 -!- fungebob has joined. 16:00:08 -!- Joeboy has joined. 17:00:41 -!- BigZaphod has quit. 17:35:05 -!- BigZaphod has joined. 18:12:09 i'm writing a brainfuck interpreter for my 1register mul/div minsky machine implementation 18:12:18 the programm reader is complete 18:14:10 52 rules 18:14:28 18 states 18:16:00 and a 4 byte brainfuck program needs 6kb ram 18:16:02 5byte 18:17:15 -!- yrz\werk_ has joined. 18:18:00 i really have to write an optimizing compiler 18:19:18 6kb ram for storing 5 0-8 values (and that's the best stack a 2nd stack would need 10kb a 3rd 15kb a 4th 18...) 18:19:36 oh and the interpreter has to multiply and divide those big numbers 18:22:03 -!- mtve has quit (Read error: 110 (Connection timed out)). 18:27:16 -!- yrz\werk1 has joined. 18:27:40 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 18:34:35 -!- yrz\werk_ has quit (Connection timed out). 18:49:25 jix: do you want to prove that 1 register is enough? 18:56:20 -!- Kmkr has joined. 18:56:32 hello 18:59:01 shazam! 19:01:19 heippa hei Kmkr 19:04:27 hi Kmkr 19:05:00 hi 19:05:06 shapr: finnish? 19:05:19 No, I'm from Alabama. 19:05:21 ah 19:05:31 But I lived in Finland for a few years. 19:05:38 hey, it's shapr 19:05:42 cool 19:05:42 i didn't notice 19:05:43 oh hi lament 19:05:50 hyvää ihltaa lament :-) 19:06:19 hellooo tto you ttoo :P 19:57:36 http://z3.ca/~lament/elise.mp3 19:58:42 working title: Elise in Furs 20:02:13 -!- mtve has joined. 20:06:11 -!- J|x has joined. 20:07:13 -!- jix has quit (Nick collision from services.). 20:07:16 -!- J|x has changed nick to jix. 20:10:30 lament: that mp3 is a hoot 20:10:33 love it 20:19:35 -!- yrz\werk has joined. 20:34:44 -!- yrz\werk1 has quit (Read error: 110 (Connection timed out)). 20:49:55 -!- Joeboy has quit ("Leaving"). 20:59:55 {^Raven^}: my minsky machine compiler code is worse than the bf code 21:00:11 the interpreter was a quick hack 21:00:27 and i'm building the compiler by modifying the interpreter 21:15:14 30% of the output file are goto commands 21:15:36 fungebob: thanks! 21:25:30 now i have to add a sax solo... 21:42:06 lament: i just happened on Prelude and Fugue - do you have any sample Prelude source around? 21:45:17 well, there's the tiny fibonacci that i forgot who wrote: 21:45:28 1(v+ 21:45:28 1 !v 21:45:29 v) 21:45:38 here's a factorial program: 21:45:38 5(v(1-)#1-) 21:45:38 1 # v+ ! 21:45:39 v 21:46:12 that's about it. 21:49:42 is there a good visual befunge interpreter? 21:50:38 jix: theres the flunger for 93 21:50:50 http://jimbomania.com/code/flunger.html 21:51:02 hope you got flash 21:51:14 non flash 21:51:19 doh 21:51:35 it's nice for small apps but i'd like a native or sdl app 21:51:48 jix: there's also freshmeat.net/projects/bfdebug/ which you can run without non-free tools, almost 21:52:06 whoops, that's different project 21:53:09 oh and windows/gtk/kde is non-native for me 21:53:12 x11 too 21:53:17 jix: check the files at calamari's web page http://lilly.csoft.net/~jeffryj/programs/bf/ 21:53:34 jix: what do you mean by native then? 21:53:37 but it would be ok.. but i often accidentally close browser windows :( 21:53:42 osx 21:54:01 i thought it has X 21:54:03 befunge not brainfuck 21:54:14 argh 21:54:18 lindi-: but it's not the native GUI engine 21:54:27 seems i can't think clearly today :) 21:54:37 jix: out of curiosity, can you run openGL apps via Glut or SDL? 21:54:45 fungebob: both 21:54:59 or via x11 or via native gui 21:55:12 or via *insert-toolkit-here* in x11 21:55:54 but x11 isn't as fast as quartz and it has a different look and feel 21:58:53 fungebob: the p instruction in flunger is slower than the other ones 22:00:32 jix: indeed, on p it recreates the string in the main textfield(linebreak \r delimited) from the 80x25 array of ints 22:00:57 it used to just use the string itself for storage, but got screwy on non-printable ascii chars 22:01:51 ah 22:02:07 lament: is each line in those programs dedicated to a separate voice? 22:02:45 jix: now that you mention it, i bet i could optimize that. i have noticed that flash tends to play slower on the macs ive tried it on 22:05:08 i think flash doesn't use mac os x's graphic engine which is very fast and optimized for the mac h/w.. 22:07:39 i wrote a filter for core image (Part of the osx graphic engine) for generating fractals(julia sets) in realtime using only the video cart 22:10:11 -!- Kmkr has quit. 22:13:13 nah in 3? weeks just 1 vote for http://www.99-bottles-of-beer.net/language-lazy-k-768.html 22:19:00 jix: see if this is any faster for you http://jimbomania.com/code/flunger.html 22:19:05 took some loops out 22:19:58 fungebob: uhm if i load the sirpinski program it doesn't look like i think it should 22:20:19 jix: uh, yep that is definitely borked:) 22:20:44 ok back to the testing phase on that one 22:21:08 it's faster 22:21:16 but p is still too slow imho 22:21:58 i had considered making 80*25 individual textboxes, which could speed it up but cost i dunno how much memory 22:22:57 hmm 80*25 textboxes is a lot 22:23:21 uh oh serpinsky looks the same in the old version too, ack what ahppened here 22:23:34 chess too 22:24:16 and quine2 doesn't work 22:24:21 ouch 22:25:23 * jix is müde 22:25:25 nite 22:25:34 seeya 22:25:39 -!- fungebob has quit ("Today is a good day to chat."). 22:25:40 -!- jix has quit ("Banned from network"). 23:45:36 not really esolang, but this was fun: http://www.bigzaphod.org/life.html 23:45:42 game of life in CSS + javascript. :) 23:46:03 no browser checks and works in IE, Mozilla, safari, opera (tested so far). 23:51:17 man composing is hard. 23:53:36 composing what? 23:54:13 anything. 23:54:23 (music, not functions :)) 23:54:37 I don't find it hard to come up with music, only hard to write it down. 23:55:07 maybe you have talent, or something. 23:55:11 Not saying anything I come up with is any good though... 23:55:21 Just that I could make a living as /dev/urandom 23:58:22 I think I have a natural talent for doing creative stuff. I don't think I have a natural talent for programming, but it's what I prefer. 23:59:37 I've always felt a burning need to program. it can sometimes be a curse. meanwhile I often want to be able to do other creative things like draw, but can't. grass is always greener. 2005-07-12: 00:00:03 I just keep my creative skills fresh in case I can't get a programming job. 00:00:53 I think my burning need is exploring 'means of expression' and programming is the niftiest way to do that so far. 00:01:30 As I've said before: "Programming is the Magic Executable Fridge Poetry, it is machines made of thought, fueled by ideas." 00:04:11 Do you guys know of a tiled programming language? I've been wondering how a hexagonal language would work. 00:04:16 I guess Piet counts. 00:14:15 hm, Befunge uses square tiles in some sense 00:16:18 in an hexagonal language PC would move in six directions, I guess 00:17:27 I was thinking more about a source and sink setup. 00:24:35 -!- jimbo000 has joined. 00:26:10 -!- jimbo000 has quit (Client Quit). 00:26:49 -!- jimbo000 has joined. 00:29:18 BigZaphod: your Life program is traversing the whole area and counting the neighbours of each cell, right? 00:29:36 yeah 00:30:25 hm, JS makes it difficult to take advantage of an usual optimization 00:30:45 it consists in having an array of counts, initially all zero in each iteration 00:31:18 instead of counting the neighbours for each cell, you look for active cells and add 1 to each of the neighbours 00:33:30 the analysis of the number of neighbours is then performed at the final stage 00:33:59 hmmmm.. 00:34:02 interesting. 00:34:35 I'll have to try that. 00:34:54 with javascript YMMV; with C it's very likely to get a speedup 00:35:10 js arrays seem pretty slow, so it is hard to say. 00:43:47 -!- kipple_ has joined. 00:43:47 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 00:50:16 forgot to say: actually, the speedup only applies to situations with low concentration of alive cells 01:20:23 -!- BigZaphod has quit. 01:58:21 -!- calamari has joined. 01:58:35 -!- BigZaphod has joined. 02:06:54 -!- kipple_ has quit (Read error: 60 (Operation timed out)). 03:02:30 comments/suggestions: http://z3.ca/~lament/elise.mp3 03:04:30 -!- calamari has quit ("Leaving"). 03:18:35 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 04:16:06 -!- ChanServ has quit (Shutting Down). 04:18:57 -!- ChanServ has joined. 04:18:57 -!- irc.freenode.net has set channel mode: +o ChanServ. 04:37:38 -!- puzzlet has joined. 05:37:46 -!- calamari has joined. 05:54:22 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 07:30:45 -!- calamari has quit (Read error: 110 (Connection timed out)). 07:47:00 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:09:42 -!- yrz\werk has joined. 08:26:24 -!- yrz\werk has quit ("Reconnecting"). 08:27:01 -!- yrz\werk has joined. 08:49:18 -!- ZeroOne_ has quit (brown.freenode.net irc.freenode.net). 08:49:19 -!- shapr has quit (brown.freenode.net irc.freenode.net). 08:49:19 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 08:49:19 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 08:49:20 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 08:49:20 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 08:49:20 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 08:49:21 -!- yrz\werk has quit (brown.freenode.net irc.freenode.net). 08:49:21 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 08:50:13 -!- yrz\werk has joined. 08:50:13 -!- BigZaphod has joined. 08:50:13 -!- ZeroOne_ has joined. 08:50:13 -!- malaprop has joined. 08:50:13 -!- {^Raven^} has joined. 08:50:13 -!- cmeme has joined. 08:50:13 -!- cpressey has joined. 08:50:13 -!- lindi- has joined. 08:50:13 -!- shapr has joined. 08:50:36 -!- puzzlet has joined. 08:50:46 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 08:50:50 -!- pgimeno has joined. 09:13:06 -!- puzzlet has quit (Client Quit). 09:17:03 -!- puzzlet has joined. 09:20:12 -!- fleft has joined. 09:25:01 -!- fleft has quit (Read error: 131 (Connection reset by peer)). 09:29:50 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 09:35:02 -!- yrz\werk has joined. 10:06:51 -!- calamari has joined. 10:22:26 -!- kipple_ has joined. 11:28:01 -!- calamari has quit (Connection timed out). 12:13:56 -!- jix has joined. 12:14:26 moin 12:46:54 -!- calamari has joined. 13:14:22 -!- calamari has quit ("Leaving"). 13:17:33 -!- calamari has joined. 13:38:05 -!- calamari has quit ("Leaving"). 13:50:45 -!- kipple_ has quit ("See you later"). 14:08:41 -!- kipple_ has joined. 15:29:29 -!- fungebob has joined. 15:32:18 -!- puzzlet has quit (Client Quit). 15:35:16 -!- puzzlet has joined. 17:18:06 -!- BigZaphod has quit. 17:55:49 -!- BigZaphod has joined. 18:11:15 -!- fungebob has quit ("Today is a good day to chat."). 18:50:32 -!- lindi- has quit ("..."). 18:51:29 -!- ChanServ has quit (ACK! SIGSEGV!). 18:52:47 -!- ChanServ has joined. 18:52:47 -!- irc.freenode.net has set channel mode: +o ChanServ. 19:12:54 -!- jimbo000 has joined. 19:22:06 -!- kipple__ has joined. 19:22:06 -!- kipple_ has quit (Read error: 104 (Connection reset by peer)). 19:24:07 yo 19:24:13 any speakers of russian? 19:24:15 http://www.livejournal.com/community/ru_brainfucker/ 19:34:50 lament: me :) 19:35:13 mtve: do you know anyone in that community? 19:35:24 perhaps they ought to be enlightened about the existence of this channel :) 19:36:11 esli oni konechno govoryat po-angliyski horosho 19:54:03 i see nothing new, the place has died on the same month (May), and no interesting people. 19:55:14 :( 19:55:28 thanks anyway :) 20:06:22 -!- J|x has joined. 20:16:15 -!- jix has quit (Read error: 110 (Connection timed out)). 21:04:12 -!- lindi- has joined. 21:19:57 -!- J|x has changed nick to jix. 21:21:48 -!- calamari has joined. 21:50:14 -!- jimbo000 has quit. 22:12:35 -!- stoic_pee has joined. 22:12:57 -!- stoic_pee has left (?). 22:17:28 someone alive? 22:20:47 me 22:25:18 -!- yrz\werk_ has joined. 22:25:44 eh... lament. 22:26:00 -!- yrz\werk has quit (Nick collision from services.). 22:26:33 -!- yrz\werk_ has changed nick to yrz\werk. 22:41:46 * {^Raven^} seems to live in a greenhouse 36C today :( 22:42:44 -!- calamari has quit (Read error: 110 (Connection timed out)). 22:53:43 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:12:28 -!- BigZaphod has quit. 2005-07-13: 00:37:01 -!- calamari has joined. 00:46:23 -!- BigZaphod has joined. 00:57:34 -!- jimbo000 has joined. 01:32:06 -!- BigZaphod has quit. 01:42:26 -!- BigZaphod has joined. 02:33:06 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 02:50:34 -!- kipple__ has quit (Read error: 110 (Connection timed out)). 04:17:29 -!- malaprop has quit ("quit"). 04:51:50 -!- calamari has quit (Read error: 110 (Connection timed out)). 04:57:51 -!- calamari has joined. 06:37:15 -!- yrz\werk has quit (Read error: 104 (Connection reset by peer)). 06:38:00 -!- yrz\werk has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:16:03 -!- calamari has quit (Connection timed out). 09:17:36 -!- calamari has joined. 09:18:44 -!- yrz\werk_ has joined. 09:28:25 -!- yrz\werk has quit (Client Quit). 09:59:10 -!- jix has joined. 09:59:42 moin 10:02:20 hi jix 10:02:50 hows your adventure game going? 10:19:01 -!- jix has quit (brown.freenode.net irc.freenode.net). 10:19:01 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 10:19:18 -!- jix has joined. 10:19:18 -!- pgimeno has joined. 10:56:54 -!- kipple__ has joined. 11:08:39 -!- calamari has quit ("Leaving"). 12:26:28 <{^Raven^}> mornin peeps 12:26:35 <{^Raven^}> jix: are you making a game too? 12:27:59 It's summer, it's 20°C today! 12:30:36 {^Raven^}: i made one... but i'm going to make another one because the first one isn't good 12:32:00 restart 12:32:13 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 12:35:27 -!- jix has joined. 12:35:52 back 12:36:38 its 13:37 here ... 12:36:46 hehe 12:37:07 it's 13:38 here. 12:37:19 13:37:40its 13:37 here ... 12:37:23 13:38:10it's 13:38 here. 12:37:26 dang 13:56:43 -!- malaprop has joined. 15:02:40 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 15:40:31 -!- guest_4230 has joined. 15:40:45 -!- guest_4230 has changed nick to fungebob. 16:37:45 -!- Neperiano has joined. 17:19:14 -!- Kyus has joined. 17:19:56 hello 17:20:50 Hoi 17:22:12 jix: For strange timing, I've got you topped: 17:22:12 (23:19:03) ...: fire alarm in this building, gtg 17:22:12 (23:19:06) CD Gregor R: Bye 17:22:12 (23:19:16) ... logged out. 17:22:12 (23:49:16) ... logged in. 17:22:13 (23:49:38) ...: That was fun 17:22:15 (23:51:11) ...: By my estimates, we were out there for half an hour 17:22:49 (Note the timestamps on logging out and in) 17:25:37 -!- Kyus has left (?). 17:27:02 -!- Neperiano has quit. 17:28:58 -!- BigZaphod has quit. 17:33:56 -!- calamari has joined. 17:33:58 hi 17:34:14 greetings 17:34:20 -!- fungebob has quit (Read error: 145 (Connection timed out)). 17:34:40 hi shapr 17:47:05 -!- guest_4764 has joined. 17:48:54 hello, you are a guest of the master control program 17:49:54 You have no chance to survive make your time. 17:50:14 Take off every Brainfuck! 17:50:22 * calamari doesn't remember hearing that in Tron 17:51:03 * puzzlet unfortunaltey had had no chance to watch Tron 17:51:11 unfortunately* 17:51:12 Whoa, it's great. 17:51:48 puzzlet: really? rent it or something.. 17:52:14 i only saw its parody in The Simpsons 18:04:55 -!- BigZaphod has joined. 18:21:15 -!- calamari has quit ("bbl"). 18:30:03 -!- shapr has quit ("upgrading"). 21:50:00 -!- jix has joined. 21:50:25 * jix is back 21:54:14 -!- calamari has joined. 21:55:02 hi 22:11:56 -!- kipple_ has joined. 22:11:56 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 22:38:46 -!- guest_4764 has quit ("Today is a good day to chat."). 23:08:46 -!- BigZaphod has quit. 23:51:10 -!- jimbo000 has joined. 23:57:45 <{^Raven^}> hey 23:58:08 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 2005-07-14: 00:09:51 hi raven 00:10:20 bbl ;) 00:10:22 -!- calamari has quit ("Leaving"). 00:41:37 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 01:35:53 -!- BigZaphod has joined. 03:52:20 -!- BigZapho1 has joined. 03:52:20 -!- BigZaphod has quit (Read error: 104 (Connection reset by peer)). 03:52:33 -!- BigZapho1 has changed nick to BigZaphod. 04:00:52 -!- kipple_ has quit (Read error: 60 (Operation timed out)). 04:30:47 -!- malaprop has quit ("quit"). 06:49:47 -!- BigZapho1 has joined. 07:05:11 -!- yrz\werk has joined. 07:05:12 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 07:08:28 -!- BigZaphod has quit (Read error: 110 (Connection timed out)). 07:18:06 -!- pgimeno has joined. 07:21:10 -!- yrz\werk_ has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:19:17 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 10:19:59 -!- pgimeno has joined. 10:47:47 -!- kipple_ has joined. 12:31:42 -!- jix has joined. 12:32:18 moin 13:05:49 -!- malaprop has joined. 13:14:01 -!- malaprop has quit (Nick collision from services.). 13:14:07 -!- malaprop1 has joined. 13:24:20 http://mapageweb.umontreal.ca/cousined/lego/5-Machines/Turing/Turing.html 13:54:33 -!- malaprop1 has quit ("leaving"). 15:11:37 -!- fungebob has joined. 15:11:44 -!- kipple_ has quit (Read error: 104 (Connection reset by peer)). 15:15:08 -!- yrz\werk has quit (Client Quit). 15:15:58 -!- yrz\werk has joined. 15:21:47 -!- fungebob has quit ("Today is a good day to chat."). 15:57:26 -!- fungebob has joined. 16:10:20 -!- malaprop has joined. 16:16:10 -!- kipple_ has joined. 16:24:19 -!- yrz\werk_ has joined. 16:26:09 -!- yrz\werk has quit (Client Quit). 16:54:09 -!- tokigun has joined. 16:54:20 hello 17:05:03 -!- tokigun has quit ("oops"). 17:33:32 -!- BigZapho1 has quit. 17:44:26 -!- lindi- has quit ("..."). 18:21:32 -!- yrz\werk has joined. 18:35:28 -!- yrz\werk_ has quit (Client Quit). 18:41:21 -!- lindi- has joined. 18:42:56 -!- yrz\werk_ has joined. 18:47:18 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 18:57:35 -!- yrz\werk has quit (Client Quit). 19:12:12 -!- BigZaphod has joined. 19:46:36 that's an impressive use of lego, but i'm not convinced that it's a turing machine 19:47:09 sure, it's finite. 19:47:26 hey! i'm going to build my own lego-turing machine 19:48:05 no, i mean, it's a PDA 19:48:31 the example program can be run on a PDA, as well 19:48:44 the states are stored in the rcx ram but the tape is lego 19:49:14 the "tape" is a stack, not a tape, though :) 19:49:40 2 stacks === 1 tape 19:49:59 it only has one stack 19:50:03 does it have 2 stacks or 1 19:50:05 oh 19:50:13 -!- kipple_ has quit (Read error: 54 (Connection reset by peer)). 19:50:35 * jix searches his lego box 19:51:40 -!- kipple_ has joined. 19:58:18 maybe I'm wrong but it does not seem to me like a LIFO stack but a FIFO 19:58:36 "Instead of having a bi directional tape, it uses a stack. When the symbol beneath the stack is read (and removed), the machine changes "states" and can add zero, one or two symbols on top of the stack." 20:00:22 ah, right. "beneath". 20:00:48 so it's a tag system 20:01:04 seems so 20:06:23 -!- J|x has joined. 20:14:26 i took wolfram's 1200+-page book out of the library, btw 20:14:56 on purpose? 20:15:59 yeah. i can't gripe about it is unless i've actually read it :) 20:16:42 s/is// 20:16:44 -!- jix has quit (Read error: 110 (Connection timed out)). 20:22:45 -!- J|x has changed nick to jix. 20:47:35 -!- dbc has joined. 21:08:38 you're gonna read the whole thing!? 21:09:22 it's mostly pictures 21:09:37 oh, of course 21:09:49 i forgot that it's a new kind of science 21:10:10 apparently eye candy is the new science ;) 22:19:19 <{^Raven^}> just wait for the 'magic-eye' candy version :P 22:33:39 -!- ZeroOne_ has quit (brown.freenode.net irc.freenode.net). 22:33:39 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 22:33:39 -!- fungebob has quit (brown.freenode.net irc.freenode.net). 22:33:40 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 22:33:41 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 22:33:42 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 22:33:42 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 22:33:42 -!- dbc has quit (brown.freenode.net irc.freenode.net). 22:33:42 -!- yrz\werk_ has quit (brown.freenode.net irc.freenode.net). 22:34:47 -!- BigZaphod has joined. 22:34:47 -!- {^Raven^} has joined. 22:34:47 -!- cmeme has joined. 22:34:47 -!- cpressey has joined. 22:35:18 -!- dbc has joined. 22:35:18 -!- yrz\werk_ has joined. 22:35:45 -!- malaprop has joined. 22:35:45 -!- fungebob has joined. 22:36:10 -!- dbc has quit (brown.freenode.net irc.freenode.net). 22:36:11 -!- yrz\werk_ has quit (brown.freenode.net irc.freenode.net). 22:36:13 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 22:36:13 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 22:36:13 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 22:36:13 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 22:36:16 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 22:36:20 -!- fungebob has quit (brown.freenode.net irc.freenode.net). 22:36:25 -!- malaprop has joined. 22:36:25 -!- fungebob has joined. 22:36:53 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 22:36:54 -!- fungebob has quit (brown.freenode.net irc.freenode.net). 22:37:19 -!- fungebob has joined. 22:37:19 -!- malaprop has joined. 22:37:19 -!- BigZaphod has joined. 22:37:19 -!- ZeroOne_ has joined. 22:37:19 -!- {^Raven^} has joined. 22:37:19 -!- cmeme has joined. 22:37:19 -!- cpressey has joined. 22:37:45 -!- dbc has joined. 22:37:45 -!- yrz\werk_ has joined. 22:37:47 -!- jix has quit (brown.freenode.net irc.freenode.net). 22:37:47 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 22:37:58 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 22:37:58 -!- BigZaphod has quit (brown.freenode.net irc.freenode.net). 22:38:03 -!- cmeme has quit (brown.freenode.net irc.freenode.net). 22:38:03 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 22:38:05 -!- jix has joined. 22:38:05 -!- pgimeno has joined. 22:38:26 -!- BigZaphod has joined. 22:38:26 -!- {^Raven^} has joined. 22:38:26 -!- cmeme has joined. 22:38:26 -!- cpressey has joined. 22:52:32 cpressey: ever consider a timecube esolang? :P 22:53:39 i find their "math" delightfully befuddling 23:01:02 -!- fungebob has quit ("Today is a good day to chat."). 23:39:13 -!- BigZaphod has quit. 23:52:32 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:58:45 -!- calamari has joined. 23:59:00 hi 2005-07-15: 00:36:51 -!- BigZaphod has joined. 00:38:45 -!- jimbo000 has joined. 00:58:08 <{^Raven^}> morning peeps 01:33:16 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 01:49:18 -!- puzzlet has joined. 02:40:27 -!- jimbo has joined. 02:58:48 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 03:07:02 -!- calamari has quit (Read error: 110 (Connection timed out)). 03:56:23 hey could any of you guys conceive of an esolang related topic for a PhD thesis? 04:12:52 -!- malaprop has quit ("quit"). 04:36:22 jimbo: why people like them? :) 06:02:51 -!- BigZaphod has quit. 06:11:54 -!- jimbo has quit ("I'm outta heee-eeee-eeeere"). 06:46:12 -!- BigZaphod has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:55 hmm... 08:13:58 turing managed it somehow :) 08:47:14 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 08:47:42 -!- pgimeno has joined. 09:43:46 -!- jix has joined. 10:44:26 moin 10:56:15 ->++>+++>+>+>+++>>>>>>>>>>>>>>>>>>>>+>+>++>+++>++>>+++>+>>>>>>>>>>>>>>>>>>>>>>> 10:56:29 >>>>>>>>>>+>+>>+++>>+++>>>>>+++>+>>>>>>>>>++>+++>+++>+>>+++>>>+++>+>++>+++>>>+> 10:56:36 +>++>+++>+>+>>+++>>>>>>>+>+>>>+>+>++>+++>+++>+>>+++>>>+++>+>++>+++>++>>+>+>++>+ 10:56:43 ++>+>+>>+++>>>>>+++>+>>>>>++>+++>+++>+>>+++>>>+++>+>+++>+>>+++>>+++>>++[[>>+[>] 10:56:50 ++>++[<]<-]>+[>]<+<+++[<]<+]>+[>]++++>++[[<++++++++++++++++>-]<+++++++++.<] 10:58:25 392-byte brainfuck quine. Slight variant of Erik Bosman's quine, again. Uglier than the 400-byte version; e.g., the last character is ASCII "SUB" (26). 10:58:52 This better not be the last word. 11:08:34 very nice. it's kinda a golf, isn't it? :) will you post it on your web page? 11:14:39 -!- kipple_ has joined. 11:47:56 <{^Raven^}> hi dbc 13:10:19 -!- malaprop has joined. 14:28:45 -!- yrz\werk has joined. 14:28:45 -!- kipple_ has quit (Read error: 104 (Connection reset by peer)). 14:35:47 -!- kipple_ has joined. 14:44:34 -!- yrz\werk_ has quit (Client Quit). 14:45:54 -!- yrz\werk has quit (Client Quit). 14:48:53 -!- yrz\werk has joined. 15:11:23 -!- yrz\werk_ has joined. 15:28:04 -!- yrz\werk has quit (Client Quit). 15:59:02 -!- fungebob has joined. 17:40:08 -!- BigZaphod has quit. 17:50:29 -!- calamari has joined. 17:50:31 hi 18:04:24 -!- yrz\werk has joined. 18:18:55 -!- BigZaphod has joined. 18:19:00 -!- yrz\werk_ has quit (Client Quit). 18:37:49 -!- calamari has left (?). 19:32:32 -!- calamari has joined. 20:06:08 -!- J|x has joined. 20:16:14 -!- jix has quit (Read error: 110 (Connection timed out)). 20:34:24 -!- calamari has quit (Read error: 113 (No route to host)). 20:53:11 -!- calamari has joined. 20:54:09 not sure why I started it.. http://esolangs.org/wiki/Brainfuck_constants .. perhaps some of these can be improved? 20:54:18 afk for lunch 21:26:10 calamari: here's a related page: http://www.iwriteiam.nl/Ha_bf_numb.html 22:08:16 -!- fungebob has quit ("Today is a good day to chat."). 22:36:39 -!- J|x has changed nick to jix. 23:44:09 pgimeno: yeah, I even checked that page for comparison.. not sure why I didn't reference it in the article 23:44:09 -!- kipple_ has quit (Read error: 54 (Connection reset by peer)). 23:51:37 hey, some pretty cool stuff on those pages.. http://r.s.home.mindspring.com/F/#bohm 1964! we're all newbies :) 23:54:42 -!- BigZaphod has quit. 2005-07-16: 00:23:54 -!- kipple__ has joined. 00:31:52 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:04:11 -!- calamari has quit ("Leaving"). 01:46:48 Oh yeah, my newest hat = el the awesome. 02:38:06 -!- BigZaphod has joined. 06:28:22 -!- kipple__ has quit (Read error: 110 (Connection timed out)). 06:35:58 -!- cmeme has quit ("Client terminated by server"). 06:36:41 -!- cmeme has joined. 06:56:52 -!- calamari has joined. 06:58:19 hi 06:58:50 cool, someone already put a p'' article on the wiki.. good work :) 07:11:03 I think I need to make an esoteric programming language that uses hieroglyphics. 07:19:12 or invent a new writing system and use that 07:20:05 provide no instructions for use, no documentation of any kind.. and make it worse than malbolge 07:20:16 ;) 07:21:37 oh, and source code is for wimps.. provide a binary for some obscure architecture that no one uses anymore 07:24:05 just suggestions, of course :) 07:25:12 that's interesting though.. I wonder what a programming language would look like if the ancient egyptians had computers 07:27:09 bbl 07:27:11 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:57:34 -!- jix has joined. 09:57:59 moin 10:23:22 -!- calamari has joined. 10:32:26 <{^Raven^}> calamari: you could provide a rosetta polyglot a few years after release that had the same program transcribed in malbolge and hierogliphs 10:33:42 raven: or the programmer could write it when in an altered mental state.. then hopefully nobody will know how it works :) 10:34:04 <{^Raven^}> calamari: programs could be written using paint or similiar graphics package :) 10:34:47 /clear 10:34:55 can't be reading docs ;) 10:46:50 <{^Raven^}> i'm finding thinking up a new esolang a bit difficult, best i have come up with is a mainstream language expressed in a hard to program way 10:48:14 most of my languages aren't very creative.. make an uncreative one and just don't promote it ;) maybe you'll get some ideas along the way 11:19:17 -!- calamari has quit ("Leaving"). 11:39:35 -!- yrz\werk has changed nick to pnz. 11:41:22 -!- pnz has changed nick to yrz. 11:45:43 -!- Keymaker has joined. 11:45:55 hhi, 11:46:16 dbc! 11:50:43 dbc: looks like awesome quine! 11:55:37 cpressey: i should look the pictures of that book sometime.. 11:55:52 the text i wouldn't understand 12:00:27 -!- kipple__ has joined. 12:16:07 -!- CXI has joined. 12:26:16 <{^Raven^}> I have added a few more constants to http://esolangs.org/wiki/Brainfuck_constants 12:35:55 hmmm.. anyone thought how one could dublicate stuff in brainfuck memory? like first there would be "000brainfuck" in memory and after dublicating it there would be "000brainfuck0brainfuck".. 12:36:21 i can't think of any easy way 12:36:54 hmm 12:37:02 i wonder if i got one idea.. 12:39:10 <{^Raven^}> If the length of the block to be duplicated was fixed it would be simpler 12:39:19 yep, only for finite strings. 12:39:48 that's true 12:40:32 for finite/small the >>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<..... would be simples 12:40:37 t 12:41:38 i think i got it.. 12:41:48 now it'll take a moment to program.. 12:46:21 this could make up a nice bfcc#2 12:46:45 bfcc? 12:46:53 brainfuck component competition 12:47:09 the first competition i ran 12:47:23 it got nicely entries.. 12:47:28 check bf golf forum 12:47:41 bf golf forum? 12:47:46 yeah 12:47:49 do you know it? 12:47:52 no 12:48:01 brainfuck.sourceforge.net 12:48:05 (iirc) 12:48:08 there select that forum 12:48:13 or link to that forum 12:55:23 -!- CXI has changed nick to Ryu. 12:56:20 -!- Ryu has changed nick to CXI. 13:14:07 mmmh braindamage.. 14:05:28 YEEEEAAAAAHHHHHHHHHHHHHHH!!!!!!!!!!!!!!! 14:05:36 the program works perfectly 14:16:00 what program? 14:16:18 a program that dublicates n non-zero cell(s) in memory 14:16:20 like 14:16:33 0data to 0data00data 14:17:35 128 bytes.. 14:17:46 probably could made shorter 14:18:00 but this is a quick hack.. 14:18:03 [>>[>]<[[>>+<<-]<]<[[>+<-]<]<[[>+<-]<]>>[>]>[>]<[>+>+<<-]>[<<[<] 14:18:03 <[<]<+>>[>]>[>]>-]<<[<]<[<]<[>+<-]>[>]>[>]>>[[<+>-]>]<<[<]<]<[<] 14:18:50 it can be easily modified to make the data form 0data to 0data0data (one 0 instead two) 14:19:02 anyways, this program assumes that; 14:19:21 there is data in memory 14:19:22 that 14:19:33 has at least one zero cell before it 14:19:36 like 0data 14:20:11 and that after that data there are empty cells 14:20:17 (zero) 14:21:13 as well, when starting the program, the program assumes the pointer is the last data cell 14:21:25 like 0 d a t a(p) 14:21:57 actually, what's accidentally left to the version i just posted, is '[>>[>]<' in the very beginning. 14:22:19 hey, wait a bit.. 14:22:38 aarg 14:22:41 nothing nothing!! 14:22:45 don't read what i said 14:22:48 i said wrong 14:22:53 it's vital part of the program 14:23:06 sorry, don't remove it.. everything's as supposed to be, in that code.. 14:23:14 there's no extra 14:23:53 oh, and when the execution ends, the program returns to the first cell, the one on the left side of data, like 0(p) d a t a 14:26:44 notice that this is a code snippet, not "actual" program.. so you need to have some data there (or actually not), but you need to have at least one empty cell on the left of the starting cell.. 14:27:24 so, just add '>' to the very beginning if you want to run that program (it doesn't, however do much with no-data) 15:15:56 -!- yrz_ has joined. 15:27:28 -!- yrz has quit (Read error: 110 (Connection timed out)). 17:06:57 -!- jix has quit (brown.freenode.net irc.freenode.net). 17:06:57 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 17:08:48 -!- jix has joined. 17:08:48 -!- pgimeno has joined. 20:06:32 -!- J|x has joined. 20:07:08 -!- jix has quit (Nick collision from services.). 20:07:10 -!- J|x has changed nick to jix. 21:16:17 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)). 23:28:01 -!- BigZaphod has quit. 23:28:02 -!- kipple__ has quit (Read error: 54 (Connection reset by peer)). 23:35:28 -!- calamari has joined. 2005-07-17: 00:46:08 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 00:53:21 -!- calamari has quit ("Leaving"). 01:44:31 -!- calamari has joined. 02:16:27 -!- heatsink has joined. 03:08:15 <{^Raven^}> calamari: I have added some BF constants to your Wiki page. 03:47:55 -!- BigZaphod has joined. 04:45:02 -!- graue has joined. 05:35:57 -!- malaprop has quit ("quit"). 05:53:10 -!- calamari has quit (Read error: 110 (Connection timed out)). 06:16:43 -!- calamari has joined. 06:33:59 hi 06:35:47 raven: pretty cool! found a couple smaller ones, for ya :) 07:13:04 * calamari just realized.. I no longer have to call it bf... I can call it p'' :) 07:16:26 p prime prime? 07:47:02 -!- heatsink has quit (Remote closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:31 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 10:35:42 -!- calamari has quit (Read error: 110 (Connection timed out)). 11:00:24 -!- calamari has joined. 11:07:28 -!- Keymaker has joined. 11:10:33 -!- calamari has quit ("Leaving"). 11:11:37 -!- Kmkr has joined. 11:11:38 -!- Keymaker has quit (Read error: 54 (Connection reset by peer)). 11:11:44 hm 11:13:27 -!- Kmkr has quit (Read error: 54 (Connection reset by peer)). 11:47:45 -!- ZeroOne_ has changed nick to ZeroONe. 11:47:49 -!- ZeroONe has changed nick to ZeroOne. 11:50:41 -!- jix has joined. 12:08:53 -!- Keymaker has joined. 13:28:44 grhh 13:28:51 darn storm 'n lightning 13:28:57 must shut down 13:28:59 -!- Keymaker has quit. 14:38:39 -!- jix has quit (Read error: 104 (Connection reset by peer)). 14:38:45 -!- jix has joined. 15:32:41 -!- malaprop has joined. 16:24:39 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 16:24:47 -!- jix has joined. 17:58:14 -!- graue has joined. 18:07:50 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 18:08:09 -!- CXI has joined. 18:17:27 -!- Keymaker has joined. 18:52:42 hello, Keymaker 18:57:33 hiya 19:32:17 I've revised the Archway language, so now it's fun and stuff: http://www.esolangs.org/wiki/Archway 20:06:23 -!- J|x has joined. 20:10:41 -!- jix has quit (Nick collision from services.). 20:10:45 -!- J|x has changed nick to jix. 20:19:58 graue: nice job! 20:21:41 ready for the BF2Archway compiler? :) 20:29:03 -!- Keymaker_ has joined. 20:29:04 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)). 20:29:18 computer crashed.. 20:31:04 pgimeno, no, not quite yet 20:31:54 re Keymaker_ 20:35:42 'ello 20:37:02 archway looks pretty usable 20:40:09 It's my birthday today, by the way. 20:41:07 oh, happy birthday GregorR 20:42:08 I bought myself a fez for my birthday 8-D 20:42:48 happy birthday! 20:42:55 what's a fez? 20:43:00 It's a type of hat. 20:43:08 lol 20:43:18 http://www.villagehatshop.com/media/vhs-fez.jpg 20:43:26 Hat #11 for me 8-D 20:44:46 nice fez :) 20:45:23 Thanks 8-D 20:45:25 hehe 20:45:36 that is 1337 20:46:11 no, that's 11 :P 20:46:14 (sorry, bad joke) 20:47:16 -!- Keymaker_ has quit (Read error: 54 (Connection reset by peer)). 20:54:46 no, that's -5 20:54:54 0x8 - 0xd? 21:29:25 happy birthday GregorR 21:33:55 -!- BigZaphod has quit. 21:36:12 isn't brainfuck itself planar 21:38:11 you just have to move everything between [ and ] down one line 21:39:33 oh storage... 21:51:39 -!- heatsink has joined. 22:02:27 infinite planar graphs are turing complete 22:03:03 noncrossing? 22:03:06 yes 22:03:24 with storage connected to every state 22:03:43 but infinite programs are hard to write 22:12:09 happy birthday, GregorR 22:12:15 oddly, i got a fez recently too 22:12:25 friends of mine brought it back from their trip to Turkey... 22:13:55 Heheh. 22:44:38 -!- calamari has joined. 22:45:31 Mmmmmmmmmmmmmmmmmmmmmmm, calamari 22:45:35 * GregorR begins to eat calama 22:45:38 *calamari 22:46:30 hi GregorR, happy birthday 22:47:25 Thanks :) 22:49:06 still really excited about the discovery of P''. means I never have to use that other name again :) 23:08:00 is this correct? http://www.esolangs.org/wiki/Image:BF2Planar.png 23:10:09 i just realized that i don't need infinite planar graphs 23:13:14 hm? 23:13:17 anyone here? 23:14:11 calamari: except that P'' isn't brainfuck, exactly... it only has three operators, which map to brainfuck ">", "+<", and "[]" 23:14:47 the language that maps to brainfuck-without-i/o is an unnamed intermediate language used in a proof of P'' turing-completeness 23:15:19 To spite calamari, I'm going to name it fuckshitcock 23:15:32 That's what I'll call it at all times. 23:16:47 cpressey: yeah I know.. I'll have to use the other symbols if I want to call it P'' :) 23:18:22 I'm not sure I understand this image, jix 23:18:46 having trouble following it myself, just read up on planar graphs :) 23:19:09 graue: the - - - - lines are data lines for communication with the tape 23:19:53 oh, I get it now 23:20:11 but what about the "arbitrary effect at an arbitrary point" thing? 23:21:02 suppose that at A and C you want to access cell 0, and at B you want to access cell 1 23:21:04 can you do it? 23:38:41 -!- jix has quit (Read error: 110 (Connection timed out)). 2005-07-18: 00:19:34 -!- BigZaphod has joined. 00:32:40 -!- heatsink has quit ("Leaving"). 01:05:03 -!- coster has joined. 01:09:35 -!- coster has left (?). 01:20:42 hmm 01:21:30 found a new page with lots of esolang interpreters/compilers: http://www.jaapan.de/en/myprg.php?page=progs2 01:22:04 I like how it's Japan-Germany-England :-P 01:23:06 this guy really seems to have a thing to Atari computers :p 01:31:50 atari computers are cool.. I have an old 800xl :) 01:32:52 of course the st < amiga 01:45:06 yes 02:45:15 -!- BigZaphod has quit. 02:51:47 -!- calamari_ has joined. 02:54:04 -!- calamari has quit (Read error: 110 (Connection timed out)). 03:06:51 -!- graue has quit (Read error: 110 (Connection timed out)). 03:14:42 -!- BigZaphod has joined. 03:42:50 -!- CXI has changed nick to Kurt4. 03:44:21 -!- Kurt4 has changed nick to CXI. 03:47:07 -!- Phy has joined. 03:48:21 hi 03:50:11 Hoi 03:50:18 hi\ 03:51:18 -!- graue has joined. 04:01:58 -!- calamari has joined. 04:02:20 -!- calamari_ has quit (Read error: 110 (Connection timed out)). 04:02:26 well, so much for the constants page.. wrote a program to exhaustively find solutions :) 04:03:12 -!- Phy has left (?). 04:03:21 cool 04:03:27 what'd you write it in? Brainfuck? 04:04:21 please share this program with us 04:07:27 wrote it in java 04:08:09 we need a file wiki with an html upload button :) 04:08:27 Such as, ohhhhhhhhhhhh, Giki? :P 04:08:36 giki? 04:08:51 Ouch. 04:08:56 http://giki.sourceforge.net/ 04:08:59 oh yeah 04:09:03 Heheh 04:09:03 I remember now.. hehe 04:09:06 I'm just being an idiot :-P 04:09:30 I' 04:09:39 m usually an idiot, so you're ahead of me ;) 04:11:08 graue: can you show me how to upload the file to the wiki? 04:12:31 * calamari still wishes there could be in-wiki files.. it would be perfect for this situation 04:21:19 I should have it generate the best non-wrapping version as well 04:39:39 as discussed before, the wiki isn't the best place for files 04:39:57 send it to me and I'll add it to svn... or, if you want, I can give you an svn account to add it yourself 04:46:25 -!- malaprop has quit ("quit"). 05:05:27 -!- calamari has quit ("Leaving"). 06:39:28 -!- Keymaker has joined. 06:42:29 here's a brainfuck related xmas card: 06:42:30 http://koti.mbnet.fi/yiap/stuff/xmas.png 06:42:53 i meant to post it here last Christmas, but probably forgot 06:43:14 well, yesterday i fixed couple of pixels and saved it as png.. uploaded it some seconds ago 07:20:57 -!- Keymaker has quit. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:10:47 -!- yrz has joined. 09:19:15 -!- jix has joined. 09:19:40 t-online sucks! 09:20:07 moin 09:21:35 they dropped my dsl connection... my router tried to reconnect but nothing happened... i took a look in the logs.. something with authentification errors and session limits... :( 09:21:43 -!- lindi- has quit (Remote closed the connection). 09:23:08 that sucks, jix 09:23:18 -!- yrz_ has quit (Read error: 110 (Connection timed out)). 09:24:27 jix, is 0.2 still the latest version of cipple? 09:26:50 graue: yes 09:29:57 can you add some sort of license to the beginning of it so I can copy it legally? 09:34:44 yes 09:41:36 http://www.harderweb.de/jix/cipple/cipple.c 09:47:02 cool, thanks 10:06:16 ok again.. is this correct? http://esolangs.org/wiki/Image:BF2Planar.png 10:07:42 it shows how to map 2 instruction into a 1 instruction box without wire crossing (and connection to the storage (the dashed liens)) and how to map instruction[instruction]instruction into a 1 instruction box (without wire crossing too) 10:10:27 do you have to have a line to the particular cell of storage you want? 10:11:49 I'm not really clear on what's being proved here, because I thought that the problem was, you need to have a planar state graph where all the storage is considered part of the state 10:12:29 storage part of the state? 10:12:47 -!- lindi- has joined. 10:12:49 part of the graph? 10:15:34 is this (http://en.wikipedia.org/wiki/L-System) turing complete? 10:18:29 the rules just allow 1 symbol => N symbols but not N symbols => N Symbols with N symbols => N symbols it's like thue 10:19:47 it's Context-free so it's a pushdown-automaton 10:20:03 I'm not really the one to talk to about this theoretical stuff 10:29:26 braktif seems to be non-planar 10:31:39 it uses ^< and v> they cross 10:33:40 but i'm working on a braktif like non-wire-crossing cellular automaton 11:33:55 tape and the instructions * > and < are implemented 11:46:24 [ when current cell is false is implemented 12:02:25 i made a turing complete planar cellular automat 12:03:28 oh a little error 12:13:37 fixed 13:05:26 -!- malaprop has joined. 13:30:07 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 14:01:25 Good morning, people-who-are-not-in-my-time-zone-and-hence-it-is-not-morning-to. 14:03:07 moin GregorR 14:04:23 Hoi :) 14:06:39 good night 14:07:04 its 3pm here 14:07:46 lol 14:08:08 It's 6AM here. 14:08:28 sometimes 3pm is morning for me 14:08:38 XD 14:09:33 i made a planar turing complete cellular automat (using alpaca) 14:11:02 because brakif doesn't seems to be planar 14:12:06 Hmmmmmmm, why did I wake up? 14:12:11 *zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz* 14:12:34 Oh right, work. 14:13:23 work?! 14:14:10 Gregor needs his $$$ :) 14:14:24 i need €€€ 14:14:57 hmm i have €€€ and atm i don't need more 14:16:07 AHHHHHHHHHHHHHHHHHHHH, THE NOT ENGLISH! 14:16:58 ? 14:18:36 "€€€" comes out as garbage to me. 14:18:46 €€€ is EuroEuroEuro 14:18:55 is your charset UTF-8? 14:18:55 WOW, I can't read a Euro. 14:19:05 I'm probably living in ASCII-land. 14:19:30 UTF-8 is ascii compatible 14:19:33 That's the AMERICAN Standard Code for Intellectual Interchange! It's AMERICAN, which implicitly means better. Like SUVs and killing innocent things. 14:20:51 Aaaaaaaaaaaaaaaaaaaaaaaaaanyway, time for me to go to work, see y'all later :) 14:21:22 later 15:24:34 15:16 < GregorR> "âB¬âB¬âB¬" comes out as garbage to me. 15:24:34 15:16 < jix> âB¬âB¬âB¬ is EuroEuroEuro 15:27:58 i'm using UTF-8 15:32:48 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 15:34:33 -!- puzzlet has joined. 15:56:32 jix: yes, L-systems are PDAs. 16:04:45 cpressey: they are Context-Free grammars => PDAs 16:04:59 cpressey: braktif isn't planar 16:06:39 jix: yes, i know 16:06:49 most interesting 2d ca's aren't 16:06:59 but i made a planar smallfuck interpreter using alpaca 16:07:06 although... possibly all are isomorphic to ones that are 16:07:18 through neighbourhood isomorphism 16:07:45 jix: can i see it? 16:07:50 yes 16:09:01 i'm uploading everything 16:12:25 i'm writing down a little smallfuck => plainfuck (PLanar brAINFUCK) converting guide 16:16:18 http://www.harderweb.de/jix/langs/alpaca/plainfuck/(guide.txt|plaunfuck.alp|test.pf) i hope i uploaded a working version 16:16:35 plainfuck.alp not plaunfuck.alp 16:17:30 it's planar because i'm only using < ^ v and > 16:19:55 have you checked that the state diagram of each cell is also planar? 16:20:21 eek, look at the time 16:20:26 i have to leave for school now, sorry 16:20:30 cya later 16:20:49 cya 16:20:59 oh statediagram of each cell uhm 16:21:11 d'oh 16:21:40 but i have a brainfuck presentation that is planar (not a cellular automat) 16:30:04 -!- fungebob has joined. 16:59:38 -!- yrz_ has joined. 17:01:20 -!- BigZaphod has quit. 17:03:42 Do work ... or chat on #esoteric ... 17:09:27 -!- yrz has quit (Read error: 110 (Connection timed out)). 17:21:33 GregorR: has ork dynamic arrays? 17:28:49 I believe you could build your own, it has pointers. 17:29:12 I really need to make a release of ORK with Instantiate spelled right XD 17:32:04 *g* 17:39:21 Hmm, befunge.org doesn't like my public key any more >_> 17:39:50 it was down a few hours ago 17:40:36 Have you checked out the BBCode plugin btw, pgimeno? 17:40:51 nope, I'm going to 17:41:48 Hmm, looks like befunge.org will be back up on the 25th. 17:42:50 In the interim, http://www.codu.org/ork/ork-0.9.tar.bz2 (please download lightly, I have limited bandwidth :P) 17:43:01 Actually, they recently increased the bandwidth there, so it's no problem. 17:43:28 -!- BigZaphod has joined. 17:43:32 -!- Keymaker has joined. 18:00:33 huh?! my 99 bottles of beer is #1 18:01:20 lazy k? 18:01:32 yes 18:01:36 ah. good job 18:02:20 it's my 2nd functional programming language (the first one was haskell and i used it only for a day) 18:02:37 you really have to rethink how to do thinks with lambdas 18:02:49 hmm maybe i'm going to write lazy-k-basic 18:02:58 /away 18:08:09 -!- calamari has joined. 18:08:11 hi 18:10:49 hello 18:11:07 how does that your brainfuck constant program work? 18:11:28 i mean how does it calculate that stuff? 18:11:39 keymaker: well, at first I tried to find a mathematical solution, but I'm not that good, so I took a more brute force approach 18:12:27 keymaker: it takes all "equations" of the form w[>xz from -14 to 14 18:12:48 some things are immediately ruled out, for example w!=0 and x=0, or w!=0 andy=0 18:13:44 it then decides what the answer is, by taking i from 1 to 255, (256*i - w) *y *x + z ) mod 256 18:14:00 there might not be a solution 18:14:15 that' 18:14:24 s from memory, so sorry if there are wrong details 18:15:30 ok 18:18:35 btw for there to be a solution (256*i-w)%y must be 0 18:18:54 so if it completes the loop then there was no soln 18:19:20 of course if w,x,y,z < 0 I add 256 18:19:32 that's pretty much it, I think 18:23:10 hmm... now that I think of it, that form w[>xz might not always be the most efficient for the non-wrapping versions 18:34:45 this should cover it v[>w[>x<-]>y<<-]>>z 18:38:17 nope.. hehe 18:38:37 no reason it has to be -.. could be -- 18:39:50 so t[>u[>vx<>z .. yay 18:41:17 w, y (- {-1, -2, -4, -8} 18:42:23 maybe not.. perhaps for some t, there could be y=-3 so that it completes evenly 18:43:03 not quite as easy as the wrapping solutions :) 18:45:40 actually ..no my original form is better, because t=4, y=-2 is the same as t=2,y=-1, but less efficient 18:46:00 so I think I can assume y=-1 is the optimal solution 18:52:27 i think this problem is a lot more complex than you think it is. 18:53:10 lament: possibly.. can you point out something that I've missed? 18:53:14 no. 18:53:18 here are my current set of combo: 18:54:34 of course it's possible to do a complete bruteforce. 18:55:28 z, v[>w<-]>, v[>w<-]>z, v[>w[>x<-]<-]>>, v[>w[>x<-]<-]>>z, v[>w[>x<-]>y<<-]>>, v[>w[>x<-]>y<<-]>>z 18:56:34 I'm only looking for answers in 0-255, so anything that might be required to generate larger answer efficiently doesn't need to be considered 18:58:38 v,w,x,y,z (- {0,...,14} 18:59:23 anyhow.. I'll code that up later on and see what kinds of answers I get 19:03:31 it's possible that I'll need another nested multiplication.. not sure if it helps or not 19:09:33 afk 19:12:26 do you think it would help to have v,w,x,y,z greater than 14? 19:12:38 somehow I don't think so 19:35:00 -!- puzzlet has quit (Client Quit). 19:42:36 the wiki doesn't seem to allow me to upload images.. or am I just missing how to do it? 19:55:38 hehehehe 19:55:46 i wrote a brute-force solution program 19:55:55 probably will take a few hundred years to run.... 19:56:35 ;) 19:57:12 * lament times it 19:57:15 I'm not at home, but I can write the above program later.. should not take too long 19:57:37 have fun copy/pasting the solutions in :) 19:58:18 my program analyzes 100,000 BF programs a minute... 19:58:20 should write a merging program while that one is running ;) 19:58:24 of course, i could rewrite it in C 19:58:59 damn 19:59:20 it will take 70,000 years to run, not "a few hundred" :( 19:59:23 -!- puzzlet has joined. 19:59:36 still this is very possible to do 19:59:39 in theory 19:59:45 with currently available computational resources 20:00:16 only 70,000? what's the hurry? ;) 20:01:21 I could probably solve this in a year by attaching it to a virus and infecting 70,000 windows machines. 20:01:27 calamari: I've had no problem uploading an image to the wiki for Taxi. I used this page: http://esoteric.voxelperfect.net/wiki/Special:Upload 20:08:01 zaphod: thanks :) 20:08:51 lament: are these random bf programs? 20:14:33 lament: haha 20:15:21 calamari: no, i'm doing them in order 20:17:06 lament: order? 20:17:11 what order? :) 20:17:41 well, each bf program is a number in base 6 20:17:48 (6, since "," and "." are never used) 20:17:52 halting problem? 20:18:23 i stop the machine after 10000 steps 20:18:31 should have checked for the smallest quine while you're at it ;) 20:18:33 and i should probably decrease that number dramatically 21:14:06 <{^Raven^}> calamari: the x[>xx solutions are wrong, they should be x[>xx< to leave the pointer at the same cell as the x[>x raven: I thought I had the non >x solutions still do >.. did I forget ? 21:16:27 * calamari checks.. nope 21:16:43 raven: the pointer will end up at the desired number 21:16:53 <{^Raven^}> calamari: yeah, x[>xxx case both pointer and value are in cell 1 21:17:14 raven: where is x[>x for example ++++[>+++++<-]> (15, 2) (20 section) 21:18:51 this leaves the cell in 1 21:19:05 err pointer in cell 1 :) 21:19:37 so I must be totally misunderstanding your objection :) 21:19:48 <{^Raven^}> ahh, it's out of date 21:19:57 <{^Raven^}> didn't see the recent update 21:20:13 one thing tho.. I should rearrange so that the answer ends up in cell 0 21:20:32 that way 1 and 2 cell versions end up in the same place 21:21:43 hmm, takes an extra byte for the leading >.. never mind ;) 21:22:03 -!- dbc has quit ("you have no chance to survive make your time."). 21:22:55 uhoh, dbc left.. all is lost :) 21:23:47 indeed :( 21:33:07 So. 21:33:28 -!- fungebob has quit ("Today is a good day to chat."). 21:49:52 -!- calamari has quit (Excess Flood). 21:49:56 -!- calamari has joined. 21:50:12 -!- calamari has quit (Client Quit). 21:50:18 -!- calamari has joined. 21:50:23 sorry about that :( 21:50:36 dangers of the middle mouse button in linux 21:56:57 Heheh 21:57:04 Ahh, but middle-mouse-paste=good 21:57:24 yeah I like it usually :) 21:58:16 (Middle mouse paste is also a rather popular meal to get in an American fast food restaurant, though they don't usually call it that) 22:14:06 22:14:14 heh 22:18:07 i don't get the joke 22:18:23 :) 22:20:43 -!- kipple__ has joined. 22:24:32 -!- kipple__ has left (?). 22:25:37 Keymaker: Fast food = bad, mouse paste = probably not too healthy (mouse paste as in paste made from mice) 22:28:38 ah.. 22:28:53 * Keymaker pretends understanding usaian humour 22:29:08 :) 22:29:11 * GregorR eats some mouse paste. 22:29:39 hmm, what's wrong with fast food? i thought you americans love it 22:30:15 There's something horribly wrong with Americans. 22:30:35 :) 22:30:42 hmm anyone ever thought about writing an irc bot in.. BRAINFUCK? 22:30:49 nope 22:30:54 mm.. now I want some Taco Bell :) 22:30:54 but that could be nice 22:30:56 Keymaker: wrong 22:31:03 me did (3 mins ago) 22:31:11 jox: thought about it, yes.. did it: no :) 22:31:17 yes 22:31:19 -!- jix has changed nick to jox. 22:31:20 err jix, sorry :) 22:31:28 ok 22:31:31 -!- jox has changed nick to jix. 22:31:38 -!- Keymaker has changed nick to jox. 22:31:43 -!- GregorR has changed nick to Keymaker. 22:31:48 lol 22:31:50 who am i? 22:31:55 lol 22:31:57 -!- jox has changed nick to GregorR. 22:32:07 ahh stop it! 22:32:14 :) 22:32:27 -!- GregorR has quit (Nick collision from services.). 22:32:31 lol 22:32:31 :) 22:32:51 -!- Keymaker has changed nick to GregorR. 22:33:05 That was mean 22:33:28 who is calling me at 11:34pm?! 22:33:33 Keymaker is scratching his head right now I'll bet 8-D 22:34:14 irc bot in brainfuck is hard 22:34:37 shouldn't be that hard 22:34:37 I'll bet. 22:34:39 -!- Kmkr has joined. 22:34:45 write it in bfbasic 22:34:46 HI KEYMAKER! 22:34:46 darn nick collision 22:34:51 XD 22:34:54 lol 22:34:59 hello :9 22:34:59 calamari: that's too easy 22:35:12 see? not hard :) 22:35:42 calamari: but i want to write it in pure hand optimized brainfuck 22:35:58 Sometimes I want to write a BF backend for GCC. 22:36:09 But then I put away the cocaine and that feeling goes away. 22:36:36 jix: then WRITE IT 22:36:38 :p 22:36:46 somebody needs to send Gregor some coke 22:36:46 Kmkr: i'm going to WRITE IT 22:36:52 OK 22:37:00 mmmh coke.. 22:37:04 -!- Kmkr has changed nick to Keymaker. 22:37:30 <{^Raven^}> GregorR: a brainfuck backend for SmallC might be simpler and less complex 22:37:30 Gregor: do you know how to write backends for gcc? I tried figuring it out once and it was too complicated for me 22:38:10 calamari: front-ends are easier 22:38:21 jix: how would that kind of irc bot work? 22:38:31 Keymaker: stdin and stdout 22:38:41 would you need to have some brainfuck interpreter on channel or something? 22:38:41 I was hoping to have access to some pseudo-asm language that I would then generate bf for 22:39:21 I wrote a bf bot.. in java though ;) 22:39:27 :) 22:39:38 Keymaker: no i implement the irc protocol in brainfuck pipe stdin and stdout to a socket and POW 22:39:55 and that means? :) 22:40:08 you could pass the port i/o to the bf interpreter 22:40:11 well, i don't understand about these network things anyways 22:40:24 then you'd just have to interpret the server commands.. not really a big deal 22:40:26 good luck with the program 22:40:41 jix: what you said :) 22:41:15 calamari: the only thing i don't like is answering pings.. but freenode is very pong-tolerant 22:41:47 yeah, I don't think I ever figured out how to answer those 100% reliably 22:42:02 <{^Raven^}> calamari: how about compiling to your BDASM or BFBASIC? 22:42:22 either one would work 22:42:32 nah.. i'm not that good in brainfuck 22:42:47 the thing that stopped me was that I didn't know if there was some kind of intermediate language, and what that language was 22:43:05 but.. i have to write this bot in brainfuck 22:43:19 Darn phone calls, how am I supposed to do no work when the phone rings. 22:43:41 okay.. Taco Bell beckons.. cya all :) 22:43:43 GregorR: Most phones have a mute switch... 22:43:46 <{^Raven^}> calamari: N stage compilation is still compilation and your two languages seem good midpoints 22:44:08 <{^Raven^}> jix: that means string handing in brainfuck....have fun 22:44:18 -!- calamari has quit ("mm Toxic Hell"). 22:44:24 {^Raven^}: yeah.. i'm going to use.. another esolang 22:44:32 a more string friendly one 22:44:43 Such as ORK XD 22:45:04 Get a niiiice, 20MB IRC bot with minimal functionality. 22:45:56 <{^Raven^}> I've thought that using a hash function might be suitable. it should beat the if..then...else block from hell 22:46:33 Malbolge irc bot MUHHAHAHAHAHAHAHA 22:46:51 * GregorR 's head explodes. 22:47:38 my head can't explode.. just implode (vacuum..) 23:12:50 :D 23:13:07 i need a fast befunge debugger 23:16:07 and i think i'll need some sleep.. zZZzz.. 23:16:11 good nite 23:16:16 good nite Keymaker 23:16:18 -!- Keymaker has quit. 23:37:51 -!- kipple___ has joined. 23:40:28 -!- BigZaphod has quit. 23:41:26 -!- jimbo000 has joined. 2005-07-19: 00:06:08 i wrote a crappy ping less sub-minmal befunge irc bot that prints hello msgs with the nick reversed... 00:06:22 i'm going to test it 00:06:27 -!- fungebot has joined. 00:06:27 -!- fungebot has quit (Remote closed the connection). 00:06:32 urgh 00:06:39 -!- fungebot has joined. 00:06:39 Hello tobegnuf: 00:06:45 -!- jix has left (?). 00:06:49 -!- jix has joined. 00:06:50 Hello xij 00:07:32 anyone else want's to test it? 00:09:07 no one.. 00:09:21 Hello xij 00:09:25 muhahaha 00:09:37 JOIN 00:09:38 Hello xij 00:09:53 as i said crappy and sub-minimal 00:10:27 ITEVENDETECTSJOINSHIDDENINOTHERWORDS 00:10:28 Hello xij 00:11:12 tomorrow i'm going to write a better bot 00:11:35 <{^Raven^}> jix: what would the bot di 00:11:39 <{^Raven^}> *do 00:11:52 {^Raven^}: the better bot? 00:11:59 <{^Raven^}> jix: yeah 00:12:44 i thought about a little rpn calculator 00:13:22 or something else usable 00:13:41 {^Raven^}: try to say JOIN 00:13:41 Hello xij 00:14:18 <{^Raven^}> JOIN 00:14:18 Hello }^nevaR^{ 00:14:40 -!- jimbo000 has quit (Read error: 60 (Operation timed out)). 00:14:44 ok it has no problems with nicks that are not jix 00:15:31 -!- fungebot has quit (Remote closed the connection). 00:15:38 good nite 00:16:33 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 00:17:00 <{^Raven^}> Hmmm...for a temporary hack we could all use palindromic nicks :) 00:37:53 -!- GregorR has changed nick to GregogerG. 00:38:59 JOINIOJ 00:39:04 (Sadly, the bot is nae here) 00:39:22 -!- GregogerG has changed nick to GregorR. 00:48:01 is the bot written in befunge? 00:57:41 -!- heatsink has joined. 01:03:37 -!- BigZaphod has joined. 01:47:34 * {^Raven^} toddles off to bed 01:49:23 toodles 01:50:59 -!- graue has joined. 02:42:29 -!- BigZaphod has quit. 02:51:02 -!- kipple___ has quit (Read error: 60 (Operation timed out)). 03:40:10 -!- BigZaphod has joined. 04:31:06 -!- heatsink has quit ("Leaving"). 04:32:06 -!- yrz_ has quit (Read error: 110 (Connection timed out)). 04:48:40 -!- malaprop has quit ("quit"). 05:30:59 -!- BigZaphod has quit. 06:15:30 -!- BigZaphod has joined. 06:39:24 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 06:39:45 BWAHAHAHA 06:40:00 -!- BigZaphod has quit. 06:56:31 -!- comet_11 has joined. 06:57:26 -!- comet_11 has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:32:44 -!- jix has joined. 10:33:09 moin 10:34:35 -!- yrz has joined. 11:20:28 -!- kipple___ has joined. 11:45:05 -!- comet_11 has joined. 11:45:39 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 12:17:42 * jix is doing a BIG server cleanup 12:31:07 <{^Raven^}> jix: rm -rf / perchance? 12:31:27 * {^Raven^} warns everybody not to actually type that as a root user 12:32:13 nah just deinstalled all optional packages using ssh 12:32:21 did you know that ssh is an optional package?? 14:03:17 * {^Raven^} saved about 4Gb clearing the package cache alone 14:11:06 Don't type that as ANY user, it'll still recurse and delete all your files. 14:11:38 (Just all of that user's files, not ALL the files though) 14:30:02 the wiki is down! 15:02:00 -!- malaprop has joined. 15:09:21 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 15:09:46 -!- jix has joined. 15:16:41 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 16:29:28 -!- fungebob has joined. 16:41:41 * yrz canzone che parla di una betoniera 17:14:57 -!- fungebob has quit (Read error: 110 (Connection timed out)). 17:25:12 Hmm, how can I write a programming language that actually causes physical pain to program in. 17:25:37 A language that must, for example, be written in the blood that gushes when you tear off a fingernail. 17:33:36 -!- jix has joined. 17:35:02 /back 17:50:54 i'm writing fungebot2 17:55:58 -!- graue has joined. 17:57:23 -!- BigZaphod has joined. 18:10:01 -!- _graue_ has joined. 18:30:24 -!- yrz_ has joined. 18:35:58 -!- graue has quit (Read error: 110 (Connection timed out)). 18:36:37 -!- _graue_ has changed nick to graue. 18:43:19 * GregorR watches graue do the majestic dance of the not-registered-through-NickServ :) 18:46:35 I am registered through NickServ, I just didn't remember/care about being able to use its kill feature 18:47:13 Ah, hehe :) 18:47:37 what would 2L look like if all spaces were treated like +s, and all printing characters like *s, with no nop command? 18:49:36 I've been trying to determine if it could work with no nop. 18:49:44 -!- yrz has quit (Read error: 110 (Connection timed out)). 18:49:47 Unfortunately, I think you've got me there, it's clearly a 3L. 18:50:22 we could call the new nopless language 1L 18:50:38 lol 18:51:04 think about it though, spaces are turns and only *s can actually be executed 18:51:15 you'd have to do a bunch of crazy stuff to get anything useful to happen 18:51:18 I'm almost positive it would be non-Turing-complete, whereas 2L is presumably Turing complete. 18:51:30 not TC, eh? 18:51:37 what leads you to conclude that? 18:51:51 Hmm, lemme see if I can verbalize my logic ... 18:52:17 You couldn't loop, because getting to the beginning of the loop would involve precisely undoing everything you did. 18:52:35 not necessarily 18:52:41 going one way, you could increment a variable 18:52:50 going the other way, you could decrement a throwaway cell you weren't using 18:53:05 "unbalanced" loops like [->+] would not be possible though 18:53:11 are those required for TC? 18:53:45 Hmmm ... 18:54:00 The problem with having a throwaway cell is that you select a cell by walking up or down.l 18:54:35 So you would hit the same "throwaway cell" every loop, and couldn't use it as an incre/decrementor. 18:54:39 I think >_> 18:54:57 Hmm, /me is mentally formulating ... 18:55:44 that's a good point, whatever cell you're working on at any given time would correspond to the line you're on 18:56:17 which I guess is definitely un-TC: to use an unbounded amount of memory would require an unboundedly long program 18:56:17 And I believe the value would correspond to the column. 18:56:25 Well, not quite, but in a sense. 18:56:36 Err, that line was to my own comment. 18:56:42 yes 18:57:13 I'm thinking of possible variations 18:57:21 what if, after a turn, the next command is treated as a nop? 18:57:45 So a turn becomes sort of a turn-n-jump 18:58:06 Well, anyway, I'm at work, so I'm going to go back to working :P 18:58:21 say, what happens in 2L if you do this: 18:58:21 + 18:58:22 >>>>+ 18:58:22 + 18:58:28 where > is the direction of the code pointer 18:59:52 http://en.wikipedia.org/wiki/Black_Box_%28game%29 19:00:03 (sorry, that's neither here nor there, but 2L sort of reminds me of it) 19:00:47 it's not clear from the 2L description whether, in that case I mentioned, the code pointer turns around and comes back out, or whether it skips through the upper or lower + 19:00:59 -!- calamari has joined. 19:02:16 It turns around and comes back. 19:02:33 Because it turns either right or left, then interprets the + in that direction and turns the same direction again. 19:02:53 ok, thanks for the clarification 20:01:39 -!- _graue_ has joined. 20:02:30 -!- _graue_ has quit (Client Quit). 20:07:26 -!- yrz has joined. 20:23:57 -!- yrz_ has quit (Read error: 110 (Connection timed out)). 20:29:35 -!- graue has quit (Read error: 110 (Connection timed out)). 21:21:58 -!- graue has joined. 21:22:06 have any complete programs been written in 2L? 21:22:33 I ask so that I can test my interpreter; the site at www.befunge.org is down 21:27:51 One moment, I can put them all into some accessable place. 21:28:17 hm, it would be a good idea to upload it to the svn repository 21:28:22 Actually, I've only ever written one 8-D 21:29:11 http://www.codu.org/HelloWorld.2l 21:29:41 I don't have an account, but I'd be glad to add it if I had one, or somebody else can add it if they please. 21:30:00 Oh wait, I should probably upload it first :P 21:30:45 OK, it's up. 21:31:48 wow, that's a pretty damn long hello world 21:33:01 8-D 21:33:07 It's certainly not optimal. 21:33:44 I didn't reuse, so it's nasty, but it works. 21:38:07 MY VNC IS SCREWED UP AND MAKING MY CAPS LOCK STICK ON >_< 21:43:15 GregorR: ok you have to write an all uppercase language now.. 21:44:55 -!- calamari_ has joined. 21:46:38 non-wrapping versions are up http://esoteric.voxelperfect.net/wiki/Brainfuck_constants 21:48:16 is 255 optimal? 21:49:20 hmm, seem to be missing nonwrapping 2 cell for 255 21:50:06 calamari_: it makes no sense to include the + only constants imho 21:50:11 I'd remove the (n,1) non-wrapping version 21:50:13 heh 21:51:34 I was trying to be complete about it 21:52:00 seems weird including the wrapping 1 cell without including the nonwrapping 21:53:09 indeed, sorry, I mean the (n,1) 21:53:17 either wrapping or non-wrapping 21:54:09 well, you can remove it if you'd like, I suppose.. but maybe start a talk thread about it 21:54:10 calamari_, are you going to share your program? 21:54:18 calamari: or add line breaks .. 21:54:28 graue: I'd like to.. but I protest the difficult wiki uploading 21:55:01 calamari_: image uploading is very easy 21:55:07 is file uploading different? 21:55:17 jix: so I should save my code as an image? :) 21:55:25 lol, the wiki battle never ends on #esoteric does it? 21:55:35 calamari: (re)write it in piet ;) 21:55:46 calamari_, email it to me and I'll add it to svn 21:55:52 mailto:graue@oceanbase.org 21:57:12 I protest that the Brainfuck constants page now scrolls horizontally :( 21:57:38 graue: may I ask why code uploads are disallowed? 21:57:53 I didn't know they were disallowed 21:58:07 does it check the file type? 21:58:30 well, if code uploads are allowed, why the separate file repository? 21:58:46 for organization purposes 21:58:55 a program like yours could go in brainfuck/util/ 21:59:20 oh, so mediawiki has no concept of directories 21:59:41 yeah, its upload system is really just designed for sounds and images 21:59:47 maybe only images 22:00:10 perhaps it can be repaired with a plugin 22:00:35 perhaps the file repository works fine already? 22:01:08 nah.. 22:01:31 if a plugin could be written to atach an upload to a certain page, would you allow it? 22:03:53 -!- calamari has quit (Read error: 110 (Connection timed out)). 22:04:00 -!- calamari_ has changed nick to calamari. 22:04:11 if by upload you mean "file on the file repository", then perhaps, if it wasn't too much of a hassle to install 22:05:18 graue: I mean, for example, if I upload my file while in the page xyz, it'd be in directory /xyz, so that all xyz-related programs are stored together. Then, it would also appear as a downloadable file on page xyz 22:06:21 then no, I see no reason to store files in two separate places. 22:06:50 sure.. so scrap the old file repository 22:07:03 the files can be moved to the new structure 22:07:43 i think a file manager for media wiki would be cool 22:08:00 there are special pages for viewing them like a normal directory structure 22:08:28 and a wiki page can include things like [[Directory:/brainfuck]] for listing all brainfuck files 22:08:30 jix: wouldn't it be cooler to go to the befunge page and have a list of files you can download, right on that page? 22:08:56 or [[File:/brainfuck/a_kewl_interpreter.tar.bz2]] for direct downloads 22:09:24 that 22:09:25 'd work 22:09:32 calamari: yes but i think having a normal directory structure is good too for just browsing some files 22:09:48 how would files be uploaded easily? 22:09:59 calamari: browser upload? 22:10:08 on the Special: pages I would hope? 22:10:14 yes 22:10:27 i'm going to try writing such a plugin 22:10:32 what do you think, graue? does this sound reasonable? 22:10:37 i've holidays and a lot of time 22:12:57 jix: that'd be really cool. thanks 22:13:14 mediawiki is php? 22:13:18 Yup 22:13:22 urgh 22:13:27 lol 22:13:33 Maybe I'll go write it for Giki XD 22:13:41 Giki? 22:13:55 Why do I even try? 22:14:02 http://giki.sourceforge.net/ 22:14:51 Hmm, I get the feeling that my letting on my PHP skill just volunteered me to writing this plugin ... 22:15:37 i don't like php 22:15:56 but i know it so there shouldn't be a problem 22:16:09 Lesse, if I remember right you're a ruby guy, right? 22:16:21 yes 22:16:45 OK, I can respect that. If you disliked PHP but prefered perl, I would have to blacklist you from my knowledge ;) 22:17:15 i first learned RealBasic (my first programming language with ca. 10 years) 22:17:25 than i learned Perl (and it was better than RealBasic) 22:17:37 than i learned PHP ( and it was better than Perl) 22:18:19 then i learned C (and it was like: urgh? i don't want to care about memory and that lowlevel stuff!) 22:18:39 lol, poor C doesn't get any respect any more :P 22:18:53 too many people using gets ;) 22:19:09 True 22:19:29 i'm using c... but if you only used gc:ed languages and then learn c.. 22:19:38 c is a great language 22:19:45 (ruby is implemented in c so it has to be great ;) 22:20:02 Heheh 22:20:07 asm > c ;) 22:20:14 Machine code > ASM 22:20:16 oh and afaik the argument c isn't turingcomplete because of sizeof(void*) is wrong! 22:20:25 if c runs on a machine with infinte integers 22:20:30 That's implementation specific, for one. 22:20:41 sizeof(void*) can be infinite too 22:22:08 the integer size doesn't need to be infinite.. just access an inifinite number of them from disk, etc. 22:22:54 Aslo a very good point. 22:23:32 calamari: afaik the c documentation says sizeof has to return an integer 22:23:38 oh from disk 22:23:57 it'd depend on if there were any rules about the implementation of file i/o 22:23:58 1. read 2. think 3. write 22:24:31 i always reverse the list 22:26:22 I don't think that's correct 22:26:31 you cannot create an unbounded number of files in C 22:27:35 graue: would such a wiki file system work for the esolang wiki? 22:27:45 you can create a lot, no doubt, but the filename has to be in a char array, so as long as there is a limit on variables in memory (which we've already established, thanks to sizeof having to return a finite number), there is a limit on how many files can be used 22:28:04 jix: I'd rather keep it simple 22:28:10 MediaWiki barely works as it is 22:28:34 graue: you could access a InfiniteMemory pci device 22:28:41 also one of the reasons we rejected putting files on the wiki is that they may be subject to copyrights 22:28:45 or a Brainfuck device using usb! 22:28:50 graue: doesn't seem that complicated to me 22:28:52 jix: not with standard C 22:29:16 graue: it'd just be entendning the existing Special:Upload(s?) page to allow directories 22:29:30 graue: of course, i assume the pci libs of your system are written in c 22:29:37 graue: then the files would be linked just like normal, but with directory path too 22:29:54 calamari: that's a big extension to "just" make 22:30:07 jix: you probably need some assembly to talk to the hardware 22:30:26 graue: why are you so stuck on the repository? it is useless 22:30:28 graue: on the gba you don't 22:30:38 jix: ok, so the GBA is Turing-complete? 22:30:43 that proves nothing about C 22:31:03 on unix-like systems everything is a file, no assembly 22:31:07 if you want to prove C turing complete, you have to stick to what C provides 22:31:20 pgimeno: all unix-like systems require some assembly in the kernel to talk to the hardware 22:31:23 graue: c provides reads and writes to memory 22:31:48 C also leaves undefined what happens if that isn't memory you allocated yourself, or got with the & operator 22:32:16 and memory mapped device communication isn't something undoable 22:32:23 un-doable 22:32:24 but that's not C 22:32:27 not undo-able 22:32:30 that's a particular programming environment 22:32:31 my point is: if the infinite tape device is already given by the OS then C can be TC 22:32:48 pgimeno, yes, but that's not C, that's the OS's programming environment 22:33:03 graue: just define sizeof(int) == infinite 22:33:14 and sizeof(void*) == sizeof(int) 22:33:15 jix: the standard doesn't allow that 22:33:20 graue: it does 22:33:36 I'm pretty sure it doesn't, but if you can cite where it does go ahead 22:33:47 at least i didn't found a word/sentence/paragraph that disallows that 22:34:10 (i looked at the c99 standard) 22:34:26 The sizeof operator yields the size (in bytes) of its operand, which may be an expression or the parenthesized name of a type. The size is determined from the type of the operand. The result is an integer. ... its type (an unsigned integer type) is size_t, defined in the header. 22:34:31 http://dev.unicals.com/papers/c99-draft.html#6.5.3.4 22:34:59 where does it say that integers are finite 22:35:26 what would sizeof(int) return otherwise? 22:35:32 infinity 22:35:48 if sizeof(size_t) is infinity where is the problem 22:35:58 However, I think it ultimately comes down to this: The C language itself does not define sizeof(void *), and so the C LANGUAGE is Turing complete, since the LANGUAGE doesn't place any limits 22:35:59 than size_t is able to store infinty 22:36:10 ack 22:36:19 GregorR, you're missing the point 22:36:34 if the C language itself says sizeof(void *) cannot be infinite, then the C language is not Turing-complete 22:37:03 graue: where does it says that 22:37:06 it doesn't matter if sizeof(void *) is A(20, 19) where A() is Ackermann's function, that's still finite 22:37:09 jix: I said "if" 22:37:26 yes but it doesn't 22:37:51 well, "infinite" is not an integer 22:38:00 good point 22:39:19 not in the mathematical sense, but it could be part of the domain of a C integer... the question is if the standard would disallow that 22:39:47 If sizeof(void *) was infinite, you'd have infinite space to store sizeof(void *) :) 22:39:59 what's (inf & 1) where inf is an integer variable holding infinity? 22:40:36 probably & is illegal when applied to that value 22:40:38 there are infinte ways to store infinity 22:40:42 since the standard doesn't define "integer" so far as I know, there's no reason to believe they aren't using the common definition 22:40:50 & is illegal? the standard doesn't say so 22:41:02 inf & 1 could be 1 or 0 22:41:08 emphasis in "to that value" 22:41:10 Why wouldn't inf & 1 be 1? That seems most logical. 22:41:19 Infinite many on bits & 1 = 1 22:41:33 maybe infinity is 1 followed by infinite zeroes? 22:41:42 (in binary or decimal or whatever base you desire) 22:41:58 or 1 is followed by a never repeating random sequence? 22:42:08 yes 22:42:22 but & isn't illegal with any of that infinities 22:42:29 OK, this conversation is getting a bit to esoteric for me (hahaha), I'm going back to work :P 22:42:44 heh 22:43:57 <{^Raven^}> graue: any number that can be expressed is finite, an infinite number cannot be expressed numerically hence the infinity symbol 22:44:19 I wonder if the standard says/assumes sizeof(type) must return a numerical value 22:45:23 oh wait 22:45:24 it does, I quoted it 22:45:26 above 22:45:31 sizeof(void*) == 1 22:45:32 the sizeof operator returns a size_t 22:45:38 but a byte is infinity large 22:45:44 which is an unsigned integer value 22:45:57 I thought C needed to have a byte as 8 bits? 22:46:17 GregorR: does it? 22:46:22 <{^Raven^}> no, a byte can be any number of bits wide, it is implementation dependant 22:46:40 3.4.3.2: A byte is composed of a contiguous sequence of bits, the number of which is implementation-defined. The least significant bit is called the low-order bit; the most significant bit is called the high-order bit. 22:46:48 an infinitely large byte could not have a high-order bit 22:47:20 why couldn't it 22:47:26 <{^Raven^}> graue: that's a metaphysical question 22:47:27 it's 2^Infinity 22:47:34 infinity is definitely not an integer; I thought that the sentence about sizeof() meant an int 22:47:43 * GregorR takes out one of his hairs and tears it asunder. 22:47:45 it did indeed 22:47:53 pgimeno: sizeoff(void*) == 1 no problem 22:48:07 but that 1 byte has infinite bits 22:48:20 what's the value of the high-order bit of a byte, then? 22:48:31 2^Infinity 22:48:32 how do you determine it, I mean 22:48:56 do i have to determine it? the standard just says its called high-order bit 22:48:57 Within C, I think you would have to do some logic on (unsigned) 0 - 1 22:49:11 But for that matter, what is (unsigned) 0 - 1 22:49:16 you don't need the zero, - is a unary operator, just do (unsigned)-1 22:49:21 <{^Raven^}> we can define the number of bits in that byte using the lowest order of magnitude of infinity (Aleph Zero) 22:49:30 Err, right graue that makes more sense. 22:50:06 I think pgimeno nailed it already, no definition of "integer" in common use allows for the possibility of infinity 22:50:47 graue: c doesn't say that the sign is the high-order bit 22:50:51 anyway jix is right: if a byte can be infinite and an int is 1 byte long then sizeof(int)=1 22:51:12 yeah, but then CHAR_BIT is infinity 22:51:32 yuck 22:52:25 I'll stick to Noll's calc instead of C when I need a TC C-like language :) 22:52:49 c is too implementation specific.. 22:53:08 i have to do more useful things.. (like searching an esoteric language for writing an irc bot) 22:54:44 {^Raven^}: are BFBasic arrays stable now? 22:55:06 mmmh... use Thue? :) 22:55:19 jix: there may still be some bugs 22:55:20 it's good managing strings 22:55:33 pgimeno: the input output system of Thue is a bit weak 22:55:50 calamari: the last time i checked it it was near unusable 22:55:53 <{^Raven^}> jix: not in 1.50rc2, but they work very well in version 1.30 (on calamari's site) 22:57:22 does bf-basic works with 8bit bf xor 16bit bf? 22:57:30 or both 22:57:38 8-bit 22:57:47 and bf-asm? 22:57:48 what happens with a 2L program when it goes off the right or bottom of the program? does it just loop forever? 22:57:51 16-bit 22:58:23 I notice only going off the top or left is defined as ending the program 22:58:35 actually I think bfasm can use any number of bits >= 16 22:58:44 let me check that tho :) 22:59:22 graue: In my minds view of a 2L program, it goes infinitely right and down. 22:59:33 Clearly that is implementation specific - in my 2Li, it'll just crash 8-D 22:59:51 yeah, according to what I wrote in the specs, you can use anything 16-bits and over with bfasm 22:59:58 So yes, if you went off the right or bottom end of a 2L program it would quit - but there is no right or bottom end of a 2L program. 23:00:28 (Actually, I might have cought it and done somethign strange with it in my 2Li...) 23:01:00 <{^Raven^}> calamari: jix: it's best to use an interpreter that does [-] in one operation otherwise you will be waiting a long time for any -[-] type operations to complete 23:02:16 jix: the bfi.c I included in bfasm handles [-] and should be able to run any 16-bit bfasm program 23:02:32 its included in bfbasic too 23:02:38 there are certainly faster interpreters tho :) 23:06:24 GregorR: if the active memory cell is TL1 and I run into a +, does it turn left or right? what is the value at TL1 assumed to be? 23:08:34 0 at all times if I remember properly. 23:08:57 When you're done, I'll have some spec-upgrading to do XD 23:09:45 (BTW, yes, I verified, it's 0 at all times) 23:12:58 -!- BigZaphod has quit. 23:14:10 my interpreter ends if it goes off the right or bottom of the program, so I guess it isn't compliant 23:14:26 (it defines "bottom" as the last line, and "right" as "beyond the last character on the longest line") 23:14:39 The standard is "undefined" 23:14:44 fair enough 23:14:46 Or more specifically "the result is undefined" 23:15:19 I'm trying to write a program that prints a capital A, but I can't figure out how to do it 23:16:58 -!- comet_11 has changed nick to CXI. 23:18:24 the irc msg dispatcher is done 70% 23:18:39 jix: whatcha writing it in? 23:18:46 BFBASIC 23:18:48 cool 23:19:30 oh there, I did it 23:22:11 I'm still interested in making a 1L 23:23:00 graue: Is your interpreter working slash can I see it? 23:23:23 it's on another computer, I'd have to reboot several times to get it over here to send to you (long story) 23:23:33 it seems to be working; my A program works 23:23:58 I made it by just modifying my Archway2 interpreter a little bit: http://www.esolangs.org/files/archway/impl/archway2.c 23:24:03 What language is it in? 23:24:05 C 23:24:06 Oh, C. 23:24:16 But there's already a 2L in C ;) 23:24:28 please privmsg me 23:24:31 I rewrote some of run() and that was it 23:25:27 does your 2L in C support arbitrarily large amounts of code and data, limited only by the C implementation and the memory available to the interpreter? 23:25:43 and does it do so in a roughly efficient manner? 23:25:55 and allow for individual lines to be arbitrarily long as well? 23:26:00 Burn :) 23:26:21 No, mine is quite teh sukk. 23:26:32 also, splint gives only 6 warnings on mine :) 23:27:42 But do you have a 2Lc? :) 23:27:56 That produces code so ugly it makes you want to vomit with rage? 23:29:24 -!- jix2 has joined. 23:29:50 mah the xchat raw log is wrong! 23:30:09 There was some talk of making a 1L that worked by having a different angle of incidence for turns (If it was in the left corner, it turned right and did an op, if it was in the right corner, it turned left and did no op) 23:30:15 that's me using netcat (like telnet but not for shells) 23:30:35 netcat rocks 23:30:47 it does 23:30:57 But I think it was decided that A) angle of incidence would make it like two commands and B) ... there was some other issue ... 23:31:05 it's the best irc client! 23:31:10 Are you using netcat classic or GNU netcat? 23:31:31 the man page says nothing about GNU 23:31:44 and afaik the gnu netcat command is netcat my netcat command is nc 23:32:14 Both correct. 23:32:22 GNU netcat is better IMHO 23:32:40 but mac os x comes with the other netcat 23:33:10 Ah :) 23:33:25 i miss nc -lp port -some_letter command for starting a server on port port tunneling stdin and stdout of command through it 23:34:25 I thought netcat classic supported that ... 23:34:36 I guess I haven't actually used it in quite a while XD 23:36:50 how about a 1L based on P'', with only commands equivalent to +< and >? 23:37:00 in the other two directions, spaces could be nops 23:38:11 or, a third command could be [.<]<[,<] which would eliminate the need for TL0 and TL1, and the fourth direction could be a nop 23:38:19 Link to info on P''? 23:38:34 http://www.esolangs.org/wiki/P%27%27 23:39:30 essentially, it's Brainfuck with no I/O, and with a +< command, and without the commands that can be derived from other commands 23:40:40 Hmm, THAT many commands can be derived? 23:41:31 from +< > [ and ], and if wrapping around with incrementation is allowed, then yes, +, <, and - can be derived 23:41:52 Ahhh, of course, wrapping. 23:41:55 That didn't occur to me. 23:42:16 So in 8-bit, to get 255, you'd have to do (+<)(>) 255 times 23:42:24 yes 23:42:47 of course, that doesn't require wrapping, and would work for more than 8-bit 23:43:15 Yes, that was quite certainly the worst possible example 8-D 23:46:51 -!- BigZaphod has joined. 23:48:12 You know graue, I'm starting to believe XD 23:48:16 It just might work. 23:48:38 A single BF command might map to a 50x50 block of unreadable mess ...... 23:48:41 But it may work. 23:54:21 i need a fast, very fast brainfuck compiler 23:54:48 <{^Raven^}> jix: 8-bit or 16-bit? 23:54:53 8-bit 23:56:50 <{^Raven^}> jix: http://jonripley.com/i-fiction/games/LostKingdomBF.zip 23:57:13 <{^Raven^}> there's a very fast portable one inside bftools 23:58:06 and a compiler? 23:59:06 <{^Raven^}> ah, that's an interpreter. what do you need to compile BF to? 23:59:38 to c to ppc and pc 23:59:55 Do you mean that the compilation has to be fast or the compiled code has to be optimal? 2005-07-20: 00:00:09 pc (x86) is the most importand platform 00:00:12 compiled code 00:01:51 cpressey, have you thought of writing a tab2sf program, that would try to generate the shortest possible smallfuck code for a particular table? 00:02:01 that would be an interesting approach to data compression 00:02:35 table? 00:03:28 jix, have you seen sf2tab? it compiles smallfuck programs into lookup tables 00:03:42 http://catseye.webhop.net/projects/sf2tab 00:03:45 -!- calamari has quit ("Leaving"). 00:05:20 <{^Raven^}> bfbasc inside the bfbasic distro is a good unoptimising BF>asm compiler for x86 DOS/WinConsole 00:05:44 <{^Raven^}> jix: ^^^ 00:10:44 -!- yrz has quit (Read error: 104 (Connection reset by peer)). 00:11:16 -!- yrz has joined. 00:13:51 -!- Aardwolf has joined. 00:15:04 -!- jix2 has quit (Remote closed the connection). 00:16:46 Hi 00:17:53 hi 00:18:38 i'm now to this channel :) 00:19:01 Welcome :) 00:19:18 <{^Raven^}> hi (nice nick btw :) 00:19:33 thanks! 00:20:13 btw "now" was a typo, I meant "new" 00:24:18 Another exciting conversation on #esoteric ;) 00:26:53 * {^Raven^} is writing a game on a different computer 00:27:28 -!- jimbo000 has joined. 00:30:07 So Aardwolf, what languages are you in to? 00:32:27 Hmm I like befunge type languages 00:33:01 I made one too 00:33:01 Ahh, very nice, have anything particularly interesting and/or strange you've written? 00:33:12 Well, you answered my question before I asked :) 00:33:20 :) 00:33:29 Spec? 00:33:39 (And/or reference implementation) 00:33:48 Gammaplex, a befunge like that can do graphics 00:34:23 Oh, I've seen that on the wiki. 00:34:42 How did you come to find out about the wiki / this channel? Mailing list, google? 00:34:53 google 00:35:10 what languages are you in to? :) 00:35:42 Well, I've always liked the classique BrainFuck. 00:35:53 I wrote 2L, FYB and ORK. 00:36:03 Only one of which is notable :-P 00:36:06 Aardwolf: is gammaplex open source? 00:36:12 Yes, it is 00:36:37 ah i found the link 00:36:43 I also really like the language Piet 00:37:35 Now, I may be going out on a limb, but it seems to me that you like the idea of non-textuality? :) 00:38:05 hehe, appearantly :D 00:38:32 I'm looking up your languages in the wiki 00:40:36 GregorR: I think 2L and ORK are both definitely notable 00:40:42 Heard of 2L before, nice one :) 00:40:49 the ORK site appears to be down 00:40:54 yes 00:41:09 I think I have a link up for the ORK interpreter, I'll stick up a simple program to show how it works. 00:41:17 Oh, actually, there's one on the 99-bottles-of-beer site. 00:41:18 http://www.esolangs.org/files/ork/ has some stuff on it 00:41:24 and http://www.esolangs.org/wiki/ORK 00:42:22 Aardwolf: i get compile errors if i try to compile gammaplex 00:42:30 http://www.99-bottles-of-beer.net/language-ork-649.html 00:42:33 what errors? 00:42:35 You need SDL 00:43:00 i have SDL 00:43:07 uh wait 00:43:20 There's a project included for DevC++, but I've also been able to compile it under linux 00:43:28 i'm on osx here 00:44:16 Did you set any linker options for SDL? 00:44:21 yes 00:44:34 -framework SDL on osx SDL is a framework 00:45:19 (a framework is a package containing a shared lib and headers (optional) and resources (if needed)) 00:45:24 graue: Could you upload ork-0.9.tar.bz2 for me (if I email it to you) 00:45:50 Hmm I know nothing about OSX, can't help you there 00:46:38 the problem is on osx SDL wants to redefine main for loading cocoa into the app (instead of doing it in sdl init..) that causes problems often 00:47:25 GregorR: certainly 00:47:35 i'm trying the xcode template that should work 00:49:40 ORK awaaaaaay! 00:50:36 by the way you should try the pong game in gammaplex, the guy who wrote that is insane :D 00:50:59 Aardwolf: compiled 00:51:23 nice 00:56:02 hi Aardwolf 00:56:09 hiya 00:56:31 I guess we met by email :) 00:56:43 aha you're the one from the wiki then :) 00:57:03 nice to meet you 00:57:15 well, I'm the one who asked you for permission 00:57:41 the wiki's owner is graue; I'm just an editor 00:58:17 I see 00:58:27 it's a nice project 00:58:45 jix: btw, I use tcpserver for piping 00:59:02 i don't have tcpserver 00:59:25 tcpserver is nice if you have netcat classic, but if you have GNU netcat, there's nothing it can do that netcat can't (?) 01:00:55 Oh wait, that's right, tcpserver allows multiple connections. 01:03:15 hmm graphical thue using 2d graphic regular expressions! 01:03:30 * GregorR 's head explodes ... again. 01:03:37 * pgimeno rolls eyes 01:04:00 expression matching in 2d is slow.. isn't it? 01:04:08 +regular 01:05:56 You know, I have no former experience, but I am led to believe that yes, yes it is. 01:09:22 -!- BrainBot has joined. 01:09:22 -!- BrainBot has quit (Read error: 54 (Connection reset by peer)). 01:09:27 :( 01:09:44 Your bot has no brain AHAHAH 01:10:14 (Secretly, GregorR is the peer that reset BrainBot's connection) 01:11:07 I'm off, bye 01:11:13 -!- Aardwolf has quit ("Leaving"). 01:13:55 -!- BrainBot has joined. 01:13:55 -!- BrainBot has quit (Read error: 104 (Connection reset by peer)). 01:14:02 urg?! 01:14:10 its netcat fault! 01:14:22 die netcat die! 01:15:33 What does(n't) BrainBot do? 01:15:43 stay connected longer than a split second 01:16:15 does brainbot answer to pings? 01:16:19 By the way, graue, if you do implement a 1L, you should do it bitwise or something, so it's not as easy as typing into a text editor :P 01:16:47 so you'd need a special visual IDE to do it? 01:16:54 a paint program with black and white images? 01:17:11 Don't actually provide such a program, mind you. 01:17:14 yes 01:17:19 Just make it a requirement >:) 01:17:19 bitwise is good 01:17:20 just wait for someone else to write it :) 01:17:29 lament: not yet but freenode doesn't send pings 01:18:24 -!- graue____ has joined. 01:18:27 and i was online using netcat! 01:18:41 -!- graue____ has quit (Client Quit). 01:18:41 without receiving and sending pings 01:19:05 -!- BrainBot has joined. 01:19:19 Hey now 8-D 01:19:21 ok freenode is sending something to BrainBot that kills him 01:19:33 i made the connection one way and now it works 01:19:35 -!- BrainBot has quit (Remote closed the connection). 01:19:45 CTCP VERSIONs? 01:20:11 no.. brainbot ignores everything that is unnormal 01:20:11 --- Received a CTCP VERSION from freenode-connect 01:20:18 what would be normal? 01:20:25 JOIN commands 01:21:18 -!- heatsink has joined. 01:21:20 And requests for it to run FYB rounds XD 01:21:54 Well, I'm off, see you all later. 01:22:02 << JOIN #zz 01:22:03 >> :pgimeno!pgimeno@124.Red-80-59-211.pooles.rima-tde.net JOIN :#zz 01:22:10 maybe the second JOIN is confusing it? 01:22:14 later GregorR 01:22:50 test 01:23:23 -!- BrainBot has joined. 01:23:23 -!- BrainBot has quit (Connection reset by peer). 01:24:05 -!- BrainBot has joined. 01:24:13 fail 01:24:13 -!- BrainBot has quit (Success). 01:24:39 ok it stayed online for 8 secs 01:25:05 -!- BrainBot has joined. 01:25:05 -!- BrainBot has quit (Read error: 54 (Connection reset by peer)). 01:27:25 what does "Success" quit message mean? 01:28:08 lament: no idea 01:28:09 -!- BrainBot has joined. 01:28:09 -!- BrainBot has quit (Read error: 104 (Connection reset by peer)). 01:28:14 urgh! 01:28:56 -!- BrainBot has joined. 01:29:01 it's netcat 01:29:17 and a negative memory pointer? 01:29:32 BFBASIC... 01:29:44 -!- jix has left (?). 01:29:48 -!- jix has joined. 01:30:16 -!- BrainBot has quit (Remote closed the connection). 01:31:26 -!- pgimeno_nc has joined. 01:31:53 seems to work 01:32:06 -!- pgimeno_nc has quit (Client Quit). 01:33:02 wonder why I don't see a quit message if I wrote one 01:35:27 you have to use :Quitmsg 01:35:37 it's a non-standard-confirm irc server 01:35:49 using : escaping is always optional 01:36:05 but dancer-ircd want's it for a quit msg 01:36:29 I wrote: QUIT :bye 01:36:32 oh 01:36:34 hmm 01:36:58 and got as reply: ERROR :Closing Link: pgimeno_nc (Client Quit) 01:46:07 bfbasic is buggy :( 01:49:38 fix the bugs? 01:50:45 pgimeno: it's an anti-spam technique 01:50:58 the server won't allow a custom quit message unless you've been online for a certain amount of time first 01:55:07 oh, thanks graue 02:07:46 <{^Raven^}> jix: i might be able to help debug your BFBASIC program 03:44:03 Hmm, to implement a safeHTML plugin for Giki, or to prove that 2L is turing complete ... 03:44:55 make a brainfuck->2L compiler 03:45:31 Easy except for IO 03:45:57 hmm, make a Brainfuck with no IO -> 2L compiler? 03:47:13 Does anybody actually think that 2L is NOT Turing Complete? 03:47:15 you'd have to waste a bunch of memory cells to implement IO, I guess 03:47:30 Intuitively it could be done, it would just be annoying :-P 03:47:35 just make a Brainfuck with no IO -> 2L compiler 03:47:40 that's enough to prove 2L is Turing-complete 03:47:45 Indeed 03:48:27 plus, it could still be compliant with the ENSI spec: http://esoteric.sange.fi/ENSI/brainfuck-1.0.txt 03:50:08 I guess everyone's moved onto ENSI 1.3 implementations by now, though 03:51:02 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 04:02:27 -!- kipple___ has quit (Read error: 110 (Connection timed out)). 04:09:49 OK 04:09:52 *cracks fingers* 04:09:57 What language to implement this in... 04:11:41 You know, I suddenly realize that I don't really care. 04:11:46 * GregorR puts a translation table on the wiki. 04:22:24 eh? 04:23:16 Rather than making a program, I'm going to be lazy and just put a table on the wiki that shows how everything can be translated. 04:30:54 -!- heatsink has quit ("Leaving"). 04:33:55 Now for the hardest part, [ and ] 04:39:22 Just ] left ... 04:42:37 -!- tokigun has joined. 04:42:47 hello 04:43:23 Hoi 04:44:08 :) 04:44:25 http://esoteric.voxelperfect.net/wiki/2L_is_Turing_Complete 04:45:40 is there brainfuck to 2L compiler? 04:46:19 Heheh 04:46:20 No 04:50:26 WHOOPS! 04:50:30 Just realized something I missed! 04:51:24 I don't like the name of that page at all.. 04:52:02 how about "2L Turing-completeness proof"? 04:53:22 Sure, why not. 04:53:25 * GregorR moves it. 05:06:57 next time you could let me, pgimeno, or cpressey move it, since we can actually do so, without leaving the old page around 05:21:38 Err, sorry - I'll keep that in mind. 05:32:56 -!- malaprop has quit ("quit"). 05:33:05 -!- jimbo000 has quit. 06:38:20 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:34:36 -!- CXI has quit ("xchat's back up to 2,000 filehandles again, wheeeeeee"). 08:35:15 -!- CXI has joined. 09:25:58 -!- BigZaphod has quit. 09:32:38 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 09:33:14 -!- tokigun has joined. 09:33:25 back 11:12:25 -!- sp3tt has joined. 11:39:10 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 11:52:22 -!- kipple___ has joined. 11:56:24 -!- sp3tt has quit (Client Quit). 12:22:54 -!- Aardwolf has joined. 13:32:35 -!- jix has joined. 13:33:01 moin 13:52:11 -!- fizzie has joined. 14:39:35 moin 15:11:09 -!- malaprop has joined. 16:17:39 -!- fungebob has joined. 16:52:09 -!- graue has joined. 16:52:24 what's this crack about 1L being a work in progress? 16:54:55 You're just constantly reading the wiki, aren't you XD 16:56:24 How is it anything but a work in progress? 16:57:35 it's not a work in progress on the wiki 16:58:35 By the other work-in-progress on that page, it didn't seem like works-in-progress implied any connection with the wiki ... 16:59:00 huh? the other one was entirely taking place on the wiki 17:00:35 Oh, I misunderstood you - so "works in progress" = "things being created through wiki communication"? 17:02:02 why else would you bother adding it there until it's done? 17:02:09 I don't understand the point... 17:02:26 So that people who are not participating in the discussion on #esoteric could make suggestions, etc. 17:02:46 why not post it on the mailing list? 17:02:51 that would be superior 17:03:08 Nothing I do can be right, can it? XD 17:04:03 it's just an idea 17:04:38 I was under the impression that the mailing list was mostly unused, where as the wiki was up-and-coming. 17:05:01 eh, kind of, but the mailing list is only unused because nobody's using it 17:05:06 if you used it, you could change that 17:06:20 http://www.harderweb.de/jix/langs/brainfuck/obi2.rb an Obfuscated Brainfuck Interpreter written in ruby, does [-] optimizations 17:06:55 cool 17:07:03 I've been thinking of writing a BF compiler 17:07:12 can't you optimize out some loops? 17:07:21 and it's pretty fast because it translates BF => ruby on-the-fly 17:07:55 graue: would be too much code for that shape 17:08:12 did you looked at the source? 17:08:43 heh, no :) 17:08:46 but I was thinking of a compiler anyway 17:08:51 look at the source 17:08:58 I mean, "if you wrote a compiler, couldn't you optimize out some loops?" 17:09:03 yeah, it's cool 17:09:07 oh 17:09:46 shall I add it to the esofiles archive? 17:09:46 i was thinking of a high-optimizing brainfuck compiler.. and yes, it's possible to optimize many loops 17:10:02 graue: yes it's uhm... 17:10:08 public domain 17:10:12 cool 17:10:48 for esolang related source i'm using Public Domain or MIT license 17:13:04 I'm going to go somewhere now, be back in a while 17:13:04 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 17:18:54 -!- Keymaker has joined. 17:18:59 'ello 17:19:16 Keymaker: moin 17:19:26 http://www.harderweb.de/jix/langs/brainfuck/obi2.rb a ruby brainfuck interpreter 17:19:37 Keymaker: take a look at its source 17:19:46 ha :) tasty! 17:21:51 jix: i'm too lazy to read all the logs (in case it even reads there); what's 1L? 17:22:05 seems it's some work in progress in esowiki.. 17:22:24 2L with just 1 instruction 17:22:41 2L == a language with just 2 instruction (3 if you count space==nop) 17:22:45 wow, nice ruby code! 17:23:11 ok 17:23:13 jix: seen the optimizing BF compiler written in BF? it's pretty fast but it only generates ELF files AFAIK 17:23:14 Aardwolf: i love ruby for its clean and easy to understand code ;) 17:23:16 i was guessing that 17:23:48 pgimeno: no ppc mach-o binaries? 17:23:50 but probably the 1L needs two instructions..? or at least one instruction and some 'space'? 17:23:51 :( 17:23:58 Keymaker: yes 17:24:17 I don't really know ruby well, but the "unpack" thing at the end makes it appear as if the source is encoded in that shape and then unpacked 17:24:27 Aardwolf: right 17:24:35 jix: not that I know of, sorry 17:24:36 i encode it using base64 17:24:41 GregorR's makin' the 1L? 17:24:51 the .tr removes some space filling characters 17:25:06 Keymaker: he made 2l and he and someone els are working on 1L 17:25:17 ok 17:25:20 So the whitespace is ignored? 17:25:25 i knew he made 2L 17:26:22 Well that makes ruby very handy to make ascii art code :D 17:26:49 Aardwolf: perl is better for ascii art code 17:27:31 Aardwolf: see http://search.cpan.org/~asavige/Acme-EyeDrops-1.47/lib/Acme/EyeDrops.pm 17:29:04 nice, love the fractal one 17:33:55 rgh. i had something very clever quote that i invented.. about two weeks ago. i was about to make it my quit message. now i can't remember it anymore 17:39:07 /quit 17:41:58 :) 17:46:10 speaking of ASCII art in perl, there's the bottled version of 99bob: http://www.99-bottles-of-beer.net/language-perl-737.html which does not have a single letter 17:47:38 but my 99bob is #1 17:47:38 anyone good with php? 17:48:00 how do i make variable to have hex value 17:48:12 and how do i print an ascii character of that value? 17:48:31 i'm probably going to make brainfuck, c, php polyglot quine next 17:48:48 -!- puzzlet has quit (Connection timed out). 17:48:48 insane 17:48:52 but cool 17:48:55 what? 17:49:06 brainfuck,c,php polyglot quine 17:49:08 ah 17:49:10 :) 17:49:11 yes 17:49:25 hmm brainfuck,c,ruby quine! 17:49:33 hmm 17:49:36 if i could ruby.. 17:50:43 I believe you can use 0x.. in PHP. 17:50:50 c is bad c neads a header etc... brainfuck,ruby....hmm 17:50:55 I've never had to write hex :P 17:51:01 :p 17:51:09 well, it isn't a must, 17:51:12 but it'd help me 17:51:15 hey wait.. 17:51:41 maybe i could do it with numbers with fewer instructions, now when i think about it :) 17:51:54 yes.. X) 17:51:56 Keymaker: there's dechex() and hexdec() 17:52:06 thanks 17:52:25 oh, what about printing ascii value? 17:52:32 ord and chr 17:52:39 how do i print ascii values? 17:52:44 chr? 17:52:48 ord('a') = 97, chr(97) = 'a' 17:52:52 Or perhaps the other way round 8-D 17:52:54 thanks 17:52:57 :) 17:57:57 I challenge anyone to make an ORK/Brainfuck polyglot quine :P 17:58:12 hmmm 17:58:22 where's the ORK manual? 17:59:37 http://www.esolangs.org/files/ork/doc/README 18:02:53 well, maybe next time :) 18:03:15 that language's too object oriented.. and i hate objects 18:03:22 I still have to take a look at that ORK CSS descrambler 18:03:34 btw; 18:03:53 (and that ORK interpreter written in JS) 18:04:03 if there's stuff in php file outside , will they be just output? 18:04:29 yes 18:04:32 ok 18:04:36 oh sh.. 18:04:50 < and > need something special? 18:04:57 or is it required to make that page html? 18:05:07 hm... nope, I think it's not required 18:05:07 or will it be output as html, the other stuff? 18:05:27 well, hope not :) 18:05:33 I'm not too sure about < and > 18:05:46 argh.. i try.. 18:05:47 well, actually I'm sure that > doesn't need anything special 18:06:50 Anything outside of is simply output verbatim. 18:06:51 one good thing is that c and php use samekind of array stuff.. 18:06:57 verbatim? 18:07:40 Unchanged. It doesn't have to be HTML, it doesn't make it HTML, it just outputs it. 18:07:46 ah 18:07:48 goood 18:08:00 Should make some o' the quinin' quite easy :) 18:08:26 :) 18:08:34 indeed, it helps a lot 18:09:01 polyglot quinin' is phun.. 18:10:23 -!- yrz has quit (Read error: 104 (Connection reset by peer)). 18:10:52 Keymaker: i'm writing a ruby+bf quine 18:10:56 ruby part is done 18:11:01 ok 18:11:33 -!- yrz has joined. 18:14:39 oops, I got late to check that ACME Eyedrops were actually the very heart of the 99bob proggy I mentioned 18:18:00 by the way; will the values inside one be available in second 18:18:08 yes 18:18:33 good 18:18:37 thanks 18:18:43 you can even do something like: function fn() { ?> this text will be printed when fn is called urgh.. i'm not good at brainfuck 18:21:05 well, i'm not good either 18:21:58 ..but definitely better than in c or php ;) 18:23:19 btw; php has /* comment */ stuff too? 18:23:26 yes 18:23:28 afaik 18:23:29 ok 18:24:02 i'm trying a brainfuck only quine first 18:24:20 ok 18:26:22 PHP can use /**/, // and # 18:27:33 hmmm 18:27:37 that's interesting 18:27:43 didn't know it can use '#' 18:27:48 this may be usefull.. 18:28:44 with some self modifying code this would be easier.. 18:29:13 one way to do it would be to code something new language especially for this program, and make interpreter for it in the file 18:29:26 8) 18:30:11 ok my brainfuck skills are too bad 18:30:23 perl/ruby/php/bash/c poly quine now 18:30:27 :D 18:30:32 uhm chose 3 of them 18:30:36 ok.. 18:30:44 perl ruby and.. php 18:30:47 ok 18:30:52 that's doable 18:30:57 d'oh! 18:31:05 then let me select again :p 18:31:10 ok 18:31:13 ;) 18:31:20 good luck 18:33:45 -!- BigZaphod has joined. 18:36:44 it isn't as easy as i thought but it's possible 18:36:52 yeah 18:37:17 no matter how i try i can't find a way to make c and php to use the same data stuff 18:37:26 the problem is to end the php part 18:38:34 #define die(x) 18:38:38 then die(); 18:38:52 i found a way to combine perl and ruby's data part and php and ruby's data part but not all 3 18:39:18 GregorR, does that end the whole program? 18:39:24 Yes. 18:39:27 or just the current 18:39:32 The whole program. 18:39:35 ok 18:39:42 well, that's not what i need 18:39:43 :p 18:39:47 >_> 18:40:17 Could you use gotos? 18:40:22 i meant making the c and php use the same data, but then end php part with '?>'.. 18:40:29 how to use gotos? 18:40:50 Wait, now I'm confused XD 18:40:54 hehe 18:40:56 OHHHH, I see. 18:41:03 good 18:41:12 It's not very polite, but you don't HAVE to end it with ?> 18:41:27 but i need to 18:41:29 If that's at the very end of the program, it can be left off. 18:41:32 Oh. 18:41:39 but hmmm 18:41:48 wait.. no.. 18:42:02 php and c probably don't use enough same stuff for printing.. 18:42:20 PHP has a printf, you could get pretty darn similar. 18:42:21 there's probably not same function in both languages? 18:42:27 it has?! 18:42:31 Yup. 18:42:34 hmmm.. 18:42:36 It's not the normal way to print. 18:42:40 But it's there. 18:42:43 ok :) 18:42:51 is there specification of PHP available somewhere? 18:44:22 www.php.net has a mind-numbingly extensive one. 18:45:57 i wish '#' would work in c the same way than in befunge.. skip just one single character :D 18:46:04 I think php has puts 18:46:08 then i could get this working the way of my current plan.. 18:46:11 not sure though 18:46:33 but you can always #define print puts, which is a comment in php 18:46:34 i've got problematic "#}" there.. 18:46:46 GregorR: i've browsed around php.net for at least a year but never found a spec 18:46:55 :D 18:47:05 what the #define does? 18:47:09 i can't use it anyways 18:47:29 Keymaker: a C preprocessor definition 18:47:51 I guess it depends on your definition of "spec" ( http://www.php.net/manual/en/langref.php ) 18:48:18 could i define: 18:48:23 #define TWEAK } 18:48:36 Yes, but you'd have to make sure that that came out as nothing in PHP. 18:48:51 yes 18:48:59 php would ignore that line, right? 18:49:09 right 18:49:12 cool 18:49:27 and the important one.. can #define be used anywhere in the program? 18:49:32 Yes. 18:49:36 But it needs a line of its own. 18:49:39 brilliant. 18:49:40 sure 18:49:45 yeaaaaaaaaaah! 18:49:50 and it's online defined after the line 18:50:07 ? 18:50:26 jix means that you can't use it before the define 18:50:27 bla;#define bla blubb; doesn't result in calling blubb 18:50:34 yeah 18:50:45 GregorR: indeed it depends, where they even omit that you can leave out '?>' from end of file? 18:52:14 aaaaaaargh 18:52:19 i thought the wrong way. 18:52:27 s/where/do/ 18:52:55 or well, not wrong way 18:52:56 but wron 18:52:58 g 18:53:19 i'd need php to ignore one } and c to execute it.. 18:54:04 hey wait.. 18:54:07 maybe i got an idea.. 18:54:28 Does php parse the "?>"s if it's inside a string literal? Probably not. 18:55:16 hey.. 18:55:37 Bleh, about thrice a day I try to do something and then realize I can't because colin's offline. 18:55:50 so if i make this #define TWEAK } in c and write somewhere TWEAK, does it replace that TWEAK with '}' 18:56:00 Well, yes. 18:56:04 like could i do int main(){ TWEAK 18:56:09 Yes. 18:56:14 and it'd be int main() { } 18:56:43 cool 18:56:57 Many a pascal programmer has probably used the "#define BEGIN {"/"#define END }" pair to produce horrible C. 18:56:58 so this allows a bit self-modifying code.. kinda.. 18:57:20 this is a brilliant C feature.. 18:57:23 do i need to write 18:57:29 TWEAK or TWEAK; 18:57:36 Just TWEAK. 18:57:39 ok 18:57:51 It's pure token-replacement, you're not calling anything. 18:57:58 ok 18:58:00 I'm not sure "brilliant" is the word I'd use for C macros. 18:58:20 hey this is a polyglot quine.. ;) 18:58:24 hehe 18:59:36 Here's an idea ... a quine in machine code >:) 19:00:09 you mean ones and zeros? 19:01:24 As in, you write an executable (probably with a hex editor) that outputs itself. 19:01:31 Not its code, but the actual binary. 19:01:53 like in hex? 19:02:04 That's quite platform-dependent. For a dos .com that'd be quite trivial. 19:02:34 could i make #define hi(); } ?? 19:03:35 I believe that ; is illegal in macro names. 19:03:56 :(((( 19:04:10 Probably not. But if you "#define hi() }", then "hi();" is translated to "};", and isn't that good-enough? 19:04:36 dunno 19:04:41 (No, it won't break if you have };, that semicolon is usually A-OK) 19:04:50 (Though pointless) 19:04:50 if }; can end the int main? 19:05:18 Well, it's not ok outside a function. 19:05:19 so would this work: int main() { }; 19:05:30 Yes, it is. 19:05:31 * Keymaker dies 19:05:34 Yes, it would rather. 19:05:41 Oh, right. 19:05:41 so would it work? 19:05:44 int main () { ... }; is fine 19:05:44 Yes, it would. 19:05:46 or not? 19:05:49 ah 19:05:50 thanks 19:05:55 * Keymaker dies 19:06:05 tmp.c:6: warning: ISO C does not allow extra `;' outside of a function 19:06:18 Pff, who cares about the ISO ;) 19:06:27 That's only with -pedantic, though. :p 19:06:46 i combined the 3 data parts 19:07:51 HPUX's cc seems to be fine with };, and if HPUX's (terrible) cc is fine with it, it'll work on anything ;) 19:08:18 ISO C isn't fine with it. :p 19:09:18 yes! mingw compiles successfully even if there is '#define hi(); }' 19:09:31 am i here? 19:10:03 IRIX's horrible cc accepts it too. 19:10:14 Is that a trick question? 19:10:39 hm, but does it work? 19:10:52 maybe it defines "hi()" as "; }" 19:10:55 Keymaker: you are there 19:11:29 pgimeno; uh, I mean the "int main() { ... };", not a macro called hi(); 19:12:13 oh, I see 19:14:14 -!- kipple___ has quit (Read error: 104 (Connection reset by peer)). 19:14:19 -!- kipple__ has joined. 19:15:57 oh wait 19:15:58 lol 19:16:23 i was just up in the window and the screen was locked there and didn't see the text i typed.. 19:25:23 why doesn't this work? 19:25:23 #define ?> } 19:25:23 ?> 19:27:38 it complains "macro names must be identifiers" 19:27:47 Well, ?> is not an identifier. 19:27:57 Macro names are somewhat limited. 19:28:05 grhh.. 19:28:12 Alphanumerics and _s, basically. 19:28:20 ah 19:28:36 i just can't get this thing working 19:29:22 I would recommend ending your PHP like so: 19:29:24 #if 0 19:29:25 ?> 19:29:26 #endif 19:29:35 You would have to replicate that #endif though ... 19:29:40 Actually, better yet: 19:29:43 #define JUNK ?> 19:30:46 i've tried that 19:31:10 but what would php part say about JUNK? 19:31:25 Nothing, since there's that #-comment. 19:31:33 but if it's used in the code.. 19:31:54 The C part would define a macro you'd never use, and the PHP part would ignore the line up to ?> 19:32:15 yeah.. but that doesn't help anything 19:32:22 Why not? 19:32:28 well, php doesn't end 19:32:33 Yes it does. 19:32:37 # does not override ?> 19:32:38 how? 19:32:44 ah 19:32:54 why didn't you say that! 19:32:58 XD 19:33:04 so, nothing overrides ?> ??? 19:33:21 No, because the parser grabs everything out of before parsing anything. 19:33:27 aaaaaaaaaaaaaaarrrrrghhhh!!!!! 19:33:34 i've wasted a lot time.. 19:33:37 i'm done 19:33:43 Your pain brings me pleasure, Keymaker :) 19:33:48 I would guess string literals do, so $foo="blah ?> bleh"; wouldn't cause php to end processing. 19:33:50 :) 19:33:55 ~3kb 19:33:59 aaaaargh 19:34:04 now i'll progress.. 19:34:06 and fast 19:34:18 php,perl and ruby 19:34:27 cool 19:34:46 why isn't php==perl 19:34:54 i have a line 19:34:54 ;foreach(@d){if($_<0){foreach(@d){print"z($_);"}}else{print chr($_)}} 19:34:58 and a line 19:35:00 foreach($d as $a){if($a<0)foreach($d as $a)echo"z($a);";else echo chr($a);} 19:36:11 PHP isn't perl because perl's foreach syntax is unbelievably stupid :) 19:36:46 And also, $_ is the worst thing ever. 19:37:26 now i'll need to think about the data "format".. 19:37:35 * Keymaker dies 19:38:30 * Keymaker goes eatin' 19:41:22 Hey, $_ is just fun. 19:42:49 And why 'print chr($_)' instead of 'print chr'? 19:45:33 And if you're trying to save characters, foreach(@d){print"z($_);"} is obviously suboptimal (while equivalent) to print"z($_);"foreach@d; 19:45:43 s/;$// 19:46:23 For some reason there are days I rather like perl. 19:47:44 Although admittedly sometimes the regexps make it look /^((?:(?:$ex_nt|$ex_t|$ex_e)(?:\s+|$|(?=\|)))*)\s*(?:\||$)\s*(.*)$/ a bit unpretty. 19:48:31 Some days you like perl eh ... I wonder if they have doctors for that? 19:48:32 :) 19:51:21 I've been writing a web application thing with apache+mod_perl+HTML::Mason, because php makes me sad. 19:52:14 To quote: 19:25:38 mainly because of "The object system is completely different in PHP 5", "This returns false in PHP 4 but null in PHP 3", "Cookies were set in reverse order in PHP 3, fixed in PHP 4" 19:53:54 -!- calamari has joined. 19:53:56 hi 19:54:49 graue: I'm having trouble seeing anything wrong with 57.. what's wrong? 19:55:17 ouch.. too full 19:55:58 aha.. 52 has a problem :) 19:59:35 fixed.. bbl 19:59:36 -!- calamari has quit ("Leaving"). 20:15:25 rrggh.. "parse error" 20:15:26 blah 20:15:30 stupid php.. 20:19:44 aaaaaargh 20:20:04 forgot that php uses '$' in front of variable names 20:25:58 ha 20:26:00 solved it 20:27:35 oh no 20:27:49 php doesn't print the newlines of the file 20:27:59 it ignores the newlines.. 20:28:20 from the stuff not inside .. 20:28:31 That's weird. 20:28:34 It shouldn't. 20:28:56 -!- yrz_ has joined. 20:28:56 Keymaker: the problem is that after ?> you need something if you want the newline in that line to be printed 20:29:09 IIRC 20:29:10 no i don't meant that 20:29:22 i'm running the code at mbnet's server 20:29:53 Uh... are you sure your browser-type thing isn't just parsing the result as html? 20:30:04 ah 20:30:12 lemme try in other browser 20:30:21 You could try "view source". 20:30:41 By default, it sends content-type: text/html, since html pages is what people usually try to write. 20:30:53 Keymaker: maybe you can install the cli version of php 20:31:04 no.. 20:31:18 fizzie: when i looked at the source code it's like supposed to be 20:31:52 but in web window it just doesn't look right 20:31:59 If you want to run it on a web server, you could add a header("Content-type: text/plain"); in the php part. 20:32:00 so i suppose it doesn't matter.. 20:32:15 hmmm 20:32:18 as a first line? 20:32:37 Well, it needs to be run before anything else is output. 20:32:44 ok 20:32:53 So if your file doesn't start with And I doubt it does, since that doesn't look like valid C to me. :p 20:33:24 it starts with that 20:33:25 :p 20:33:34 or well 20:33:46 with 20:33:56 -!- calamari has joined. 20:33:56 slash slash hi 20:34:16 hi 20:34:32 anyways, cheers fizzie works perfectly with that 20:35:03 I'm not sure what header() does if you run it in the command-line php interpreter. 20:35:54 And I can't try because colin's in a garage. :( :( Wahhh, I want to move back already. 20:40:22 uh.. this is gonna need some thinking. i think i'll use traditional paper and pen technique 20:44:23 -!- yrz has quit (Read error: 110 (Connection timed out)). 21:15:04 ok version 2 of my quine 1691 bytes 21:18:08 nice size 21:19:41 http://www.harderweb.de/jix/langs/poly/quine2-php-perl-ruby.poly 21:20:43 looks very nice 21:21:07 arg a byte to much! 21:21:11 or even 3 or 4 21:21:17 ..i'll be back soon.. 21:21:49 updated 21:23:48 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 21:43:40 Write a polyglot in Brainfuck and Brainfork. 21:43:54 Or C and C++ 21:43:55 who? 21:44:01 Everyone!!!!!!! :P 21:44:05 :) 21:44:07 no thanks 21:44:26 i've got my hands full 'o work with this bf, c and php one 21:44:38 Add Brainfork and C++ to that list for free. 21:44:41 You know you want to ;) 21:44:51 :) 21:45:20 well, i guess adding malbolge and 2l wouldn't take much more time or planning.. 21:46:07 Yeah, I want to see a quine in 2L! 21:47:05 well, if you add printing instruction to your 2l-turing-proof page then i can make one 21:47:30 :) 21:51:27 Not one that would run in any interpreter :-P 21:51:34 Since mine has a maximum of 1024 columns 21:52:54 computers need more power and memory to run esolangs better :) 21:57:10 That limitation is from my own laziness :P 21:58:42 well, then esolang programmers need more power and memory 21:59:46 OR I could spend the bulk of my time doing something more useful ;) 22:01:22 nooo 22:04:16 btw, has anyone ever made any research about polyglot quines? that is there anything stuff like that 'every turing complete language could be in same polyglot quine if every language ignores other characters than the ones it uses' (i just made that up)? 22:28:31 -!- graue has joined. 22:30:27 is there any way to print some amount of same character in c? 22:30:32 i mean php 22:30:36 or well, both 22:30:49 like for example printing '+' eight times 22:31:02 i mean some simple function 22:31:37 void eight_times() { for( i=0; i<8; i++ ) printf( '+' ); } :) 22:32:55 yeah :) i guess i'll have to use fors 22:34:15 for( int i=8; i; i-- ) { printf( '+' ); } <-- shorter if you're going for that 22:34:15 -!- fungebob has quit ("Today is a good day to chat."). 22:35:12 ok 22:35:20 BigZaphod: that'll segfault. 22:35:35 why? 22:35:38 oh.. double quotes? 22:35:48 BigZaphod: indeed 22:36:04 yeah, been doing too much javascript lately.. 22:36:46 just don't write software for nasa :) "whoops, i meant double quote and not single quote..." 22:37:07 well I would hope I'd get to test-compile it before I have to send it up on a rocket. :) 22:37:07 -!- _graue_ has joined. 22:38:05 yeah, but it _compiles_. just segfaults if you run it ;) 22:39:53 I got a warning just now testing it. 22:40:10 btw, if i have in php some value for example $a that is 4, is the following for allowed: for($a; $a>0; $a--) 22:40:12 although this is interesting: blah.c:4: error: 'for' loop initial declaration used outside C99 mode 22:40:41 can't do the int i= thing inside the for() in C99, apparently. 22:40:47 ok 22:41:03 Keymaker: just do this: for( ; $a>0; $a-- ) 22:41:11 skip the first clause there. 22:41:16 is that allowed? it looks ugly :) 22:41:28 (or well, that doesn't matter..) 22:41:32 I do that in C/C++ a lot. Haven'tr tried that in php 22:41:49 It migth work both ways for all I know.. 22:42:32 I think for(; $a; $a-- ) looks kind of neat, myself.. but then I'm odd.. 22:44:14 yes 22:44:27 it looks esotierc,,.. 22:48:58 -!- graue has quit (Read error: 110 (Connection timed out)). 22:49:05 -!- _graue_ has changed nick to graue. 22:51:51 the hardest part in this is to get the code working on all the languages 22:51:54 (obviously) 22:52:53 BigZaphod: "int i" inside a for loop is new to C99 22:53:18 if you're using gcc, give it the -std=c99 switch and it'll work 22:53:32 graue: oh.. gotcha. I mis-read that warning. 22:54:00 obviously c++ has supported that forever because I generally do it all over the place. 22:55:49 Keymaker: there's str_repeat(str, count) 22:55:58 sorry to be late :) 22:56:36 so, do i use it str_repeat("+",8)? 22:56:47 that'll work, yes 22:56:53 and it's php? 22:56:55 or c? 22:56:56 or both? 22:56:59 php only 22:57:03 ook 22:57:48 nope, in ook there's no str_repeat either 22:57:57 :9 22:58:42 in C++ you could do: std::cout << std::string(8,'+'); 22:58:48 but I realize that doesn't help you much. :) 22:58:55 yep 22:59:59 printf("++++++++"); 23:00:00 . 23:00:39 that'd be best but the amount isn't always 8 23:01:11 while(i--)printf("+"); 23:01:32 thanks 23:03:01 what's the preferred file extension for whirl programs, .whirl or .w or something else entirely? 23:03:18 .10 ^^ 23:03:34 I've seen .wrl. 23:03:49 .10 is cooler 23:03:51 and .w. 23:03:51 hmm.. yah, i guess that's what tokigun has been used 23:04:00 (whr) 23:04:03 can't remember 23:04:06 i hate 3 letter file extensions 23:04:15 .dizzy 23:04:28 .why? 23:04:28 (ok I just made that one up) 23:05:10 on mac os x there are .framework s .mpkg s .pages .keynote s ... 23:05:27 .dylibs 23:05:31 .app 23:05:40 BigZaphod: ok 23:05:49 but 50% is non 3 letter 23:05:54 :) 23:06:25 tokigun uses .wr, I'll just copy that I guess 23:06:56 .double-u-.... 23:07:13 .TheContentOfThisFileIsAWhirlProgram 23:07:18 :) 23:07:21 that sounds reasonable 23:07:36 or just skip the file contents and make an empty with the entire whirl program as the extension. 23:07:38 or well, just include the whole program in the name of the while 23:07:50 slow fingers.. 23:07:54 hmm. great minds. 23:07:54 *file 23:08:32 a long time ago many people named code-warrior (the oldest ide for mac programming that still exists) . but on pre osx, file extensions had no effect 23:09:12 I always used to wonder how you would write programs for a Mac, given that it had no console 23:09:13 lets call whirl program files not files but whiles! 23:09:51 graue: code-warrior came with a lib for a terminal like user-interface 23:10:27 I always figured it had something to do with the "programmer" button older macs had.. but then I was young and silly.. 23:10:36 pre os x was funny... cooperative multitasking ^^ 23:11:03 BigZaphod: interrupt? (=> debugger?) 23:11:41 heh, yeah, cooperative multitasking was a pretty stupid idea 23:11:50 yes 23:12:25 no 23:12:32 cooperating multitasking can be nice 23:12:54 if all of the applications are friendly 23:13:09 which is not very realistic, is it? 23:13:12 if a program crashed you had to go into the debugger (interrupt button or command-startup (or something else i forgot the key combination)) and type "g Finder" for passing controll to the finder .. it worked 10% 23:13:30 graue: sure it is 23:13:34 cooperative multitasking is a lot like communism. 23:13:45 lament: well, it didn't happen with any operating system I've ever heard of 23:16:20 that's true :) 23:18:04 Does MidiaWiki always allow (some) HTML, or is that an option? And does it filter it? 23:23:03 it probably filters it and can be tweaked somehow 23:26:04 ..well, good nite. i hope to get the polyglot ready tomorrow 23:26:14 -!- Keymaker has quit ("Funkadelic!"). 23:43:51 <{^Raven^}> lament: i use a co-op system here (RISC OS) 23:50:02 you use RISC OS? 23:50:04 cool! 23:50:18 one of my programs has been ported to RISC OS by some guy 23:50:26 it was written using SDL 23:57:12 I just thought of a crazy idea 23:57:24 what if you had a program that, in language A, was an interpreter for language B 23:57:32 but if you ran it as a language B program, it interpreted language A 23:57:38 sort of a polyglot interpreter 23:59:30 {^Raven^}: on what computers does risc os run? 2005-07-21: 00:04:31 it seems that RISC OS runs on ARM-based computers and was originally designed for 32-bit Acorn Archimedes 00:05:28 Arm is cool 00:06:07 i started to learn arm7 asm 00:06:50 + a bit thumb (16-bit instruction 1/2 of the registers a bit slower but still 32-bit memory (designed for executing code from slow devices)) 00:07:21 the arm7tdmi of the gameboy advance (and ipod (the ipod has 2 of them)) support these instruction sets 00:08:59 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 00:09:30 -!- kipple__ has joined. 00:18:41 -!- BigZaphod has quit. 00:22:27 if the arm7 would have a divide instruction it would be a perfect instruction set (imho) 00:27:06 -!- Aardwolf has quit ("Leaving"). 00:54:49 <{^Raven^}> jix: there are quite a few divisions possible in a single ARM instruction 00:56:31 hm? 01:00:21 -!- BigZaphod has joined. 01:00:33 <{^Raven^}> jix: mov rx,rx,lsr#n will divide rx by 2^n 01:03:14 ok 01:45:06 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 01:58:17 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 02:15:01 -!- jimbo000 has joined. 03:11:05 -!- puzzlet has joined. 03:28:28 -!- kipple__ has quit (Read error: 110 (Connection timed out)). 04:22:09 -!- malaprop has quit ("quit"). 04:53:08 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 11:05:32 -!- kipple__ has joined. 11:18:44 -!- grimace_ has joined. 11:19:31 * grimace_ waves wotcha 12:58:49 -!- tokigun has joined. 12:58:59 hello 12:59:14 lo 12:59:24 ;) 13:06:29 BigZaphod: .wrl is extension of vrml... that's why i used .wr extension for whirl program. 13:41:42 -!- malaprop has joined. 14:40:36 i'm considering name "befilze" for my befunge variant... good? 15:16:02 -!- fungebob has joined. 15:26:45 -!- comet_11 has joined. 15:28:22 -!- CXI has quit (brown.freenode.net irc.freenode.net). 15:39:37 -!- comet_11 has changed nick to CXI. 16:23:46 -!- jix has joined. 16:25:13 moin moin 16:44:31 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.3/20050414]"). 16:59:34 -!- Keymaker has joined. 16:59:46 hmh. 16:59:57 now i can continue the quine again 17:00:06 i haven't had chance to work on it all day :) 17:45:47 ah.. now to work the brainfuck part.. 18:00:52 -!- grimace_ has left (?). 18:31:01 -!- yrz has joined. 18:33:05 -!- ChanServ has quit (Shutting Down). 18:35:43 -!- calamari has joined. 18:35:56 -!- ChanServ has joined. 18:35:56 -!- irc.freenode.net has set channel mode: +o ChanServ. 18:45:45 -!- yrz_ has quit (Read error: 110 (Connection timed out)). 18:59:08 -!- calamari_ has joined. 18:59:12 hi 18:59:17 'ello 19:01:56 -!- ineiros has joined. 19:04:40 -!- calamari has quit (Read error: 110 (Connection timed out)). 19:29:38 -!- fungebob has quit ("Today is a good day to chat."). 19:41:22 bye. 19:41:24 -!- Keymaker has quit ("Funkadelic!"). 20:22:30 -!- fungebob has joined. 20:53:17 hi fungebob 20:56:38 -!- BigZaphod has quit. 21:14:09 -!- Keymaker has joined. 21:15:33 i'm planning a new language 21:15:49 cool 21:15:51 i have couple of ideas but not sure what to use 21:16:03 share your ideas 21:16:09 ok 21:16:20 (to note, these aren't very much planned yet!) 21:16:34 one is to make language to use rot13 21:16:49 there'd be something instruction that would rot13 the program 21:17:11 and only for example ascii "a b c d e f g h" would be instructions 21:17:58 and when those are rot13ed then the other part of program could be accessed 21:18:13 in case it has other letters 21:18:42 i can't explain 21:20:15 rghhhhhhh.. haven't planned more about that one 21:20:23 how would looping work etc.. 21:20:53 the other idea is befungeish language, but where one can only do jumps to left and right 21:21:32 that language would have self modification 21:21:43 -!- malaprop has left (?). 21:21:45 and data would be stored inside the program 21:22:28 certain characters would trigger some instructions that for example "increase the value in the next cell" 21:22:48 and if there's no trigger, then the value would be output 21:22:57 so the shortest hello world program would be just 21:23:06 Hello World! 21:23:34 program would start automaticly from left and go to right, and since there'd be no triggers selected those characters would be just output 21:23:46 i'm still thinking about a graphical thue using graphical regular expressions 21:23:59 ok 21:24:31 sounds interesting.. 21:26:14 thanks 21:26:44 althought probably program's need something end character.. like in befunge 21:26:45 how is looping done? replicating the code or is it possible to re-run code parts? 21:27:06 by changing the direction 21:27:16 with < > 21:27:19 ah 21:27:34 probably i could use # for jumping 21:27:46 is there a jump over the next n instructions instruction? 21:27:55 nope 21:28:00 hm 21:28:10 although probably # would need to jump a bit more than only one instruction 21:28:18 probably i'll make it jump 3 or 4 21:29:04 or then have two jump instructions, one to jump only over 1 and the other 3.. or something 21:29:16 if could be just something | or something 21:29:26 Well, you can easily write bidirectional code with #xy#xy#...#xy#xy, which would execute the 'y's when going right and 'x's when going left. 21:29:32 Then you'd just need a conditional <. 21:29:58 hmm you're right 21:30:46 (Or a conditional #, for that matter.) 21:31:14 hmm 21:37:34 -!- graue has joined. 21:43:10 the idea of conditionally skipping an instruction was used by the good ol' hp25 21:44:55 hp25 was a programmable calculator made in the late 70's or very early 80's 21:45:58 -!- BigZaphod has joined. 21:46:09 earliest I have is hp41 21:46:52 sigh.. 21:46:54 the hp 41 is newer; it has LCD, right? the 25 has red LEDs 21:47:08 yeah, it's newer 21:47:11 too many choices.. 21:47:35 Keymaker: you need to decide... or maybe not 21:47:38 can't make up my %&(=)/"# mind!! 21:47:46 up 21:47:58 well 21:48:05 perhaps it's best to leave esolangs for other 21:48:06 s 21:48:15 although i would've liked to make one new 21:48:25 *release one new 21:48:44 i've made that snack language 21:48:51 although it's not anywhere 21:48:59 except my harddrive 21:49:04 but it's not final 21:49:09 i think it has too many instructions 21:49:23 but at least the concept works 21:49:47 The idea of conditionally skipping is used in intercal, too. :p 21:49:53 ABSTAIN FROM, or what was it. 21:50:34 I've noticed that my first languages (maybe all) were not very creative.. Numberix really has little going for it. Although it seemed new to me at the time, it's really nothing new when compared to befunge and bf 21:51:01 yeah, the best have been made already (read: brainfuck) 21:51:39 and on a side note; windows has no comfortable text editor 21:51:46 nah, I think there are still creative esolangs to be made 21:51:53 textpad 21:52:19 wish it worked correctly under wine :( excellent editor 21:52:37 i love kwrite in mandrake 21:52:53 or well, it's not mandrake program if i remember correct someone saying 21:53:00 but that kde stuff 21:53:02 or dunno 21:54:32 kate isn't too bad 21:55:20 kwrite is indeed part of KE. 21:55:23 *KDE 21:55:29 yes 21:55:43 (As opposed to Mandrake) 21:56:39 hmm. my brain(s) don't work 21:58:23 * GregorR is still kicking around 1L in his head. 21:58:31 :) 21:59:00 I think that graue's method would work, but I'm not positive about making one direction be I/O...I think there should always be a nop reverse of a functional direction, seems like it would be necessary ... 21:59:20 Maybe I should write an interpreter and try it out *shrugs* 22:02:48 -!- graue has quit (Read error: 110 (Connection timed out)). 22:04:09 using the program itself as memory makes programming quite hard actually 22:04:59 grhhh.. i'll try to plan this some other time, now i just can't 22:06:04 Speaking of, I'm still the reigning champion of FYB :) 22:06:24 :) 22:31:26 oh no 22:31:49 i haven't even started the work on befunge interpreter in brainfuck.. 22:32:13 (and not gonna start tonight either x)) 22:37:00 * {^Raven^} cannot live without StrongED on RISC OS and shuns all other text editors aside from pico 22:47:19 pice breaks long lines. :p 22:47:26 pico, I mean. 22:47:52 While j is in java, and I hate the Java, j is an excellent text/programmers editor. 22:48:08 I also hate anybody so pretentious as to name their text editor "j" 22:48:11 (Strange. I used to typo 'pine' to 'oubi' back when I used it, and now I typo 'pico' to 'pice', even though e/i and o/e are very far away.) 22:48:32 vim is a good text editor. 22:49:03 Though I use vim all the time (in the vim-emacs war, there is only one), I don't know that I would qualify it as "good" in the modern world :) 22:49:28 emacs would be decent if it was a text editor instead of a bloated operating system. 22:49:50 It's got syntax highlighting, it's got a working macro language, what's there not to like. (Except that people tend to bitch about the modal ui.) 22:49:50 :) 22:50:29 My only problem with the modal UI is it's quite often difficult to tell what mode you're in. 22:50:47 There's no screen real estate dedicated to a mode indicator. 22:52:37 Um. My status line does show "-- INSERT --" or "-- REPLACE --" or "-- VISUAL --" or whatever. 22:53:53 Err, mode isn't quite what I was thinking of, actually XD 22:54:08 *verbalizing* 22:54:58 It doesn't show commands as you type them, so you're typing blind - thus, if you accidentally hit r, then later hit i to go into insert mode, you don't get the result you were expecting. 22:57:08 Well, that's true, for the "normal" commands. ":blah"s show up on the status line, though, so you don't need to write regexps blind. :p The status line could hint more what you're doing, though. After all, I think emacs shows the key presses you've made, after a small delay. 22:57:31 Yeah. 22:57:47 Also, it's terribly autoconf'd. 22:57:57 (Emacs is even worse autoconf'd, and it's a GNU program) 22:58:43 (And the standard scheme indentation script is awfully slow, when expressions get more complex, which is the main reason I use emacs when writing scheme.) 22:58:56 A >.5s 22:59:10 -delay for every newline is not very tolerable. 22:59:17 Although that might well have improved lately. 23:00:41 On a different but (un)related subject, links is infinitely better than lynx, why do people keep using lynx? 23:01:20 Well, it's the "standard text-mode browser". 23:02:55 I rather like the svgalib graphics mode for links2 (or whatever that http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/ branch is called), it was very nice for web-browsing on a P<100 x86 laptop, on which X+any-graphical-browser was quite sluggish. 23:09:51 mhm. boring.. 23:10:21 What, we're not being esoteric enough? :p 23:10:31 :) 23:10:35 no, not that.. 23:12:07 It's past 01am, I think it's safe to assume the ISP for my work-place isn't going to fix their apparent router (mis)configuration problem logical-today. 23:12:13 :) 23:12:25 where do you work, btw? 23:14:09 Uh, it's a small company (physically in Teknologiakylä, Otaniemi, the ugly barracks near Innopoli) doing generally music-related edutainment things for x86/win32 platforms. It's horribly uninteresting, and I only do it _very_ part-timely to pay the rent. :p 23:14:45 I would point you to our web-pages (such as they are), but thanks to the ISP problem they're down now. :p 23:15:11 :) ok 23:15:15 The PC game part (not the TV program) of http://www.staraoke.fi/ is basically my fault, and I'm not proud of it. :p 23:15:19 (Finnish-only.) 23:16:01 hehehe 23:16:05 karaoke! 23:16:09 :D 23:17:22 -!- calamari_ has quit (Read error: 110 (Connection timed out)). 23:20:30 Merrrfl. 23:20:43 I don't much enjoy working on it. 23:20:48 -!- graue has joined. 23:20:56 i bet 23:20:59 :p 23:21:08 Especially since it's based on _old_ ('98) and _crufty_ (massively so) C++ code. 23:21:16 A rewrite is what the thing needs, but... 23:21:17 but well, you gotta do something to pay the rent (or stay with your folks ;)) 23:23:46 Well, recently I arranged for myself a girl-thing to pay half the rent (of the new place; previous "apartment" (single room) wouldn't have been very good for two), and I must say it seems to be more pleasant than working on Staraoke. 23:24:33 Not that this would be very on-topic: there's not much esoteric programming languages involved. 23:26:17 :) 23:26:43 (Although I like to think that my various befunge interpreters have made a favourable impression.) 23:31:55 well. 23:32:10 good nite, i'm outta here :) 23:32:16 -!- Keymaker has quit ("Funkadelic!"). 23:32:45 Night-y-night. I guess I'll sleep too. 23:33:40 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 23:34:50 -!- kipple__ has joined. 2005-07-22: 00:25:48 -!- graue has quit ("Nobody made a greater mistake than he who did nothing because he could do only a little."). 00:56:46 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:08:17 255 in 33 (as opposed to the page's 34): ++++[>++++++++[>++++++++<-]<-]>>- 01:09:29 Oh wait, darn, that wraps doesn't it. 01:09:39 I rescind my statement ;) 01:33:05 -!- jimbo000 has joined. 02:27:22 -!- jimbo000 has quit (Read error: 110 (Connection timed out)). 02:35:55 -!- kipple__ has quit (Read error: 60 (Operation timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:18:58 -!- clog has joined. 08:18:58 -!- clog has joined. 08:22:46 -!- msingh has joined. 08:23:00 is this the channel for perverts? 08:25:11 Only if you think esoteric programming languages are perverse. 08:25:59 right 08:26:03 and i think thats reasonable 08:28:28 "marked by a disposition to oppose and contradict", "resistant to guidance or discipline", "marked by immorality; deviating from what is considered right or proper or good"; I guess that does apply. 08:29:49 maybe perverted programming language would have been a better term. plus it has a cool acronym: ppl 08:30:36 hmm no point denying it though, we are talking about perverts 08:31:04 #perverted might have gotten too many non-programming-related visitors. 08:31:18 fizzie: heh, good point. 08:31:37 :) 08:32:03 I suppose one could argue that using esoteric the way we do is, in fact, slightly perverted by itself. 08:32:37 and being perverted and all, it makes sense we'd never call ourselves that. 08:40:50 msingh: any connection to Manish Singh? 08:44:00 pgimeno, nope sorry 08:47:38 ok, just wondering (he's involved in the gimp project) 08:50:53 oh, those crackheads 08:51:01 i now see why you asked 09:02:00 -!- Keymaker has joined. 09:04:34 hehe 09:06:49 -!- tokigun has joined. 09:07:00 hello 09:07:18 hello 09:07:42 I'm working on this page: http://dev.tokigun.net/esolang/versert/ 09:08:15 (written in Korean, but perhaps you can read list of instructions) 09:09:30 looks nice 09:09:36 :) 09:09:48 it's 2d language, right? 09:09:51 yes. 09:09:58 ok 09:10:03 imagine befunge without stack 09:10:41 * Keymaker dies 09:10:46 ok 09:11:47 hmm, so this has the stuff that befunge has, for changing the stuff on the grid? 09:12:00 that allows also self modifying code? 09:12:08 Keymaker: yes 09:12:16 ok 09:12:45 it has two registers, and one vector(or pointer) to manipulate code space 09:13:29 ok 09:13:39 registers, places to store values? 09:14:28 can it read the value of some coordinate to register? 09:16:09 if you have time sometime convert the page to english ;) 09:22:59 nice language. 09:28:12 Heh, it has the conditional #. 09:28:56 whats with the dx,dys? 09:29:46 translate all the stuff to english, i wanna code something with this :) 09:30:06 The direction-changing commands seem to be the "standard" "mirror-like" ones. 09:30:23 this is probably turing complete language, as well.. 09:31:12 Is there a fixed size for "space", or is it potentially-unlimited? 09:39:00 Hey, I can use babelfish's famous korean-to-english translation for this. Apparently "The Versert was originated with the programming language which isdifficult rabbit army river characteristic Hoon made at 2005". 09:39:21 "The cord space which stores the cord on the execution middle is composed of 2 dimension plane surface of the size which is infinite, to each unit the coordinate comes to give." 09:39:41 It sounds very.. metaphysical, but I guess it means that there's no fixed size. 09:39:54 -!- grimace_ has joined. 09:40:48 :D ROFL 09:41:19 well, if babelfish says that i guess that's what tokigun has meant.. 09:41:28 The "It makes with the C and it is a position to sprout and phu liter fromhere is a possibility of receiving." part is a bit less clear.. 09:41:36 oops... 09:41:41 :) 09:41:50 babelfish is evil! :p 10:03:51 i've finished rough translation: http://dev.tokigun.net/esolang/versert/index_en.php 10:14:23 I did something similar to that based on lasers 10:14:36 it was called 'Smoke And Mirrors' or S&M for short 10:16:43 actually, maybe it wasn't that similar... 10:17:29 as I recall I had to struggle to get it to perform logical AND and NOT 10:20:48 :) 10:20:50 cheers 10:24:17 | moves DP A cells *right*, B cells down...? 10:26:56 hmm... my english is not good :S 10:27:39 it means "adding (A, B) to DP". 10:27:48 looks good to me :) 10:27:55 Well, compared to babelfish... ("The A, Oh as the B it moves the DP with Raes side with the left side. The coordinate price 0 sees is exchanged at 0 it comes to be small.") 10:28:21 yahahaha 10:28:31 hehe ;) 10:28:49 :D 10:34:35 hmm | instruction will changed. 10:34:39 will be 10:38:41 "If dx or dy is less than zero, it will be adjusted to zero." is removed now... i forgot to remove it. :) 10:39:38 eh, there are already application programmers, and you change the specs :) 10:41:38 oh... sorry :) 10:42:47 It's that release-early-release-often style. 10:43:14 no problem just increase a version number :) 10:44:15 -!- kipple__ has joined. 10:47:45 hei kipple 10:47:51 [/polyglot] 10:56:55 -!- msingh has quit (Read error: 104 (Connection reset by peer)). 11:14:25 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 11:15:26 -!- tokigun has joined. 11:15:37 updated to firefox 1.0.6 11:20:47 quine: 11:20:48 # #/ 0| 0~4+8*0~|}-0~|#/{~.00\ 11:20:48 " @\# -2+{|~0*8-4~0.~*5+2\#{|1~/ 11:21:29 (hadn't tested on your interpreter) 11:23:01 looks delicious 11:23:10 how quick 11:39:47 must go. 11:39:49 -!- Keymaker has quit ("Funkadelic!"). 11:41:06 mtve: it prints just first line on my interpreter... hmm 11:41:19 did you make your own interpreter? 11:41:33 so there is a bug somewhere :) 11:41:34 yup 11:45:43 http://www.frox25.no-ip.org/~mtve/wiki/Versert.html 12:09:35 -!- jix has joined. 12:11:01 helo 12:11:06 oops... hello :) 12:13:16 works fine with your interpreter (just fetched) 12:21:54 hmm 12:22:11 sorry but can you put your quine again? 12:22:32 # #/ 0| 0~4+8*0~|}-0~|#/{~.00\ 12:22:32 " @\# -2+{|~0*8-4~0.~*5+2\#{|1~/ 12:22:48 # and " is first column? 12:22:53 yep 12:23:49 hmm... 12:24:27 doesn't work. i think my irc client has whitespace problem (or somewhat)... 12:25:19 but it does print first line, doesn't it? 12:25:44 oh... it works. 12:26:03 there is three spaces between 0| and 0~4+8... :) 12:42:50 mtve: i uploaded your quine to Versert home page. see http://dev.tokigun.net/esolang/versert/code/index_en.php :) 12:43:17 thanks :) 12:51:18 #/#.0~1\ 12:51:19 @\#+,~-/ 12:51:26 cat program in Versert. 12:53:00 hmm, "." looks unreachable 12:53:52 mtve: but it works :) 12:54:31 to process EOF, it sets -1 to A before , instruction. 12:55:07 after , instruction, A is -1 or inputed character, and B is 1. 12:55:44 so if A + B = 0, it reached EOF... 12:56:36 hmm 12:56:48 yep, but i don't get program flow, how "." get reached? (and it does not work with my interp) 12:57:36 mtve: assuming A is -1. 12:57:55 then after + instruction, B is 0 and program is terminated. 12:58:19 if A is not -1, B is not 0 so \ and . instruction is executed. 12:59:06 (then... i mean, if \ instruction can get reached, . instruction can.) 12:59:40 anyway... i made some mistakes in Versert spec. 13:03:47 after "\" at (x=1,y=1) it goes to "/" (x=1,y=0), then to "#" (x=2,y=0) and then jumps over ".", doesn't it? 13:04:00 # is a conditional jump, right? 13:04:04 fizzie: yes. 13:04:14 oops, sorry. i get it. 13:04:16 If it doesn't jump over the lower \, I don't see why it would jump over the . 13:04:20 ;) 15:09:53 ... 15:10:53 Darn, no #perverted 15:11:37 -!- yrz has quit (Read error: 110 (Connection timed out)). 15:29:06 -!- yrz has joined. 15:29:25 -!- yrz has changed nick to yrz\werk. 16:17:54 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.6/20050717]"). 16:31:57 -!- RaynServ_Hosting has joined. 16:32:16 -!- RaynServ_Hosting has left (?). 16:40:00 -!- fungebob has quit ("Today is a good day to chat."). 16:47:19 Either I don't know how to use BFASM, or it's rather slow >_> 16:50:15 Aha! 16:50:24 bfasm 0.10 works perfectly for me, bfasm 0.20 hangs on hello.asm 17:28:59 -!- BigZaphod has quit. 18:02:44 -!- grimace_ has left (?). 18:05:27 -!- BigZaphod has joined. 19:07:36 -!- RaynServ_Hosting has joined. 19:07:37 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 19:09:47 -!- kipple__ has joined. 20:25:00 YAAAAY! 20:25:09 I made a generic div-and-mod snippet in Brainfuck 8-D 20:26:33 It's horrible, however *shrugs* 20:26:38 But it does div and mod! 20:26:43 >>>[-]<<[>>+<<-]>[-]>>[-]>[-]>[-]>[-]<-[<<[-]>[-]<<[>+>+<<-]>>[<<+>>-]<[-<<<<->> 20:26:43 >>>[-]>[+]<<<<<[-]>[-]<<[>+>+<<-]>>[<<+>>-]<[>>>>+<<<<[-]]>>>>->+<[>>[<<<<<<<+>> 20:26:43 >>>>>-]<-<+]>-[<<<<<[-]>>>[>[-]+<<<<+>>>-]>-[+<<<<<+>>>>>]+>+]<<]>>>+<<[>+<-]>-] 20:26:43 >[-]<<<<[-]<<< 20:33:32 -!- RaynServ_Hosting has quit (Read error: 60 (Operation timed out)). 21:09:54 -!- RaynServ_Hosting has joined. 21:11:13 -!- RaynServ_Hosting has quit (Client Quit). 22:02:26 <{^Raven^}> Gregor: cool 22:55:50 -!- puzzlet has quit (Remote closed the connection). 23:04:06 -!- puzzlet has joined. 23:07:04 -!- BigZaphod has quit. 23:18:30 -!- heatsink has joined. 23:59:25 -!- wooby has joined. 2005-07-23: 00:00:25 yo 00:02:32 oy 00:03:56 -!- BigZaphod has joined. 00:12:50 -!- wooby has quit. 00:30:11 -!- kipple___ has joined. 00:30:12 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 01:41:11 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:53:36 -!- graue has joined. 02:24:42 Before I continue this ... 02:24:47 Has anybody written checkers in BF? 02:27:46 not I 02:28:14 I'd been thinking about implementing Nim or something 02:33:14 -!- kipple___ has quit (Read error: 60 (Operation timed out)). 03:05:28 -!- calamari has joined. 04:48:25 Is it cheating to write BF with a C preprocessor? 04:49:10 do you feel like it's cheating? 04:50:29 that sounds like fun 04:50:39 what sorts of macros do you use? 05:15:37 -!- heatsink has quit ("Leaving"). 05:16:45 I don't feel like it's cheating. 05:16:48 It's just reusing code. 05:17:00 It's just a quick way to type 100s of BF commands. 05:17:26 My macros: 05:17:47 /** MBF_CLR: a = 0 */ 05:17:47 /** MBF_ADD: a = a + b */ 05:17:47 /** MBF_SUB: a = a - b */ 05:17:47 /** MBF_DUP: b = a; c = 0 */ 05:17:49 /** MBF_MULT: a = a * b; c, d, e = 0 */ 05:17:51 /** MBF_DIV: a = a / b; b, c, d, e, f, g, h = 0 */ 05:17:53 /** MBF_CLS: clear the screen; a, b, c, d strange values */ 05:19:32 I guess the actual implementation is a trade secret, eh? 05:26:12 I'll gladly give it over. 05:27:45 cool 05:38:43 But first I have to package it in a modestly non-sucky way 8-D 05:38:58 What's the BEST BF interpreter out there? 05:39:14 they all suck 05:39:48 qdb and yabfi2 have hardcoded limits of how many tape cells they can use 05:39:57 if you don't need a lot of code or tape cells, use qdb 05:42:03 What's their hard limit? 05:43:52 I don't know, look at the source code? 05:44:12 something along the lines of 30000, you can always change it of course 05:49:36 Well, 30000 should be fine *shrugs* 05:51:20 I don't really know of a fast/decent interpreter with no hardcoded limits 05:51:27 30000 has been insufficient for some things I wanted to do 05:51:29 I guess I'll have to write one. 05:59:10 List of necessities: 05:59:13 GregorR: might I suggest precalculation of [ and ] ? :) 05:59:16 8, 16 and 32 bit mode 05:59:20 Precalculation of [-] 05:59:37 Wrapping optional 05:59:39 add-to loops too, maybe? :) 05:59:42 Reallocate space 06:00:05 calamari: I'll consider it as a to-be-implemented :) 06:00:08 haha 06:00:23 [ and ] precalculation helps a lot.. try it :) 06:01:46 Oh of course - I thought you meant something else. 06:01:48 That's a given. 06:02:44 it seems that the best is almost a mini compilation phase at the beginning before interpretation 06:08:46 Is it agreed that there's no call for memory expanding /below/ 0? 06:09:30 yes 06:10:27 although I've seen one implementation, that allowed memory expanding below 0, which then permitted it to remove any > and < instructions at the beginning of the code 06:10:40 I'm not sure if that is an effective way to actually speed anything up 06:11:00 (probably not, in general) 06:11:09 Those ops are so quick, it's really pretty irrelevent *shrugs* 06:11:19 on the other hand, that implementation then didn't have to check for memory underflow all the time 06:11:26 the interpreter shouldn't crash on invalid programs 06:11:31 probably not, as >'s and <'s should be pre-combined anyways 06:11:37 true 06:11:54 of course, sometimes this allows bad programs to not crash 06:11:55 in fact any chunk of code containing only ><+- can be optimized quite a bit 06:11:59 yes 06:13:14 not for use in contest judging :) 06:20:42 Now matching loops ... 06:23:47 Loops are now matched (in a very memory-inefficient way I'm afraid to admit) 06:24:46 lookup table? 06:25:18 Yup 06:25:21 nah, no need, could just hardcode into the source :) 06:25:33 But it's also the table used to shorten >><<<<>, etc. 06:26:46 shouldn't listen to me, since I haven't written the ultimate bf interpreter, hehe 06:37:38 And who has? 06:38:39 you, a few weeks from now when you release version 1.0? 06:38:46 lol 06:38:50 A few weeks? I'm insulted! 06:41:06 sorry, in a few years 06:41:18 I should have known you would never rush and that quality was paramount to you 06:42:34 lol 06:53:45 -!- calamari has quit (Read error: 110 (Connection timed out)). 06:57:58 -!- calamari has joined. 07:03:15 *((((bytewidth == 1 : int8_t ? (bytewidth == 2 : int16_t ? int32_t))) (mem + ((mptr) * bytewidth)))) += loops[pptr]; 07:03:20 That's broken somehow :-P 07:03:49 does it have to be obfuscated just because it's a brainfuck interpreter? 07:04:22 lol 07:04:26 That's actually the result of macros. 07:04:34 It reads as *(MEM(x)) = loops[pptr]; 07:04:48 I thought the programs had macros, not the interpreter 07:04:48 The MEM macro decides what sort of memory it's looking at. 07:04:56 oh 07:05:13 well, your ?s and :s are reversed 07:05:36 hopefully it only executes this once? 07:06:05 graue: Yeah, I noticed that XD 07:06:41 Maybe I just need to compile three interpreters with different #defines and make a frontend. 07:06:46 Because that's anything but optimal. 07:07:24 make the entire interpreter a macro 07:08:00 then you can do like "if (bytewidth == 1) INTERPRETER(int8_t) else if (bytewidth == 2) INTERPRETER(int16_t)" etc 07:08:20 lol 07:08:58 or, like you suggest, just make an interpreter generator 07:09:06 you could also have disable/enable wraparound, etc 07:09:11 and optimizations 07:09:21 good night 07:09:21 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 07:20:16 w00t 07:20:17 It works. 07:27:14 Hmm, has problems with 32-bit mode. 07:35:15 signed or unsigned btw? 07:36:29 Unsigned. 07:36:47 Hmm, don't know if I want that to be modifiable ... 07:47:55 Hoopla 07:53:01 Why yes, this is the greatest BrainFuck interpreter ever. 07:53:09 What's that you say? Gregor is a genius? 07:54:27 somebody needs to write a bf benchmark program so that you may be humbled :) 07:55:47 lol 07:56:06 What's a completely insane BF program? Way to huge to make any sense. 07:56:41 raven's lost kingdom is huge 07:57:02 Ah, good'n! 07:57:05 bfasm is decently large as well 07:57:36 Do you know if either need 16-bit or whatnot? 07:58:05 Oooh, that's snappy! ^_^ 07:58:10 bfasm does.. 07:58:26 Time to release this puppy. 07:59:02 Hmm, I totally don't understand this Fibonacci sequence generator ... 07:59:11 y not? 07:59:22 Either it's somehow stepping outside the bounds of a character, or it's not putting newlines :P 07:59:59 hmm, thought I had that program, guess not 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:16 If it's somehow stepping outside the bounds of a character and is generating properly, then I just generated: 08:00:21 7636483426752859626568727941453421836579500747253199097397446751252205298917387147222157525691120044675551183747012174982350831180624465225615183372232707575199695298398336853131650061131214645112476911067502428593554795489700530669981992898898397 08:00:25 In well under 10 seconds. 08:00:39 somehow that seems unlikely even for non bf 08:00:58 I'm not sure what it's doing *shrugs* 08:01:19 primes.bf 08:01:25 thats a fun one 08:02:12 Where from? 08:03:17 1 sec I'll find it on e.s.f 08:03:56 http://esoteric.sange.fi/brainfuck/bf-source/prog/PRIME.BF 08:08:22 * GregorR tinkers 08:09:50 how does it do on 1000? :) 08:10:25 Right now I'm working in the 100 range :P 08:14:30 Damn :P 08:14:46 Even though the OPTION set provided by GKRBFI is far better, QDB is inexplicably beating it in times. 08:15:20 suggestion: rename to something else :) 08:15:39 how about gbfi? :) 08:17:10 G implies GNU 08:17:14 K implies KDE 08:17:17 R doesn't imply me. 08:17:25 So I have to use them all :P 08:17:29 hah 08:17:42 g implies gnome 08:18:15 That too 08:18:16 egobfi? 08:18:21 8-D 08:19:27 When I take off counting of <>>>>><, the time drops dramatically. 08:19:37 interesting 08:19:58 so it's faster not to optimize <> ? 08:20:10 how about +-? 08:20:13 Same. 08:20:25 that's kinda weird 08:20:28 Merely because of the time taken in doing all the counting, and then having to reference that count in some array. 08:20:51 I'm sure if something had 1000 +s in a row it'd be better, but not for an average program :P 08:21:20 those things should just be optimized in source code :) 08:21:53 oh wait 08:22:02 well, some of them :) 08:23:23 I'm experimentally trying without [] mapping 08:24:45 Amazingly, that did worse :P 08:25:32 And now I have no idea what the slowdown is >:( 08:27:07 Ohhhhhhhhh, I see how QDB cheats. 08:27:08 Tricky. 08:27:40 cheats? 08:28:13 They not only cached it, but left the cached value in the program itself, rather than the program referencing it somewhere else. 08:29:08 that's how I was suggesting to do it before :) 08:29:36 *cough* 08:29:39 * calamari cheats :) 08:30:01 at least if I understand what you said.. hehe 08:31:08 I'd make a new program like +(int) [(addr) etc 08:32:23 or even better.. compile to machine code and call subroutine ;) 08:33:14 w00t 08:33:50 egobfi pulls ahead? 08:36:01 YES!!!!! 08:36:02 w00t! 08:49:19 Is there somebody here who can upload this to esolangs.org? 08:51:30 WTF is with this Fibonacci generator >_O 08:52:42 how long does 1000 take? :) 08:53:09 A loooooooooooooooooooooong time. 08:58:26 http://gregorr.homelinux.org/egobfi-0.1.tar.bz2 09:37:50 ok.. too tired :) good job Gregor 09:37:53 -!- calamari has quit ("Leaving"). 09:45:26 OK, 0.1 had a horribly broken debugger. 09:45:29 http://gregorr.homelinux.org/egobfi-0.2.tar.bz2 09:46:22 -!- {^Raven^} has quit (Read error: 60 (Operation timed out)). 10:47:03 -!- kipple___ has joined. 11:17:13 -!- {^Raven^} has joined. 11:20:43 GregorR: still around? 11:51:21 -!- fizzie2 has joined. 11:51:29 Whoopsie. 11:52:13 -!- fizzie has quit (Nick collision from services.). 11:52:22 -!- fizzie2 has changed nick to fizzie. 11:53:10 Apparently the cat in the place this box (sesefras) is temporarily-located had managed to detach the power cable from the switch. 11:54:40 -!- ineiros_ has joined. 11:55:17 huh 11:57:23 Blame him ^ (ineiros), it's his cat. 11:58:13 Sorry. :P 12:03:28 -!- ineiros has quit (Read error: 111 (Connection refused)). 12:10:25 -!- jix has joined. 12:13:34 moin 12:46:44 http://www.formauri.es/personal/pgimeno/prog/esoteric/mandel-bench.txt 12:49:27 are there other interpreters worth adding to the benchmark? 12:49:52 (or compilers) 12:51:46 <{^Raven^}> bftools by Erok Bosman would be a good addition 12:52:01 <{^Raven^}> *Erik 12:52:22 pgimeno: i'm going to write one 12:52:49 oh, how come it's not in the BF page? 12:53:24 did you tried obi2.rb ? 12:53:37 http://esolangs.org/files/brainfuck/impl/obi2.rb 12:53:40 it's a ruby script 12:54:16 I didn't 12:54:36 i think it's slow but maybe as fast as possible with ruby 12:54:50 <{^Raven^}> pgimeno: Erik Bosman's 'terp is at http://jonripley.com/~jon/bftools.zip if you haven't got it already 12:55:11 because it converts the brainfuck code in ruby code and then evals it 12:55:18 {^Raven^}: I didn't, thanks 12:55:33 jix: optimizing? 12:56:02 optimizing interpreters are often faster than non-optimizing compilers 12:56:02 [-] nothing more 12:56:18 ok it would be possible to optimize more thing 12:56:19 s 12:56:24 but it wouldn't fit into that shape^^ 12:56:43 hehe 12:56:53 do the letters bolder 12:58:45 jix: sorry but outputting *the first line* already takes almost 45 secs 12:59:16 I'm not going to let it complete the shape; my computer has severe temperature problems 12:59:38 hehe 12:59:41 (room temp is ~ 31 C) 13:00:00 uh.. 13:00:15 i have 22 C 13:01:25 16 C outside 13:02:15 that's cool (literally) 13:03:27 16 C is normal upto 25 C is warm >25 C is hot 13:05:34 the result with bftools is very very similar to the one with brfd 13:06:00 1m17.476 vs 1m17.229 13:07:10 I'm impressed with bff though; it's just a 3x slowdown wrt the natively compiled version 13:08:57 http://www.iwriteiam.nl/Ha_bf_online.html does not compile it 13:10:04 I'm going to try http://bf2c.sf.net/ 13:10:32 unfortunately that also depends on the C compiler's optimization abilities 13:11:00 but it's portable 13:11:11 i can't try awib because i don't have a running x86 machine 13:11:19 a working 13:12:19 yeah, I know that's a caveat of awib but anyway I wanted to include it in the benchmark for reference 13:14:23 <{^Raven^}> pgimeno: there's bfbasc demo program for BFBASIC that compiles to unoptimised x86 13:15:47 ./bff mandelbrot.b ... waited 1 minute .. no output .. killed? 13:16:01 ? 13:16:04 it works here 13:19:28 with obi2.rb it works here too 13:19:43 {^Raven^}: I will consider it but I don't want to spend much time with this 13:20:37 <{^Raven^}> pgimeno: i reckon just the main contenders will be most useful to have 13:21:59 jix: maybe bff is endianess-sensible or something? 13:22:57 grr, bf2c segfaults 13:27:52 i'm going to write a really fast bfi 13:29:02 IMNSHO brfd has one of the best BF debuggers around 13:29:49 too bad it doesn't debug C programs... gdb sucks 13:30:23 gdb is good enough to debug binaries without source code 13:30:48 I preferred symdeb O:) 13:31:10 -!- jix has left (?). 13:32:44 * pgimeno now laments to have put so much effort in past in learning usage of DOS tools 13:39:18 pgimeno: what's wrong with gdb? 13:39:24 (just curious) 13:39:51 commands are too complex to learn 13:40:13 -!- jix has joined. 13:40:17 oops wrong key 13:40:30 wb jix 13:40:57 thx 13:42:22 pgimeno: oh, "run, break, continue, backtrace, print" is what i usually need, those are very logically named imho :/ 13:42:33 I tend to forget them from one time to another; I always have to read some docs 13:43:10 pgimeno: use ddd if you want to use menus and mouse 13:43:38 pgimeno: how should they be named so that you'd remember? ;) 13:43:44 I usually need "info registers", "disassemble", "info target", single step... 13:45:00 well, I was quite comfortable with single-letter commands 13:46:50 pgimeno: i hope you have noticed that you can use "r", "b", "c", "bt", "s" and "si" ;) 13:48:14 the bad point is that it's not intuitive enough for me, I have to check docs often 13:48:27 You could also use "define" in .gdbinit to customize/intuitivize your gdb. 13:48:56 being a mixed assembler/HLL debugger makes it harder to use, e.g. using $ for registers 13:49:37 I'd prefer to have a dedicated low-level debugger 13:49:42 anyway that's probably just me 13:50:52 but gdb has objective-c support 13:51:00 and java support 13:51:13 and objective-c always stores symbol names because it uses a somewhat dynamic calling 13:51:55 and all binary objective-c programs have symbols included.. it helps fixing some things 13:54:08 some programs always display warning messages "Do you really want to do this"... "really?" .. some little changes an whoops no annoying warnings 14:33:37 -!- yrz\werk has quit (Read error: 60 (Operation timed out)). 14:36:21 -!- yrz\werk has joined. 16:01:24 -!- Aardwolf has joined. 16:22:43 pgimeno: what's your mandelbrot test machine? 16:24:25 athlon xp 2000 16:24:55 i wrote a new bf interpreter 16:25:14 and on my g4-1ghz ppc machine it takes 1:11 for mandelbrot.b 16:25:55 it has NO error checking and i'm not sure if it frees everything ^^ but it has growable memory 16:26:07 oh 1.3 GHz, btw 16:26:14 mind if I test it? 16:26:23 i'm uploading it 16:26:31 benchmark, even 16:26:40 please test it.. i want to compare it with other interpreters 16:27:07 sure 16:27:21 http://www.harderweb.de/jix/langs/brainfuck/afbi.c 16:27:40 compile with -O3 16:28:59 segfault 16:29:42 huh?! 16:30:25 even if I give no parameters 16:30:41 with no parameters it's normal 16:30:53 there has to be 1 parameter 16:31:17 it still segfaults 16:31:27 hmm what's your gcc version? 16:31:41 gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) 16:32:02 i compiled it with gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) 16:32:44 gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061) 16:32:45 works too 16:34:05 any compile warnigns? 16:34:20 I activated none; other than that no 16:35:28 hmm 16:35:28 Where's this mandelbrot.b? 16:35:30 ddd says the segfault happens in line 152: goto *(ins[ci.instruction]); 16:35:42 Ooh, a computed goto. :) 16:35:44 fizzie: esolangs.org/files/brainfuck/src (guessed) 16:36:03 pgimeno: hmm ok 16:36:30 http://swapped.cc/bf/ 16:36:56 It segfaults on my x86 box too. 16:36:59 it jumps into the dark side of memmory.. oh nooo 16:37:01 But doesn't on my ppc box. 16:37:58 endianess problems? 16:38:24 fizzie: pgimeno: what's the content of program[program_p].instruction at the segfault? 16:38:32 pgimeno: no gcc computes the values i jump to 16:38:48 and i don't use unions 16:38:58 and i don't cast values with different size 16:39:08 (gdb) print program[program_p].instruction 16:39:09 $1 = 0 16:39:38 hmm 16:39:42 thats add 16:40:05 (gdb) print program[program_p].instruction 16:40:05 $1 = 7 16:40:20 hmm 16:40:26 wahts 7.. 16:40:26 program_p is 3291. 16:40:33 7 is exit 16:41:09 here it is 0 16:42:06 fizzie: mandelbrot.b ? 16:42:11 Yes. 16:42:17 It's 0, 0 here too when compiled with "-g -O3" 16:42:20 3291 shouldn't be exit 16:42:28 jix: do you realze that the file is 12000 instructions long? 16:42:31 And 7, 3291 when compiled with just a "-g". 16:42:34 s/realze/realize/ 16:42:35 pgimeno: yes 16:42:50 there something odd with the computed gotos 16:43:03 awayy 16:44:10 back 16:44:12 Incidentally, it takes 1:24 to run mandelbrot.b on this 1GHz g4 iBook (compiled with gcc "3.3 20030304 (Apple Computer, Inc. build 1495)"), which is admittedly doing some other things too. 16:45:30 it took 1:11 on my 1ghz g4 so that sounds ok 16:46:14 jix: program_s = 4000 here, if that helps 16:47:01 4000? 16:47:10 should be... 16000 16:47:19 sizeof(bfi)*1000 16:47:26 ci.instruction is "65541" when it crashes on that goto statement. 16:47:31 That's probably not right. 16:47:37 yes 16:48:16 oh wait 16:48:19 i changed something 16:48:23 program_s is ok 16:48:27 at 4000 16:49:55 Shouldn't "tmp" be > "program"? When it crashes, it's program-1011 here. 16:50:13 huh? 16:50:24 (gdb) print tmp 16:50:24 $2 = (bfi *) 0x804a260 16:50:24 (gdb) print program 16:50:24 $3 = (bfi *) 0x804e190 16:50:40 hmm something went wrong 16:50:50 Maybe I should try single-stepping when it starts interpreting it. 16:51:18 it has something to do with the loop instructions 16:51:50 line 183 & 187 set tmp 16:53:01 maybe the parser writes the wrong addresses into the memory 16:54:35 hm 16:54:46 ((bfi*)(tmp->arg_c))->arg_c=(void*)tmp; 16:55:11 where's the problem 16:55:19 it's bad c-style 16:55:33 arg_c is int, right? 16:55:40 arg_c is void* 16:55:47 arg_a and arg_b are int 16:55:49 ah ok 16:55:59 sorry 16:56:13 Well, converting between void* and bfi* shouldn't be a problem. 16:56:27 arg_c should be bfi* but i forgot how to do linked-list declarations 16:56:47 I objected just because I thought it was int; I was wrong 16:57:34 typedef struct bfi_s { ...; struct bfi_s * arg_c; } bfi; 16:57:37 Anyway.. 16:57:53 anyway where is it initialized? 16:58:30 pgimeno: what? 16:58:46 where is tmp->arg_c initialized? 16:58:52 Afaict the terminating ']' of the loop sets it properly. 16:59:00 For "both ends" of the loop. 16:59:18 oh, in the previous instruction :) 16:59:22 sorry 16:59:44 my c-code is always chaotic as hell 16:59:55 i never really learned c 17:00:16 I'd point at my befunge interpreter for a prime example of chaotic C, but befunge.org's down at the moment. 17:01:01 take a look at my c kipple interpreter (cipple) i re-aranged functions because i was to lazy to write function prototypes 17:03:06 I'm used to not using prototypes (I'm a quiche-eater) 17:03:22 but some recursive functions need prototypes 17:03:41 * yrz\werk frank zappa - tengo una minchia tanta 17:03:41 with computed gotos it should be possible to avoid that 17:04:10 things need to get really really complicated for them to be really necessary 17:04:26 a calls b and b calls a 17:05:09 I usually write b inside a in such cases 17:05:23 hmm.. i too 17:05:49 Engfeh. gdb's single-stepping gets sorta-confused when the program's compiled with "-g -O3". 17:06:22 yeah, -O0 is needed for reliable traces 17:06:43 Since it segfaults with that too, I guess I'll look at it unoptimized. 17:11:12 Ohhh. 17:11:24 I have an idea of one way it might bug. 17:12:07 if realloc() moves the "program" to some different address when reallocating, the addresses in the "loopstack" get invalidated. 17:12:37 yeah, that's probably it 17:13:05 I was examining the value of loopstack right now 17:13:35 (gdb) print program 17:13:35 $13 = (bfi *) 0x804a170 17:13:49 (gdb) print loopstack[0] 17:13:49 $15 = (void *) 0x804a180 17:14:09 which makes perfect sense 17:14:43 argh 17:14:59 ok i'm going to fix that 17:15:01 but on segfault: (gdb) print program 17:15:01 $16 = (bfi *) 0x804e190 17:15:59 You could keep offsets from start-of-program in arg_c too, since the values in those fields get invalidated too, when "program" is moved. 17:17:32 it probably segfaults on x86 because the page is freed 17:20:57 while parsing i keep relative offsets 17:21:11 if i'm done with parsing i convert them into absolute addresses for speed 17:22:51 updated 17:23:12 i did some speed improvements too 17:25:42 If you want a speed improvement, you might consider adopting the same "one jump per instruction" strategy I did with my befunge interp: make a macro like "#define NEXT tmp++;ci=*tmp;goto *(ins[ci.instruction])", and put that after every instruction instead of "goto lend". 17:26:02 thx 17:26:41 Not that I'd have benchmarked it to see if it has any _real_ effect, but "it just might". 17:28:11 5secs faster! 17:28:30 updated 17:28:36 does it work on x86 now? 17:28:53 Uh.. well: 17:28:54 fis@sesefras:~$ ./afbi mandelbrot.b fis@sesefras:~$ 17:29:02 Err, that's a broken copypaste. 17:29:11 Let's try that again: 17:29:12 fis@sesefras:~$ ./afbi mandelbrot.b 17:29:16 fis@sesefras:~$ 17:29:24 It prints out 8 spaces, it seems. :p 17:29:38 better than segfault 17:30:09 if i set program start size low i have the same bug 17:30:31 Hmnnhm. Might still have something to do with the reallocations, then. 17:30:54 jix: is it on the same location? 17:31:40 web location, I mean 17:31:53 That's where I wget'd from. 17:31:58 And it looks updated to me. 17:34:23 pgimeno: yes 17:36:31 i don't know why it doesn't work 17:36:50 i write a bf2c converter thats easier 17:37:58 not only bf2c but bf2* 17:38:48 I have a (quite unoptimized) bf2befunge thing, but befunge's not very mainstream language either. 17:39:17 ok bf2high-level-language 17:55:58 jix: *mem_p == 1 at start of program 17:58:31 seems you forgot to zero it out 18:00:13 ah 18:00:31 now it works 18:03:02 updated 18:06:35 * pgimeno waits until the computer cools out 18:07:13 i had no temperature problems at 35 C 18:07:58 my old 68k (motorola 680x0) mac had problems at ~40 C but my computer hadn't 18:08:59 and i don't have a cpu fan 18:10:27 my case is really annoying; I have them since I bought this box 18:10:58 i wish my computer had a cpu fan.. passive cooling is LOUD 18:11:09 see http://www.formauri.es/personal/pgimeno/temp/dsc02325.jpg 18:11:21 lol 18:11:34 that's my box and my auxiliary fan 18:11:40 the hard-disk 18:11:41 ^^ 18:12:09 yeah, that one is cooled at the same time 18:12:43 time afbi-0.1/afbi mandelbrot.bf 18:12:43 real 3m3.160s 18:12:43 user 2m55.809s 18:12:43 sys 0m0.070s 18:12:50 :( 18:13:13 my computer can't be that fast 18:13:42 tried brfd? it's very ANSIish 18:13:52 url? 18:13:52 oh, the optimizer is not released 18:14:38 http://www.formauri.es/personal/pgimeno/files/compurec/brfd101.zip 18:15:34 then replace run.c with this: 18:15:42 http://www.formauri.es/personal/pgimeno/temp/run.c 18:21:16 oceanic:~/Desktop/Downloads/brfd101 jannis$ time ./brfd ~/Desktop/mandelbrot.b 18:21:22 real 2m7.937s 18:21:22 user 1m34.170s 18:21:22 sys 0m0.779s 18:21:30 on my computer my interpreter is faster 18:21:55 I expected that for some reason 18:22:02 hmm, maybe i should write brainf*ck interpreter too 18:22:23 pgimeno: but i didn't any ppc specific optimizations 18:22:59 wait for my bf2c ... 18:23:03 I'd guess that the reason is indirect jumps being too expensive in x86 18:23:09 but first i have to eat something 18:23:28 ppc is faster with precomputed jumps too 18:23:32 I'm looking forward to see it; I'm sure it will be faster 18:24:06 but comparing a int with 7 other ints is always slower than branching/jumping to an computed address 18:24:14 /away 18:25:03 maybe not 18:27:33 the comparisons may take 1 cycle each; OTOH indirect jumps can't be predicted and the pipeline is useless 18:33:19 jix: you know if anybody has made a benchmark of all published bf interpreters/compilers? 18:50:18 pgimeno: but after each comparison it has to jump to the code 18:50:21 lindi-: no 18:50:39 would be interesting to see one 18:51:35 i have a 300mhz celeron computer (without os atm) could be a testbox 18:52:23 maybe i'll write a benchmark script 18:52:45 bash? 18:53:31 uh where is the key for the computer? 18:53:35 With linux one can use sched_setscheduler to grant rather exclusive priorities to the test-task. (If one does not care that the computer then won't be doing much (anything) else during the test.) 18:53:44 yeah, why not. it just needs to invoke different interpreters with different programs 18:53:56 jix: key? 18:54:01 fizzie: i don't use the computer for enything else 18:54:05 lindi-: yes a real-life key 18:54:18 i'm not sure what you are talking about :/ 18:54:48 Normal linux distributions have a lot of tasks running anyway, and even nice -20'd processes only get their share of cpu time. 18:54:57 it's in a (shortened) server box with a little door at the front with a lock in it 18:56:19 I have a SGI Indy (MIPS, running IRIX) and a Sun Sparcstation 5 (microsparc, with OpenBSD installed) if you want platform-specific benchmark results. Although the SGI box lacks a C compiler. 18:57:27 fizzie: is there an tutorial for running a process while stopping all other 18:59:06 lindi-: i'm talking about a key for http://www.harderweb.de/jix/lock.jpg 18:59:38 I haven't seen one. But with linux it's quite easy: struct sched_param sp; sp.sched_priority = 42; sched_setscheduler(0, SCHED_FIFO, &sp); 19:00:19 -!- calamari has joined. 19:00:27 It has an added-value feature of making an infinite loop a serious condition, since any other processes will never be run. 19:00:33 i could write a luncher for it (first setting priority than exec'ing into the other process) 19:01:40 scheduling parameters are inherited by fork(), so you could just grant a higher priority to the shell running the test script. 19:02:01 The shell process probably wouldn't have too much interference. 19:02:02 fizzie: than the shell and the process have high priority 19:02:38 fizzie: if a program enters an infinite loop and i use the code you posted is it possible to exit the program? 19:02:49 Well, no. 19:02:59 uh bad 19:03:05 Unless you have a higher-priority task that can kill it. 19:03:25 if the shell has same priority.. can i kill it using ctrl-c? 19:03:26 "As a non-blocking end-less loop in a process scheduled under SCHED_FIFO or SCHED_RR will block all processes with lower priority forever, a software developer should always keep available on the console a shell scheduled under a higher static priority than the tested application." 19:03:50 ok 19:04:01 From the man page of sched_setscheduler. 19:04:14 the lock is screwdriver safe! 19:04:41 the box has a hole at the back but is safe at the front... 19:05:17 Then there's the matter of timing... on linux, gettimeofday() is a relatively precise, but you want the time samples taken as close as possible before and after the task startup/termination. Optimally you could modify the interpreter sources so that whatever delay is introduced by wait()ing on the process won't matter. 19:06:52 i don't think i need that exact timing 19:07:11 the first thing i need is that stupid key! 19:08:05 Depends on how long running times the processes have, I guess. And obviously random variation can be coped with by using a suitable number of repetitions. 19:08:12 that mandelprot.b btw does not run with BFI.java, i get "Exception in thread "main" java.lang.Error: Byte incremented beyond capacity" 19:08:16 The key is in a "safe place". 19:08:41 mandelbrot even 19:08:54 fizzie: maybe it's in a trashcan... 19:09:16 hah not 100% screwdriver safe! 19:10:04 I assume it's not chain-saw-safe either. 19:10:55 http://www.harderweb.de/jix/open.jpg 19:12:24 hmm i need a power cable 19:13:47 anybody knows a good 4-hands piano piece? 19:14:08 its 400mhz not 300 19:14:21 lament: you have 4 hands? cool :) 19:14:44 calamari: you have less than 4 hands? 19:14:54 jix: lol 19:15:15 yeah, iirc squids only have the 2 long tentacles 19:15:20 the rest are shorter 19:15:42 oh there is a linux on the computer 19:15:54 with x11... 19:16:03 looks like i reinstall is needed 19:16:07 i=>a 19:17:05 where is the keyboard-plug converter 19:17:18 i only have two hands 19:17:39 lament; you're going to use time-travel to have two of you! 19:17:51 I ran the benchmarks for our "programming lab-work" (I can't find an official english name for it) course using a knoppix CD. That was convenient. 19:17:53 maybe he can play with his feet, like an organ :) 19:18:02 fizzie: that's the most boring use of time-travel ever :) 19:18:42 calamari: i can play with my feet, but not piano. 19:19:21 33 processes running default 19:19:40 I have very little musical ability. I can play a harmonica, but not even bend notes really... 19:19:53 i play guitar 19:20:14 bending notes has nothing to do with musical ability 19:20:22 and everything with practice 19:20:59 keep practicing and you'll get it :) 19:21:16 what harmonica do you have? 19:21:20 the cpu is 99.7 % idle 19:21:22 thats ok 19:22:20 lament: the one I play most is a hohner weekender, because it has a wide range, and I like the scale (it's not missing notes), but it very bad for bending, because each note has two holes that play at the same time 19:22:51 lament: I have a standard 10 hole hohner that is gathering dust.. I had a tiny bit of success bending low notes with it 19:28:18 oh ugh 19:28:29 i don't like non-standard harmonicas 19:29:20 An esoteric harmonica. 19:29:43 yeah 19:29:55 the double-reeds are less expressive then standard ten-holes 19:30:02 I got hooked on it, because it has every note 19:30:23 I can play any diatonic note on the ten-hole 19:31:01 the 10-hole has all the notes, iirc in the middle, but on the sides it skips them for c-e-g chords 19:32:02 that meant I could not play certain songs 19:32:52 only chromatic harmonicas have "all the notes" 19:33:29 the weekender has a full major scale 19:33:31 lament: I mean cdefgab.. I'm not talking about flats/sharps.. sorry to confuse :) 19:33:49 ten-holes don't have a full major scale, but it's possible to play it anyway by bending 19:34:14 and it's possible to play EVERY note within the three octaves by bending and overblowing 19:34:17 (but that's hard) 19:34:37 on the weekender it's impossible in principle 19:34:48 as far as i know 19:35:09 AGGGGGGGGGGGGGGGG 19:35:12 So much talking. 19:35:29 How the HELL is bff so fast? 19:35:45 egobfi is beaten? 19:37:07 Please note that egobfi was primariy intended to be powerful, fast was a later addition. 19:38:54 I was briefly investigating a self-modiying elf binary last night. Not good at linux asm yet. 19:46:44 I miss debug.. wish there were something interactive like that for linux. 19:52:03 -!- yrz\werk_ has joined. 19:53:32 Umm, like gdb/ddd ? 19:53:40 I don't know what you mean by "debug" 19:54:09 debug is a dos program.. has a built in assembler, disassembler, binary editor, etc 19:54:54 calamari: yeah, that's what I miss too 19:54:57 -!- yrz\werk has quit (Client Quit). 19:55:45 good ol' debug and the backwards-compatible, feature-enhanced symdeb 19:56:08 never had symdeb.. but I had a debug32.. didn't work 100% reliably tho :) 19:56:14 brfd is faster with mandelbrot but slower with primes. 19:57:33 oh GregorR, that's good to know... I thought that mandelbrot was long enough for a semi-decent benchmark but of course there are many optimizations that brfd can miss 19:58:30 I'm really just trying to save face XD 19:58:45 probably primes uses chunks that are not well optimized by brfd 19:59:06 brfd is actually pretty dumb, it's just a string replacement 19:59:31 Ahhhhhhhhh, so that's your trick :) 20:00:18 <{^Raven^}> pgimeno: got mandelbrot running in 7.4s on my optimising compiler 20:00:20 yeah, it's "compiled" to a bf variation with an extended instruction set 20:00:45 {^Raven^}: wow, I'd like to check it on my box for an accurate reference 20:01:31 <{^Raven^}> pgimeno: can you give me a link to the mandelbrot,bf that you are using 20:01:33 does it generate C or assembly? 20:01:37 <{^Raven^}> C 20:01:45 I don't think 'debug' was that much better than gdb. 20:01:59 http://swapped.cc/bf/ 20:02:11 http://swapped.cc/bf/files/mandelbrot.b 20:02:48 Come on, no comparing compilers to interpreters ;) 20:03:00 Perhaps the fact that it didn't even try to be a symbolic debugger made it more suitable for debugging binary-only software, but anyway. 20:03:56 fizzie: a mere question of taste, I suppose... I got used to that and I find gdb overcomplicated, that's all, I think 20:04:22 <{^Raven^}> pgimeno: http://jonripley.com/~jon/mandelbrot.c 20:04:41 Considering the amount of open-source developers, one would think there'd be some lower-level debuggers for the "rather common" linux/elf/x86 platform. 20:05:37 yeah, but so far I've found no decent replacement for symdeb or hiew 20:07:19 {^Raven^}: real 0m5.131s 20:07:20 user 0m4.276s 20:07:20 sys 0m0.003s 20:07:46 Humm ... my benchmarks are way off of yours ... 20:07:54 (with -O3) which is pretty impressive 20:09:12 GregorR: what machine? 20:09:22 <{^Raven^}> pgimeno: nice :D but still far from optimal 20:09:26 A 2.6gHz, but that's not it, they're in a totally different order. 20:09:31 Not just all faster. 20:10:22 what processor? this one is an athlon 20:11:46 30 seconds for even compiling that mandelbrot.c with gcc-3.3/-O3/1GHz-ppc. 20:11:55 Pentium 4. 20:12:06 yeah, compilation is a bit slow 20:12:12 Also, I'm turing -O3 on bff into -O2 because that's totally cheating, and did -O2 on BRFD. 20:12:16 (Then 11 seconds to run it.) 20:12:25 (BFF is still waaaaaaay faster mind you) 20:12:40 <{^Raven^}> should be about .045s slower with -O2 on mine 20:13:06 <{^Raven^}> but compilation is only done once and a program can be run 100s of times 20:13:10 GregorR: that may be an indication of both processors handling optimizations differently 20:13:15 True. 20:13:23 I'm having a halting problem with brfd ... 20:14:21 halting problem? is that because you're Turing -O3 into -O2? :P 20:14:59 brfd wasn't compiling with any -O for me ... 20:15:02 I had to pass in -O2 20:15:11 Oh wait, it finished, but in 149 seconds. 20:15:40 One thing one could try is to compare "standard" -O3 with "-march=athlon-xp -O3" and/or "-march=pentium4 -O3". 20:16:55 GregorR: you can override any CFLAGS setting using: make CFLAGS="-options" 20:17:13 fizzie: good point, I'm not good at gcc optimization flags 20:17:18 Umm, yes, I am a professional computer programmer, but thank you for explaining that to me. 20:17:43 er, sorry if I was too explicit for you 20:17:47 ^_^ 20:18:36 there are so many people who don't know how to override make variables, despite they are programmers 20:23:37 OK, I guess the only one that slowed for me was brfd, but I'm perplexed as to why >_> 20:24:23 Hmm, bftools slowed for me as well. 20:24:29 Both conveniently to the other side of egobfi :P 20:26:35 Incidentally, anybody have a last call for features to add to egobfi 0.2? 20:27:20 GregorR: what are the current features? 20:27:35 those in README? 20:27:49 Yeah. 20:28:02 P'' support? 20:28:33 I'm still fuzzy on P'' 20:28:36 hehe 20:28:42 how about 1-bit cells 20:29:07 Oh, that I could do. 20:29:26 With +- swapped for @? 20:29:51 some like +, I like @.. maybe both ? 20:30:19 I'll just translate +- into @ 20:31:35 how will i/o be handled? there are two ways I know of. 1) a bit of i/o at a time. 2) 8 bits of i/o using 8 consecutive cells at once 20:31:58 Let's make it an option! 8-D 20:32:34 speaking of that.. how is i/o handled for the 16 and 32 bit cases? just an 8 bit value? Or are you handling unicode? 20:33:04 Just an 8-bit value. But wchar support isn't necessarily a bad idea ... 20:33:07 Not ATM however. 20:33:11 :) 20:37:19 oh, and another request.. for the future would be some kind of esoapi / easel support 20:37:52 <{^Raven^}> calamari: supporting easel/esoapi is the simplest to add 20:38:02 I can't see to remember the name of the standard that those two were combined udner 20:38:09 I'm not sure what hard disk you want me to access however :-P 20:38:11 <{^Raven^}> PESOIX 20:38:28 thanks :) 20:39:22 hm.. 3 google hits, 2 from chat logs, 1 n/a 20:39:46 <{^Raven^}> all: to add PESOIX (esoapi/easel) support you #include a header and change getchar to pesoix_getchar and putchar to pesoix_putchar 20:40:04 I assume you need some libpesoix? 20:40:06 raven: is the pesoix spec on the web somewhere? 20:40:19 raven: nice :) 20:40:25 <{^Raven^}> calamari: yeah, lemme check it's uptodate 20:40:46 maybe you have a robots.txt file or something? 20:41:07 I think this ONEBIT code is muddling up the rest of the code to much. 20:41:11 All these #ifdefs are nasty 20:41:21 hehe 20:41:29 not a big deal 20:41:35 Sorry calamari, cancelling that feature :P 20:41:39 not a problem 20:41:48 <{^Raven^}> calamari: http://jonripley.com/easel/ 20:42:12 pesoix is a better feature anyways 20:42:35 raven: why doesn't your site show up when I search for pesoix? 20:42:41 -!- graue has joined. 20:42:52 <{^Raven^}> calamari: it's an unlinked page 20:43:17 So, uhh, there's no actual code implemented yet? 20:44:05 <{^Raven^}> GregorR: of course there's code 20:44:36 Where, I can't find it... 20:44:46 <{^Raven^}> I never put it online 20:44:57 That's not particularly helpful 8-D 20:46:23 <{^Raven^}> The current version is a little less functional than the last but the source code is hugely more maintainable 20:47:05 <{^Raven^}> Life and other projects got in the way 20:47:45 Well, better something than nothing, eh? 20:49:36 there, http://lilly.csoft.net/~jeffryj/programs/esoapi/esoapi.html you're linked so in the future \I can find PESOIX :) 20:49:48 <{^Raven^}> hehehe 20:50:30 <{^Raven^}> under PESOIX I was thinking about making EsoAPI access a disk image rather than a physical volume 20:51:12 * GregorR silently (well, not silently) cancels pesoix support in egobfi 0.2 20:51:24 * {^Raven^} wonders why? 20:51:32 * GregorR still doesn't see any code. 20:52:08 * {^Raven^} wants to get the code into a reasonable state first 20:52:26 man busted 3/3 .. should start ignoring my feature suggestions hehe 20:52:29 * GregorR wants to release egobfi 0.2, is impatient, and there's always a 0.3 20:53:22 <{^Raven^}> there's no point in PESOIX support atm, better to wait until I develop it further 20:53:35 That's about what I thought :) 20:53:37 <{^Raven^}> but knowing that other ppl will find it useful is a strong motivator 20:53:52 However, I am now looking into unicode support, CALAMARIIIIII 20:54:26 Question: if I use wchar.h and getwchar, will it still support ASCII just fine? 20:54:44 (And putwchar, presumably) 20:55:00 raven: worked on my game a little bit last night. Currently at 114 bytes, but not done with the engine :) 20:55:33 hmm.. dunno 20:56:32 <{^Raven^}> calamari: have 1006 bytes of game (unoptimised) and 1623 bytes of data, am working on a major functional improvement atm 20:57:11 <{^Raven^}> engine is a lot better than the previous game but still in development 21:06:59 wchar needs 32-bit. 21:07:12 I'm not sure how to test it, but AFAIK it works :P 21:09:05 cool 21:13:31 Now I'm trying to add a 64-bit mode, but make it only add it if int64_t exists. 21:14:05 * {^Raven^} hopes that -[-] is optimised 21:14:29 or [+] :) 21:16:56 It is. 21:17:18 [+] isn't because it would be just another check for wrapping being on or off. 21:17:22 If wrapping is on, [+] is while (1); 21:17:23 -!- calamari has quit ("Leaving"). 21:17:30 Err, off rather. 21:17:52 oh, if wrapping is off, the values are just clamped? 21:18:05 as opposed to incrementing the maximum value or decrementing 0 being an error? 21:18:17 Yeah. 21:18:21 Why, is it standard to error? 21:18:29 I thought it was standard to hold ... 21:18:38 -!- calamari has joined. 21:18:47 that was weird.. irc client just died 21:19:06 I would have expected it to error, personally 21:19:34 <{^Raven^}> that would take 3x2^64 instrcutions to before an infinite loop was noticable by which time most people may have grown old and died 21:19:52 <{^Raven^}> *for +[+] on 64-bit terp 21:23:05 8-D 21:23:07 heh, it would take 1141 years on my CPU, assuming the interpreter was running in realtime and took 1 cycle to evaluate each instruction 21:23:22 that's a funny thought 21:26:25 w00t, got egobfi64 21:27:09 Oh, and [+] is now optimized :P 21:27:15 But not in nonwrapping mode. 21:27:22 What I think is funny is to realize, that with a 2GHz cpu, cycle time is 0.5 ns, which means that during the time the thing calculates some basic operation, the light from my desk lamp moves 15 cm. 21:28:04 Wowsa. 21:28:59 http://gregorr.homelinux.org/egobfi-0.2.tar.bz2 21:30:39 Incidentally, is there anybody who could upload this to www.esolangs.org ? 21:34:19 I am doing so 21:35:13 you might want to reorder the ISBF() test in this order: +-><][., 21:35:35 according to the Spoon author, that is the order of frequency in which Brainfuck commands occur in the programs he surveyed 21:36:48 It's just baaaaaaaaarely off of that :P 21:37:17 The groups are all int he right order, but each group was reversed except for +- 21:37:23 <{^Raven^}> GregorR: You should set the program array to the length of the input file to handle large programs 21:37:35 {^Raven^}: The program array expands. 21:37:52 CHKPSZ = make-sure-it's-long-enough-and-realloc-if-it's-not 21:38:20 <{^Raven^}> GregorR: ok, i'll try it with LostKingdomBFe later to see what happens 21:38:34 I've already tried it, it works great. 21:38:40 <{^Raven^}> sweet :) 21:49:44 I can almost move pieces in my checkers game now :P 21:53:11 what does egobfi stand for? 21:55:09 I was going to name it gkrbfi, after my initials, but calamari said that was so egotistic I should name it egobfi. 21:55:10 So I did. 21:55:19 So basically "the egotistic brainfuck interpreter" 21:55:35 oh 21:57:23 OK, here's a better benchmark for BrainFuck interpreters: how fast does it run a bf-in-bf interpreter running mandelbrot :P 21:57:46 and does yours beat qdb at that? 21:58:20 I haven't tested it :P 21:58:33 Sadly, mine doesn't seem to beat qdb at anything but featurefullness. 21:59:08 huh? I thought you had pulled ahead at some point 21:59:46 It's sort of an every-other-test thing. 22:00:05 So it's not 'beating' it so much as 'tying' 22:01:06 GrEGOrR ;) 22:01:22 Aha XD 22:01:31 but yeah, the ego thing too 22:02:42 I think if I optimized standard moves I'd jump FAR ahead. 22:03:15 whats a standard move? 22:04:11 [>>*x+<<*x-] 22:04:23 Or similarly [->>*x+<<*x] 22:04:33 yeah, add-to loops 22:04:51 I suppose that is indeed what it's doing. 22:05:40 BUT, it works great for me, so I'm going back to checkers.b 22:05:56 hehe 22:06:16 quick work on that interp.. very impressive 22:06:25 <{^Raven^}> that's pretty much one of the ops to look for in the next optimisation in my engine 22:07:55 * {^Raven^} states that it's not an interpreter 22:08:56 Incidentally, is there any other interpreter that actually makes wrapping etc options? I certainly haven't found one ... 22:09:25 GregorR: pibfi 22:09:27 I thought Chris's interp did that 22:09:36 hehe :) 22:09:41 <{^Raven^}> IIRC either the current or next version of Brainwash does 22:09:47 and it makes you install erlang, too 22:10:06 oh no 22:10:07 the horror 22:10:20 not the dreaded erlang!! 22:10:57 ? 22:13:06 back 22:15:04 Grr, slightly off >_< 22:15:46 i'm writing test scripts for the bf interpreter/compiler speed-test 22:16:39 i'm feeling http://dict.leo.org/?schwindelig... that's annoying 22:20:03 YAAAAY! 22:20:05 My pieces move! 22:20:23 everything in my room moves 22:20:26 (it seems so) 22:21:31 Heheh 22:21:54 wtf? aaargh 22:22:01 when does it stop! 22:22:30 I suddenly felt like that two days ago while walking on the sidewalk alongside a busy road 22:22:38 i didn't drink i didn't turned my desk-chair and i didn't programmed in whirl 22:22:59 maybe you have low blood sugar and must eat something 22:23:31 graue: i watched tv and was eating chocolate for about 2h 22:24:51 maybe you need to move 22:25:56 maybe it's because the air in my room is bad 22:28:18 maybe you need to open a window? 22:28:56 the first thing i did after i entered my room 22:29:30 Maybe you need to close a window ;) 22:29:42 nah.. it's better now 22:32:41 That outside air, it can be dangerous to you. 22:32:45 I avoid it like the plague. 22:33:47 Exactly! 22:34:33 @a[@x_0 i_0 @x_1 i_1 ... @x_n i_n @a], where at most one @x_n = a, and i_n=-1. Result a=0, x_n+=a*i_n 22:35:39 Gwa? 22:36:13 trying to see what a generic add-to loop looks like 22:37:32 [-] is x_0=0, i_0=-1 22:38:37 [>+<-] is x_0=1, i_0=+1, x_1=0 i_1=-1 22:39:41 I wasn't going to go in to quite that level of complexity *shrugs* 22:39:54 yeah, might be too slow 22:40:18 If optimizing the code takes more time than running the code, there's a problem :P 22:40:23 most people put the loop variable at the front or end 22:40:44 usually the end from what I've seen 22:40:55 I exclusively put it at the end. 22:42:33 you probably already have situations where optimizing is taking longer than running.. for trivial programs 22:42:48 True 22:44:12 Wow, bff is really doing badly at factor.b ... 22:45:40 Welcome to the halting problem, Gregor XD 22:48:05 OK, qdb and egobfi are still in a dead heat XD 22:52:07 so much for the checkers program :P 22:54:35 http://gregorr.homelinux.org/checkers.b 22:55:14 Hmm, seems to send it in HTML mode :P 22:55:44 http://gregorr.homelinux.org/checkers.b.txt 22:55:54 A big chunk at the top was autogenerated by simple-txt2bf.c 23:01:19 has simple-txt2bf.c been published? 23:01:39 It's on the brainfuck archive, just a sec, lemme get a linki. 23:01:41 *link 23:01:57 http://esoteric.sange.fi/brainfuck/utils/simple-txt2bf.c 23:09:34 -!- calamari_ has joined. 23:13:30 <{^Raven^}> GregorR: textgen.java at http://lilly.csoft.net/~jeffryj/programs/bf/ is a good program for making BF program fragments to display strings 23:17:51 I'm morally opposed to Java :P 23:19:52 -!- calamari has quit (Read error: 110 (Connection timed out)). 23:29:20 why? 23:30:17 I'm just being silly. 23:30:46 Though I have no non-Free software, so if that doesn't work with gcj or jikes it's no good for me *shrugs* 23:33:19 Hmm, that is a pretty awesome program. 23:33:30 GregorR: textgen seems to work flawlessly with free software (jikes+gnu classpath+jamvm) 23:34:02 I'm using Jikes + SableVM, works fine. 23:34:16 (+ GNU Classpath, but who DOESN'T use GNU Classpath?) 23:35:00 kaffe used to have completely different library and the merge isn't 100% complete yet 23:36:47 GregorR: anyways, it's very nice to hear that people use classpath. feel free to report all bugs you find :) 23:36:59 Hey, why do so few languages on the esolang wiki have a local copy of the external webpage? 23:38:14 Aardwolf: copy of the content of the page, or do you mean link? 23:38:35 I mean a copy in the preservation page 23:38:56 Aardwolf: the original page cannot be copied.. it would be a violation of copyright 23:39:12 Hmm, archive.org seems to get away with it. 23:39:32 weren't they sued about a month ago? 23:39:40 They were? 23:39:55 They asked me if they could make a local copy of my page and I allowed it 23:40:17 then you gave permission 23:40:31 yep 23:42:20 Just for laffs I put the first four lines of the King James Bible in the genetic text generator :P 23:42:41 Down to 7275 23:43:07 http://yro.slashdot.org/article.pl?sid=05/07/13/0527236&tid=95&tid=17 23:43:36 damn it, why doesn't C define a<>(-b) when b is negative? 23:43:43 that would be a lot more convenient 23:44:17 apparently 1<<(-1) produces -2147483648 on my machine 23:44:49 Harding Earley Follmer & Frailey should have used a robots.txt then, the dumbasses 23:45:02 graue: #define shift(a,b) (((b)>0)?((a)<<(b)):((a)>>-(b))) ;) 23:45:14 <{^Raven^}> If you read the full text of the complaint it's very funny and quite disturbing 23:45:51 Aardwolf: anyhow.. since we dont have an army of laywers, it's easier to just not include copyrighted stuff :) 23:46:12 haha yeah :) 23:46:48 Aardwolf, read the update, Harding Earley Follmer & Frailey are not the ones suing 23:46:54 (slashdot sucks) 23:47:01 yeah I just read it 23:47:47 AHAHAHA my CPU is overheating 23:50:53 I'm glad you are so happy about that :) 23:55:31 Seems like it may have bottomed out at 5282 23:56:23 cool, my browser supports the monospaced Hangul font 23:58:43 * {^Raven^} toddles off to bed 23:58:45 <{^Raven^}> nite peeps 23:59:36 gnite 2005-07-24: 00:03:47 -!- Aardwolf has quit ("Leaving"). 00:07:26 5114 00:07:29 COME ON, BREAK 5000!!! 00:14:57 so it's already complete and working? 00:17:16 Huh? 00:19:26 what are you talking about? 00:19:35 you're shrinking the size of your checkers program, right? 00:22:30 my bf interpreter/compiler test-suite-scripts are done 00:23:00 it runs on a 99% cpu idle box with nice -20 00:23:11 400mhz intel celeren 00:23:13 celeron 00:23:26 now name interpreters / compilers to add! 00:23:34 Heheh. 00:23:44 No, I'm compressing the first 5 lines of the King James Bible. 00:23:47 Not for any good reason. 00:24:14 jix: egobfi :P 00:24:18 jix: qdb 00:24:36 jix: bff, bftools, brfd, yabfi2 00:25:29 afbi is the only interpreter i added atm 00:25:38 i'm going to add the other ones 00:25:41 And the only one I haven't listed :P 00:25:52 GregorR: hmm do you know afbi? 00:26:14 Not personally, would you mind introducing us? ;) 00:26:22 the interpreter 00:26:27 Yeah, I know. 00:26:41 http://www.harderweb.de/jix/langs/brainfuck/afbi.c 00:26:56 i wrote it for pgimeno's brainfuck interpreter speed-test 00:27:16 it's faster than brfd on ppc but slower on pgimeno's computer 00:30:34 lol 00:30:37 * GregorR compares it to egobfi 00:34:10 It would appear that I'm afbi-incompetent >_> 00:35:28 When I run it against mandelbrot.b, it drags my CPU into the mud and doesn't seem to do anything ... 00:35:32 Oh wait, it segfaulted. 00:35:57 * GregorR is perplexed. 00:38:13 hrmg 00:38:51 afbi has some problems with reallocating and computed gotos 00:43:30 I assume Mandelbrot works for you? 00:44:39 jix: obi2, wib, pibfi, awib 00:45:10 jix: this javascript interpreter: http://www.esolangs.org/svn/esofiles/brainfuck/impl/di.html 00:45:31 Umm, isn't wib a compiler? 00:45:35 And awib? 00:45:43 Or was he looking for compilers? 00:45:52 jix: this longer javascript interpreter: http://www.esolangs.org/svn/esofiles/brainfuck/impl/i.html 00:46:16 jix: If you do test both, please clearly mark them - obviously compilers will generally be faster. 00:46:41 jix: this interpreter in ORK: http://www.esolangs.org/files/ork/src/orkfuck.ork 00:46:58 jix: this interpreter in Kipple: http://www.esolangs.org/files/kipple/src/bfi.k 00:47:26 I can't believe I didn't mention orkfuck XD 00:48:00 GregorR: i will mark them 00:48:14 OK, good :) 00:48:41 hmm interpreters with program/input in one file arn't supported yet 00:48:53 uhm... they are.. 00:49:05 i have InterpreterSetup.prepare 00:54:17 BTW jix, what are your tests? 00:54:35 helloworld & mandelbrot atm 00:54:39 but i'm going to add more 00:54:47 I would recommend adding primes-up-to-200. 00:55:03 Merely because for some inexplicable reason, egobfi beats qdb with it, but not with mandelbrot :P 00:56:52 for compilers, you could also produce a second series of results, with the time taken to compile factored in 00:57:23 graue: i could.. if i rewrite my whole test-code 00:57:37 just a thought 00:57:38 OH! And also, you should be VERY careful to compile all the compilers with the same optimizations. 00:57:53 Some will default to -O3, some will default to -O0, they should all use -O2 for fairness. 00:57:53 GregorR: and interpreters too 00:58:02 Err, s/compilers/interpreters/ 00:58:03 all -O3 or? 00:58:09 -O3 breaks some things. 00:58:12 yes? 00:58:14 So I'd lean towards -O2. 00:58:24 ok 00:58:27 Most things don't break with -O2. 00:58:35 is egobfi default -O2? 00:58:41 Yes 00:59:02 make sure you compile Erlang, Ruby, and the JavaScript interpreter you use with -O2 as well 01:00:45 yes 01:01:02 If there's any interpreted interpreter that's actually FASTER than a C interpreter, I will be blown away. 01:01:51 optimizing interpreted interpreter vs unoptimized c interpreter? 01:02:14 Hmmmmmmmmmmmmmmmm, then it might get close. 01:02:22 I guess it would depend on the interpreter of the interpreter. 01:03:10 theres a bug in my test-code 01:03:33 See, nobody's seen it yet, so you didn't need to tell anybody, and we would have never thought you were capable of writing bugs ;) 01:07:04 if i run the command manually it works 01:07:09 but from the script it doesnt 01:07:31 What's the command, what's the language, how are you calling it? 01:08:42 it's ruby i use system and the command is nice -n -20 sudo -u jannis time -o /tmp/to -f "%e %S" ./qdb /home/jannis/interpretertest/b/helloworld.b > /home/jannis/interpretertest/b/helloworld.out.cmp 2>/dev/null 01:08:53 uhh %U where underline starts 01:09:36 Well, for one, there's no reason to run it through sudo, that will only effect the real time, not the user/system time (which are the only valuable ones) 01:09:50 It may be that sudo wants a password there, and can't possibly get one. 01:09:57 GregorR: nonono 01:10:06 i start the script as root because i want to nice it 01:10:08 Err, nice rather. 01:10:18 Sorry, I meant "there's no reason to nice it there" 01:10:18 but i don't want the interpreter as root 01:10:22 ok 01:10:42 Because nice would only effect real time, which is irrelevent, it's user/sys time that are important, and they're unaffected by nice. 01:11:56 same problem 01:12:12 Today on #esoteric, Gregor solves nothing! 01:12:13 but only qdb fails egobfi doesn't 01:12:54 I would continue to try to help diagnose, but I've actually got to go. 01:13:05 So, I'll see y'all later, hope to see some interesting results at some point ^_^ 01:13:20 later 01:13:57 /usr/bin/time: cannot run ./qdb: No such file or directory wtf? 01:14:29 It could be that your script silently chdir'd somewhere, I would try using a full path. 01:14:40 (or worse, the interpreter silently chdir'd somewhere) 01:14:44 ahh found the bug 01:14:54 no the interpreter may chdir anywhere 01:15:00 i'm chdiring back at the end 01:15:12 Incidentally, I'm not here 8-D 01:15:13 but i used always the dir of the first interpreter for all interpreters 01:20:37 fixed 01:25:28 bff added 01:28:49 GregorR: whats the current size? :) 01:35:03 g'night 01:36:12 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:59:26 -!- calamari_ has quit ("Leaving"). 02:17:37 -!- kipple___ has quit (Read error: 110 (Connection timed out)). 05:54:19 -!- graue has quit (Read error: 110 (Connection timed out)). 05:57:28 -!- cmeme has quit (Connection timed out). 05:57:57 -!- cmeme has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:22 -!- ChanServ has quit (kornbluth.freenode.net irc.freenode.net). 08:06:22 -!- pgimeno has quit (kornbluth.freenode.net irc.freenode.net). 08:06:22 -!- {^Raven^} has quit (kornbluth.freenode.net irc.freenode.net). 08:06:23 -!- CXI has quit (kornbluth.freenode.net irc.freenode.net). 08:06:23 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net). 08:06:24 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 08:06:24 -!- lament has quit (kornbluth.freenode.net irc.freenode.net). 08:06:45 -!- ChanServ has joined. 08:06:45 -!- irc.freenode.net has set channel mode: +o ChanServ. 08:06:47 -!- {^Raven^} has joined. 08:06:47 -!- CXI has joined. 08:06:47 -!- mtve has joined. 08:07:11 -!- GregorR has joined. 08:07:11 -!- lament has joined. 08:46:10 -!- pgimeno has joined. 09:20:17 Well, I either just made egobfi mind-blowingly slow, or I just broke it. 09:29:37 YES YES YES YES YES!!!!!!!!!!!!!!!!!!! 09:29:45 egobfi pulls WAAAAAAAAAY ahead!!! 09:31:35 Damn bff, how the hell does it do it?! 09:54:15 Just got add-to optimization, checking if it's actually helpful :P 09:55:14 Wow, that was much much worse. 12:03:53 -!- jix has joined. 12:04:37 moin 13:27:48 brfd fails on hello world 13:28:00 it doesn't output the last newline 13:31:46 should i strip all leading \n? 13:49:21 pgimeno: brfd fails on hello world 15:07:43 i have to include compile time because awib needs 4 mins cpu time to compile mandelbrot but only 49secs to execute it 15:20:17 pfoo added compile times 15:21:01 if compile times are < 0.1 seconds they don't show up 15:21:34 and they aren't as exact as the execution times 15:21:44 and no one listens to me :'( 15:25:40 yep, we're just reading. 15:38:12 haha 15:39:40 fixed some bugs 15:43:03 -!- ZeroOne has quit (Ping timeout: 14400 seconds). 15:49:29 -!- fizzie has quit ("muutto"). 16:00:15 -!- cmeme has quit (kornbluth.freenode.net irc.freenode.net). 16:00:15 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net). 16:00:15 -!- lindi- has quit (kornbluth.freenode.net irc.freenode.net). 16:02:42 -!- cmeme has joined. 16:02:42 -!- puzzlet has joined. 16:02:42 -!- lindi- has joined. 16:37:53 -!- fizzie has joined. 16:38:38 jix: fails in what sense? the parser is a bit quirky, I guess 16:39:42 I wrote it before I knew about any established standard 16:55:12 in the helloworld example the newline is missing 16:55:34 and i'm not going to include interpreters that need more than 10 minutes for mandelbrot 16:55:39 obi2.rb is at 40minutes 16:56:14 killed 16:56:17 what helloworld? 16:57:24 http://en.wikipedia.org/wiki/Brainfuck#Hello_World.21 16:57:56 jix: include in what? 16:58:12 lindi-: in my brainfuck interpreter/compiler speed test 16:58:29 jix: you are doing one? great! 16:58:45 jix: please put the results online 16:59:00 jix: what's the fastest so far? 16:59:02 lindi-: the first test run is still running 16:59:15 and it's just a test test run 16:59:20 :) 17:00:12 oh and if obi2.rb fails it's because i killed it 17:00:13 jix: it's because of the parser; the ! is the frontier between code and input 17:00:35 pgimeno: thanks 17:00:39 i'm going to fix that 17:01:10 i commented out print("Optimizing") and print.... because they ignored -Q 17:01:29 oh 17:01:48 well, the optimizing run.c was not ready for release :) 17:03:36 the non optimizing one was at 6mins for mandelbrot (i have top running during the tests which takes ALWAYS 0.3%cpu) maybe it needs more than 10min 17:05:30 it was 4:31 on my machine 17:05:41 I'm not good at optimizing C code, though 17:05:50 so doesn't bff run on your box? 17:06:07 i'm not testing on my main computer 17:06:13 (too many processes running) 17:06:27 but on a 400mhz intel celeron computer with ~300mb ram 17:06:47 oh, I guess that bff runs properly there 17:06:56 it does 17:08:13 ahh no! 17:08:29 there is a bug 17:08:39 mandelbrot can't be completed in 0secs 17:09:07 and yes slow brfd is too slow 17:09:35 ah i forgot to activate output validation for mandelbrot 17:09:51 hm, bff gives a couple of warnings with valgrind 17:10:10 bff is the fastest interpreter here 17:10:35 egobfi the slowest with no fail 17:10:59 you said it doesn't run on your mac or am I wrong? 17:11:29 bff? 17:11:45 yes doesn't run here 17:11:55 mandelbrot validation is on 17:14:36 need to find the bug 17:14:50 in bff? 17:14:55 no in my test script 17:14:57 -!- BigZaphod has quit. 17:14:58 ah 17:15:19 it's impossible to calculate mandelbrot in <0m0.0005s 17:15:36 guess so 17:15:56 ok with c it's possible 17:16:02 but not with brainfuck!? 17:16:45 it depends on how optimizing is the optimizer :P 17:17:20 compilers writtin in bf are now self bootstrapped 17:19:46 the testbox has 0k swap used 17:20:01 291mb ram free 17:20:50 -!- ZeroOne_ has joined. 17:35:12 the fastest way to bootstrap awib with a bootstrapped wib... wib awib.b => awib.c;gcc awib.c => awib_wib;awib_wib awib.b => awib 17:57:38 Wowsa. 18:01:57 UAHRG 18:02:01 time output: Command exited with non-zero status 42 18:02:16 Command is as float.. 0 exited is as float 0 with is as float 0 18:08:15 fixed all bugs running a new test 18:08:29 /away 18:35:41 -!- graue has joined. 18:37:11 bff doesn't work for me, it seems to either crash or inexplicably print wrong things forever 18:39:29 valgrind reports a few errors 18:41:36 I've taken a quick glance but couldn't find what's wrong 18:42:41 I'm apparently incapable of implementing add-to loop optimization in such a way that it's actually better :P 18:42:52 I've tried two schemes now. 18:43:38 Both very simple because I don't actually care :P 18:47:36 it's easy, but complicated and possibly time-consuming 18:48:39 implement an intermediate language with a command ADD_MEM(M,N) where M is a signed integer and N is an integer with the range of the integers you're using for each cell, that adds N to the cell M cells forward from the current location of the memory pointer 18:48:55 then add a command ADD_PTR(M) where M is a signed integer, that moves the memory pointer M cells forward 18:49:40 whenever you see any string of only ><+-, reduce it to at most one ADD_PTR and at most one ADD_MEM for each M 18:49:57 then, if a loop contains only the ADD_MEM command, you can reduce it to a series of multiplications 18:50:08 http://www.harderweb.de/jix/langs/brainfuck/result2.txt 18:51:25 graue: hey that's what my compiler is going to do 18:53:17 graue: That's precisely what I did 18:53:18 if you add a PUTCHAR(N) command you can also optimize strings containing . 18:53:38 GregorR, have you tried it on something that takes much longer to run than to parse/optimize? 18:53:48 I used mandelbrot.b 18:59:11 ....... 18:59:19 I just made a change that ought to have made it more optimal, and yet it's slower ... 18:59:32 what change? 19:00:10 GregorR: egobfi is #8 in the test 19:00:17 #6 with out compilers 19:00:22 jix: you need to add more programs 19:00:29 graue: yes i know 19:00:30 hello world is trivial and mandelbrot is just one example 19:00:41 graue: it's my first complete test 19:00:47 Hello World would throw most optimizers waaay below. 19:00:53 -!- sp3tt has joined. 19:01:06 I did the check to make sure that it had parsed as much as would be needed for an add-to loop in the main function instead of the add-to function. 19:01:12 That should have saved a function call and been faster. 19:01:16 Instead it was slower. 19:01:16 graue: all other tests had some bugs in my test scripts 19:01:45 jix: BTW, 0.3 is quite a bit faster. 19:02:04 Someone needs to implement RPN in brainfuck... <.< 19:02:52 I'm sure there's an RPN calculator in BF ... 19:05:28 http://lancelot.pecquet.org/download/soft/rpn.html#Brainfuck teh pain! 19:05:56 lol... Compare the BF version to the C version... 19:11:49 http://gregorr.homelinux.org/egobfi-0.3.tar.bz2 < now fassssssssster, still powerfullllllllllllller. 19:18:31 GregorR: that runs mandelbrot.b in 26 seconds on pentium@2.8GHz. if i compile mandelbrot.b with BF2C.c and gcc it runs in 2.9 seconds 19:18:45 how long does the compilation take? 19:19:21 graue: gcc runs for 6 seconds 19:20:00 so, is there any point in writing interpreters? ;) 19:20:18 * jix is writing a compiler 19:21:09 Har har har. 19:21:13 Yukk it up :P 19:21:24 lindi-, how long does BF2C run? 19:21:52 graue: hard to measure, less than 0.004 seconds 19:22:01 whoa 19:22:03 * GregorR writes a compiler backend for egobfi :P 19:22:20 I guess BF2C does no optimizations whatsoever? 19:22:25 jix: GregorR: we should all just start optimizing gcc's optimizer :) 19:22:29 graue: true 19:22:56 then every gcc user would benefit too 19:22:56 where is BF2C, I don't have it 19:23:08 esoteric.sange.fi/brainfuck/impl/compilers/BF2C.c 19:23:46 heh, I wrote something like this before :) 19:26:00 how fast is it if you do the gcc compilation with -O0? 19:27:17 graue: then gcc runs for 1.0 seconds and mandelbrot runs for 22 seconds 19:27:43 -O1 is 1.7 and 3.0 19:28:17 and -O3 is 11 and 2.9 19:29:56 so even on -O0 it beats egobfi, heh 19:30:24 yes, barely 19:31:11 -O2 and gcc from cvs 2005-07-20 produces a binary that runs in 2.6 seconds ;) 19:32:15 i think it's going to be hard to beat that 19:32:17 so -O1 gets the best results, if compilation time is counted 19:32:36 graue: yep 19:34:08 graue: but if i changed that mandelbrot to use higher resolution then -O2 would be better 19:34:32 cause it would not affect compilation time but it would affect running time 19:37:11 graue: http://iki.fi/lindi/mandelbrot.asm has disassembly of the created binary 19:44:46 Darn, egobfc only gets it down to 5sec. 19:44:58 However, it supports unicode and any-size characters :) 19:48:42 gcc seems to optimize multiple +'s 19:49:21 Well, that makes my optimization of multiple +s suboptimal. 19:49:22 i mean > 19:49:45 Well, that makes my optimization of multiple >s suboptimal. 19:50:32 With gcc -O2, the actual compilation of mandelbrot.c is quite slow. 19:50:40 Is that also the case with bf2c? 19:51:10 yes, see above 19:51:22 I don't read *shrugs* 19:51:41 So it's possible that compile b-c + compile c-bin + run is still slower than interpreting. 19:52:05 yep 19:52:34 Well, I'm off, I'll release egobfc later when I've knocked out some bugs. 19:54:05 see you later then 19:55:03 -!- graue has quit (Read error: 104 (Connection reset by peer)). 19:55:53 -!- graue has joined. 20:04:18 -!- _graue_ has joined. 20:06:04 <{^Raven^}> what about a JIT interpreter? 20:07:42 <{^Raven^}> i've got some ideas based on the assumption that a BF interpreter is actually a virtual machine 20:08:08 <{^Raven^}> there's some useful emulator techniques that would be handy for a BF-VM 20:08:15 {^Raven^}: why not just use gij? 20:09:41 <{^Raven^}> wouldn't that imply Java?, that would give a VM running on a VM running on a RM 20:09:50 <{^Raven^}> too many VMs spoil the speed 20:10:36 dynamic recompiling? jit compiling? 20:10:45 vm's often jit compile 20:10:53 emulators often dynrecompile 20:11:30 dynamic recompiling is a special form of jit compiling 20:11:56 <{^Raven^}> it would preferably need to be host platform independant 20:12:15 uhm thats impossible 20:12:22 <{^Raven^}> yeah i know 20:12:26 without calling gcc 20:12:59 {^Raven^}: not really, python can be compiled to the same bytecode too, so why not brainfuck? 20:13:22 <{^Raven^}> lindi-: gij is not in my area of expertise 20:13:29 brainfuck can be compiled to machine code.. that's faster 20:15:25 <{^Raven^}> a interpreter/VM/emu could store the compiled code in a cache, meaning that a program would only need to be compiled once 20:15:39 <{^Raven^}> using the compiled code from the cache on subsequent runs 20:16:40 that could be a shell script that caches results to ~/.bf-cache :) 20:17:41 <{^Raven^}> or %APPDATA% or Choices: depending on OS 20:19:29 -!- graue has quit (Read error: 110 (Connection timed out)). 20:19:49 Why not write a brainfuck module for gcc or some other compiler? 20:19:56 I mean, that removes some overhead. 20:20:13 good idea 20:20:19 * {^Raven^} doesn't know how to 20:20:33 shouldn't be that difficult 20:21:25 Imagine the overkill of getting the dragon book for that. 20:21:34 dragon book? 20:22:05 ah 20:22:37 Compiler book with a dragon on the cover. 20:24:46 <{^Raven^}> IMHO we need a good intermediate language to compile through 20:25:18 C is one :) 20:26:15 <{^Raven^}> no, before C, straight BF>C is non-optimal even after run-length encoding 20:26:51 <{^Raven^}> unless you know something i don't :) 20:27:01 i'm not sure what you mean :/ 20:27:24 you want lower or higher level than C? 20:28:01 <{^Raven^}> i want high level than straight BF>C 20:28:13 <{^Raven^}> *higher 20:28:21 {^Raven^}: thats what my bf2c compiler does 20:28:36 <{^Raven^}> jix: link? 20:29:12 {^Raven^}: myharddisk://under.dev.el/opement 20:29:31 not ready and the intermediate language is still growing 20:29:38 and the only output language atm is ruby 20:29:42 <{^Raven^}> hehe 20:31:22 <{^Raven^}> i am working on a compiler here, not much dev-time though 20:31:40 <{^Raven^}> idea is to reduce the number of instructions in a BF program to as few as possible 20:33:13 -!- _graue_ has changed nick to graue. 20:33:19 <{^Raven^}> mine outputs to BF, C, C(ommented), BBC BASIC and pure object code 20:41:22 <{^Raven^}> purely an exercise atm rather than a releasable tool 20:45:57 <{^Raven^}> jix: i'd like to see what you've got 20:52:19 i'm still writing the top framework no optimizations yet 20:58:06 modulo math.. 0o 20:58:30 Easier than RPN. 20:58:38 rpn is easy 20:58:46 Exactly. 20:58:50 I learned about it today. 20:58:56 i love rpn 20:59:04 i use it on my calculator 20:59:05 Wrote an infix-> RPN. 20:59:12 and no it's not a hp calc 20:59:16 And a 12 line RPN-calculator. 20:59:21 sp3tt: pha.. i do that in my head 20:59:25 I want an RPN calculator 20:59:34 gimme an infix expression and i output rpn 20:59:35 jix: so? 20:59:40 Heh. 21:00:12 Imagine my math teacher's face. 21:00:22 hehe 21:00:30 i'm going to write my next math test using base -9 21:00:35 "But this is gibberish" "You don't know RPN?" "No, wtf is that?" "N00B!" 21:00:45 Base... negative 9? 21:00:46 no one ever said that i have to use base 10 21:00:47 o.0 21:00:53 sp3tt: yes no need for a sign 21:00:53 Good one. 21:01:19 How about binary? Or is that too easy. 21:01:24 of course i write a converter base 10 <=> -9 for my calculaotr 21:01:31 Probably... base 3 is hard. 21:01:34 sp3tt: my teacher has a computer no problem to convert 21:01:41 Well, not hard. 21:01:44 and there are programs for any positive base 21:01:52 No base is hard. 21:01:54 but no programs for negative bases 21:02:06 It's just that some are more confusing. 21:02:19 I love to count in binary with my fingers though. Especially 4. 21:02:31 10 is in -9 => 181 21:02:41 sp3tt: *g* 21:03:03 That is just... painful. 21:03:15 -9 is in -9 => 10 21:03:22 -8 is in -9 => 11 21:03:33 9 is in -9 180 21:03:34 I like that 21:03:34 -9 + 81 + -81*9? 21:03:55 uhm ? 21:04:09 I don't think I follow the logic of negative bases. 21:04:10 181 == 1*81 + 8*-9 + 1*1 21:04:31 1*(-9)^2 + 8*(-9)^1 + 1*(-9)^0 21:04:35 just like positive bases 21:04:57 Ah yeah... 21:05:09 the rightmost digit counts 1 the 2nd digit counts base the 3rd digit counts base square... 21:05:21 Forgot that... 21:05:23 <.< 21:05:29 Beat me with a stick. 21:05:41 sp3tt: too much brainfuck programming? 21:05:44 Nah. 21:05:51 Not done any of that for a while. 21:06:17 I'm not forgetting Latin conjugations and declinations at least :) 21:06:30 who needs latin... 21:06:40 Study Latin in one's free time. Can it get geekier? 21:06:56 Don't know. 21:06:58 i don't like latin 21:07:01 But it is fun to know. 21:07:17 japanese or russian would be cool 21:07:19 Because insulting people in a language they cannot grasp is hilarious. 21:07:33 My father once got in a car accident in Portugal. 21:07:47 Well, not accident, but some Portuguese idiot reversed into his cars. 21:08:02 and...? 21:08:08 And the Portuguse started shouting in Portuguese. 21:08:24 And he told them to stfu and called them mofos in Swedish XD 21:08:41 haha 21:08:59 They shouted "Calma, calma!" 21:09:18 Calma? 21:09:28 "Calm down" or something to that effect. 21:09:44 ah 21:09:45 AFK, movie's on again. 21:09:48 The Godfather :) 21:25:18 argh modulo math 21:27:05 val-(c*e) === 0 (mod 256) i know c and want a rule for getting e if i know val 21:27:23 uh val+(c*e) 21:29:35 if c is 1 then e === val (mod 256) 21:30:01 if c is 2 there is only a solution if val === 0 (mod 2) 21:30:26 but for all odd c there is a solution for all val 21:30:32 i know that because of brute-forcing 21:32:04 I suppose this will be 8-bit with wrapping only? 21:32:43 will you optimize exponentiation and tetration 21:32:44 ? 21:33:39 i want to optimize all loops that don't contain other loops or input output 21:35:34 will you optimize recursively, e.g. [[[[[[-]]]]]] (for a trivial example)? 21:35:44 yes but only trivial examples 21:35:54 why? 21:36:06 is this because you have decided that nontrivial cases of that cannot be optimized? 21:36:18 because i optimize '['*n + bla + ']'*n 21:36:30 an that's trivial 21:37:04 what about [+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[-]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]? 21:37:22 oh wait, I got that wrong 21:37:29 but what I mean is, you're not naive about it, right? 21:37:39 hn? 21:37:57 i would probably optimize [+>>-<<->>+[-]+>>-<<->>+] 21:37:58 i.e., if it's effectively such a trivial example, will you hndle it? 21:38:00 okay 21:38:31 but i'm at the code for handling non-moving non-nested non-io loops 21:38:43 ie multiplication / naive-divide 21:38:50 move 21:38:58 copy 21:39:03 and combinations of that 21:39:35 -!- BigZaphod has joined. 21:39:47 and that's where i need a solution for that modulo equation 21:49:02 my newest optimization [-]++ => cell=2 (and things like that) 21:49:27 still not done with the move/mul/div optimization 21:53:07 do you also optimize by removing any instructions prior to a [-] that modify only that cell? 21:54:41 yes that too 21:54:49 but [-]++ could be e = 0 ; e+=2 21:54:56 i output e=2 21:55:25 yes 21:56:17 i do some bf-space o11s ( [odd number of + or -] => z ; delete <>|><|+-|-+ and + or - in front of z) 21:56:37 and some o11s within the loop tree 21:57:10 ++>+<- => p[0]+=1 p[1]+=1 21:57:28 what's an oll? 21:57:32 and even ++>[-]<->+<- => p[1]=1 21:57:42 its o-eleven-s optimisations 21:57:46 oh 21:57:49 optimizations 21:58:15 like i18n 21:58:24 and a10y, yes 21:58:44 a10y? 21:58:49 or maybe a11y 21:58:51 accessibility 21:59:35 i don't remember them.. and i only use them if i wrote the whole word at least once 22:00:33 BFCode.new("++>[-]<->+<-").gencode => [[:set, 1, 1]] 22:15:01 fixed some bugs 22:15:02 and now: 22:15:03 e = BFCode.new("[>++<[-]>-<+>-<]").gencode => [[:inf_loop]] 22:31:20 when i'm done i have 3 optimization stages 22:32:30 1 that works on the brainfuck source 1 that does the bf-tree => intermediate-lang and 1 that removes dead code from the intermediate-lang 22:54:33 Here's a question ... 22:54:46 Would it be a speed improvement to write the BF code to a void * memory array and then call that as a function? 22:54:54 Err, write machine code, but from BF, obviously. 22:55:30 yes 22:55:59 Hmmmmmmmmm. 22:56:17 I don't think it would be TOO difficult ... 22:56:24 It would be totally architecture-dependent of course. 22:56:32 that's like jit compiling 22:56:50 Oh, yes it is. 22:56:54 lol, didn't occur to me. 22:57:46 if you compile all loops as soon as they get executed it's real jit compiling if you always translate the next n instructions it's dynamic recompiling 22:58:30 And cache said loops I assume *shrugs* 22:59:33 While I think that if I really wanted to, I could probably write something like that, I'm still not going to :P 23:08:01 -!- heatsink has joined. 23:33:04 -!- sp3tt has quit (Client Quit). 23:52:40 i'm done with the modulo math 23:52:59 good ol'paper and pencil 2005-07-25: 00:24:34 -!- BigZaphod has quit. 00:57:08 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:37:27 -!- calamari has joined. 01:38:58 graue: could you please test if this patch for bff causes it to work? http://www.formauri.es/personal/pgimeno/temp/bff.patch 01:39:42 at least the patch makes valgrind stop complaining 01:41:39 will do 01:42:12 thanks 01:42:51 I'm off to bed now, bye 01:43:04 bye 01:44:53 hi 01:44:59 cya pgimeno ;) 02:40:43 -!- BigZaphod has joined. 02:41:40 -!- BigZaphod has quit (Client Quit). 02:43:57 -!- BigZaphod has joined. 02:45:16 hi BigZaphod 02:45:22 hey 02:45:30 you tried writing anything in Archway2? 02:45:33 it's fun 02:45:41 :) Nope, haven't looked into it. 02:45:54 http://www.esolangs.org/wiki/Archway2 02:46:16 except without the 2 02:47:21 interesting. 02:48:38 Archway2 kind of reminds me of surfing, the cool water splashing all over my programs (in the form of / and \) 02:49:28 it would be nice to go rent a beach house for a week and code Archway2 while glancing occasionally out the window, and listening to the relaxing sounds of the ocean 02:49:32 it reminded me of a fractal 02:49:40 you're more abstract than me 02:49:44 that'd be an ice excuse.. :-) 02:49:46 er.. nice 02:49:55 (ice, too, if its winter, I suppose) 02:50:13 it would be summer 02:50:43 what part of the world are you in? (how far is the ocean for you?) 02:50:58 I've only seen ocean from far above in a plane. 02:51:08 I'm in the eastern United States 02:51:25 I'm in the Iowa. We don't get much ocean here.. :-) 02:51:33 the ocean would be three or four hours away by car, at least 02:52:01 that's not so bad. at least a couple days for me. 03:23:06 pgimeno: the patch didn't fix it 03:30:13 -!- calamari has quit ("Leaving"). 03:42:40 BigZaphod: Only two days if you get a copilot and take turns sleeping. 03:43:12 you mean two hours, right? 03:45:59 maybe if you have an aircraft. 03:46:31 that'd be a really fast aircraft.. I think by jet it's still about an hour just to Chicago from here. 03:47:13 unless its supersonic. 03:52:16 two days would be a really slow aircraft, though 03:52:27 I assumed the unit was wrong 05:40:55 Oregon here. 05:40:59 Only about an hour from the beach. 05:41:12 But the Oregon ocean is cold and unappealing. 05:41:30 (That is, the Pacific ocean by Oregon) 05:42:46 -!- heatsink has quit ("Leaving"). 05:43:47 GregorR, how goes? 06:04:46 It's still goin'. 06:32:45 I find that answer largely unappealing 06:50:56 -!- BigZaphod has quit (Read error: 110 (Connection timed out)). 07:24:00 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:57 -!- ZeroOne_ has quit (Remote closed the connection). 09:52:00 -!- grimace_ has joined. 10:02:55 -!- sp3tt has joined. 12:33:54 -!- kipple__ has joined. 13:50:40 -!- jix has joined. 14:16:10 -!- puzzlet has quit (Client Quit). 14:16:12 -!- puzzlet has joined. 14:50:49 -!- fungebob has joined. 15:59:43 -!- kipple___ has joined. 15:59:43 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)). 16:06:48 jix: there? 16:26:16 -!- yrz\werk has joined. 16:37:20 -!- yrz\werk_ has quit (Connection timed out). 16:43:16 pgimeno: yes 17:01:31 -!- sp3tt has quit (Client Quit). 17:24:02 -!- calamari has joined. 17:24:03 hi 17:24:20 moin calamari 17:24:28 hi jix 17:24:36 how's your new adventure game going? 17:24:49 lowest priority 17:24:59 i'm working on my brainfuck-compiler 17:25:37 the next thing i want to do is my website 17:25:37 -> bf or bf -> ? 17:25:44 hi calamari 17:25:46 bf -> 17:25:46 jix: can you try bff on mac? 17:25:49 hi pgimeno 17:26:03 jix: to what language.. c? 17:26:04 pgimeno: i did, it doesn't work 17:26:24 calamari: first ruby (for testing) later c or maybe asm 17:26:29 jix: nifty 17:26:47 you should still enter your other adventure game.. maybe spiff it up a bit :) 17:27:17 made a bit of progress on mine last night, so it's on my mind hehe 17:27:28 when is the deadline? 17:27:33 sept 1 17:28:06 it 17:28:30 it'll be hard for me to finish in time, since I'm not working on it very often 17:29:31 jix: did you try with my patch? 17:30:30 pgimeno: patch? 17:31:08 http://www.formauri.es/personal/pgimeno/temp/bff.patch - would you mind to try applying it and see if it works? 17:32:04 -!- sp3tt has joined. 17:33:24 pgimeno: works! 17:33:33 nice! 17:34:53 i had some problems with modulo math yesterday... i solved it... brute-forcing and storing the table in the output-program 17:35:10 that's faster anyway 17:35:26 only 64kb in the worst case 17:38:56 when will we see a release? 17:39:14 today or tomorrow 17:39:32 i have to complete stage2 of optimisation and write stage3 17:41:53 cool 17:45:42 the code is chaotic... 17:45:48 it's ruby code but it's chaotic 17:46:05 i just started coding without writing down all optimizations first 17:50:47 -!- graue has joined. 17:51:20 my intermediate language has an "if cell is divisible by 2^n zero cell else infinity loop" instruction... 17:52:05 it's mnemonic is if_divtxilzeif 17:53:34 ok it's not zero but set_to now.. that's important for stage3 optimizations 17:55:07 5,4kb code 18:07:18 -!- fungebob has quit (Read error: 110 (Connection timed out)). 18:07:57 jix: what about code that changes the loop variable.. such as ++++[--->+<-].. very contrived, but it could happen in a nested [ ] 18:10:28 -!- grimace_ has left (?). 18:10:53 ++++[--->+<-] => [0]+4,mov_mul([0],-4,[1]+1) 18:11:42 add 4 to cell 0, do a mov_mul instruction with field 0 as counter -4 as increment and [1]+1 as action 18:12:07 the mov_mul instruction is a bit complex but fast even with ++[--->+<] 18:12:29 -!- graue has quit (Read error: 104 (Connection reset by peer)). 18:12:32 that's where i use the upto 64kb lookuptable 18:15:46 hmm it's only 32kb... 18:41:59 jix: sorry, that's what I meant by contrived.. let's see if I can show more clearly what I meant: ++++[>+>+[<<+++++>>-]<------] 18:42:22 that's off the top of my head.. sorry for any errors :) 18:42:51 that should translate to +++++[>+<-] if I did it right 18:43:29 maybe there's a missing < ? 18:43:42 like: <<------] 18:43:53 yeah, after ] it should be << 18:44:20 anyhow.. does your alg pick up that it is -1 not -6 ? 18:44:52 or does it handle nested loops like that? :) 18:45:08 oh well, who writes obfuscated BF anyway? :) 18:45:19 pgimeno: that's not 18:45:25 it's just a simple example 18:45:36 j/k 18:45:51 I could come up with a more complicated real-life example, but the idea would be obscured 18:46:44 someone should invent BF++ 18:46:54 hehe 18:47:27 or P.. take P'' and integrate a couple times ;) 18:48:00 heh, nice idea :) 18:48:38 I was wondering... does the world need a 1-symbol language? 18:50:01 well, it depends.. lets say you figured out a way to mutate bf into one symbol, but when the program ran it figured out the original 8 bf instructions and ran it that way.. then I'd say no 18:50:23 but if it is just one symbol and a tarpit, that'd be cool.. is it possible? 18:50:55 NULL is sort of that already, you just have to express a NULL program in unary 18:51:05 note that one symbol is the same as using file size for the program :) 18:51:14 yup 18:51:22 (except for comments) 18:51:39 But you have a _really_ efficient source code compression algorithm: use a binary number that tells how many of the symbol there are. :p 18:52:54 it would kind of lose some of the magic though... 18:53:30 somehow I think 2 symbols would be the minimum without cheating 18:54:09 actually it's pretty hard to define cheating 18:54:18 yeah it is 18:54:54 I was thinking... a hello world program would need like... many gigs 18:55:08 I'd consider cheating having it interpret more instructions than there are symbols.. just my bias tho :) 18:55:55 that one instruction can be wonderfully complex, though.. hehe 18:56:28 my decision is that the world is already good enough without a 1-symbol language 18:57:06 are there non-cheating 2 symbol languages? seems like there was a lamda calc.. iota or jot or something? 18:57:16 lambda 18:57:28 or do they require 3? 18:57:39 no, both iota and jot are 2-symbol 18:57:43 nifty 18:57:54 how many instructions.. just 2, right ? 18:57:59 jot programs are any string of 0's and 1's 18:58:06 including the empty string 18:58:30 in iota the instructions are * and i, but not all programs are syntactically valid 18:59:18 lets say I did 01.. does it internally translate that into a different intstruction? 18:59:37 -!- fungebob has joined. 18:59:41 or 00 or 10 or whatever 18:59:51 if not, then I'd say it is the tarpit winner :) 18:59:57 I don't know enough lambda calculus as to answer 19:00:03 yeah, neither do I 19:00:17 what do you call a different instruction? 19:00:37 lets take a different example 19:00:41 i think it doesn't cheat, in the sense you mean 19:00:44 I can go along 00101000111 19:01:07 now I take 00 = 0, 01 = 1, 10 = 2, 11 = 3.. now I have 4 instructions, not 2 19:01:15 From what I remember of iota/jot, I don't think neither of them cheat in that way. 19:01:21 cool! 19:01:24 nope, there are 2 instructions 19:02:00 bbl..meeting time 19:02:06 -!- calamari has quit ("Leaving"). 19:02:16 "Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. 19:02:16 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" 19:02:32 is it just me? 19:11:55 -!- yrz\werk_ has joined. 19:14:41 i'm not doing much nested loop optimizations 19:15:01 but i can add some in stage 3 19:22:36 The new optimizations are in on egobf, but I must admit that it doesn't look good. 19:22:42 ...for the rest of you! BWAHA! 19:23:33 GregorR: time for mandelbrot.b? 19:24:31 GregorR: or actually, time compared to BF2C+gcc -O2? 19:24:45 OK, OK, we all know that comparing it to a compiler is unfair. 19:25:01 unfair? ;) 19:25:06 why? 19:25:16 Because compilers will implicitly be faster. 19:25:23 GregorR: why? 19:25:32 Well, I guess I do need to time both steps *shrugs* 19:25:37 we just proved yesterday that it can be slower 19:25:48 Anyway, I'm actually at work right now, I just logged in to brag about the morning commute's work :P 19:25:49 if you count the compilation time 19:25:56 heh 19:26:14 lindi-: we proved that even with -O0 it's faster didn't we? 19:26:50 -!- yrz\werk has quit (Read error: 110 (Connection timed out)). 19:27:30 -!- cyph1e has joined. 19:28:29 jix: okok, but if we had changed the program a bit it would have ran faster and thus compilation time would have been more signigficant 19:29:30 but if the converter would output (*p)+=10 instead of 10 times (*p)++ gcc would be a lot faster 19:29:57 jix: possibly 19:30:06 i'm not 100% sure 19:30:28 with -O0 it would be as good as with -O1 and 10x (*p)++ 19:30:35 and -O0 is very fast 19:30:55 it's alot easier to optimize brainfuck code than optimizing c code 19:31:12 hmm 19:31:57 jix: gcc converts to GIMPLE first anyway and then optimizes the GIMPLE representation 19:32:19 lindi-: it's still easier to optimize bf than optimize GIMPLE 19:32:27 perhaps 19:33:18 in brainfuck it's easy to detect multiplication which is implemented using addition... in c/GIMPLE it's not that easy 19:33:52 hmm 19:42:41 jix: now that you mention this it seems that gcc doesn't know how to optimize int mul(int a, int b) { int c; c = a; while(b--) c += a; return c; } to c=a*b 19:43:01 -!- Keymaker has joined. 19:43:23 hello world 19:43:42 i was in cottage for three days 19:44:04 made up two new quine-technique-ideas for brainfuck 19:44:18 the other was ~1300 bytes and the other 1028 iirc 19:44:36 too bad couldn't make 'em shorter.. i'll try sometime again 19:50:08 i'm near done with stage2 19:50:37 and it's still not broken (but the A2Ruby class generates slow ruby code A2C has to be faster) 19:51:28 hmm, there has been probably something nice happening..? could anyone sum up. i'm too lazy to read the logs 19:54:25 i'm writing a optimizing brainfuck compiler 19:54:35 sounds cool 19:55:11 but it outputs ruby code atm 19:55:17 'ok 19:55:18 and function calls in ruby are slow 19:55:24 so the output is slow too 19:55:31 ok 19:55:55 i'm going to add c and x86 asm output 20:05:10 done with stage2 20:05:24 1. C output 20:05:29 2: stage 3 optimizations 20:08:21 -!- kipple__ has joined. 20:08:22 -!- kipple___ has quit (Read error: 104 (Connection reset by peer)). 20:13:33 hi Keymaker 20:14:19 we've been doing benchmarks of BF interpreters/compilers 20:15:03 ok 20:15:12 (and hi) 20:15:15 -!- yrz\werk1 has joined. 20:15:29 jix: would this work properly in your interpreter?: [->] (decrement and skip to next until zero found) 20:16:11 pgimeno: in my interpreter? 20:16:18 er compiler, sorry 20:16:29 everything would work properly 20:16:55 ah ok 20:17:00 mandelbrot.b uses moving loops.. and it works 20:17:06 but nonmoving loops are faser 20:17:09 faster 20:17:15 does the compiler create an interpreter? 20:18:00 it creates c code 20:18:14 -!- cmeme has quit ("Client terminated by server"). 20:18:16 ok.. 20:18:35 which does the same thing as the bf code 20:18:42 ah 20:18:44 the c code doesn't interpret the bf code 20:18:49 yes 20:18:58 it's like bf2c but with optimizations 20:19:02 i see now 20:20:22 -!- yrz\werk1 has quit (Client Quit). 20:22:10 oh and infinity loops use < 1% cpu! 20:22:25 -!- yrz\werk1 has joined. 20:23:02 -!- yrz\werk_ has quit (Client Quit). 20:37:08 i'm at 12kb code 20:46:47 m[0]+=3; v = m[0]; if(v){m[1]-=v*3; m[0]=0;}; m[1]+=1; putchar(m[1]); 20:48:01 [--] => if(m[0]&1) while(1){sleep(-1);};else m[0]=0; 20:49:28 oops... a little bug 20:49:52 wrong sign for :p_mov_mul and :n_mov_mul 20:50:28 who are you talking to? can we see the code somewhere? 20:50:40 cyph1e: the code isn't complete 20:50:53 the c generator is missing the REALLOC macro and the init/cleanup code 20:56:28 allright.. may I ask you what optimization your compiler (or translator) does? I've never written a compiler, just an interpreter 20:56:28 it optimizes all loops without input/output and balanced < and > 's to multiplications (there are a few exceptions but they are rare) 20:56:28 and it optimizes some other special things 20:56:28 I'm vaguely considering putting a backend on egobf that compiles to memory then runs it, that ought to be blazin' fast. But also difficult to write. 20:56:28 -!- BigZaphod has joined. 20:56:28 I'd like to see your code that optimizes all loops with balanced >><<. 20:56:28 I couldn't do it in a way that was more efficient than running them :P 20:56:28 GregorR: but you could call it jiting interpreter... 20:56:28 jix: Not quite, it's not just in time, it compiles before it runs. 20:56:28 -!- sp3tt_ has joined. 20:56:28 I decided that loops made it too difficult to just compile ahead, and just compiling everything outside of loops wouldn't be THAT great of an improvement. 20:56:28 -!- calamari has joined. 20:56:28 hello 20:56:28 GregorR: a jit-compiler compiles a routine before it gets executed.. bf code has no subroutines so you may call it jit-compiling ;) 20:56:28 moin calamari 20:56:28 re jix 20:56:28 Heheh, I guess I can agree with that :) 20:56:28 Hoi squiddy. 20:56:28 (Wait, is calamari squid? Or octopus? I can't remember...) 20:56:28 calamari: i don't think my compiler optimizes the code you gave me well 20:56:28 squid, you got it :) 20:56:36 jix: that's okay, as long as it doesn't produce incorrect results 20:57:25 how is your curse word language going? 20:57:43 fsc or something like that, heh 21:00:40 curse word language? 21:01:35 calamari: output for your example: m[0]+=4; var_b=m+0; while(*var_b){m[1]+=1; m[2]+=1; v = m[2]; if(v){f = lut_126[v]; m[0]+=f*5; m[2]=0;}; m[0]+=250;} 21:02:16 ah just noted that there is still space for optimizations 21:02:40 var_b=m+0 ... i could use m instead of var_b beacuse m doesn't change if i use that code snippet 21:03:44 hmm no i shouldn't use the extra_vars at all.. gcc does better optimizations for that anyway 21:05:08 pretty cool :) 21:05:32 lut_* are random looking look-up-tables 21:06:01 i use them for [odd number of + or ->something<] 21:06:28 i was only able to generate them using the help of a computer algebra system 21:06:33 hehe 21:06:52 i generated the init numbers for the look-up-tables 21:07:10 they are: [255, 85, 51, 73, 199, 93, 59, 17, 15, 229, 195, 89, 215, 237, 203, 33, 31, 117, 83, 105, 231, 125, 91, 49, 47, 5, 227, 121, 247, 13, 235, 65, 63, 149, 115, 137, 7, 157, 123, 81, 79, 37, 3, 153, 23, 45, 11, 97, 95, 181, 147, 169, 39, 189, 155, 113, 111, 69, 35, 185, 55, 77, 43, 129, 127, 213, 179, 201, 71, 221, 187, 145, 143, 101, 67, 217, 87, 109, 75, 161, 159, 245, 211, 233, 103, 253, 219, 177, 175, 133, 99, 249, 119, 141, 107, 193, 191, 21:07:10 21, 243, 9, 135, 29, 251, 209, 207, 165, 131, 25, 151, 173, 139, 225, 223, 53, 19, 41, 167, 61, 27, 241, 239, 197, 163, 57, 183, 205, 171, 1] 21:07:30 init numbers? 21:07:34 yes 21:07:42 what is an init number? 21:07:49 initial.. 21:07:57 what is an inital number ? 21:08:03 a number to start with 21:08:30 (init*n) mod 256 where init is the init number of the table and n is the item number of the table 21:09:09 oh, the starting value of the loop variable? 21:09:16 no 21:09:19 the name was stupid 21:09:39 I don't get it, but that's okay :) 21:09:51 it's the result of re-editting source code the 10th time 21:09:53 ^^ 21:10:04 I wonder how much loop unrolling can be done 21:10:24 i do no loop unrolling 21:10:38 i only do loop elimination 21:11:28 -!- cyph1e has quit (Read error: 110 (Connection timed out)). 21:12:04 -!- sp3tt has quit (Client Quit). 21:39:20 bbl 21:39:23 -!- calamari has quit ("Leaving"). 21:44:37 mandelbrot: 0.65 secs bf=>c, 13.6 secs gcc with -O2, 7.8secs mandelbrot 21:45:26 on my 1ghz ppc g4 with finder,terminal,safari,adium,quicktimeplayer,xchat-aqua,quicksilver and subethaedit running 21:53:10 only some output fine tuning left until beta-release 21:53:18 stage3 is empty atm 21:56:45 Yay, my gcc is now "powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 20041026 (Apple Computer, Inc. build 4061)". (Installed Tiger and xcode2.) 22:00:22 gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061) 22:00:33 but xcode2.1 is out afaik, 22:00:42 i hate to download xcode 22:01:18 gcc (GCC) 4.1.0 20050720 (experimental) 22:02:00 maybe xcode2.1 has gcc 4.1.0 22:02:37 I used to have xcode1.5, caused some trouble with fink, but didn't bother to upgrade to 1.9 before installing Tiger. 22:03:07 What's new in 4.1? Better loop-autovectorization and/or instruction-scheduling? 22:03:17 dunno 22:03:25 1h46m remaining... 22:03:32 752mb dmg 22:04:13 I see three neighbouring WEP-enabled wlans: "overland", "aurinko" and "animalfarm". 22:05:22 mandelbrot.b 11669 byte mandelbrot.c 23835 byte mandelbrot 45676 byte output 6240 byte ^^ 22:08:31 fizzie: haven't really been following anything except the libjava/ directory, but yes, some autovetorization stuff has afaik also improved. also, 4.1 is not out yet so they have time to improve it before official release 22:14:33 http://www.harderweb.de/jix/langs/brainfuck/bf2a.rb 22:14:56 didn't compared it against bf2c 22:18:50 ah made a mistake 22:18:54 -!- sp3tt_ has quit (Client Quit). 22:18:56 there is still some debugging code 22:19:03 that will flood your terminal 22:19:40 fixed 22:20:47 nother error 22:21:49 fixed 22:22:13 argh 22:22:15 not fixed 22:25:22 fixed! 22:27:49 everyone: please test it 22:31:50 ... 22:31:57 pgimeno: ping 22:40:06 no one is here :'( 22:42:33 i'm here but can't test it 22:42:41 i don't have any ruby software 22:42:42 Keymaker: why? 22:42:48 and i'm not on my home computer 22:43:04 windows? 22:43:07 yes 22:43:23 maybe i can create a stand-alone exe 22:43:31 do you have gcc? 22:43:47 no 22:43:59 ok.. than you really can't test it 22:44:09 yeah 22:44:28 but.. i have mingw 22:45:41 the mingw package comes with gcc(?) 22:46:04 it does 22:46:06 dunno 22:46:21 but it probably doesn't matter what c compiler it uses..? 22:46:27 Keymaker: yes 22:46:30 oh 22:46:39 yes it doesn't metter 22:46:56 but i only tried gcc 22:47:16 ah. ok 22:47:17 but i don't know where to get a windows ruby binary 22:47:25 well, me neither 22:47:28 all binary versions i know use an installer 22:47:34 and i wouldn't like to install any ruby stuff here 22:47:51 why not? ruby is a great langauge? *g* 22:48:04 well, it would have no use here :) 22:48:20 why? 22:48:37 because nobody would program in it 22:48:51 yes but maybe someone wants to run ruby programs? 22:48:55 no 22:49:06 trust me 22:49:10 you want to run bf2a right? 22:49:23 well, yes, but without installing any new software 22:49:30 okokok... 22:49:37 you could always send me 22:49:41 the c code 22:49:47 that the compiler has generated 22:49:54 out of that fractal brainfuck program 22:49:56 for example 22:51:19 www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip 22:52:24 i'll try 22:52:38 i tried to compiler Lost Kingdom.. Out of stack space. 22:53:49 works great 22:54:14 (although 80x25 window probably isn't meant for that program) 22:54:32 80x25 is too small 22:54:50 yeah 22:54:54 good work jix 22:55:46 definitely beats the **** out of those compilers that don't optimize at all 22:57:19 btw, if i do an array in c like this way a[]={3,2,1} 22:57:30 is there a way to get the size of the array? 22:58:07 sizeof(a) 22:58:18 afaik 22:58:37 but i'm not sure 22:58:38 ok 23:03:23 jix: bfa2.rb mandelbrot.b mandelbrot.c ; gcc mandelbrot.c -o mandelbrot -O2 ; ./mandelbrot segfaults 23:03:43 aaargggh 23:04:05 but it works here 23:04:19 and keymaker was able to compiler and run mandelbrot.c too 23:04:23 hmm 23:04:24 lindi-: what's your gcc version? 23:04:39 this time i used gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3) 23:04:54 jix: can you put the C source file online? 23:04:55 try 4.1 23:05:05 www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip 23:05:48 segfaults with gcc cvs head too 23:06:12 and the C file is identical 23:06:22 jix: what version of gcc did you use? 23:07:01 works with gcc 2.95 23:07:30 jix: either you depend on undefined behavior or this is regression 23:10:27 Program received signal SIGSEGV, Segmentation fault. 23:10:27 main (argc=1, argv=) at mandelbrot.c:336 23:10:28 336 m[-7]+=m[29]; 23:12:03 jix: m = (unsigned char *) 0x9b6e006 "",m_srt = (unsigned char *) 0x9b6e008 "",m_min = (unsigned char *) 0x9b6e00f "",m_max = (unsigned char *) 0x9b6ea9b "",m_size = 3089,m_p = 134560282,v = 0 '\0',f = 239 'ï' 23:13:13 jix: hope that helps, please ask if you need more info 23:42:57 -!- Aardwolf has joined. 23:50:08 one word of warning against gcc-4.0.0: http://swox.com/list-archives/gmp-discuss/2005-July/001752.html (it applies to ia64 mostly, though) 23:50:52 -!- graue has joined. 23:52:12 jix: sorry to be late when you needed testing; your compiler is currently best: {^Raven^}'s: 4.564real/4.114user, yours: 3.738real/3.298user 23:55:53 lindi-: argh 23:56:04 aaarrgghhh! 23:56:11 lindi-: helps a lot 23:56:25 m segfault 23:57:07 but wait m and the brainfuck tape has one end 23:58:43 lindi-: i used gcc 4.0.0 23:58:55 me goes sleep-mode 23:58:59 good nite 23:59:10 -!- Keymaker has quit ("Funkadelic!"). 23:59:59 gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) works too 2005-07-26: 00:06:42 -!- BigZaphod has quit. 00:09:24 jix: valgrind reports a couple of errors (use of uninitialized values mostly, but also reads/writes which are out-of-bounds) 00:10:10 yes uninitialized values that is a bug 00:10:23 and that's why mandelbrot.b moves <0 00:10:27 argh 00:10:50 incidentally, that was the bug with bff too 00:11:20 graue: thanks for testing. Have you tried the patch which also replaces n with (n+1)? 00:17:15 no, I didn't know there was a new patch, where can I find it? 00:18:23 it's in the same place, http://www.formauri.es/personal/pgimeno/temp/bff.patch 00:18:37 the first version just added the memset's 00:19:31 then I realized there was a problem at end of program, thus the n+1 00:22:21 s/thus/hence/ 00:28:41 updated a new version 00:29:52 pgimeno: can you test it with valgrind? 00:31:07 sure 00:33:34 things have changed; now uninitialized memory access no longer occurs but the out-of-bounds access is still happening 00:33:52 grmpf 00:34:10 try hello-world 00:34:31 sec, I've just recompiled with -O0 -g 00:35:37 first line is mandelbrot.c:338 00:35:59 m[-7]+=m[29]; 00:36:55 narf 00:37:01 no errors on hello-world 00:37:28 hmm why does it work here and on keymakers computer but not on your 00:37:41 and not on lindi's (with gcc 4 with 2 it works) 00:37:42 it *does* work here, it's just valgrind complaining 00:37:57 pgimeno: mandelbrot does work? 00:38:01 yeah 00:38:20 but it writes in an OOB address, which is dangerous 00:38:30 OOB? 00:38:34 out of bounds 00:38:34 out-of-bounds 00:38:58 probably lindi's libc can make a difference, since the problem can be malloc-related 00:39:15 can you tell me the position of m and m_srt? 00:39:27 I was about to launch the debugger 00:39:40 but expect the same as what lindi reported 00:40:13 (gdb) print m 00:40:13 $1 = (unsigned char *) 0x1ba43026 "" 00:40:13 (gdb) print m_srt 00:40:13 $2 = (unsigned char *) 0x1ba43028 "" 00:40:40 nah 00:40:57 pgimeno, bff still doesn't work for me 00:41:16 but i adjust the m start value for m[-7] 00:41:24 graue: strange; now it works for jix 00:41:44 graue: what setup? 00:42:05 gcc 3.2.3, win32 00:42:08 and if it accesses -7 for m < m_min it's mandebrot.b's fault 00:42:29 if I run it on brquine.b it prints a - and then freezes 00:42:45 if I run it on rot13.b it works until I press Ctrl-Z and Enter (end of file on win32), then it freezes 00:42:53 run on random.b, it seems to work 00:43:05 numwarp.b seems to work, without issue 00:43:16 dquine.b seems to work 00:43:37 <{^Raven^}> pgimeno: i'll have to make mine better 00:43:46 graue: tried mandelbrot? 00:44:05 {^Raven^}: i too 00:44:06 mandelbrot is seemingly working okay 00:44:10 {^Raven^}: guess so, but don't blame me, I'm just doing some timings :) 00:44:23 mandelbrot works fine, and very fast 00:44:28 graue: oh! ok 00:44:48 I misunderstood you since I thought that it also failed 00:45:01 I hadn't tried mandelbrot with it 00:45:43 -!- Aardwolf has quit ("Leaving"). 00:45:55 are these from http://esoteric.sange.fi/brainfuck/bf-source/prog/ ? 00:46:11 -!- kipple__ has quit (Read error: 110 (Connection timed out)). 00:46:35 they're from www.esolangs.org/files/brainfuck/src 00:46:42 ok 00:50:21 yeah, brquine.b fails here too 00:50:36 <{^Raven^}> jix: very nice 00:51:50 jix: btw, valgrind reports an access to a position which is 9 bytes before the allocated block, just as expected 00:51:51 {^Raven^}: wait for stage 3 (not that the output is a lot faster with stage 3..but hey it's more code) 00:52:23 pgimeno: mandelbrot works with it. 00:52:37 so my compiler does only the things mandelbrot says. 00:52:53 and if m jix: if m_srt is the start of memory, then I assure you that mandelbrot.b does not do any OOB access 00:53:26 I've almost got my compile-to-memory interpreter working, loops are a bit screwy right now. 00:53:34 m_srt is start of memory 00:53:53 m_min is the min position of m (only for debug reasons) 00:54:18 my interpreter would report an attempt of <'ing at position 0 and it doesn't happen 00:54:20 and if m>=m_min it will never access OOB memory 00:54:43 yes i don't know what happens 00:55:04 is the output 100% correct? 00:55:19 let me check 00:56:51 i'm running collatz.rb in dbfi 00:57:14 collatz.b 00:58:12 the output is correct 00:59:00 pgimeno: can you check on what line m moves under m_min ? 00:59:08 dbfi in dbfi! 00:59:44 jix: that's harder to do, I don't know gdb that well 01:00:33 hmm 01:01:18 Hmm, my compile-to-memory compiler segfaults for all non-trivial programs. 01:01:21 That's good >_> 01:02:11 nice, now you can say you're not using the wrong algorithm 01:02:52 "If your program works at first attempt, you're probably using the wrong algorithm" 01:03:26 lol 01:04:20 but that doesn't logically imply "If your program fails at first attempt, you're probably not using the wrong algorithm" 01:04:58 is there a way to get the current line number in c? 01:05:03 __LINE__? 01:05:43 I think you can use __LINE__ and the preprocessor will put in the line number for you, but I'm not sure what header file that requires 01:06:06 seems to work without headers 01:06:40 line 50 moves m < m_min 01:07:26 #define REALLOC if(m thats line 49 for you 01:08:45 yeah but it's not troublesome 01:08:52 the loop that starts at 3:11 in mandelbrot.b 01:09:16 I'd say the trouble is caused by line 333 01:09:22 wait 01:09:45 no 01:10:13 line 49 moves m that's not a problem if no access to that address occurs 01:11:14 yes but it's illegal in brainfuck 01:11:24 and your interpreter sais it doesn't move over the end of the tape 01:11:33 but my compiler sais it does. 01:12:02 if your compiler keeps always m in range then yes, it's illegal, but I didn't know if that was the case 01:12:30 oh wait 01:12:33 your compiler might want to keep m temporarily out of range for optimization or something 01:12:36 i'm wrong your right 01:12:53 pgimeno: i only check for read's and write's 01:13:19 that's what valgrind does and it reports a problem on line 338 01:14:31 outch 01:14:33 i've an idea 01:14:35 if that helps, moving line 340 at the top of that while seemed to fix the problem 01:14:52 does it still work? 01:15:03 yes 01:15:18 I haven't checked if the output is exactly the same though 01:15:32 I mean moving line 30 to before line 337 01:15:37 s/30/340/ 01:16:17 ok 01:16:36 now the same problem happens in line 702 01:16:55 (and others) 01:17:01 i think i know how to fix it 01:17:27 i just noticed another bug that slows down(but isn't harmfull) 01:17:31 but i have to sleep now 01:17:46 me too 01:17:56 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:45:42 -!- heatsink has joined. 02:09:57 -!- BigZaphod has joined. 02:10:04 hi BigZaphod 02:10:22 hey 02:12:06 -!- BigZaphod has quit (Client Quit). 02:57:19 That was a thrilling conversation 8-D 03:17:00 AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!! 03:17:04 YES YES YES YES YES!!!!!!!!!!!!!!!!!!! 03:17:10 egobfc2m just ran mandelbrot!!!!!!!!!!1 03:17:35 Eat my DUST bff!!!! 03:17:36 compiles to machinecode? 03:17:39 Yup 03:18:01 congratulations 03:18:09 now you can make pa-risc and sparc64 versions :) 03:18:21 Actually, I set it up so that it would be relatively easy. 03:18:24 To port that is. 03:18:27 yes 03:18:58 However, my only access to PA-RISC and ULTRASPARC boxes are at work, and I don't think they'd like me comendeering them for Brainfuck :) 03:19:09 Damn, Lost Kingdom segfaults :( 03:20:50 Oh, hehe, I just didn't give it a big enough program buffer ... (/me remakes the resizing stuff) 03:23:08 what is PA-RISC used for? 03:23:51 People who are unwilling to give up their antiquated ways :) 03:24:02 They're on their way out for the most part. 03:24:13 oh, damn 03:24:26 what's a cool non-i386-like architecture that isn't on its way out? 03:24:52 cool implies non-i386-like :) 03:25:09 HPUX moved to IA64. 03:25:14 I disagree, AMD64 is non-i386-like, but somewhat cool 03:25:18 I mean 03:25:20 s/is/isn't/ 03:26:36 Does Lost Kingdom use more than 30000 memory tiles? 03:28:35 probably 03:28:36 who knows? 03:28:53 Unfortunately, setting it to 300000 didn't help, so it's clearly my buggy code. 03:29:07 can't you fathom the idea that it may use more than 300000? 03:29:11 give it 2 GB 03:29:13 just to be safe 03:29:17 lol 03:29:22 Lots o' swapping :) 03:29:31 don't you have 4 GB of RAM? 03:29:37 all the cool kids have at least 4 GB of RAM 03:31:08 XD 03:31:15 Awww, Gregor isn't a cool kid. 03:32:55 Hmm, is it worth it to make the memory expand if it halves the speed :( 03:34:00 will it become that much slower? 03:36:11 Only because I have to call an external function ... if I wrote the code into the machine code, it would be fasssssst. 03:36:14 But also death. 03:39:08 OK, making a release though it's still unstable ... 03:46:58 http://gregorr.homelinux.org/egobf-0.5.tar.bz2 03:48:06 -!- int-e has joined. 04:11:45 Sorry to spam, but: 04:11:45 time ./egobfi/egobfc2m tests/mandelbrot.b > /dev/null 04:11:45 4.81user 0.00system 0:04.82elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 04:11:45 time ./bfi/bff.bin tests/mandelbrot.b > /dev/null 04:11:45 16.72user 0.01system 0:16.78elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 04:13:22 hmm, is converting brainfuck to C and then using gcc considered fair? 04:13:44 egobfc2m doesn't do that. 04:13:54 It compiles directly into memory and runs it, like java. 04:14:20 And actually, many bf->C->bin alternatives are slower than interpreters when you consider compilation time. 04:15:19 (Thanks to other members of this channel for pointing that out to me btw :) ) 04:17:10 I know. But I get user 0m2.131s for (my) bf2c then gcc and user 0m19.108s for bff :) 04:17:46 (using mandelbrot.bf. and producing the same output.) 04:19:51 But how much time did it take to compile with gcc? 04:23:02 ok. 5.611s total using -O3. -O1 is fastest and uses 3.821s total (compilation + runtime) 04:23:58 Also, I'm still working on producing optimal machine code. 04:27:33 Yep I didn't want to do that so I decided to use C as my target when I wrote that converter. 04:28:20 Incidentally, BF2C is quite nice. 04:28:30 But not quite insane enough for my taste ;) 04:28:37 (awib is a bit too insane for my taste) 04:33:12 WOOOH! Got mandelbrot down to 3sec! 04:34:03 can you get it down to 0.0 sec? 04:34:28 I'm workin on it ;) 04:34:34 I have one more optimization in the works. 04:35:00 * int-e wonders why bf2c-1.2.3 crashes on mandelbrot.bf. (segfaults) 04:36:30 did you know "chino" was a word? I didn't! 04:36:55 it's a coarse, tough, twilled cotton fabric used for uniforms or sports clothes 04:38:18 That's quite an esoteric bit of knowledge, graue :) 04:39:29 I just learned it thanks to my wonderful word guessing game 04:39:35 which is written in an esoteric language, Perl 04:40:02 heh 04:40:06 perl, the original brainfuck 04:42:07 brb 04:42:15 wait, no I won't 04:42:16 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 04:42:21 Down to 2.86 ... 04:51:32 {^Raven^}: You've foiled EgoBFC2M!!!! I can't get it to run LostKingdomBF :( 05:05:27 OH WAIT!!!!!!!!!!! Does it need 16-bit words? 05:05:37 No, no it doesn't >_< 05:11:36 *sob* 05:14:29 OK, the fastest I can get it (still doesn't run Lost Kingdom) http://gregorr.homelinux.org/egobf-0.6.tar.bz2 05:17:48 jix: m (i know jix isn't here but i said that so that i don't forget) 05:25:52 * int-e wonders 05:27:41 Are jix's speed tests posted? 05:46:56 -!- heatsink has quit ("Leaving"). 06:08:00 hmm. gregor, maybe realloc()ing the program memory area moves it in memory, invalidating the offsets of the call functions. maybe you could just allocate a new chunk and generate a jump at the end of the previous one instead. 06:09:36 If I'm not mistaking, I used offset from the beginning of the array, not an exact pointer. 06:09:45 pptr is an inaccurate name, it's an index into an array. 06:09:59 *mistaken 06:11:01 the problem are the calls to the putchar and getchar wrappers together with the relative addressing of the call routines 06:11:02 OH, wait. 06:11:07 I'm sorry, I see what you're saying. 06:11:10 I was being dumb there. 06:11:13 Indeed you're right. 06:11:27 internal jumps or calls are not an issue. 06:11:43 You are 100% correct, that is broken. 06:11:55 That could very well be the problem with Lost Kingdom :P 06:13:53 well, my to-c-converter has a bug apparantly - if I answer 'y' to the question for long descriptions, the program gets stuck in an infinite loop (as far as I can tell) :/ and the converter is almost 3 years old, I don't think I can find that bug, it's probably easier to write a new one *g* 06:14:24 uhm - that's what happens when I convert the lostkingdomsbf game 06:14:30 Well, watch Lost Kingdom run perfectly! 06:14:41 * GregorR shoots himself in the foot. 06:15:28 (not to mention that the converter's runtime suffers from using O(n^2) algorithms) 06:16:26 Thank you for the suggestion of making them into multiple functions, that is exactly what I'll do. 06:16:31 Err, jumps rather. 06:44:15 YAY! 06:44:26 Thank you very much int-e! I don't know if I would have noticed that bug. 06:45:01 :) 06:57:43 http://gregorr.homelinux.org/egobf-0.7.tar.bz2 06:58:25 There's only one problem ... 06:58:35 Now I can't find a BF program significant enough to challenge it :) 06:58:48 GregorR: mandelbrot.b 06:58:54 Hardly a challenge. 06:59:05 Lemme get a time output, just a sec. 06:59:21 time ./egobfi/egobfc2m ./tests/mandelbrot.b > /dev/null 06:59:21 2.79user 0.00system 0:02.79elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 06:59:33 For comparison: 07:00:04 bff feels really slow now ... 07:00:15 yeah, but what about BF2C and gcc? 07:00:21 time ./bfi/bff.bin ./tests/mandelbrot.b > /dev/null 07:00:21 16.28user 0.00system 0:16.29elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 07:00:28 Just a tick. 07:00:38 Plus compilation time? -O1? 07:00:58 yep 07:01:37 One moment. 07:02:26 0.00user 0.00system + 1.59user 0.04system + 2.41user 0.00system 07:02:39 A bit slower than egobfc2m, but not by a lot. 07:02:54 hmm, which bf2c is that? 07:03:16 http://www.esolangs.org/files/brainfuck/impl/BF2C.c\ 07:03:23 Without the \... 07:03:37 oh, another one 07:03:43 http://bf2c.sourceforge.net/ 07:03:48 Aha 07:03:55 (crashes on mandelbrot.b) 07:04:14 http://www.inf.tu-dresden.de/~bf3/brainfxxx/bf2c.hs -- my own one 07:04:15 ;) 07:04:23 argh, somebody should make sure these interpreters are named uniquely 07:04:39 it's not my fault, I chose that name in 2002 ;) 07:04:49 Hmm, a bit difficult to convince it to use -O2 >_> 07:05:52 *whew* 07:05:53 jix: m That's mighty fast. 07:06:06 Oh wait, something borked >_> 07:06:30 ok, BF2C is boring :) 07:06:39 you could optimize mandelbrot.c to just printf("correct output here...."); 07:06:46 right 07:06:55 Hmm, it's segfaulting for me ... 07:08:10 ok, let's say BF2C.c is BF2C.c, the bf2c at sourceforge is bf2c.sf, and mine is bf2c.hs - now which one segfaults? 07:08:15 Yeah, I can't get it to not segfault 07:08:25 bf2c.sf 07:09:03 you can remove one pass from bf2c.cc - pt->convertAbsoluteHeader(); 07:09:08 that's the one that segfaults 07:09:14 And it'll still work? 07:09:16 * int-e couldn't figure out what it does 07:09:18 yes 07:09:24 it 07:09:29 it's an optimization 07:10:44 0.00user 0.00system + 1.01user 0.03system + 2.29user 0.00system 07:10:49 Still slower than egobfc2m :) 07:12:10 MUAHAHAHAHAHA 07:12:18 Oh, sorry, got a little bit zealous there. 07:12:22 http://www.inf.tu-dresden.de/~bf3/mandelbrot.c is what bf2c.hs produces (runtime 0.031s here) 07:12:38 that's the runtime for the conversion 07:12:39 Where's bf2c.hs ? 07:12:50 http://www.inf.tu-dresden.de/~bf3/brainfxxx/bf2c.hs 07:13:29 Not that it helps me without the appropriate compiler :P 07:13:30 OK, lesse. 07:13:31 it's written in haskell, I compiled it using ghc, usage is bf2c < brainfuck-source > c-source. no options. 07:14:17 0.92user 0.04system + 2.52user 0.00system 07:14:21 Still not quite :) 07:14:34 yep, but not too bad either :) 07:14:45 No, it's great. 07:14:54 And the time of the compiled program is better. 07:15:32 Incidentally, does anybody here have any non-i386 system that they can compile a simple file on and send back some results? 07:15:48 hmm 07:15:48 (That isn't incidental at all, is it?) 07:16:43 sun4u sparc SUNW,Ultra-250 07:16:47 could try *g* 07:17:13 In egobf-0.7 there's a PORTING file with instructions on how to make ASM-and-hex output I could perhaps use to port egobfc2m. 07:17:46 It's basically just gcc -O0 -g test.c and objdump -S -t a.out 07:21:46 hmm. now where did they hide objdump. grr. I hate SunOS. 07:21:55 gobjdump perhaps? 07:22:11 It's part of binutils, so it ought to be somewhere XD 07:22:17 (If you have gcc) 07:22:37 gobjdump it is, and it's in /opt/sfw/bin where I also found the gcc. 07:22:46 Makes sense. 07:22:54 (sfw is 'Sun Free Software', IIRC) 07:24:46 Hmm, sleepitime is soon. 07:24:53 http://www.inf.tu-dresden.de/~bf3/dumps.tgz 07:24:58 Wooh :) 07:25:04 -O0, -O1, -O2 07:25:20 --> test0.dump, test1.dump, test2.dump 07:25:41 good luck :) 07:25:50 Ahhhhhhhhh, RISC :) 07:26:07 Sparc is a Risc architecture, right. 07:27:01 and I believe it has delay slots, so beware. 07:27:23 Graa. 07:27:42 Like I said, sleepitime soon - I'll look at this port tomorrow. 07:27:44 Bye. 07:28:14 sleep well 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 11:15:38 -!- int-e has quit ("Bye!"). 11:17:58 -!- kipple__ has joined. 11:39:00 -!- jix has joined. 11:42:45 moin moin 11:43:16 -!- kipple__ has changed nick to kipple. 11:46:14 -!- puzzIet has joined. 11:46:28 -!- puzzIet has quit (Client Quit). 11:47:25 -!- Gs30ng has joined. 12:02:56 hi 12:04:10 i've been interested about Esolang and tried to make one recently 12:05:22 it's a lauguage with bit variables 12:05:57 every characters that you can input are all variables 12:06:09 even space, tab, or newline 12:12:01 so when you type a character, it'll be identified as a variable, which means we cannot assign any instruction to a specific character 12:13:02 and how is it possible to program in it? 12:13:17 in current specification, patterns of characters, especially repeatation of a specific character will be an instruction 12:14:55 all variables are called 'switch', which can be turned on or turned off. 12:15:16 to turn on switch 'A', the source code will be: A 12:16:56 so when you type A, it's like ~A in C/C++. if 'A' is turned off, typing 'A' will turn on it. if it is turned on, typing 'A' will turn off it. 12:18:09 and when you type 'AA', it is meaningless, which mean we don't have any chance to type like that when we are to turn on/off the switch. 12:18:30 so i thought i can assign an instruction to the repeatation of one character. 12:20:17 i'm not sure that people here can understand me, because of my humble English 12:20:49 so please feel free to ask or correct me when you can't get me 12:25:38 the instruction, started by repeatation of a character, will be bitwise NAND operation, i think. 12:26:18 so 'AABC' does NAND between B and C and put the result to A 12:27:01 ......could this be turing-complete? 12:28:58 no because memory is limited to 256bit 12:29:06 well 12:29:14 i think we can use UTF-8 in this language 12:29:57 ...still not infinite switches but i think it's enough 12:30:19 You probably need at least some conditional-control-flow thing (a conditional jump or something). But encoding instructions like that should work. 12:30:55 aha 12:30:59 i agree with you 12:31:35 hmm... OISC is turing complete, right? 12:32:36 how can it do that? i think this language can follow that way 12:33:24 The single instruction in OISC (at least one of them) is subtract-and-branch-if-negative, so you can use it for both arithmetics and control flow. 12:34:21 so that 'branch' does something related to control flow? 12:35:46 It's a jump, basically. 12:36:43 then how about assigning 'NAND-and-branch-if-negative' to 'AABC'? 12:37:12 Uh.. you need to be able to tell it where in code to branch to. 12:37:40 But you could devote some of the registers to serve as the "destination address" field for that instruction. 12:37:54 then i need at least 5 letters to do that 12:38:03 like, 'AABCD' 12:38:16 AA will be instruction, and BCD is operand... 12:40:11 You could have a fixed "memory location" (like registers '0'-'9') indicating where 'AABC' should jump. Then you'd just do 15789AABC to possibly-jump. 12:40:59 (With a single-bit register you can only specify two addresses. That might be a _bit_ too limited. (Gahh, the horrible pun.) 12:41:19 that sounds good too but i don't want to assign a letter to be something special. i want every characters to be impartial. 12:41:59 like, when you make a source code and replace every 'A' to '#' and '#' to 'A', it will still work 12:42:09 Hm. Then you just need to use enough bit-registers as operands for the jump command. 12:42:12 -!- grimace_ has joined. 12:42:44 jumps could be realtive 12:42:57 i like that 12:43:07 there must be some labels 12:43:30 which indicates the place to jump 12:44:09 A definitely sick syntax would be to use AABCD, AAABCDE, AAAABCDEF, ... (with 'D', 'DE', 'DEF' being the relative adddress to jump to) 12:44:27 That way for short jumps the instruction would be shorter. 12:44:36 you end the relative adress with two identical characters 12:44:44 Hm, that works too. 12:45:07 like AABCDEE would A=B nand C if true jump to DE 12:45:34 and why do i need 2 Es? 12:45:47 Gs30ng: because it says that the instruction ends 12:46:00 So you can use AABCDEFGG to jump to DEFG, then. 12:46:13 but i think we don't need that 12:46:24 like AABCD is enough 12:46:45 A=B nand C and if false jump to first D after this instruction 12:47:39 i don't want to assign a instruction-terminating instruction;;; there would be too much repeatation 12:47:42 whatif i want to jump backwards 12:48:20 idea: search the nearest D in both direction 12:48:48 maybe i can make a while() instruction 12:49:21 no if you search bidirectional there is no need for an extra instruction 12:49:52 * Gs30ng thinks 12:51:09 i can make 'if false jump backward and if true jump forward' with it, right? 12:51:18 although the source code will be complicated 12:51:18 Gs30ng: yes 12:51:34 that's true for many esolangs 12:52:02 still i'm considering whether to use AABCD or not 12:52:14 because i think it's too long for an esolang like this 12:52:31 i need more simple way to start an instruction... 12:54:48 hey, we have a space for one more instruction 12:55:22 yes? 12:55:30 when we 'AAAAD', A nand A = A is definitely same with just 'A' 12:55:47 so i think we can assign input/output to AAAA 12:56:39 AAAABCDEFGHI to output BCDEFGHI if A and intput to BCDEFGHI if not A? 12:56:39 at least 8 different switches should follow AAAA 12:56:59 jix, we should not do that 12:57:24 the condition of A is forbidden to affect the instruction 12:57:25 why not? 12:57:50 because it is, the programmer is to... 12:57:57 1. turn off A. 12:58:03 2. start the instruction 12:58:13 the source code will be like AAAAA 12:58:32 but first 4 A's will be identified 12:58:36 as an instruction 12:58:59 so the condition of A must not affect the instruction 12:59:21 Well, the programmed could always do AXAAAA...X, but perhaps it's not elegant. 12:59:36 yes 12:59:40 i don't like that X 12:59:50 it's not minimal 13:00:10 we need one more useless switch to do an operation 13:01:50 pgimeno: are you here? 13:02:42 whoa, anyway, i have a lot more progresses with this language. this is great. the freenode channel #esoteric helps. 13:04:08 thanks for all you guys helped me, and i'll make a prototype specification in english 13:04:12 jix: hey 13:04:24 pgimeno: was a valgrind question 13:04:32 pgimeno: was a file-permission solution 13:05:03 jix: the pointer one? I don't follow 13:05:16 no i had a question 13:05:33 where? 13:05:44 14:02:53pgimeno: are you here? 13:06:11 i didn't ask it because i noticed it was a wrong file permission setting 13:06:20 aah 13:06:58 next time you can note you're not going to ask by saying e.g. "never mind[...]" 13:07:21 k 13:08:13 i don't have much english irc experience;) 13:08:51 sorry if I sounded picky, it was the result of my confusion :) 13:09:29 no you didn't sound picky (whatever picky is) 13:10:44 jix, how can you tell that if you don't know what is picky? 13:11:06 ..or am i misunderstanding a practical joke? 13:11:16 * Gs30ng kills himself 13:11:19 Gs30ng: because in that context it has to be something negative 13:11:27 aha. 13:12:13 like, someone too worried about the details 13:13:00 like being fastidious? 13:13:31 nah i broke mandelbrot.b 13:13:44 then you totally didn't sound picky 13:14:01 ok sorry let's forget about this all picky stuffs 13:18:26 pgimeno: i reduced the REALLOC macro calls about 50% 13:18:37 if i decrement the pointer i don't have to check for overflows 13:20:06 jix: nice 13:20:46 hmm and valgrind doesn't complain anymore 13:20:53 (in the first 6 lines) 13:20:57 7 13:21:05 8.... 13:21:11 my linux box is slow 13:21:16 jix: 09:06:56 < lindi-> jix: m with valgrind really slow 13:21:29 maybe you already fixed this, i was away 13:21:47 i have to move m around 13:21:58 [<] does this 13:22:07 and mandelbrot uses [<<<<<<<<<<] or something like that 13:22:52 jix: I find it strange that now it doesn't complain... is the removal of REALLOC the only change? 13:23:13 pgimeno: no that's just a speedup because i had to work on that code anyway 13:23:50 i just added the maximum move-up+1 and maximum move-down+1 to the border space of the memory 13:24:42 is there a befunge mandelbrot? 13:25:47 I have the feeling that there's something wrong with address (bottom - 9) being accessed anyway... 13:25:50 jix: i have a question 13:26:18 what if 'AAB' is 'A nand B and put the result to A'? 13:26:21 pgimeno: but i just do what mandelbrot.b tells 13:26:31 Gs30ng: that's shorter 13:26:43 the code will be shorter, but i'm not sure that still can do every operation 13:26:53 jix: i used the befunge fibonacci program in my benchmarks 13:27:22 jix: google says there's a bef93 mandelbrot, yes 13:27:43 http://quadium.net/funge/downloads/bef93src/mandel.bf 13:27:56 :( 13:28:11 i want to write a mandelbrot for some esolang 13:28:58 "When Benoit is to iterate..." 13:29:06 lol 13:29:21 hey i have floats in ORK 13:30:02 well, that was an idea 13:30:52 btw, that bef93 mandelbrot uses g and p quite a lot 13:32:06 i can't decide the name of this esolang. 13:32:19 AAB 13:32:53 i'm looking up my hometown language dictionary, but there's no proper word refers to 'switch'.. 13:33:58 AAB programming language... that code does nothing 13:35:10 A and AAB does same thing 13:35:14 :( 13:37:28 jix and fizzie helped me a lot so i could put those names into the name 13:37:32 ...this is not a good idea 13:37:51 ...Fizjix programming language? 13:38:06 lol 13:38:14 /away 13:39:27 how about 'jiffy' ? 13:39:51 Jiffy programming language. 13:40:09 anyway, it sounds interesting, but I don't really understand it 13:40:47 your language I mean 13:40:57 kipple, i'll show you the prototype of specification in english ASAP. 13:41:38 i'm writing it now 14:31:58 Well 14:32:11 Gee, this is too difficult to read 14:32:19 I'm not a good english writer 14:32:38 writing specs is hard 14:32:38 somebody correct this article to be read easily 14:32:42 http://gs30ng.exca.net/usg/CodenameSwitch 14:36:00 feel free to create an account since it's really easy 14:36:36 how about using the Esolang wiki instead? 14:36:37 http://www.esolangs.org/wiki/Main_Page 14:37:19 i'm a little bit nervous to do that... 14:37:33 this langauge is, right now, like stub 14:37:53 that's not a problem 14:37:56 -!- int-e has joined. 14:39:25 anyway, I think I get the language now. looks nice 14:39:35 but storage is, of course, rather limited :) 14:41:35 thanks 14:41:50 of course we need UTF-8 charset to do something with this language 14:43:21 http://www.esolangs.org/wiki/Switch 14:45:11 -!- Aardwolf has joined. 14:47:16 ok. I can probably correct it a bit later. But now I have to eat... 14:48:28 -!- GregorR has quit (Read error: 110 (Connection timed out)). 14:50:31 -!- tokigun has joined. 14:51:35 hello 14:52:37 -!- int-e has quit ("Bye!"). 14:52:40 -!- int-e has joined. 14:54:11 tokigun here 14:54:22 Gs30ng: ... 15:02:56 i didn't expected anyone i know at here 15:03:18 lol 15:03:23 you are truly esoteric, tokigun. 15:03:35 Gs30ng: ... 15:05:02 my notebook computer didn't work 15:05:41 and you work instead? 15:06:00 ...whatever 15:06:20 ... 15:06:21 did you see the spec of my new language? 15:06:30 didn't. 15:06:51 i'm writing input/output operation part and it sucks 15:08:36 bf2a version 0.2 is online at www.harderweb.de/jix/langs/brainfuck/bf2a.rb 15:13:47 i completed it 15:13:50 http://www.esolangs.org/wiki/Switch 15:15:18 good 15:16:00 now i'm gonna cook a ramen 15:17:29 after eating that, i'll try to make a Switch code which prints "Hello Wolrd!" 15:18:03 ...i think it'll be easier, compared to Aheui 15:18:24 Gs30ng: is there Switch interpreter? 15:20:23 tokigun: ...do we need it? 15:21:16 there's no Switch interpreter yet 15:21:42 hmm 15:53:34 -!- Keymaker has joined. 15:53:37 i love it! 15:53:41 i love it! 15:53:45 SWITCH!!!!!!!!!!! 15:54:08 please, someone make interpreter, quick! 15:54:54 ...excuse me but would you tell me who you are? where did you got info about Switch? 15:55:32 well, my name is keymaker 15:55:39 and i read #esoteric logs sometimes ;) 15:56:01 i feel pretty good that someone is interested of a langauge i suggested 15:56:02 and check 'recent changes' in esolangs.org wiki daily 15:56:07 :) 15:56:11 yeah, it's really cool language 15:56:19 i liked it immediately 15:56:25 but i didn't expected thing like this;; 15:56:45 like, fanatical response 15:56:54 heh 15:57:12 tokigun, would you make an interpreter for him? 15:57:39 hmm 15:58:07 the spec is not settled so i think it's too fast to make an interpreter 15:58:16 but there's demand about it 15:58:25 ok 15:58:34 good -- i was just going to ask 15:58:39 why UTF-8? 15:58:49 is there any mention about UTF-8? 15:58:53 yes 15:58:58 well, if ASCII 15:59:03 "Input/output operation takes 16 characters after it. If all 16 characters are turned off, then input operation will be performed. If not, it will print the UTF-8 character by that 16bit number." 15:59:03 we have 256bit of memory 15:59:23 hmm 15:59:45 so i think we must use UTF-8 system to guarantee enough memory space 15:59:55 hmm 16:00:09 it uses unicode... but it doesn't need to use utf-8 encoding 16:00:32 then i'll edit it to unicode 16:00:37 i always confuse 16:00:40 unicode and UTF-8. 16:00:41 yeah 16:01:50 hm. limited 256bit lang would be better. but that's just me.. 16:02:39 i agree with you but i also want it to be turing tarpit 16:02:52 would unicode make it turing tarpit? 16:02:57 not yet 16:03:33 but there will be a system that enables to store infinite characters 16:03:45 hmm, has a certain feeling of SMETANA to it, in that every used variable has to be explicitely mentioned in the code. 16:03:47 then Switch will be turing complete. :( 16:03:53 Aardwolf: ah, hello! :) 16:03:57 hmm 16:04:09 Gs30ng: hmm... 16:04:11 hi there 16:04:13 sup? :) 16:04:16 in the current state, without infinite storage devices. 16:04:17 hello 16:04:28 Aardwolf: are you an inventor of Gammaplex? :) 16:04:41 yes I am :) 16:04:59 i'm interested in it but its spec is somewhat... eh... anyway. 16:05:09 Gs30ng:no even with unlimited amount of switches switch is still not turing complete 16:05:33 then what more we need? 16:05:33 i couldn't understand some instructions. 16:05:44 a way to address switches or a way to extend the program 16:05:51 Which one don't you understand? 16:05:57 then I can try to improve it 16:05:59 Aardwolf: hmm... eh... 16:06:03 because in a progrm of size n you can only use n switches 16:06:19 i got it 16:06:59 ...but is that a problem? 16:07:16 Gs30ng: if you wanna make turing tarpit. 16:07:28 Aardwolf: sorry, please wait a moment :) 16:07:31 tokigun: um... heh... :) 16:07:47 well, since OISC is turing complete, i thought i can mimic it... 16:07:58 tokigun: i think i'll try to write mandelbrot for versert 16:08:41 Aardwolf: i couldn't understand stack program. 16:08:57 surprised. there's people tries to make something in Versert. 16:09:12 Gs30ng: ... 16:09:16 good job, tokigun 16:09:34 tokigun: oh yes, stack programs aren't that important actually, I wonder why I included it 16:10:29 Aardwolf: if source code of interpreter were in public, i could make some code in Gammaplex and so on... :( 16:10:45 jix: do you have any idea to fix that problem? 16:11:19 and how does OISC overcome that kind of problem? 16:11:19 Gs30ng: another instruction 16:11:36 Gs30ng: oisc has adresses for memory access 16:11:46 tokigun: the source code is public, and someone managed to compile it for macintosh 16:11:58 eh? 16:12:04 -!- cmeme has joined. 16:12:14 where is the source code? :S 16:12:15 it's in the zip file in the folder "src" 16:12:23 -!- cmeme has quit (Remote closed the connection). 16:12:39 in this file: http://www.student.kuleuven.ac.be/~m0216922/gammaplex/gammaplex.zip 16:12:48 nearest C - what happens if there is no nearest C? 16:12:57 Aardwolf: /me managed it 16:12:58 terminates 16:13:09 that's the way to terminate the program 16:13:13 oops i missed it 16:13:15 -!- cmeme has joined. 16:13:21 Aardwolf: oops... why i couldn't see it? 16:13:21 i'll add that on wiki 16:13:24 i see. 16:13:26 jix: yes indeed 16:13:48 tokigun: it's only in there for a few weeks, maybe you had an older version? 16:14:06 tokigun: I also updated the spec when I added the src, maybe the new one is a bit clearer? :) 16:14:16 ah... 16:14:29 i downloaded it months ago. 16:14:41 all the colors and stuff are now gone from the page :) 16:14:47 ;) 16:15:48 I don't know why, but I feel like writing a mandelbrot program in gammaplex :) 16:15:51 me gonna try it :) 16:16:19 in Switch we have addresses of each switch... isn't that enough? this obfuscates me... 16:18:34 and I/O needs to specify which bit is the LSB 16:19:03 Gs30ng: yes but in oisc you can always adress another switch by incrementing the adress of an instrucion 16:19:33 int-e: i'm sorry but what is LSB? 16:19:46 least significant bit 16:20:31 ...i should look up wikipedia 16:20:35 I suppose your Q has value 1 and the A has value 32768 16:21:02 but it's not really clear from your specification 16:22:25 well you mean the order of bits? 16:22:28 yes 16:22:32 which one do you prefer to be LSB? 16:22:39 first one? last one? 16:22:50 I'd take the last one. 16:23:17 Gs30ng: would you mind if I make an esolang based on the idea of switch? i'll naturally credit you 16:23:34 Aardwolf: i'm looking your interpreter. maybe i can make obfuscated Gammaplex interpreter now :) 16:24:24 hehe, and it's not specified what the input operation does (although it's easy to guess the intention) 16:24:43 Keymaker: why don't you just do it in Switch? the language is opened for every opinion 16:25:06 well, i'll write down the ideas/plan i have 16:25:14 i'll let you see it when it's done 16:25:37 int-e: actually a GUI window will appear and force user to turn on or off 16 switches manually 16:25:43 :( 16:26:26 Keymaker: i really appreciate it 16:27:20 tokigun: hehe make one in bf :) 16:27:26 Aardwolf: ;) 16:27:30 int-e: i'm gonna make an example code that prints 'A'. then things will be clear, i think 16:28:18 i've make several obfuscated interpreter of whitespace and whirl in c... i like esoteric programming, but also obfuscated programming. 16:28:38 I find there are a lot of weird things about gammaplex because when I started on it I didn't yet know all the features I wanted to add, maybe I should make a successor that's more logical, or do you think it's fine the way it is? :) 16:28:47 http://www.inf.tu-dresden.de/~bf3/switch.c ... quick and very dirty hack for posix systems, and it does not do unicode, just ascii, so it's very limited. but it should be good enough for some experiments. 16:29:06 I hope there are no bugs (untested code, yay!) 16:29:53 Aardwolf: that's Gammaplex2? or... why not Deltaplex? :) 16:30:00 Deltaplex indeed :) 16:30:00 i have nothing to do but make specification... Jesus, how is it possible that interpreter is already made? 16:30:51 is there anyone make a Switch interpreter in python? i have no C interpreter 16:31:05 hmm. funny 16:31:34 Gs30ng: how about using Dev-C++? 16:32:23 tokigun: give me that 16:32:26 BAAAAAAAAAAABAAAAAB prints a single A :) 16:32:41 Gs30ng: http://www.bloodshed.net/devcpp.html 16:34:07 int-e: it is forbidden to use same characters in one i/o operation 16:34:22 think about input operation and all characters are A 16:34:44 so? undefined result, what's the problem? 16:34:49 * int-e shrugs 16:35:05 well... 16:35:13 even 'serious' languages like C++ have no problem with undefined results :P 16:35:28 Aardwolf: how about many surfaces? 16:36:07 do you mean SDL surfaces? 16:36:10 yes 16:36:17 why? 16:36:28 hmm 16:36:46 i don't like 8 by 8 font :) 16:37:04 it's better than dull console output :) 16:37:08 int-e: would there be no problem? are you sure? ok then i'll allow it 16:38:14 i thought how not to use font... and i thought bliting surface. 16:38:18 well, the problem is maybe that you'll get programs that work on one implementation and not on another because they exploit that fact, but from the point of view of a specification I see no problem with simply stating that the result is undefined. 16:38:32 s/thought/found/ 16:39:25 ? 16:39:34 eh... 16:40:15 i want it to be turing complete! is there no way to do that without adding an instruction? 16:40:38 i mean if we didn't use internal font, we have to blit in order to print some string. 16:40:41 allow infinte programs and use an infinite character set. 16:40:53 then it is turing complete? 16:41:11 I'd expect it would be, but it wouldn't be practical. 16:41:17 in my recent projects I use opengl to draw bitmap fonts :) 16:41:29 int-e: btw, nice to see another fellow brainfuck fan here. ;) 16:41:34 Aardwolf: hmm... 16:42:06 imagine, Deltaplex, allowing you to draw 3D opengl shapes... 16:42:14 woah 16:42:22 sounds good... :) 16:42:40 maybe I should give it a go :) 16:42:44 i can see shapes.. 16:42:49 yes 16:42:53 you must go!!!! 16:43:02 i mean 16:43:05 give it a go 16:43:08 ok *leaves* 16:43:12 :) 16:43:12 :) 16:43:16 :) 16:43:45 that'd be something never seen before.. 16:43:48 -!- GregorR-W has joined. 16:43:53 My home network is down >_< 16:43:56 like esolang that uses 3d shapes as "output" 16:44:01 :( 16:44:06 then where are you? 16:44:09 "work"? 16:44:10 At work. 16:44:11 Yeah 16:44:17 :) 16:44:29 piet 3D? 16:44:31 And unfortunately, since my home network is down, I can't send you egobf-0.7 :( 16:44:35 Keymaker: still writin' things down? i'm really interested 16:44:40 yeah 16:44:43 wait a bit 16:44:45 piet is the best :D 16:44:50 :p 16:45:04 Umm, wouldn't Piet 3D take 3D /input/? 16:45:05 hmm, it suffers from underspecification at one point. 16:45:14 so there are incompatible interpreters :( 16:45:24 what's that 16:46:12 what's what? 16:46:40 tell me more about it 16:46:47 that underspecification thing 16:47:23 Aardwolf: is there an instruction for accessing the nth stack item? 16:47:31 well, it means that some behaviour is not well-defined (but in that case it's not obvious that this is indeed the case) 16:48:18 i'm aware of only one problem 16:48:26 about nearest C 16:48:36 there are basically three ways to deal with that: a) forbid the situation b) allow the situation but say its behaviour is undefined c) refine the specification so it fixes the behaviour. 16:48:49 you said the next nearest C takes precedence 16:48:52 or wrote 16:49:06 no i mean 16:49:16 when a control is transfered to C 16:49:17 int-e: that's why is there no division instruction in Versert. 16:49:31 should we 'switch' C? 16:50:02 or not, considering it as a label? 16:50:38 Gs30ng: takes a bit more time, i'll thing some stuff again. 16:50:44 *think 16:50:52 Keymaker: take your time 16:51:07 ok.. see you in 30 years :) 16:51:41 * Gs30ng walks into the refridgerator 16:51:42 right now my implementation would toggle C (assuming it's not actually part of a NAND or I/O instruction) 16:51:49 does anyone here now how to do an intersection test on a 4 dimensional fractal ? 16:51:59 but yes, that's not really clear either and should be specified. 16:52:53 grhh. i can't concentrate when listening trance. better listen some schranz. 16:53:07 i think we should not switch it... it's a label. 16:53:17 jix: BTW, are your benchmarking results posted somewhere? 16:54:10 but the backward C must be toggle at least once... 16:54:14 s/toggle/toggled 16:54:29 it really obfuscates me 16:56:26 it's your language. try '[...] will jump to the operation immediately following the nearest C' 16:57:47 it collides with my design goal of Switch 16:58:07 i want all switches be impartial 16:58:20 like, you write a code 16:58:31 and replace all A to B and B to A 16:58:35 it'll still work 16:59:03 * int-e does not see why that's a problem here. 16:59:26 sorry i think i misread you 17:00:08 i thought [...] is a specific character 17:00:28 * Gs30ng bumps his head against the wall 17:01:30 * int-e sees the wall crumble to dust. 17:02:06 :( 17:03:09 I clearly joined this conversation too late, the logs are completely not helping me understand this language. 17:03:35 and wiki isn't, either? 17:03:55 Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. 17:03:56 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 17:04:03 oh i see that too 17:04:13 So no, it isn't helping much ;) 17:04:46 Hmm ... chatzilla has a really strange ;) icon .... is that his eyebrow or a tiny beret? 17:05:56 well... can you point the thing that you can't understand or you don't get the language wholly? 17:06:22 I just wholly don't understand the language, but then again I'm not devoting my attention to it, what with the being at work :P 17:07:05 then you can re-check the wiki later 17:07:10 GregorR-W: yes on http://www.harderweb.de/jix/langs/brainfuck/result2.txt but they are 2 days old 17:07:49 Heheh, need to add egobfc2m, it will rox0r their s0x0rzzzz. 17:08:14 hehe but i have bf2a 17:08:26 actually i'm too tired to explain the spec 17:08:37 However, I find it a bit strange that my times for egobfi-vs-everybody-else are significantly different ... 17:08:46 you gotta chill out gregor! "all work and no play makes Gregor a dull boy" 17:08:54 lol 17:09:01 * GregorR-W drinks more coffee. 17:09:04 -!- graue has joined. 17:09:06 :) 17:09:06 NO CHILL FOR GREGOR!!!! 17:09:56 GregorR-W: its 0.2 not 0.3 in the test 17:10:05 Ohhhhhhhhhhhhhhhhhh 17:10:09 jix: appearantly not, there's one to roll down the nth value, but then it's removed form it's position 17:10:28 ok 17:10:47 I will think about this if I ever make deltaplex :) 17:12:05 ok here's the problem 17:12:11 a program like this 17:12:20 user inputs values 17:12:29 computer records it 17:12:31 user inputs values again 17:12:34 computer records it again 17:12:42 repeat until user inputs 0 17:13:40 ...this is impossible in Switch, unless infinite switches are wrote in the code 17:13:57 Switch? 17:13:59 right. 17:14:08 and maybe this is related to the problem that jix told me 17:14:48 having unlimited storage is a weaker requirement than turing completeness. 17:15:11 well... 17:15:38 you're right 17:15:42 and necessary to achieve turing completeness, so that's part of the problem. 17:16:18 i thought some solutions but no good and minmal one is among them 17:18:00 graue, it's an esolang being developed my me and people here 17:18:17 s/my/by 17:19:54 cool 17:20:05 hmm. associate a stack (initially filled with infinitely many zeroes) with each switch and add an ABAB operator which pops one item off A and pushes it on B 17:20:07 like, just today? 17:20:59 well i thought about it alone for about 2 weeks 17:21:17 and told people here about it today 17:21:28 that's an idea but I admit that it changes the language in a fundamental way. 17:21:39 so I'm not sure if I like it. 17:22:21 you're right 17:22:29 and i don't want any stack or something 17:22:38 the infinite stack idea isn't new either, it was used in ... hmm ... what's that reversible calculation language again, kayak? 17:22:57 i want only switches to be the storage 17:23:25 but you need a way to access arbitrarily many switches. :( 17:23:29 Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. 17:23:48 if it's not, it's not the Switch programming language that i invented. it'll be like... Switchoid or something 17:24:45 what about this 17:24:46 well, you need that way to allow one to write interesting programs without limitations - a finite program that reverses its input, say. 17:25:03 * int-e wonders how that 'way' got there. 17:25:30 * GregorR-W sneaks off with his bag full of misplaced words snickering. 17:25:44 each character has a numeric value in unicode, right? 17:26:04 yes 17:26:09 and we can make that value by toggling or NANDing the switches 17:26:17 * int-e glares at GregorR-W 17:26:34 * GregorR-W laughs maniacally the at int-e :) 17:27:05 I'll remember that, GregorR-W. 17:27:12 Gs30ng: yes 17:27:26 so adding instruction that takes several letters(probably 8 or 16 letters) and toggling the switch that 16 letters point 17:27:35 will solve this problem... 17:27:37 ...right? 17:29:11 s/toggling/toggles 17:29:35 hmm, just toggling it won't be enough, you need a way to test it, too. and 16 letters give you 2^16 addresses, you'll probably want more (32 should be enough for most 'practical' purposes. for theoretical purposes, this still isn't enough - it's still a (big!) finite state machine) 17:30:19 (keep in mind that from a theoretical point of view, every existing computer is basically a very big finite state machine) 17:31:05 unless you're a theoretical physicist. hehe ... 17:33:04 i remember that to be turing complete FSM needs 2 stacks 17:33:31 yes 17:33:33 or one queue, if it has the proper facilities to handle it 17:33:42 or that 17:33:47 and there's one more way.... 2 something enables FSM to be turing complete... 17:33:59 unlimited integers 17:34:03 two memory cells with bignums 17:34:14 although that construction is quite evil 17:34:36 It would be mind-bogglingly difficult to actually DO anything, but yeah, that's turing complete XD 17:34:55 you can have a Turing-complete machine with one register of unlimited integers 17:34:56 use a bignum to represent 3 bignums in the form 2^a*3^b*5^c ... 17:35:02 graue: one memory cell with bugnum und mul + div + divtest 17:35:06 yes 17:35:31 well, the usual computational basis is inc and dec+test 17:35:45 wiki works now 17:35:52 then you need 2 bignums to implement div+divtest+mul on top of that 17:35:55 graue, http://www.esolangs.org/wiki/Switch 17:36:46 oh 17:37:01 you're already participating 17:37:02 thx 17:41:27 with maintaining the concept that 'no specific character' thing, it's too hard to accomplish the turing completeness with minimal spec/instructions/operations. 17:42:26 * tokigun go to sleep 17:42:36 -!- tokigun has quit ("zzz"). 17:55:16 int-e, your interpreter in C takes 8 letters when I/O? 17:55:29 no, 16 17:55:39 I was faithful to the specification in that respect 17:55:57 but it just truncates the characters to 8 bit for output 17:56:23 and LSB is still last one of 16 letters? 17:56:26 or 8th letter? 17:56:27 yes 17:56:29 16 17:56:32 ok 17:56:48 then first 8 letters are ignored? 17:56:53 indeed 17:56:57 i got it 17:57:15 well, almost 17:57:44 I test the whole 16 bits for 0 to check for the input operation 17:58:03 and the input operation sets the corresponding switches to 0 (well, ok, that's a no-op) 17:59:46 i don't understand it 18:00:21 Gee, my humble english... :( 18:01:22 My code converts the whole 16 bits to a number 18:01:40 decimal? 18:01:46 checks this number for zero. if it's not equal to zero, it truncates the top 8 bits and outputs that character 18:02:00 and if zero? 18:02:18 if it is zero, it inputs a (8 bit) character and converts its value back to 16 bits 18:02:58 still we don't have unicode here but useful enough to test 18:03:08 yes, that was the idea 18:03:29 shoot me that A-priting-switch-code again 18:03:34 it wasn't meant to be a full-fledged implementation 18:03:56 s/priting/printing 18:04:14 BAAAAAAAAAAABAAAAAB 18:06:09 well 18:06:21 that code receives only 15 characters 18:06:33 16 characters after AAA is needed 18:10:39 oh, didn't count correctly. my thought was that A could as well serve as the first of those 16 bits 18:12:06 so AAABCDEFGHIJKLMNOP would print character ABCDEFGHIJKLMNOP (read as a binary number) ... anyway I can change my program easily 18:12:22 yeah, but that kind of operation is something forbidden in Switch. suppose this: 18:12:51 1. A affects the result of operation, so the programmer want to do this before starting operation: turing on A. 18:13:12 2. Now the programmer tries to start input operation: AAA and something 18:13:22 the code will be like AAAA and something 18:13:31 well, insert a dummy character 18:13:33 A AAA 18:13:49 that's an idea but i don't want there a trash characters in source code 18:14:28 anyway I really counted the letters on that line wrong, I'll change my program 18:14:38 i appreciate that 18:15:04 i haven't followed your discussions, but the version i'm thinking will be probably a lot different 18:15:06 done :) 18:16:29 I 18:16:31 and you know what i'm saying, when the operation is started with AAA or something, the value of A should not affect the operation, because then programmer will try to write A before AAA and it collides and we need some trash characters 18:16:51 I'll be idle for a bit, I'll read and answer that in a few minutes 18:17:23 ...OMG 18:17:45 in AA(nandnp) the value of A affects the operation! 18:17:50 i should change it 18:17:55 AABC -> AABCD 18:18:01 A=B nand C 18:18:17 and D is the target place to jump when 0 18:22:25 ...or like this 18:22:28 AABCD 18:22:36 AA -> just starts nandnp 18:22:44 BC -> B=B nand C. 18:22:54 D -> if B nand C is 0 then jump to D. 18:27:10 ...this is too major change 18:29:47 -!- grimace_ has left (?). 18:30:54 int-e, i'm sorry to bother you but you should change your code 18:31:06 there's a major change in spec 18:33:32 -!- kipple_ has joined. 18:33:35 hey kipple_ 18:33:57 'ello 18:34:30 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 18:44:31 and i still cannot decide the name of this language 18:44:43 i don't like the name Switch 18:49:30 toggle :P 18:50:31 yeag 18:50:35 *yeah 18:50:38 toggle is a lot better 18:50:44 i don't like 'switch' either 18:51:08 i selected 'trigger' for my language 18:51:08 i like switch more than toggle. :( 18:51:14 :\ 18:51:40 Gs30ng: i'll make it a new language.. 18:51:42 flip 18:52:21 Keymaker: Sure you can, but can't you still show me about it? 18:52:28 yeah 18:52:34 flip is an idea 18:52:41 i'll naturally make it public when it's ready :) 18:52:46 yeah, flip's fine 18:52:57 but i'd rather use my hometown language 18:56:34 there is a flip lang afaik 18:56:53 http://esolangs.org/wiki/Flip 18:57:29 ah, didn't know that 18:59:04 Call it BreinFuck 18:59:08 That won't confuse anybody. 19:02:28 it doesn't f*ck brein. :( 19:04:15 Sure it does, Brein isn't a real word, so it can mean whatever you want it to. 19:04:22 ok i decided it 19:06:30 any changes besides the NAND one? 19:07:00 input 19:07:07 i mean, I/O 19:07:12 starts with AAAA 19:07:15 not AAA 19:07:40 oh 19:08:11 One thing I'm confused about, by "AAAA" do you mean "any four of the same letter", or does it actually have to be "AAAA"? 19:08:24 former 19:08:37 Same with nearest-C? 19:08:56 any four of the same letter 19:08:57 if a letter repeated for 4 times 19:09:13 I/O operation will be started 19:09:53 I updated my switch interpreter and fixed a bug as well. 19:11:16 thx 19:11:28 the name of this language is now Udage. 19:11:53 i think you'll wonder what's that 19:11:56 see http://esoteric.voxelperfect.net/wiki/Udage#Udage 19:17:05 new code that prints single A is like BAAAAAAAAAAAAABAAAAAB 19:17:29 add commas to read easy: B,AAAA,AAAA,AAAA,ABAA,AAAB 19:17:38 B turns on the switch 19:17:45 AAAA starts the I/O operation 19:17:49 and... so on 19:17:53 right? 19:17:59 yes 19:18:34 XYYYYYYYYYYYYYXYYYYYX works too :) 19:21:46 before trying to make a code prints "Hello, World!", we need an interpreter with unicode 19:22:01 why? 19:22:31 ...unicode "Hello, World!" and ascii "Hello, World!" have same numeric value? 19:22:48 these are all ascii characters 19:23:16 and the first 128 Unicode values are mapped to ASCII 19:23:46 really? 19:23:59 Yes, Unicode is 100% backwards-compatible to ASCII 19:24:14 really. that's no accident, it's designed that way 19:24:22 ...why have i been thought they aren't? :( 19:24:32 and UTF8 was designed in a way that allows to use ASCII without modifications. 19:24:51 then i'll try hello world 19:25:26 ...or there one among you guys is already trying? 19:25:53 no. I'm not sure how to feed perl's unpack() to generate that code. 19:25:55 ;) 19:26:09 Pff, just write a quick C hack to do it. 19:26:16 no way 19:26:55 for (i = 7; i >= 0; i--) if (inp & (1 << i)) putchar("A") else putchar("B"); 19:27:15 no, you need to start at 15 19:27:19 Whoops, putchar('A') and putchar('B') 19:27:25 This is assuming you just outputted "BBBBBBBB" 19:27:29 What with the ASCII :P 19:27:36 AKA I'm cheating. 19:27:51 actually putchar("A") and putchar("B") are very likely to produce a program that does what you want ;) 19:31:38 BAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAABBAABABAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABABABBBAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAABBBAABAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBAABAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAABABA 19:31:45 May or may not be correct *shrugs* 19:32:13 works 19:32:48 it just seems like a whirl code 19:32:55 well it's missing a comma ;) 19:33:21 here's hello world in Trigger: 19:33:22 HHHeeellllllooo wwwooorrrlllddd!!! 19:33:31 oops 19:33:37 HHHeeelll lllooo wwwooorrrlllddd!!! 19:33:55 Three flips = putchar? 19:33:59 yes 19:34:26 `r`.!`.d`.l`.r`.o`.w`. `.,`.o`.l`.l`.e`.Hi 19:34:27 if there's three same character in row, then putchar(that character) 19:35:10 what do you say: 19:35:29 should the instruction pointer be able to go left and right 19:35:33 or only right 19:36:03 it must be possible to make a loop 19:36:08 it is 19:36:20 this uses the way original switch used (iirc) 19:36:22 aab 19:36:26 -!- BigZaphod has joined. 19:36:56 if there's two same characters in a row (aa) then search the nearest character that is the same than the one after aa (b) 19:36:58 if you have a while() thing, it's ok for instruction poiter to go just right 19:37:19 no, not while() 19:37:27 jumps 19:38:14 if you don't have anything like while(), you need the pointer to jump backward 19:38:15 While = if-jump-back, so if that jump is conditional, then it is while() ;) 19:38:58 doh 19:39:03 well, then there's while :) 19:39:18 Keymaker, i don't get your lang :( 19:39:32 well, i'll tell it shortly: 19:39:50 A = NOT(A) the 'A' trigger 19:40:11 AAB = if A is 1 then search for nearest B left or right 19:40:22 if A is 0 then just go on and do nothing 19:40:45 So how do you do binary (that is, two operands) logical operations? 19:40:48 after jumping from some place to another, the trigger isn't flipped 19:41:02 wait 19:41:05 -!- fungebob has quit ("Today is a good day to chat."). 19:41:16 and when there's three same, like EEE, then print 'E' 19:41:25 If today is such a good day to chat, why are you leaving? 19:41:32 GregorR-W, late 19:41:32 and if there's four same, like BBBB then make it remove BBBB from code when executed 19:41:35 AACBC <- toggle B if not A 19:41:48 yeah 19:41:59 i was just going to say something like that 19:42:10 Hmmmmmm ......... 19:42:17 i don't get your language 19:42:19 and there is it 19:42:19 I don't think toggle-b-if-not-a is powerful enough ... 19:42:20 :) 19:42:27 well, who cares 19:42:32 this isn't a tar-pit 19:42:34 Turing, that's who! 19:42:35 :P 19:42:38 when AAB 19:42:42 hmm. it 19:42:47 the value of A affects the operation 19:42:48 :) 19:42:49 it's basically an xor, right 19:42:52 cheers int-e 19:43:12 the value of A affects to AAB operation 19:43:21 if A is 0 that thing will be skipped 19:43:33 spaces are ignored? 19:43:37 no 19:43:41 or identified? 19:43:45 then... 19:43:46 yes 19:43:47 but AAXBBYCXY basically toggles C if not A and not B ... we need a way to set some value to 0 19:43:53 space is just another trigger 19:43:57 AAXAXA ... like this 19:44:36 the programmer will try to set A before trying AAB, because it affects the operation 19:44:43 then the code will be like AAAB 19:44:52 that would print 'A' 19:44:58 that's the problem 19:44:59 you need to do A.AAB 19:45:01 for example 19:45:06 that dot is trash 19:45:08 add some other character between 19:45:09 yes 19:45:17 we need a lot of trash in this language 19:45:20 it's just another trigger that isn't used in the code 19:45:21 yes 19:45:34 no, one trash character is enough, and a few for labels 19:45:45 ah 19:45:49 labels are the real issue actually 19:45:50 int-e, that one trash character will appear a lot 19:46:01 who cares? 19:46:05 i like this :) 19:46:19 and besides, you can use new-line as a trash character 19:46:25 it doesn't make the code look too bad 19:46:37 A 19:46:38 AAC 19:46:41 etc.. 19:46:42 i don't thinks so 19:47:16 s/thinks/think 19:47:17 you can just comment your code, I like that 19:47:30 > ./a.out hello.sw 19:47:31 Hello World! 19:47:31 > cat hello.sw 19:47:31 Hello, world! 19:47:31 BAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAABBAABABAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABABABBBAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAABBBAABAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBAABAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAABABA 19:47:38 some operations that deeply related to each other will be divided in 2 line 19:47:45 (ignore the missing ,) 19:47:49 hmm. 19:47:58 didn't get your commenting stuff int-e 19:48:06 and another operations that has no relation will be stuck 19:48:12 just add some comment in the middle of your code 19:48:21 like the Hello, world! line at the start of hello.sw 19:48:22 ;) 19:48:24 you mean like a.aa# This code is written by me. # 19:48:46 That's something same with Udage 19:49:18 int-e: do you think self-removing sequence FFFF is necessary? 19:49:26 should i keep it there? 19:49:32 what's that 19:49:42 it's like... 19:49:46 AAB operation? 19:49:49 here's example: 19:50:10 (wait, takes a bit time to make it up) 19:50:16 FFFF, then do an operation between F and F, then the result is always 0 19:50:27 then it goes to F 19:50:29 no 19:50:34 this language doesn't work that way 19:50:52 if there is only one character F, it does the flip 19:51:01 then why do we need self-removing FFFF 19:51:05 before that the interpreter checks if there's two F's in a row 19:51:10 or perhaps three or fours 19:51:25 i think it's handy 19:51:41 but that's why i asked int-e if he thinks it's necessary 19:51:51 why do we need self-removing FFFF? 19:51:54 wait 19:52:01 i'll write an example :) 19:52:03 i need a quick summary. F toggles, FFL is a conditional jump, what else was there? 19:52:19 DDD prints 'D' 19:52:26 ah. 19:52:33 and EEEE would remove 'EEEE' from the program 19:52:34 Keymaker, what about input 19:52:38 none yet 19:52:48 that's a question i was going to ask here soon 19:52:49 * int-e thinks 19:52:57 good, saves me from thinkin' ;) 19:53:00 * Gs30ng thinks 19:53:04 :) 19:53:08 I don't see why you'd need that 19:53:13 yeah 19:53:15 me too 19:53:22 i've thought that as option as well 19:53:39 in fact, when i started working on the language i thought i'll make it non-input one 19:53:59 perhaps that's what i'll do, i can't find any elegant way storing input 19:54:16 you can always introduce a special switch that reads a bit from input 19:54:19 if you really need it 19:54:23 no 19:55:00 one way could be to make for example EEEEE to store a bit from input to E 19:55:26 or that 19:55:32 i can't like this language because of trash letters, but it could be more handy than Udage 19:55:51 well, everyone's got their own opinions :) 19:55:56 i have never heard of udage 19:56:04 well, you have trash letters anyway in the moment that you introduced labels. 19:56:11 new name of Switch 19:56:13 Udage is 19:56:16 ah 19:56:40 int-e: me? 19:56:50 Keymaker: no, Gs30ng 19:56:51 ah 19:57:00 you can get more info about the name at http://www.esolangs.org/wiki/Udage#Udage 19:57:11 ok 19:57:22 I'm not worried about trash letters 19:57:43 me neither 19:57:52 then aren't trash yet 19:58:17 but in real coding in Udage they probably would be trash 19:58:27 well, leave eliminating trash letters as an exercise to the coder then. 19:58:54 noone codes in esolangs because it's simple. 19:58:56 instead of trash letters, what about this 19:58:56 int-e: so, do you think FFFF would be useful? 19:59:17 no. it's weird, and it's not reversible. 19:59:21 interpreter interprets 4 letters in a time 19:59:22 yes 19:59:26 ok 19:59:28 or 3 letters or something 19:59:42 int-e: do you think that should be replaced by "get one bit from input"? 19:59:43 I think not being reversible is the real issue. it won't be useful in a loop. 20:00:00 that would certainly be more useful 20:00:04 ok 20:00:12 the language is done, then 20:00:26 it's not done 20:00:33 since Udage isn't done 20:00:39 it's not Udage 20:00:41 well, this is done 20:00:43 yeah 20:00:44 suppose this 20:00:45 it's Trigger 20:00:48 it's more like brother-of-Udage. 20:00:52 user inputs 20:00:55 computer records 20:01:03 repeat until user inputs 0 20:01:21 not many esolangs can access hard drive (thanks heaven) 20:01:27 this won't be able to do that either 20:01:35 this has user inputs and repeat until user inputs 0.. 20:01:36 i haven't mentioned hard drive 20:01:39 ok 20:01:41 Trigger is not supposed to support infinite storage or be turing complete 20:01:45 I think 20:01:46 yes 20:01:49 you're right 20:02:11 if you are to repeat 20:02:28 you need a switch(right? or trigger) for a time 20:02:43 32 times repeat, 32 triggers are needed 20:03:00 yes, probably 20:03:51 but notice, this language is not meant to be a turing-complete 20:03:59 of course it isn't 20:04:10 therefore i don't really care if repeating needs so much work 20:04:13 etc.. 20:04:36 but with a little addition it can do that, i think, although i don't know how 20:05:41 i think it would require changes in the data storage stuff 20:05:42 not sure 20:06:26 oh, what i forgot to say that when searching the nearest trigger, and if there's two triggers, one on left and one on right, then it will be random which one to choose 20:06:41 so, there's small in-built randomness if user wants that 20:06:42 whoa 20:06:52 that's an idea 20:07:12 what i meant to say there as well, is that 20:07:24 that only happens if both the triggers are as far from 20:07:37 the instruction sequence (for example "AAB") 20:07:42 it can be adopted into Udage 20:07:49 random choice 20:07:53 feel free 20:07:59 i like random in languages 20:08:12 Keymaker, how can you get that kind of splendid idea? 20:08:23 well, no idea 20:08:34 probably because i was thinking "should it go left or right" 20:08:54 then "i can't decide".. "hey, i'll just make it random so i don't need to decide!" 20:09:13 well i'm thinking 20:09:29 [although deciding it to be random was itself a decision] 20:09:59 i can apply that to nearest D toggle problem 20:10:19 yes 20:10:26 yeah 20:10:44 and esolang wiki's dead again 20:10:44 :( 20:10:48 :( 20:10:59 int-e: you have time to write an interpreter..? ;) 20:11:28 i would do that myself but i can't really 20:11:40 Keymaker, before that why don't you confirm a specification and unveil it 20:11:53 yeah, that's what i should do 20:12:02 I was going to say: Gimme a spec. :) 20:12:05 ok 20:12:10 i'll write the spec first 20:12:13 :o) 20:15:17 Udage will take a lot more time to decide the spec, because of my desire to be turing complete 20:15:23 but Trigger doesn't, right? 20:15:58 so Trigger will make it's spec earlier than Udage 20:16:06 this is fun 20:17:46 original comes after one originated from it 20:17:58 :) 20:18:05 yes 20:18:07 :) 20:18:25 oops 20:18:29 do you want the name 'Gs30ng' to be credited or want me to use some other name? 20:18:55 as you wish 20:18:59 sorry i gotta go 20:19:00 ok 20:19:04 bye 20:19:19 it was amazing conversation 20:19:25 all you guys really helped me 20:19:25 bye Gs30ng 20:19:32 thanks a lot again 20:19:34 glad to help :) 20:19:44 -!- Gs30ng has quit ("quits"). 20:41:17 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 21:25:52 If you write an interpreter in BF, you can use egobfi32 -unicode on to run it and get your unicode 8-D 21:26:20 (Then the only hard part is ... well, writing the interpreter in BF) 21:26:56 right 21:27:28 But heck, compared to s/char/wchar/, that's easy :P 21:30:11 Oh hey! int-e, do you happen to still have egobf-0.7.tar.bz2? I want to upload it elsewhere since my network at home is screwy. 21:31:10 I think I do 21:31:34 Could you email it to AKAQuinn@hotmail.com ? 21:32:18 get it at http://www.inf.tu-dresden.de/~bf3/egobf-0.7.tar.bz2 21:32:29 I'll remove it afterwards 21:32:30 Ah, that works - rescue #3, you rock :) 21:32:54 Got it. 21:35:34 http://www.codu.org/egobf-0.7.tar.bz2 21:41:00 -!- calamari has joined. 21:41:14 hi 21:42:22 Hoi calamari 21:43:31 how's it going hat-fiend? :) 21:43:54 11 now. 21:44:01 Oh, I still haven't posted a picture of me in the fez. 21:44:07 Thank you for reminding me ;) 21:44:12 haha 21:44:28 My randomizer told me to wear the fez tomorrow, so I'll have the opportunity. 21:46:09 :) 21:46:18 yeah, i noted you about that in your guestbook 21:46:29 (that you should update your hat gallery) 21:46:42 Not that I ever read my guestbook :P 21:47:46 I also need to update the music page, and update the ORK page. I'm really just not much for updating my web pages :P 21:48:17 yeah, I need to overhaul my webpages too.. not standard compliant 21:48:49 My main page is actually finally 100% compliant, just fixed it recently. 21:48:57 I keep waiting until I write a program that will build the pages for me.. 21:49:07 hehe 21:49:13 other projects always seem like more fun than that ;) 21:49:48 The lazier I get the more pages I make run Giki. 21:50:18 Even if I don't let other people edit, it's still quicker than muddling with the HTML/PHP/CSS/etc. 21:58:30 that's actaully not a bad idea 21:58:54 perhaps a giki where the editing isn't visible without a special tag 21:59:44 one of the things I've wanted is an auto site-map builder 22:07:58 * GregorR-W smells a GikiPlugin ;) 22:16:52 plugins must be very powerful if such a thing is possible via a plugin 22:17:17 -!- Aardwolf has quit ("Leaving"). 22:17:34 It is. 22:17:39 GikiPlugins are super-powerful. 22:17:43 RecentChanges is a plugin. 22:17:59 Plugins switch between HTML, WikiSyntax and BBCode ... 22:18:45 FCKeditor is in a plugin. 22:18:55 * GregorR-W is searching for all the particularly powerful plugins :P 22:21:24 http://giki.sourceforge.net/edit.php?title=Downloads# 22:22:11 Yes, the SourceForge element is a plugin too, but not particularly powerful :P 22:22:17 clicking WikiSyntax shows a help page, but it doesn't seem to render correctly.. is this a bug? 22:22:34 Yes it is, however it's a known bug. 22:22:47 I switched the page to CSS instead of tables, and that got screwy. 22:23:09 oic.. 22:23:44 However, I switched the default template too, so the default template is broken 8-D 22:26:02 (Only if you have the Subwindow rendering plugin) 22:41:51 phew.. i'm almost ready with trigger specs 22:41:52 i think 22:44:32 o_O 22:47:22 :) 22:47:32 now i'm trying to find some good quote 22:47:42 Come ooooooooooooon, write an interpreter in BF :) 22:47:54 All the cool kids write their interpreters in BF. 22:47:59 yes 22:48:04 but i never was kool kid 22:48:10 lol 22:48:31 :) 22:48:51 actually bf interpreter for this language wouldn't be that hard 22:53:08 * Keymaker goes to brush teeth 22:57:18 I'll go to bed, see you tomorrow. I'll take a look at those specs then (if I can find them) 22:58:35 ok 22:58:39 i'll post the link here 22:58:45 nite 22:59:04 bye 22:59:05 -!- int-e has left (?). 23:02:49 -!- graue has joined. 23:21:00 TRIGGER SPECS (capitalized so int-e can notice them more easily) 23:21:01 http://koti.mbnet.fi/yiap/trigger/trigger.html 23:21:10 Trigger? 23:21:15 feel free to ask questions and point out the flaws 23:21:20 a new esolangs 23:21:33 read 23:33:13 graue: read? 23:34:08 Ahhh, tense. Wouldn't it make sense if English conjugated tense? It makes me tense, the fence that isn't in the tense in Engl...ense. 23:35:33 ? 23:39:38 well, time to quit if i want to get up tomorrow.. arrgh. when i get home i'm staying up hours later.. 23:39:42 'nite 23:39:48 bye 23:39:55 bye 23:39:57 -!- Keymaker has quit ("Funkadelic!"). 23:42:35 * pgimeno catches up with the backlog and goes phewwww! 23:43:35 the backlog is smelly? 23:43:59 like: phew! I did it 23:44:16 maybe I should have used a different exclamation 23:47:34 whew! 23:48:49 thought I had the item logic worked out for my game.. not good enough tho! 23:50:04 game? what game? are we talking about a game written in an esolang here? :) 23:50:14 -!- kipple_ has changed nick to kipple. 23:50:20 no :( 23:50:47 working on my 2k adventure game entry 23:50:47 too bad ;) 23:50:51 ah yes 23:51:11 kipple would be a fun language for programming games in IF ONLY it had interactive I/O 23:51:29 well, in time it will 23:51:41 or, alternately, if a program could call itself again 23:51:53 with the current o stack as the program's i stack next time 23:52:04 wait, that wouldn't work 23:52:10 now THAT is an interesting suggestion... 23:52:11 I don't know, something like that 23:52:21 why wouldn't it work? 23:52:28 how would you do actual output to the user? or get actual input from the user? 23:52:41 if you could, say, preserve the r stack between executions, that might be something 23:52:48 hmm 23:53:15 anyway, it will all be solved with the next version of Kipple (whenever that will be done.....) 23:54:29 so, calamari, what are you coding the game in? assembler? 23:54:41 yeah 8088 asm 23:54:59 using ms-dos int calls 23:55:14 is the 2k limit on the source code or the binary or both? 23:56:04 for interpreted languages there is a different limit, I think it's 2899 bytes of source 23:56:18 the source doesn't matter for compiled/assembled languages 23:56:42 I can't remember the max binary size, but iirc more than 2048 bytes (which makes no sense) 23:57:17 and you also get an 8k data file 23:58:19 ahh here is the binary number, 2799 bytes 23:59:21 then also, if you really want, you can use 2929 bytes for an interpreted source :) 23:59:45 the rules of the contest are esoteric, at least.. hehe 2005-07-27: 00:01:17 haah 00:03:09 So. 00:03:31 This channel is always alive and active, isn't it. 00:03:37 -!- BigZaphod has quit. 00:03:38 (Or totally dead) 00:09:46 heh 00:14:48 -!- heatsink has joined. 00:15:04 * GregorR-W attaches his 4gHz proc to heatsink 00:16:56 * heatsink hums warmly 00:17:31 CPU0: Temperature over threshold, switching to a lower frequency 00:36:27 is there a brainfuck hexdump? 00:36:39 Ooooh, that would be fun. 00:36:48 And by "fun", I mean "death", but still fun. 00:37:01 or an bf snipped for output a number as hex? 00:37:18 I haven't heard of one. 00:38:10 grml so i've to write one on my own 00:38:42 calamari: thanks for the brainfuck algorithms 00:39:02 i'm writing a adler32 checksum in brainfuck 00:42:24 Cool 00:44:12 i'm done with the checksum 00:44:16 but i need hex output 00:44:29 -!- GregorR-W has quit (Remote closed the connection). 01:03:39 i need help 01:03:51 i'm too stupid for outputing a cell as hex 01:04:58 calamari: do you have an algorithm for that? 01:05:38 GregorR posted recently a division/reminder algorithm 01:06:12 that's an universal algorithm 01:06:18 i need one for /%16 01:06:27 that's shorter and fits better 01:07:06 well, for nonwrapping a generic divide-by-constant will be needed, I guess 01:07:23 and for wrapping? 01:07:33 not sure 01:08:11 is efficiency a concern? 01:08:26 uhm shouldn't be too slow 01:09:47 I was thinking about 4 chained tests for parity but that's probably too long anyway 01:11:53 actually a mul-by-16 would isolate the reminder quickly, then you need div-by-16 01:11:58 (for wrapping) 01:12:09 hah thank you 01:12:24 -!- GregorR-W has joined. 01:12:29 s/reminder/remainder/ 01:13:02 then you subtract the remainder from the original number and do a div-by-16 again 01:13:42 divexact is often faster than div, especially when you know the divisor beforehand, I think 01:14:34 oh, I'm being dumb... a [---------------->+<] would do 01:15:58 [->+>+<<]>>[->++++++++++++++++<]>[----------------<+>]<[->+<<<+>>]<<[->-<]>[---------------->+<] reads number from cell 0 puts div16 into cell 2 and mod16 into cell 3 01:15:59 I'm not sure why I reconnected since I am now leaving for home :P 01:16:26 -!- GregorR-W has quit (Client Quit). 01:16:33 lol 01:17:01 nice, jix 01:17:09 but that's a bit long 01:18:30 maybe you can do *16 as *4*4 01:18:46 not sure if it's any gain though 01:20:15 anyway that looks smaller than a generic division 01:21:41 [->+>+<<]>>[->>++++[-<++++>]<<]>[>++++[-<---->]<<+>]<[->+<<<+>>]<<[->-<]>[<++++[->----<]>>+<] 01:21:48 a few byte shorter 01:22:25 the problem is 0123456789abcdef are not in a row 01:22:58 oh, right, I forgot 01:23:52 x += (x > 9) * 7 01:28:22 -!- calamari has quit ("Leaving"). 01:28:45 pgimeno: how 01:28:52 with this: b[-]+++++++++a[b-a-] b = 0 if a < 9 01:29:23 ah 01:29:31 er, no 01:30:15 sorry, that's a mistake 01:30:25 hmm 01:31:59 maybe b[-]++++++++++[a-b-]a[b+a+] 01:32:59 no 01:33:31 sorry, that's off the top of my head 01:33:35 but I'm a bit sleepy 01:34:36 so I'd better leave and have some rest before going on with these attempts 01:35:00 naaah 01:35:06 good night all 01:35:07 i wan't to finish this program 01:35:10 good night pgimeno 01:40:35 hah i have a solution (i think so) 01:40:37 316 byte but it works 01:55:02 NOOO 01:55:37 jix: READ THE SPECS CAREFULLY!!! 01:56:18 anyway the hexprint is cool 01:58:42 gn8 02:00:04 hey it's Fletcher's checksum i implemented 02:00:30 ah no 02:00:52 :( 02:01:05 :( 02:01:22 maybe i can make it fletcher's checksum 02:01:29 that's simpler than adler32 02:01:39 wait, I thought it was already Fletcher's checksum 02:02:07 03:01:33ah no 02:02:23 the modulo is wrong by 1 for adler it's wrong by 15 02:02:28 but that's a fixable problem 02:03:34 -!- kipple has quit (Read error: 60 (Operation timed out)). 02:09:02 brainfuck is kind of useless for binary files, isn't it? 02:14:33 graue: yes it is 02:14:41 n8 02:14:56 i'm too sleepy for fixing my feltcher/adler32 02:15:51 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 02:45:25 brainfuck is kind of useless 02:47:45 not for text 02:48:09 brainfuck is useless for binary files because one of the possible byte values has to also mean EOF 02:48:21 that isn't a problem with text 02:51:50 -!- BigZaphod has joined. 02:52:30 well, no, brainfuck is still kind of useless :) 02:57:08 -!- calamari has joined. 02:57:11 re's 03:31:09 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 03:38:18 -!- GregorR has joined. 03:39:18 Stupid network. 03:39:18 -!- GregorR has quit (Client Quit). 03:40:04 -!- GregorR has joined. 03:40:12 Stupid network. 03:45:27 BTW, SPARC is nasty even for RISC. 03:45:41 I still think I can do it, but yeesh, this is encoded 4 bits off! WTF is with that?! 04:23:06 -!- tokigun has joined. 04:39:21 *WHEW* 04:39:24 Got add implemented! 04:56:13 -!- cmeme has quit (No route to host). 05:01:17 Gah, I just realized why this doesn't work, I'm using big-endian constructs on a little-endian system :P 05:33:25 Hey, I have a sparc cross compiler! How bizarre! 05:44:20 OK, perhaps right is implemented. 05:48:49 -!- CXI has quit (Connection reset by peer). 05:51:05 -!- comet_11 has joined. 05:53:30 Hoi 06:20:30 calamari: I want to make an implementation of BitChanger, but it doesn't explain where and how IO is mapped. 07:01:23 -!- calamari_ has joined. 07:03:33 * GregorR wonders if calamari got his last message ... 07:04:24 yeah.. then my inet connection cut off (4 hour dialup limit) 07:04:37 the original bitchanger had a really dumb view of i/o 07:05:04 it was probably unworkable.. i didn't really know how to do it correctly.. still not sure that I do 07:06:32 it was going to be memory mapped, 8 bits contiguous 07:07:05 how does memory mapping usually work? 07:07:32 output seems easy enough, like set the bits and then set another bit to indicate a send 07:07:33 Well, in 2L I used a strange method by having a do-it register, but I'm not sure if that would work with BitChanger's } 07:08:12 You couldn't just walk over the do-it bit. I guess if it was bit 1 and then the data started at bit 2 that would work .... 07:08:21 yeah, just thinking the same :) 07:08:30 because bit 0 can't really be set.. oops :) 07:08:41 *shrugs* 07:08:45 Is little matter. 07:09:14 By the way, if you ever decide to write SPARC machine code, take a word of advice from me and kill yourself. 07:09:32 It's not that it's that difficult, it's just so stupid that it makes me feel dumber having implemented it. 07:10:12 since assembly language seems to be dead these days.. the chances of me having to learn sparc seems low, so maybe I'm okay 07:10:30 Heheh 07:11:10 For every purpose besides super-optimization, I concur. 07:11:11 However, when egobfc2m becomes the fastest complinterpreter on both i386 AND SPARC, I will feel quite ... well, egotistical. 07:11:20 I've only really ventured to 8088 and 6502, and another cpu for work back in 1996 that I don't remember anymore 07:12:14 I've done a fair amount of i386 and a bit of ia64, and now I'm learning just enough SPARC to copy output from gcc :P 07:12:29 I looked into 68000, and I would have done some stuff with it, but I was dumb and loaned my 68000 books to a coworker who then stole them 07:13:18 * calamari_ no longer loans books out 07:13:28 been burnt too many times 07:13:52 That reminds me, can I borrow your book on ... ;) 07:14:17 no.. check half.com ;) 07:14:42 Ahahaha 07:17:38 anyhow.. implement i/o however you like 07:18:15 Caaaaaaaaaan do! 07:18:33 then write it up on the wiki and I'll call that the standard :) 07:19:01 Nooooooooooooo! 07:19:08 or tell me how you did it and I'll write it up 07:19:41 Horrible explosion :( 07:19:41 C2M sparc is borked. 07:20:00 -!- calamari has quit (Read error: 110 (Connection timed out)). 07:20:05 -!- calamari_ has changed nick to calamari. 07:20:40 your machine just blew up? 07:20:59 lol, no, egobfc2m for sparc blows up if you try to output :P 07:21:19 oh.. hahaha 07:22:08 +-<> all work however 8-D 07:23:13 I forced myself not to learn the asm of my hp48, because I'd have a portable goof-off machine. 07:23:46 AWWW 07:23:52 i mean aww 07:23:55 hp48 though... 07:24:42 yeah.. 64bit cpu. pretty neat 07:31:04 YES!!!!!!!!!!!!!!!!!! 07:31:07 AHAHAHAHAHAHAHAHAHAHAHAH!!!!!!!!!!!!!!!!!! 07:31:11 I AM THE CHAMPION!!!!!!!!!!!!!! 07:31:19 I HAVE NO HUMILITY AND YET I DON'T CARE!!!!!!!!!!!! 07:31:25 * GregorR dances. 07:31:36 * GregorR checks off "Port to SPARC" on the egobf todo list. 07:45:36 -!- heatsink has quit ("Leaving"). 07:53:08 YESSS! 07:53:13 Look at that mandelbrot set. 07:53:18 * GregorR cries a tear of joy. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:30:48 night 08:30:50 -!- calamari has quit ("Leaving"). 09:38:41 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]"). 09:49:51 -!- grimace_ has joined. 09:50:10 lo all 09:55:09 -!- GregorR has quit (Read error: 110 (Connection timed out)). 10:19:07 -!- kipple has joined. 10:46:49 -!- int-e has joined. 11:03:12 -!- Gs30ng has joined. 11:11:29 hi 11:11:33 i'm back here 11:19:46 hi Gs30ng 11:22:45 i'm working on making xml pages for udage. i think there would rather be some official pages for this 11:25:06 i got an interesting idea to make this language turing complete, but it needs a time to be embodied in detail 11:37:02 -!- Keymaker has joined. 11:37:26 hello 11:39:17 hi 11:39:28 congratulations Keymaker 11:39:37 for your new esolang 11:42:55 thanks 11:44:04 you mentioned about turing-completeness in your spec but i'm afraid that Udage will be turing incomplete too :( 11:45:00 i mentioned my language is NOT turing complete 11:45:16 and Udage will be turing complete, you said 11:45:29 ...right? or something like that, whatever 11:45:47 yeah, probably 11:45:55 as i thought it will be turing complete 11:46:06 maybe... you're right in that point. it's really hard to make it turing complete without any specific instructions. 11:46:14 i need a lot of repeatation 11:47:30 maybe your language is worth more as a marvelous toy 11:47:47 yes, it's just a toy 11:47:56 i'm obfuscated. i may give up turing completeness 11:48:00 -!- jix has joined. 11:48:24 moin moin 11:48:32 yo 11:48:42 niom niom 11:50:05 Gs30ng: niom? 11:50:15 moin! 11:50:24 uhm 11:50:29 pandemoniOm? 11:50:41 ok 11:50:42 moin 11:50:45 what's moin? 11:51:02 i heard about an wikiwiki system named moinmoin 11:51:28 moin (plattdeutsch (german diakect)) is short for mojen tach => guten tag (german) => good day (english) 11:52:32 oh 11:53:10 moin 12:08:59 -!- yrz\werk1 has changed nick to fede. 12:09:14 -!- fede has changed nick to Fedo1a. 12:09:39 +[++[->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<]+] add cell 0 to cell 1 if cell 1 overflows add 1 to cell 2. cell 3 is temp 12:09:43 not tested but should work 12:09:54 much shorter than my old implementation... 12:10:01 aahh wrong snippet 12:10:08 [->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<] 12:10:11 only this part 12:12:32 hmmm. does this assume wrapping cells? 12:26:29 yes 12:28:41 but works with any cell size 12:28:50 ugh 12:29:00 int-e: ? 12:29:54 sorry. I understood 'wrapping cells' to mean 'wrapping memory space' which I wouldn't like - but I see that's not what was meant now. 12:30:34 have to go now... 12:30:35 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 12:31:11 Gs30ng: if you're using that switch.c of yesterday, get it again from http://www.inf.tu-dresden.de/~bf3/switch.c I fixed a very stupid bug. 12:31:12 :) 12:31:23 well 12:31:29 thanks 12:31:39 but still there would be a lot of changes in spec, i think 12:31:45 to make it turing complete 12:32:06 yes. there's a reason that I don't call it udage.c, say ;) 12:32:57 so if you are tired of fixing things again and again, just wait for settled spec 12:33:22 i feel sorry to bother you every time i change the spec 12:33:30 it was a side effect of making a trigger interpreter 12:34:23 currently we have 3 operations in udage 12:34:30 (http://www.inf.tu-dresden.de/~bf3/trigger.c) 12:34:36 NOT ( 1 time udage ) 12:34:44 NANDNP ( 2 times udage ) 12:34:53 I/O ( 4 times udage ) 12:35:08 and i found that i can make 3 times udage operation 12:35:22 because AAABC and AABAC does exactly same thing 12:35:49 so one of them are not necessary 12:36:06 which means i can assign an operation to AAA(blah blah) 12:36:08 not quite correct - a different switch is changed by the two instructions 12:36:27 uhm 12:36:37 i beg your pardon? 12:36:56 AAABC changes the A switch, AABAC the B switch, or did I miss another change there? 12:37:44 well 12:37:47 in current spec 12:37:48 AABCD performs B NAND C and put the result to A(B and C has no change), 12:38:08 but of course, AAABC and BBABC and CCABC all do the same thing 12:38:29 to A? ah! that's my mistake then 12:39:13 ok, thanks 12:39:13 maybe you misread it because of a lot of spec changes. i feel sorry for that 12:39:25 I didn't actually read the spec change for NAND 12:39:45 and don't feel sorry, it's my fault that I try to keep that interpreter up to date. 12:39:56 I could stop any moment :) 12:40:37 ok then i'm gonna assign something to 3 times udage operation 12:40:48 this time it'll be turing complete, i hope 12:45:01 int-e, what do you think about this 12:45:20 i think the first operand and instruction must be different 12:45:47 they could be misread as some more repeatation 12:51:20 Well, right now the longest matching pattern wins, which has that effect except for the I/O operation. 12:51:46 that's right but i may add 5 times udage operation 12:52:01 i thought about way like this: 12:52:11 AAA or AAAA starts the instruction 12:52:16 and get some operands 12:52:23 until A appears again 12:52:58 that's certainly possible 12:53:11 nandnp operation don't need such a thing because it's operand are limited for 3, always, and don't need more 12:53:27 but AAAA operation, and maybe AAA operation needs 12:54:00 it could be useful for the i/o operation in fact; it would make it easy to make programs for ASCII, or extend programs to use 32 bit unicode. 12:54:34 ok then i'll add it in my new spec 13:06:06 and int-e, you know that if we do that then a code like BAAAAAAAA...(Hello, World! code) woudn't work 13:06:51 to print something we need at least 3 characters(0, 1, instruction) then 13:08:20 I know 13:09:01 ok, i was just too nervous 13:11:02 but the hello world would become shorter, too 13:14:34 something like BCCCCBAABAAACCCCCBBAABABCCCCCBBABBAACCCCCBBABBAACCCCCBBABBBBCCCCCBABBAACCCCCBAAAAACCCCCBBBABBBCCCCCBBABBBBCCCCCBBBAABACCCCCBBABBAACCCCCBBAABAACCCCCBAAAABCCCCCBABAC 13:18:58 nice 13:49:00 phew.. shoveling gravel isn't good for a human 13:58:41 -!- comet_11 has changed nick to CXI. 14:12:33 -!- GregorR has joined. 14:13:47 because of Nearest D thing, some trash characters are necessary to control the length to D 14:16:04 i don't like this and now i got an idea 14:16:13 i'll make it value-of-D-dependant 14:16:21 graue (who isn't here but will perhaps read the log): brainfuck + 16-bit + wrapping + eof-returns-'-1' can support binary files just fine 14:16:27 if D is 0 then jump to forward D 14:16:35 if D is 1 then jump to backward D 14:17:16 And if D is 0 and there isn't a forward? 14:17:33 terminates 14:17:46 just like we've been did 14:17:59 s/did/doing 14:18:31 Ah, makes sense 14:18:43 same rule for when D is 1 and no backward D 14:19:29 now there would be less trash codes (i'm not sure 'no' trash codes would be there) 14:22:42 oops... my mistake. 'nearest' backward D and 'nearest' forward D. there could be several Ds on code 14:35:46 -!- ditto has joined. 14:47:40 -!- Aardwolf has joined. 14:56:04 -!- klutzy has joined. 14:57:16 what's this 14:57:36 why do i have so many already-known people here 14:57:38 -_-; 14:58:00 who you know? 14:58:12 you 14:58:19 really? 15:04:12 -!- ditto has quit (Client Quit). 15:09:31 hey, does anyone know the difference between the BSD license and the GPL license? 15:10:32 -!- graue has joined. 15:13:08 *the* difference? 15:14:00 BSD is short, GPL is political and long. BSD allows other to take your code and do pretty much whatever they want with it, GPL requires other users to license derived works under GPL as well and make their source code available 15:14:25 so BSD is something like LGPL? 15:15:20 I licenced something under BSD instead of GPL because I found GPL so long 15:15:28 I don't think I'd make a good lawyer, would I? :D 15:15:32 .. 15:16:18 LGPL is still quite long. and it's meant for libraries that can be linked to proprietary code without forcing its restrictions on that code - you still can not take the source code and incorporate it into other programs 15:17:02 Aardwolf: which BSD license are you talknig about btw? 15:17:14 in short, Microsoft loves BSD code and despises GPL and LGPL. 15:17:20 Hmm good question, let me try to find out 15:17:34 the old one (with advertising clause) or the new one? hehe 15:18:44 I took the one with advertising clause, and removed the advertising part :D 15:18:48 why do i have more difficulty on writing udage spec in Korean than English? 15:19:13 hmm, that 15:19:17 is interesting 15:19:22 because I found the advertising thing ridicioulous since it was totally off topic 15:19:34 * int-e wonders who displaced the enter key where the ' key is supposed to be. 15:20:09 * Gs30ng did. 15:20:18 * klutzy agrees 15:20:19 http://www.opensource.org/licenses/bsd-license.php ... that site has also many other open source software licenses. 15:20:58 What I wanted with the licence was that credit is always given to my name, but for the rest they can do with it what I want, and I think BSD does just that 15:21:01 what's the point of using licenses? 15:21:08 *I mean, what THEY want 15:21:16 .. 15:21:19 without licenses, noone has the right to use your code in any way, technically. 15:21:26 yes. 15:21:38 but if someone uses, there's no way to find it out 15:21:44 especially if the product is compiled 15:22:11 well, it's usually possible to find out, if the software wasn't trivial 15:22:22 it'll be harder to convince a court of this though. 15:22:29 and that's why we are to write all codes in... like... befunge? 15:22:36 :) 15:22:53 esoteric languages are good choice for protecting the software you've written 15:23:08 often it's extremely hard to borrow parts of esoteric language programs 15:23:10 and making bugs 15:23:23 (hint: software usually employs nontrivial data structures. it's unlikely that independent development comes up with exactly the same data structure. fields will be arranged in different orders, some data will be managed in different locations and so on) 15:23:40 the same goes for the algorithms that are being used. 15:23:52 but well, changing them all a bit is easy 15:24:17 ...should i make udage so hard to compile? 15:24:28 no 15:24:33 there's no point 15:24:34 why 15:24:45 if someone really wants to use other's code without permission 15:24:45 like, self-modifying codes? 15:24:50 they can do it 15:24:57 and nobody can't prevent it 15:25:11 ... 15:25:14 you mean nobody *can* ? 15:25:17 Keymaker, just keep your code to yourself ;) 15:25:21 :p 15:25:26 noone will steal it then. 15:25:30 no 15:25:36 i don't care if someone rips my code 15:25:42 it's just not fun 15:25:46 i have code released in web 15:25:52 (see bf-hacks.org for example) 15:25:57 btw, been there int-e? 15:26:09 Keymaker license is enough for me 15:26:17 :) 15:26:23 anyway, licenses are not a technical instrument, they are a legal instrument. *if* you can prove someone used your code without a license, then you can take legal action against them. 15:26:25 just telling me, "i want to use your idea" 15:26:50 it's enough for me. if i don't want a code to be copied, i can just keep it to me, just like int-e said 15:27:23 what if i license #include 15:27:24 int main(){printf("Hello world!");} 15:27:34 someone else has done it before me 15:27:41 and probably licensed 15:27:48 can they sue me then? 15:27:51 well, you'll have to prove that it was copied from *you* 15:28:01 there's already a lot of precedents, Keymaker 15:28:12 yes 15:28:15 you need to have the copyright before you can give out licenses and you don't own that for this piece of code. 15:28:28 no 15:28:30 i don't 15:28:59 but how can i be sure that nobody hasn't made the exactly same piece of code before and licensed it? 15:29:13 i need to go through every released code.. 15:29:30 you can search some precedents to make sure what kind of codes are possible to be proved that it's copied 15:29:31 nah. it doesn't work that way 15:29:42 the other side has to prove that you copied their code. 15:29:46 ah 15:30:35 well, i'm not using any licenses, still :) 15:30:36 (this is different from patent law where you can unknowingly infringe a patent) 15:30:49 ah 15:47:34 -!- klutzy has changed nick to All. 15:47:56 * All your base are belong to us 15:48:11 -!- All has changed nick to klutzy. 15:49:17 * int-e slaps klutzy with a large trout. 15:49:52 ouch 15:50:42 :9 15:50:47 ...now THIS is esoteric. 15:51:04 this 'All' thing was really good hehe 15:51:39 -!- int-e has changed nick to I. 15:51:45 * I don't think so. 15:51:48 -!- I has changed nick to int-e. 15:51:58 :P 15:52:03 :) 15:52:09 (: 15:53:06 -!- Keymaker has changed nick to grin. 15:53:13 * grin * 15:53:20 -!- grin has changed nick to Keymaker. 15:53:22 -!- klutzy has changed nick to why. 15:53:24 * why * 15:53:27 -!- why has changed nick to klutzy. 15:54:00 * Keymaker for fun. 15:54:03 doh 15:54:12 the nick didn't change to 'Just' 15:54:12 :p 15:54:21 i'll just disappear.. 15:54:26 * Keymaker disappears 15:54:27 do you know programming languages where (: and :) are language tokens? 15:54:37 I know they are in LPC. 15:54:46 probably that emoticon language 15:54:50 never tried it though 15:58:38 who can handle that ChanServ? 15:59:33 What about chanserv? 16:00:07 GregorR: yes, I know Brainfuck with >8 bit cells is potentially non-useless 16:01:11 "Keymaker for fun" sounds interesting. :p 16:01:48 :p 16:02:28 i tried to change my nick to 'Just', didn't notice the message that's it already in use, and just posted "/me for fun." 16:02:30 q: 16:02:43 who uses the nickname 'just'? 16:02:49 oops 16:03:04 he(she?) seems joining no channel 16:03:28 yes 16:03:29 well, it could be a secret channel 16:03:41 there are secret channels too? 16:03:42 maybe "she" is a man 16:03:43 or not 16:04:09 Channels with the mode +s don't show in whois. 16:05:00 ok 16:05:56 -!- Fedo1a has quit (Read error: 110 (Connection timed out)). 16:09:09 -!- Fedo1a has joined. 16:53:50 Keymaker: You really really REALLY ought to license your code. 16:54:18 Even just a note at the top saying "You can use this code however you please" is far better than unlicensed code. 16:55:19 really? 16:55:39 Code without a license cannot be redistributed or modified legally. 16:56:01 do we need that? i mean, if we don't note it, doesn't it automatically preserved by law? 16:56:11 it can be modified but you can't distribute the modifications :) 16:56:27 Err, yes, lindi- is correct. 16:56:50 Gregor, that's correct, but in our case (esoteric code snippets created for fun, not for money) it's unlikely that the copyright holder takes legal action 16:56:53 Gs30ng: You as the author have the right to do what you wish, but by default everyone else has no right whatsoever to it. 16:57:02 int-e: True ;) 16:57:53 a license serves as a protection for the licensee, because then he can stand up in court and say: "Yes, I copied that code, I even modified it, but see, here's a license that states I was allowed to do that." 16:57:54 (Actually, with snippets of code "fair use" comes in and then it's sort of nebulous) 16:59:57 Furthermore, if the author did take action, I think they'd be laughed out of court ;) 17:00:30 I think that at least particularly long programs, and/or implementations of languages, should have an explicit license 17:01:08 I 100% agree. 17:03:33 i don't fully understand what 'implementations of languages' means. it's like, spec? or interpreters? or compiled source codes written in that language? 17:04:00 interpreters or compilers 17:04:12 aha 17:07:58 this trigger program, "# You can freely modificate this source and distribute it." 17:08:24 looks like it's a comment, but it really just changes flips some triggers and tries to do some jumps 17:09:02 so, don't believe everything there reads in program :) 17:09:17 It also doesn't help that "modificate" isn't a word :P 17:09:28 :) 17:09:34 yes it is! 17:10:00 but it's not in the dictionary 17:10:10 who cares! 17:10:14 (i was joking) 17:17:39 Anybody have a PowerPC or AMD64/EM64T? 17:18:26 -!- BigZaphod has quit. 17:18:28 "Yes." 17:18:39 yes, someone somewhere does 17:19:01 OK, good to know :P 17:19:02 I have a G4-iBook (that's PPC) and at work one amd64 box I can ssh to. 17:20:08 fis@erottaja:~$ cat > test.c 17:20:08 int main(void) { printf("%d\n", sizeof(long)); return 0; } 17:20:08 fis@erottaja:~$ gcc -o test test.c ; ./test 17:20:08 8 17:20:10 See. 17:20:25 lol 17:20:36 I wasn't doubtful :P 17:20:37 "It must be an AMD64, sizeof(long) == 8." 17:21:19 You could cat /proc/cpuinfo 17:21:52 But anyway, could you compile a test program and give me an ASM/hex dump so I can port egobfc2m? 17:22:01 To PPC 17:22:34 Uh, sure. 17:22:57 http://gregorr.homelinux.org/egobf-0.7.tar.bz2 < the instructions are in the "PORTING" file. 17:23:19 is that a releasE? 17:23:33 Yeah. 17:24:18 0.8 will have SPARC and (hopefully) PPC support 8-D 17:26:33 Hrm. "Connecting to gregorr.homelinux.org[24.21.138.66]:80... failed: Operation timed out." 17:26:33 -!- Gs30ng has quit ("SKYIRC Ver Pro http://cafe.naver.com/skyirc.cafe #skyirc"). 17:26:43 Oh, my fault >_> 17:26:47 One sec. 17:26:57 It's already been 10 secs. 17:27:17 Har har. 17:27:18 It's back. 17:27:35 I forgot to reenable port forwarding when my network went screwy ... 17:27:51 -!- calamari has joined. 17:27:54 too bad you can't use UPnP or whatever 17:27:57 hi 17:28:01 hi 17:28:07 Hully calamari 17:28:20 OK, hully works, hullo might have been more logical :P 17:29:52 hi gregor 17:31:17 calamari: For my own convenience, I'm going to implement BitChanger like so: bit 7 is the switch-bit that causes IO, bits 8-15 are the IO bits, the pointer starts at bit 16 17:31:39 That way, I don't have to have an extra bit floating around, since I wasted 7 in padding :P 17:32:40 sounds fine 17:32:52 how do you tell i from o? 17:33:16 If 8-15 is 00000000, do input (you can't output a 0 in this scheme, which may or may not be OK) 17:34:00 Hmm, perhaps an even better implementation would be: 5 is the switch-bit, 6 gets set on EOF, 7 you set for I vs. O, 8-15 are I or O. 17:34:36 hey, EOF bit.. that's cool :) 17:34:50 that sounds even better 17:35:03 * GregorR makes a mental note. 17:37:18 Well, there's a http://www.befunge.org/~fis/test_amd64_gnuWlinux.s already... objdump isn't included in the standard "developer tools" OS X thing, so I'm fetching binutils now. I can also create some ppc-linux-ELF-executables, but I need to reboot the laptop for that. 17:39:04 The OS is actually unimportant. 17:39:17 I don't do any OS-specific code. 17:40:16 Wooh, thanks for that 8-D 17:40:22 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 17:40:23 Well, the executable/object-file format is OS-specific. 17:40:35 If those are what you create. 17:40:47 -!- CXI has joined. 17:41:17 fizzie: They aren't, I just create raw machine code in memory. 17:41:26 fizzie: That is, they aren't what I create. 17:42:35 Ah, right. 17:48:02 Gregor: http://esolangs.org/wiki/BitChanger :) 17:50:07 fixed it up a little more 17:50:44 El the w00t. 17:50:56 I'll work on that this evening. 17:51:08 Ought to be able to bang out a non-optimizing compiler relatively quick *shrugs* 17:51:28 why are bits 0-4 unused? 17:51:28 no rush 17:51:48 graue: jutst so the pointer starts on an even byte, I'd assume 17:52:11 Yeah, pure Gregorian lazyness. 17:52:34 From a programmatical standpoint, it's no different, but from an implementation standpoint it's far easier. 17:52:59 then just move everything 4 bits back in the language, and in the implementation issue an error if it moves to bit -1 (implemented as bit 3) 17:53:37 -!- BigZaphod has joined. 17:54:12 wish I defined } as @> instead of >@.. oh well 17:54:57 you can change it 17:55:08 not like there's a bunch of legacy BitChanger code out there 17:55:23 I've implemented nothing yet, so feel free calamari 17:56:10 what happened with that Brainfuck frontend for gcc that someone was going to do? 17:58:12 well, the original was >@ .. it feels dishonest to change it 5 years laterg 17:58:22 brb.. connection way slow 17:58:25 -!- calamari has quit ("Leaving"). 18:03:52 -!- calamari has joined. 18:03:56 that's better 18:04:20 wonder if my shell providere was beign attacked or something 18:04:38 i'm stealing their servers one by one 18:05:03 save one for me so I can check my e-mail ;) 18:25:08 bbl 18:25:09 -!- calamari has quit ("Leaving"). 18:31:19 Phew. 18:31:21 http://www.befunge.org/~fis/test_ppc_osx.s 18:31:54 Now to the grocery store before it closes. -> 18:40:32 -!- GregorR has quit (Read error: 110 (Connection timed out)). 18:57:02 -!- GregorR has joined. 19:40:10 -!- GregorR_ has joined. 19:40:10 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 19:40:11 -!- GregorR_ has changed nick to GregorR. 19:41:01 -!- grimace_ has left (?). 20:00:38 -!- jix has joined. 20:00:38 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)). 20:04:11 moin jix 20:05:42 moin 20:19:50 -!- int-e has quit ("Bye!"). 20:19:56 -!- int-e has joined. 20:51:27 -!- calamari has joined. 20:51:33 hi 20:51:36 Gaaah, my connection sucks so much. 20:51:38 Hi calamari 20:51:46 hi gregor 20:52:11 what are you complaining about cable boy? 20:52:32 I keep getting discon--ohh, 56k AHAHAHAHAHAHAHA 20:52:33 ;) 20:55:33 channel log isn't up to date.. weird 20:58:08 Who's clog? cmeme does the logging, right? 20:59:47 http://tunes.org/~nef/logs/esoteric/05.07.27 21:04:19 clog and cmeme both do the logging 21:04:26 otherwise, how would we know when one of them disconnected? 21:04:39 BTW, int-e, thanks a ton for the SPARC output, and also ... could you give me a 64-bit version of those SPARC files as well (that is, with -m64 to gcc if your gcc supports it)? 21:04:48 graue: I guess that makes sense .... 21:05:03 clog looks up to date to me 21:05:19 GregorR: I can try 21:05:35 No worries either way, it's just a luxury :) 21:05:48 After all, anybody with sparc64 can run sparc32 code. 21:07:39 is that why you aren't rushing to implement an AMD64 version, as well? 21:07:51 cc1: -m64 is not supported by this configuration 21:08:06 oh it's a good old gcc 2.95.3 21:08:07 hehe 21:08:28 XD 21:08:31 No worries. 21:09:38 graue: AMD64 is a bit higher priority for me because A) it's CISC (I'm lazy) and B) it's more common. 21:09:46 oh found another sun with gcc 3.4.2 :) 21:09:56 let me try it there 21:10:00 How do you have so many SPARCs floating about? 21:10:17 account at the university 21:10:34 Ahhhhhhhhhhhhhhhhhhhhh. 21:14:48 but this one has a stupid tar. tar: z: unknown function modifier 21:15:22 tar cf - ... | gzip -c 21:15:25 I know :) 21:15:31 OK, good. 21:15:34 :) 21:15:54 Or better yet, ar rc - ... | compress -c 21:15:57 Because standards are for the weak. 21:16:27 interestingly, cpio exists 21:17:06 http://www.inf.tu-dresden.de/~bf3/test_sparc64.tar.gz 21:17:16 Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaay ^_^ You rock x4 21:17:39 and test64.0: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available 21:17:42 :) 21:18:26 SunOS xxx 5.10 Generic sun4u sparc SUNW,Ultra-4 21:20:11 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 21:21:01 uh, let me do that again 21:21:05 I forgot -g 21:21:20 Hmm, it seems to have that information in here. 21:21:30 really? 21:21:32 No wait. 21:21:37 I'm just dumb. 21:21:42 It indeed does not. 21:22:30 ok, please download that file again 21:22:34 -!- miraage has joined. 21:23:15 -!- miraage has left (?). 21:24:00 ah I see why -O2 is not really useful. hehe. 21:24:01 OK, that's good. 21:24:55 -O1 still parses and creates code for every command, -O2 is better for real code, but not useful for trying to produce ASM :) 21:25:22 yes, I just saw that it combined a whole bunch of additions 21:25:27 well doesn't hurt either 21:25:54 Ahh, RISC. On SPARC32, it took two instructions to put an address in a register, on SPARC64 it takes three XD 21:26:29 (On CISCy i386 it's not even necessary since you can just load the value at the address into a register) 21:31:42 ah. sethi, or, shift, sethi, (another or? does sethi clear the upper 32 bits?) and the last 16 bits go into the load ... funny. 21:34:16 Quite extreme :) 21:35:15 I know 386 assembly quite well and I've done a little MIPS coding (well, for the SPIM MIPS simulator, actually.) 21:35:19 btw 21:35:50 Sparc seems to be close to MIPS. 21:38:20 I try to stay away from ASM in RISC whenever possible, but I've done i386 and ia64 coding. 21:38:32 That ", but" should be ";" 21:39:16 I sorta liked writing for SPIM. 21:39:29 At least you can remember the instruction set, unlike x86. 21:39:59 And it doesn't have any funny rules. "Hey, you can only input/output from the register C." 21:40:58 I'm just afraid of taking RISCs (pardon my terrible pun) 21:41:14 Not that I have anything against RISC, for RISC is excellent. 21:41:53 * {^Raven^} prefers RISC 21:43:01 {^Raven^}: For programming in or general use? 21:43:50 hi raven 21:44:44 <{^Raven^}> GregorR: both, RISC is simpler to program if there is a good orthogonal intruction set and I find that in use RISC is much more efficient 21:44:50 <{^Raven^}> calamari: hi 21:46:04 <{^Raven^}> I've only got a 202Mhz ARM based RISC machine but the speed is irrevelant compared to how useful it is 22:32:11 -!- BigZaphod has quit. 22:40:24 imho usability has nothing to do with the architecture 22:49:36 If BF was the machine code for an architecture, would it be CISC or RISC :)) 22:50:10 (Note that rather than relative or absolute addressing, said architecture would use magic addressing :P ) 22:51:01 I still want to see a 2d-language processor. Befunge, for example. 22:51:35 Or 2L *Gregor collects his shameless plug points* 22:52:26 Did you see my link for the ppc output? You dropped soon after, so I can't be sure. 22:53:35 is wierd the only 2d tarpit? 22:54:28 calamari: 2L is definitely a tarpit 22:54:37 * calamari checks it out 22:54:39 fizzie: Hmm, I don't think I did actually. 22:55:31 awesome! :) 22:55:37 http://www.befunge.org/~fis/test_ppc_osx.s 22:55:56 calamari: Why thank you 8-D 22:56:16 no i/o? 22:56:25 oops 22:56:33 * calamari needs to learn how to read again 22:56:37 Painful I/O :) 22:59:13 is there a standard for what happens on non-*+ ? 22:59:22 It's nop (hence I'm cheating) 22:59:54 yeah.. so it's three chars.. but still cool. much like wierd actually 23:00:32 Actually, there are two inaccuracies on that page. 23:00:46 It starts going down, not right. If it was going right you couldn't turn away from the edge. 23:00:47 hmm, I guess 4 chars including the newline 23:01:10 I think the newline can be ignored as an encoding entity. 23:01:48 if playfield width is specified, sure 23:04:49 Well, ideally there would be a two-dimensional file format to encode it in, but because hard disks are one-dimensional, it has to be encoded into one dimension. 23:05:41 hard disks are one dimensional? 23:05:50 I thought they were 3-d :( 23:05:51 "Conceptually." 23:05:57 -!- jix has quit (kornbluth.freenode.net irc.freenode.net). 23:05:57 -!- pgimeno has quit (kornbluth.freenode.net irc.freenode.net). 23:05:58 Heh, two-dimensional disks and rectangular files -- would be, uh, "nice" to write a file-system for that. 23:06:19 lol 23:06:21 -!- jix has joined. 23:06:21 -!- pgimeno has joined. 23:06:21 hehe 23:08:15 defragmenting would be fun :P 23:08:34 Assuming the file-system even allowed fragmentation. 23:08:48 At least you could have nifty graphical effects when defragmenting. 23:08:56 "Oooh, files are flying everywhere." 23:10:09 XD 23:10:28 hmm, there could be circular files, wiggly files ... 23:10:28 Assuming you didn't die of old age while writing the defragmenter itself. 23:10:32 the possibilities! 23:10:37 back 23:11:11 So, sorry fizzie, but it seems that gobjdump on PPC is totally worthless, so I don't think I'll be able to port it >_< 23:11:31 If I knew PPC ASM, I could use ppc-elf-as to figure it out ... but I don't. 23:11:43 Hm? (I didn't really look at the dump.) 23:12:03 It doesn't divide it into functions or show what corresponds to what code. 23:12:26 So it's just a huge chunk of unlabeled assembly in a language I don't know. 23:12:47 ppc asm? 23:12:49 I can compile-and-objdump it in linux. ELF objects might behave better than "mach-o-be" objects. 23:13:02 jix: Yeah. 23:13:15 what do you want to do with ppc asm? 23:13:18 fizzie: That makes sense, since objdump was designed (I think?) for ELFs originally. 23:13:18 "I needed to fix that dual-boot setup anyway." (Installing Tiger overwrote the linux booter.) 23:13:33 jix: I'm porting egobfc2m to numerous platforms. 23:14:12 I've only got i386 and SPARC so far, but I've big plans :P 23:14:34 creates egobfc2m binaries? or does it "jit" compiling? 23:14:48 egobfc2m is jit-ish. 23:14:54 ah 23:15:09 Have you not run egobfc2m?? It's faster than every interpreter and most compilers (when compilation time is included) 23:15:31 gregorr; btw, OS X has a corresponding proggie called "otool", which does sorta-show function start symbols, but it's really brain-dead in other ways. 23:15:41 Mainly, it doesn't show the bytes corresponding to the instructions. 23:15:54 fizzie: Making it worthless for my purposes, sadly. 23:16:12 Well, not quite worthless. 23:16:14 But nearly. 23:16:21 GregorR: re: Sparc, is that ready to be tested? 23:16:34 Well, it does show the addresses, and it can dump a undisassembled hexdump, so you can cross-reference. :p 23:16:45 GregorR: are you porting it to ppc atm? 23:16:52 int-e: Yeah, just a sec. 23:16:55 jix: Thinking about it. 23:17:24 jix, gregor said something about that just 6 minutes ago 23:17:41 just after you said 'back' 23:17:50 oh 23:18:12 int-e: http://gregorr.homelinux.org/egobf-0.7.1.tar.bz2 23:18:31 int-e: I don't actually remember more than about 2 seconds ago, you've got to constantly keep my memory refreshed ;) 23:18:41 -bash: wget: command not found 23:18:43 AAAAAAAAAAARGH :) 23:18:48 int-e: That works under qemu-sparc, so it SHOULD work. 23:18:50 XD 23:18:59 curl? lynx? 23:19:08 /usr/sfw/bin this time 23:19:11 I should really set PATH 23:19:26 what optimizations does egobf? 23:20:42 well, I had to set PATH - configure didn't find gcc ;) 23:21:10 jix: egobfi has a few, egobfc2m just compiles >>><<>>>> and+++-- into single commands and [-] into 0s. 23:21:53 and make is called gmake *clicketyclick* 23:22:10 (had to change MAKE variable in Makefile for that) 23:22:40 I think MAKE=gmake ./configure ... would have had the same effect. 23:23:13 export MAKE=gmake ; ./configure should work 23:24:53 GregorR: we should create an universal extensible highlevel bf translation language (and creat a lib) that would make compiling code and optimizing code independent 23:25:26 -!- graue has joined. 23:25:35 I'm in a meeting, I'll have to continue discussion in a whiel. 23:25:39 what's this crack about 2L's IP going down to begin with? 23:26:01 I implemented an entire interpreter and a test program thinking it started going right :( 23:26:18 transpose ? :) 23:26:41 it be 3 columns wide and 70-some lines long 23:26:47 s/it/the program would/ 23:27:16 Egh. I need a bootable CD to fix my dual-boot issue, but I just moved, all my stuff is in boxes, where am I supposed to find a cd-rw. 23:28:04 I wish my worries were that easily solved, fizzie! (go to the store and buy one) 23:28:06 floppies? 23:28:20 Floppies? This is an iBook I'm speaking of. 23:28:26 * calamari still has a 5.25" drive in his computer 23:28:32 I doubt it has even seen a floppy drive. 23:28:52 mac.. well.. theres your problem! 23:29:09 For a laptop it's surprisingly nice. 23:29:24 For the essentials (read: irc) during lectures. 23:29:30 graue: Does that actually run things? I may be thinking backwards... 23:30:44 GregorR, my interpreter actually runs programs, yes 23:30:56 OK, lemme check if I'm just an idiot. 23:31:33 I gave away my last 5.25" floppy drive, a friend had bought a http://www.jschoenfeld.de/products/catweasel_e.htm and needed the drive. 23:31:52 Actually, lemme check when I'm out of my meeting :P 23:32:44 I have an old 486 with a sorta broken case that doesn't boot that has a 5.25" floppy drive in it 23:33:10 You must have a weird time-zone. (Or a weird meeting -- perhaps your local satan-worshipping cult ritual thing?) It's 01:30am here. 23:33:27 it's 3:30 pm there 23:33:50 fizzie: 0:30am here 23:33:51 since when are time zones "weird"? 23:34:13 Obviously some time-zones are more weirdidic than others. 23:34:29 I assume there's an uncomplicated formula for the weirdness. 23:34:58 it's 3:30pm here as well 23:35:05 Prince Edwards island. 23:35:09 Something like W = difference-from-UTC. 23:35:10 Is a weird one. 23:39:00 graue: Does your interpreter run my Hello World ...? 23:39:22 haven't tried 23:39:43 where is it? I'll add it to the esolangs file archive 23:39:57 Heheh. I think you should have read my spec instead of the wiki page. 23:40:00 One sec. 23:40:51 wget http://www.befunge.org/fyb/2l/exa/HelloWorld.2l 23:40:59 befunge.org was down at the time 23:41:02 Hmm, #esoteric is not a shell, Gregor. 23:41:04 and you wrote the wiki page 23:41:12 *cough* 23:41:27 it runs it but just does nothing 23:41:28 * GregorR slinks off. 23:42:21 it's turning left at the very beginning of the program, at the first + 23:42:24 since it starts going right 23:44:01 fixed it, now your hello world freezes, unless it's just very, very slow 23:44:40 seems to have hung 23:47:54 i want to write some cool brainfuck app 23:48:01 any ideas? 23:48:13 implement SHA-256 or TIGER or WHIRLPOOL 23:48:23 haha 23:48:32 or make a program that sorts strings separated by newlines 23:48:34 no nothing that needs binary files 23:48:42 or make a program that creates a uniform random permutation of strings separated by newlines 23:48:51 -!- ditto has joined. 23:49:02 graue: hmm sorting strings seperated by newlines... 23:49:14 is bubblesort ok? 23:49:23 it's not very fun 23:49:28 how about cocktail shaker sort? 23:49:38 http://en.wikipedia.org/wiki/Cocktail_sort 23:49:39 cocktail shaker sort? 23:50:04 there's something on that article's talk page about speeding up the algorithm, as well 23:50:57 hmm something easier than sort 23:51:33 finding order statistics? 23:51:39 hmm bogosort ^^ 23:51:46 sorting numbers? 23:51:55 http://en.wikipedia.org/wiki/Bogosort 23:52:00 yeah, I've seen that 23:52:16 -!- Gs30ng has joined. 23:52:29 i completed new version of Udage spec 23:52:35 http://gs30ng.exca.net/udage/spec-en.xml 23:53:26 i should edit esolang wiki page to link this page 23:54:13 I wonder if there are any patents easy enough that you could violate them with a Brainfuck program 23:54:32 graue: isn't css patented? 23:54:42 content-scrambling-system or something like that 23:54:54 no, that was a DMCA (copyright law) issue 23:54:54 the dvd encryption... 23:54:58 oh 23:55:01 MPEG2 is patented, though 23:55:03 it's implemented in brainfuck 23:55:06 yes 23:55:08 not mpeg2 23:55:26 Gs30ng: your spec doesn't work with safari 23:56:12 oops 23:56:13 oh wow, I was just reading about that (xhtml files sent as text/html) 23:56:47 can safari parse XML? 23:56:50 http://www.hixie.ch/advocacy/xhtml 23:57:04 Gs30ng: you should make sure your server sends the page as application/xhtml+xml 23:57:39 graue: the problem is it uses xslt and i think safari doesn't support that 23:57:49 oops 23:57:58 SAFARI DOES NOT SUPPORT XSLT?!?! 23:58:15 I don't even know what XSLT is :) 23:58:31 graue: xml style sheet or something like that 23:58:31 then i need a parsed html page 23:58:32 can you implement an XSLT extension to safari in brainfuck? 23:58:38 haha 23:59:09 anyone here have XML+XSLT=HTML parser? 2005-07-28: 00:01:14 hmm safari should support xslt 00:01:40 i think it does 00:01:45 maybe it has problems with utf8 characters as xml tags 00:02:07 hmm... that makes sense 00:02:16 ok i'll change every xml tags to ascii 00:03:08 ...it is currently impossible 00:06:01 does it work now? 00:06:25 oops 00:06:37 no :( 00:06:57 now there's no utf8 character on xml file 00:07:30 if i need to delete every utf8 character even in xsl file, i'd rather find a parser to build an html file 00:07:37 don't know why it doesn't work 00:07:50 have no choice but safari? 00:08:03 i have camino (gecko based) it works there 00:08:04 like, firefox? 00:08:26 firefox' interface laggs.. 00:10:48 i have no idea about this 00:10:55 they are all UTF-8 00:11:02 and server is utf8 too 00:11:21 there should be no error from encoding/decoding 00:11:47 http://gs30ng.exca.net/udage/spec-en.xml 00:11:50 http://gs30ng.exca.net/udage/spec-ko.xml 00:11:55 both page doesn't work? 00:12:07 yes 00:12:45 no way 00:12:59 it must be a bug of safari 00:24:23 you can just view-source it 00:24:52 i structurized it easy to read 00:25:49 int-e should be noticed about this for his udage interpreter in c 00:25:58 "xsltproc" is good. 00:26:07 parser? 00:26:16 XSL style sheet parser thingie. 00:26:40 where can i get one 00:26:58 I've used it for debugging some xml+xslt things that were supposed to generate xhtml, since mozilla's xslt thing doesn't give too great error messages. 00:27:36 Debian has a "xsltproc" package. 00:27:47 I guess it _was_ xsltproc I used, hmm. 00:28:05 Yes, it was. Part of Gnome's XSLT lib. 00:28:21 lol 00:28:26 idea for a language 00:28:44 all non-alphanumeric characters are ignored 00:29:07 well 00:29:09 is it? 00:29:29 and the angle of two keys on the german keyboard decides about the instruction 00:30:03 this language is character-independant because one of design goal was that 00:30:04 hmmm ü+öä#<,.- are allowed too 00:30:30 in my client the words are broken 00:30:42 Gs30ng: encoding? 00:30:43 Gs30ng: I saw that 00:31:07 jix: yes 00:31:13 int-e: how do you feel 00:31:20 tired :P 00:32:01 jix: you still cannot read the spec page? 00:32:22 Gs30ng: yep 00:32:32 cannot view-source it? 00:32:36 using safari i can't using camino i can 00:33:03 the first thing i did after trying safari was launching it in camino and reading it.. i just wanted to inform you that it doesn't work with safari 00:33:20 i want it work with safari 00:33:27 thx 00:33:51 i'll find out some ways to fix it 00:35:24 oh, you added inderection and a very big address space, interesting 00:35:30 indirection 00:35:34 -!- ditto has quit ("Leaving"). 00:35:44 copying OISC 00:35:52 i intended turing completeness 00:36:04 yes, very big address space 00:36:28 and now operations like this is possible with limited code: 00:36:31 user inputs. 00:36:35 computer records. 00:36:41 repeat until user inputs 0. 00:37:19 it's not turing complete but it will be possible to represent any practical computation. 00:37:30 still not turing complete? 00:37:47 hmm 00:38:21 i think i chose same method of OISC so it's turing complete 00:38:33 yes, because you cannot address an unlimited memory with a finite program (a finite program mean that the address length in every AAAxxxA instruction is finite as well) 00:38:51 it's enough for all practical purposes though 00:39:00 so I'd not worry about this. 00:39:07 oh you meant that way 00:39:23 it is unable for other languages too 00:39:43 like, 1 variable cannot carry too big number or something 00:40:00 well, in brainfuck the theoretically unbounded memory is the tape 00:40:05 it's possible to address more than 2^(2^16) adressess .. 2^256 is enough for everything 00:40:15 yes. 00:40:26 enough for all practical purposes, as I said :) 00:40:29 there isn't enough energy in the universe for running ram modules that store 2^256 bytes 00:40:33 or something like that 00:40:45 very likely. 00:40:47 with 2^512 it's possible to adress every molecule in the universe... 00:40:56 or 2^256 00:41:19 you have to keep in mind that the Turing machine is an entirely theoretic construct. 00:41:30 I read that the number of atoms in the observable universe is 10^80 00:41:33 which is greater than 2^64 00:41:48 wait, I'm wrong, disregard that 00:42:14 and a language to be turing complete means that if it's run on idealized hardware (that supports arbritrary sized integers or infinite memory) you can simulate any turing machine on it. 00:42:31 graue, but 2^256 is close to that :) 00:42:34 -!- kipple has quit (Read error: 110 (Connection timed out)). 00:42:59 well 00:43:06 now i understand what int-e is talking 00:43:11 no, if a language is turing-complete that means you can simulate any turing machine on it. 00:43:19 hardware never ever comes into consideration. 00:43:32 2^(2^# of unicode chars)) should be enough for everything 00:43:34 a limited source code can only use a limited memory space 00:43:42 Gs30ng: wrong 00:43:46 Gs30ng: why? 00:43:52 ...in my lang 00:43:57 oh 00:43:59 right 00:44:04 lament: the hardware comes in at the point where I want to give the semantics of the language 00:44:05 then your language is not turing-complete 00:44:10 lament: yes 00:44:17 unless you have bignums or something 00:44:37 but can do anything that turing machine can do, currently 00:45:01 Gs30ng: wrong you can do anything that real machines can do 00:45:01 if there's some way to cram infinite amount of data into a single memory cell, you could have TC 00:45:07 the 'hardware' of a brainfuck program is an infinte tape and a pointer to the tape. they're both theoretical entities, idealized from real hardware. 00:45:47 just to clarify what I meant by 'hardware'. 00:45:54 anybody have an idea to make this lang TC? 00:46:28 why do you copy oisc anyhow? 00:46:31 it exists 00:47:08 well 00:47:10 lack of idea? 00:47:14 you could use relative addressing, relative to the last address used 00:47:32 that's similar to a tape and you need a way to specify negative offsets 00:47:49 relative addressing 00:47:57 but it will be possible to simulate brainfuck then and your language would be turing complete. 00:48:14 ok i'm gonna change all memory cells to stack 00:48:21 ...this is not good 00:48:29 not stacks 00:48:42 relative addressing is good 00:48:53 i don't actually get the idea 00:48:58 tell me more about that 00:50:00 * int-e wonders if it's possible to use an unbounded number format (they exist. 0 is represented as 1, and other numbers are represented as 1) and indirect addressing. 00:50:32 err 00:50:37 0 is represented as 0 :) 00:50:42 and it's number of bits-1 00:50:49 but the basic idea is exactly that. 00:51:20 ... 00:51:24 how do you know the number of bits of the number of bits? 00:51:26 so, 1 would be 1 0 1, 2 would be 1 101 10, 3 1 101 11, 4 1 110110 100, etc. 00:51:39 lament: recursively apply the construction 00:52:02 then how do you know when to stop? :) 00:52:15 when I find a 0 00:52:27 ah 00:52:56 so 2 would be 1 1 10 0 ? 00:52:57 parse = if getbit=0 then 0 else bits=parse; num=get_n_bits(bits) 00:53:49 i do not understand 00:54:43 ok, let me correctly specify the number (and optimize some): 0 is 0. an n-bit number <1a[1]a[2]a[3]...a[n]> is represented as 1 followed by the representation of n, followed by a[1]a[2]...a[n]. 00:54:49 That meeting drug on for WAY too damn long >:( 00:55:25 this means: 0 is 0. 1 is a 1-bit number, encoded as 1 , that is 10. 00:55:55 2 is a 2-bit number (10), and represented as 1 0, that is 1100 00:56:03 3 is 1101 00:56:24 this is too complicated. I prefer unary :) 00:56:29 4 is a 3-bit number (100) and represented as 1 <2> 00, that is 110000 00:56:34 unary works, too 00:56:53 graue: Could you give me a link to your 2L interpreter so I can debug? 00:57:04 and another easy way is to use 10 for 0, 11 for 1 and 00 for a stop symbol. 00:57:12 also, this format can't even handle transfinite numbers :) 00:57:19 you could even go ternary with this approach ;) 00:57:26 so why 4 is represented as something different 00:57:38 transfinite numbers are not necessary to achieve turing completeness 00:57:58 neither are big ones 00:58:07 very little is needed for TC :) 00:58:10 right 00:58:30 just an infinity somewhere 00:58:43 but if the idea for implementing an infinite memory is to address each cell individually, you need big numbers. 00:58:48 i really want turing himself here 00:58:58 -!- GregorR has changed nick to Turing. 00:59:08 Hi! 00:59:21 -!- Turing has changed nick to GregorR. 00:59:25 oops 00:59:29 he's gone again 00:59:46 Heheh :P 00:59:57 * Gs30ng mourns 01:00:40 there should be another way to access a memory cell... 01:01:09 both relative addressing and unbounded addressing work 01:01:12 -!- Aardwolf has quit ("Leaving"). 01:01:26 so what the hell is relative addressing 01:02:00 Rather than saying I want memory address 0x5 you say I want memory address here+0x1. That is, all addresses are based on the current location. 01:02:18 -!- calamari has quit (Connection timed out). 01:02:24 ...got it 01:02:46 where "here" could be the code pointer, or some memory pointer like in brainfuck 01:03:16 that was something i have thought! why didn't i re-get that? 01:03:52 Hmm, lemme think ... would it be Turing-complete if it was the code pointer? You still couldn't access the entire bounds of memory from any location, and hence wouldn't have infinite storage space ... 01:03:52 ok let me think about this idea more... 01:04:21 GregorR: yes I think so, too 01:04:37 GregorR: not if code is in your memory, you can modify it, and you have GOTO 01:04:48 (i.e. like on all computers) 01:05:00 nah, not all computers 01:05:07 Ahh yes, being able to modify it does rectify that, doesn't it ... 01:05:07 it's von Neumann computers only. 01:05:10 http://www.befunge.org/~fis/test_ppc_gnuWlinux.s 01:05:30 this is hard to make decision. current spec is already enough do everything that we can currently do. 01:05:46 there are computers with separated code and data memory. granted, the only example I can think of are DSPs. 01:05:49 Gs30ng: turing-completeness is not that important, really. 01:05:59 Hey now jix, that's a bright ray o' light 8-D 01:06:04 lament: i'm realizing that 01:06:32 The usual good-enough is "Turing-complete with the exception of finite storage space" 01:06:50 (So long as that finite space is enough to actually do anything) 01:07:15 SMETANA also bounds memory size by code size 01:08:00 i need something to eat now 01:08:07 somebody give me 01:08:10 I think Udage with memory retargeting is good enough 01:08:20 (as it is right now) 01:08:23 * GregorR gives Gs30ng poison^H^H^H^H^H^H candy. 01:08:39 !google ^H 01:08:44 Udage without the memory retargeting operation felt very much like Smetana and thus insufficient. 01:08:57 (for me) 01:09:15 but smetana is cool :( 01:09:23 in my point of view 01:09:27 Gs30ng: Olde UNIX joke - if yoshell doesn't allow you to delete, backspace becomes ^H 01:09:35 s/yoshell/your shell/ 01:09:55 a machine should do this: 01:10:09 user inputs, computer records, repead until user inputs 0 01:10:10 GregorR: and if it does, ^H becomes backspace 01:10:14 a machine should not run esolangs for any serious work :) 01:10:29 lament: Indeed. 01:10:41 in my point of view it is perfect 01:10:45 int-e: I agree. Perl included. 01:10:49 like... Gs30ng complete? 01:10:54 ok, and then do what with its input? 01:11:05 what input 01:11:09 Perl is a neat write-only language if you need to do some string or text processing. 01:11:11 ;) 01:11:32 Perl is not considered an esoteric language for purely historical reasons 01:11:34 personally I much prefer Python 01:11:38 Gs30ng machine input or Udage input? 01:12:04 you started to descibe a computer that takes some input until the user inputs 0 01:12:09 GregorR: YOU want to debug MY 2L interpreter?! 01:12:15 yes i did 01:12:17 if you just want to do that, you need no more than a finite state machine 01:12:28 smetana can do that 01:12:30 i'm aware of it too 01:12:35 or could if it supported input ;) 01:12:42 ...wait 01:12:46 Udage can't do that 01:12:55 infinite input and recording all of them 01:13:08 why would you record it? 01:13:18 because it is gs30ng machine 01:13:21 consider the following problem: 01:13:29 read input until EOF. 01:13:32 Print input backwards. 01:13:50 yes. that requires infinite storage 01:14:02 exactly. 01:14:15 although it can be done on a stack machine that isn't turing complete 01:14:45 graue: Umm ... yes? 01:14:53 relative addressing... i can't find proper method to do it 01:15:04 Merely because my entry on esolangs.org was borked, so I feel responsible. 01:15:12 like, if AAAxxxA then move the pointer xxx cells left? 01:15:42 yes 01:15:47 and retarget AAA to that location 01:15:53 err the switch A 01:16:07 or right? how can i decide the way? before that, does it need xxx cells? 01:16:10 esolangs with addressing are boring :) 01:16:14 The wiki page was never intended to be a spec by the way, it also doesn't fully explain +-turning. 01:16:15 too much like real assembly 01:16:20 actually you should do AAAdxxxA where d specifies the direction 01:16:36 i can just to AAAdx 01:16:57 you can just do AAAd and specify that the offset is always 1 01:16:57 d decides the direction and x decides the cells to move 01:17:15 but that feels very brainfuck-ish 01:17:28 larger offsets make it less brainfuckish. 01:17:28 then what about AAAA operation 01:17:42 now it isn't useless 01:18:00 why? 01:18:04 somebody can make a source code like AAAA 01:18:13 but it is I/O operation 01:18:24 and that's something i really don't want to be there in my lang 01:18:53 AAAA must be a useless operation to be some another operation 01:19:07 that's my design goal of the lang 01:19:49 well AAAA can be represented as BBBA with that semantics ... 01:19:59 GregorR, okay, hang on 01:20:47 am sending through DCC, can you receive those? 01:20:57 Who knows 8-D 01:21:05 I don't think so, I'm behind a firewall. 01:21:24 But actually, I would look at the bit about turning I just added to the 2L wiki page. It's becoming more like a spec every minute :P 01:21:28 it's ridiculously hot here in Korean 01:21:30 oops 01:21:33 s/Korean/Korea 01:21:45 It didn't explain how the turn worked, and the intuitive way is not the correct way. 01:22:00 http://www.oceanbase.org/graue/junk/2l.c 01:22:10 my friend wonders 01:22:14 http://www.oceanbase.org/graue/junk/a.2l <-- my A program that works if you change the starting direction in the interpreter to RIGHT 01:22:20 is befunge from the word fungi? 01:22:47 which means mushroom or something like that? 01:23:12 Well, the turns are right anyway, that's good since I didn't explain them :P 01:23:19 my friend designed a fungeoid named Versert 01:23:21 fungi does not mean mushroom, http://en.wikipedia.org/wiki/Fungus 01:23:32 oh whatever 01:23:40 is it from fungi? 01:23:43 a mushroom would be an example of a fungus 01:23:55 fungi is plural: two or more of the thing called a "fungus" 01:24:12 that's why i said mushroom "or something like that" 01:25:23 anyway befunge is named after it, right? or is it not clear? 01:25:30 I do not know 01:25:57 well 01:26:07 GregorR: I remember reading something about how "the turn is not a simple turn" because if it were, some loops would not be possible 01:26:09 a friend of mine made a fungeoid 01:26:19 and i gave him the name versert 01:26:22 Archway2 works the same way 01:26:41 beoseot means a mushroom in Korean 01:27:26 cool 01:27:34 Versert is named after it, so i wonder if befunge is really from fungi or not 01:27:48 ask cpressey 01:28:00 cpressey: why befunge is called that? 01:28:04 of course it doesn't matter that much wheter befunge is or isn't 01:28:15 oops there's cpressey here 01:28:22 hehe 01:28:39 maybe it's named after John Funge, AI pioneer: http://www.dgp.toronto.edu/~funge/ 01:28:49 oh 01:29:01 john mushroom doesn't make any sense 01:29:05 I doubt it, though 01:29:58 terrible weather 01:30:02 raining, but hot 01:30:19 hot water is falling 01:30:37 how is this possible? 01:31:45 magic 01:32:28 you did it, lament 01:32:44 could be air friction 01:32:44 hehe 01:32:48 Hot Rain. what an idea 01:33:32 relative addressing idea is good but too brainfuck-ish 01:33:54 but it probably just means that the humidity is very high so the water does not evaporate, which means it has no cooling effect 01:34:20 that's right 01:34:37 Korean summer is with really high humidity 01:34:58 hot and humid summer 01:35:03 worst 01:35:10 * int-e suggests 'has' in place of 'is with' 01:35:22 oops 01:35:28 that makes more sense 01:36:29 or maybe 'comes with' which sounds good to me, too. 01:37:38 lament: read the wiki entry 01:37:38 since turing completeness is not that important currently with my lang, i'll reserve it for someday 01:38:04 RTFM thing 01:39:52 The word "Befunge" started life as a typographical error for the word "before", typed by Curtis Coleman at 4AM on a BBS chat system. 01:39:55 aw 01:41:46 GregorR: I'm not sure if my unbounded pointers stored in memory idea really makes the beast Turing complete. I can only address a finite memory directly, to address more I need to introduce a level of indirection. In fact, I need an unbounded level of indirection to address an unbounded memory and I can't convince myself right now that this is possible with a finite program. A linked list representation between the indirection pointers may wor 01:41:47 k, though. 01:42:38 it's certainly food for thought 01:45:47 GregorR: ah that should have been targeted for lament. 01:45:53 err at 01:46:25 should conversation be esoteric too? 01:47:58 * int-e doesn't know that. 01:49:16 syntax highlighting of this lang would be easy 01:50:15 actually i thought about 'udage list' concepts or something 01:50:19 to make it TC 01:52:10 hmm 01:52:19 i can make an operation in an operation 01:52:34 like, AAA starts, then A concludes 01:52:49 between them all kind of udages can come 01:53:35 operation could come 01:54:31 jix: what happened to XUML? 01:54:47 so, between AAA and A, a loop operation could come 01:55:33 graue: never completed it because there was a bug in the converter or interpreter or even concept that i couldn't find 01:56:14 and when a loop operation comes, each values that made by loop is stored as a value of that 2^16 thing 01:56:15 jix: that sucks 01:56:23 jix: ever plan to come back to it, or release what you have? 01:56:28 no 01:56:32 !@# 01:56:39 because nothing works as it should 01:57:04 so we can make it to indicate no. infinite memory cell 01:57:17 GregorR: with regard to 2L, when you say "The action is undefined when the pointer goes over the right or bottom edge", is this after expanding each line rightwards to make the code area rectangular? 01:57:24 GregorR: or is no extending of lines done? 01:57:25 ...this is interesting 01:59:20 so operation can be between AAA and A 01:59:27 GregorR: my a.2l works in my fixed 2L interpreter provided you replace the * in the top left corner with a nop 01:59:34 GregorR: does it work in your interpreter if you do that? 01:59:35 and if operation changes some value 01:59:45 then original values are stored first 01:59:59 and then modified values are stored right next to it 02:00:27 int-e, what do you think about this 02:00:52 with this Udage is TC, also 02:02:13 I don't understand what you're trying to do. what would AAABCA do? 02:02:34 same thing it have been doing 02:03:17 i mean a code like this: FAAAFBCCDEFA 02:03:33 CCDEF is identified as an operation 02:04:28 (FB isn't) 02:04:48 GregorR: oh, it's waiting for a character for some reason 02:04:50 so it will jump to backward F again and again 02:04:57 GregorR: your helloworld.2l changes TL1 when TL0 is 0 02:05:14 oops 02:05:19 my mistake 02:05:36 the code should be like FDEAAAFBCDEFA 02:05:42 D and E should be 1 02:06:39 GregorR: your program works, it's just that it prompts me for a character, prints it 8 times, prints a bunch of newlines, prompts me for a character again, prints it 11 times along with a bunch more newlines, prompts me for a character again, prints that 11 times, then ends 02:06:45 oops 02:06:48 mistake again 02:06:55 FDEAAAFBCCDEFA 02:07:09 where can i read about udage? 02:07:20 see wiki 02:07:26 there's url 02:07:29 GregorR: also it ends by going off the bottom (cell 35, 146 is executed last), so it will invoke undefined behavior in a conformant implementation 02:07:45 lament: http://gs30ng.exca.net/udage/spec-en.xml 02:07:54 anyway it jumps again and again, A will indicate no. 10(because of F and B)0000000000000000000000...(C gets 0 endlessly) 02:08:32 GregorR: trace of execution of 02:08:44 GregorR: HelloWorld.2l is at http://www.oceanbase.org/graue/junk/errors.txt 02:10:44 GregorR: I got that by running this and redirecting stderr: http://www.oceanbase.org/graue/junk/2ldebug.c 02:10:53 Gs30ng: Udage is a bounded-storage machine; see http://www.esolangs.org/wiki/Bounded-storage_machine (just like C, apparently) 02:11:17 yes 02:11:23 but it is big enough, i think 02:11:38 I think so too 02:12:10 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 02:12:32 there could be some attempts to make this lang TC 02:12:36 like, Udageoid? 02:13:12 it does not need to be TC; beware of the Turing tar-pit in which everything is possible but nothing of interest is easy. 02:13:13 but right now i don't feel any necessity to change the spec 02:13:35 i love the Turing tarpit 02:13:48 one of Udage design goal was that 02:14:58 the problem with Udage is that absolute addressing makes it impossible 02:15:19 but i gave up that because all good turing tarpits are already there 02:15:23 pgimeno: right 02:16:44 is there any wiki space for sample Udage codes? 02:17:09 it's outside the wiki itself, see http://www.esolangs.org/files/ 02:17:28 pgimeno: but still you can handle more than 2^256 bits 02:17:53 although it's really hard to do so :( 02:18:12 Turing completeness requires an unbounded tape, i.e. a tape with no upper limit at all 02:18:36 -!- Wrrrtbt has joined. 02:18:45 -!- int-e has quit (Read error: 145 (Connection timed out)). 02:18:51 -!- Wrrrtbt has changed nick to int-e. 02:20:46 re 02:21:04 er 02:23:57 hm 02:24:02 how come there's no Trigger implementation? 02:24:09 there is ;) 02:24:44 http://www.inf.tu-dresden.de/~bf3/trigger.c (well, it has this limitation on 1MB program size but it should do for some experiments) 02:25:32 i think i should make an interpreter of Udage by myself 02:25:56 it sounds ridiculous that i can design a lang but cannot make an interpreter for it 02:29:45 let me warn you that the addition of retargeting has made that task nontrivial, because your memory can be sparse, that is, it's trivial to write a program that accesses just a few memory cells that are, say, 2^128 locations away from each other. 02:31:04 is it dangerous? 02:31:14 no 02:31:54 But it's hard to handle this gracefully instead of just failing to execute such a program. 02:32:24 for easy coding we can use cells like 02:32:33 1, 2, 4, 8, 16, ... 02:33:15 and cells like 3, 5, 6, 7 are empty forever 02:33:16 :( 02:34:18 ok int-e, question again 02:34:27 if i make AAA operation like this: 02:35:11 AAAd, if d is 0 then A indicates the cell (cur+1) and if d is 1 then A indicates the cell (cur-1) 02:35:33 then Udage is TC? 02:36:45 -!- int-e has quit ("Bye!"). 02:36:46 -!- int-e has joined. 02:36:52 g'nite 02:36:58 grr. my network is flaky, stupid ISP :( 02:37:03 good night 02:37:12 jix is up early (like me) 02:37:16 int-e, then did you saw my question? 02:37:37 no, last I saw was [03:33:57] for easy coding we can use cells like 02:37:40 at here it's 10 o'clock AM 02:37:49 [10:33:29] for easy coding we can use cells like 02:37:49 [10:33:38] 1, 2, 4, 8, 16, ... 02:37:49 [10:34:20] and cells like 3, 5, 6, 7 are empty forever 02:37:49 [10:34:21] :( 02:37:49 [10:35:22] ok int-e, question again 02:37:49 [10:35:32] if i make AAA operation like this: 02:37:51 [10:36:16] AAAd, if d is 0 then A indicates the cell (cur+1) and if d is 1 then A indicates the cell (cur-1) 02:37:54 [10:36:37] then Udage is TC? 02:38:31 if AAAd also changes cur (to cur+1 or cur-1), then yes. if it doesn't change cur, then no 02:39:10 cur is it's own cur 02:39:13 A's own cur 02:39:43 A indicates 1, and AAAd, if d is 0, now A indicates 2 02:39:46 A indicates 2, and AAAd, if d is 0, now A indicates 3 02:39:56 oh 02:40:10 that's another possibility. 02:40:25 that means you have a tape and 65536 independent pointers to it 02:40:44 that makes it turing complete as well. 02:40:58 actually i don't like tapes 02:41:19 and int-e, then what was your plan 02:41:34 you supposed only one pointer? 02:42:00 I actually like your idea better because it's less like brainfuck 02:42:16 -!- jix has left (?). 02:42:16 oh thanks 02:44:05 what if a udage points 0 (itself) and i do (cur-1) 02:44:24 should i suppose no. negative memory cells? 02:44:39 or can i do something different? 02:51:02 and BTW, does this lang deserves to be on topic of this channel? 02:51:02 that's up to you 02:51:26 then i'll make it to choose random memory cell 02:51:43 ...wait. the range is infinite. it's impossible 02:51:46 it's an esoteric programming languages channel, of course it's on topic 02:51:51 na, it's possible 02:52:01 there just isn't a uniform distribution 02:52:28 but you could choose memory cell 0 with probability 1/2, 1 with 1/4, 2 with 1/8 and so on - to give an example. 02:52:58 ok then 02:53:28 i'll make it to choose random udage and have same indication value 02:54:23 then the range is finite and uniform distribution is possible 02:54:34 * GregorR begins work on egobch. 02:54:47 ..still 0 has priority in many case 02:55:50 i think there could be no. negative memory cells but they are not necessary.... 02:56:18 i can add something really advances all things... 02:58:48 too bad languages working with bits are such a pain to actually write programs in 02:59:54 it's true but i love bits 03:03:41 even kayak, which had such an awesome concept, lies unused 03:04:20 hhheeehhh......... 03:12:57 * Gs30ng thinks. 03:13:44 * Gs30ng can't find the way to rationalize the use of AAAA operation when AAA operations takes only 1 operand. 03:14:06 -!- graue has joined. 03:21:20 -!- Gs30ng has quit ("for foods"). 03:22:23 lament: I did a merge sort in Kayak once 03:31:45 http://www.inf.tu-dresden.de/~bf3/sort3.kayak 03:32:08 good night 03:37:50 -!- int-e has quit ("Bye!"). 03:48:07 Yay, I just wrote a program that outputs 'a' in BitChanger 8-D 03:48:21 More importantly, I wrote a bitchanger interpreter :P 04:03:22 feel like writing a program in an esolang that violates US patent #4,872,009? 04:03:34 (see http://www.faqs.org/faqs/compression-faq/part1/section-7.html) 04:10:00 Either my BitChanger interpreter is screwy, or the Brainfuck->Bitchanger stuff on the wiki is wrong >_< 04:27:05 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 04:29:50 -!- graue has joined. 04:30:01 GregorR: "If it was going right you couldn't turn away from the edge." is not true, look at a.2l 04:30:15 GregorR: also, look at my comments on HelloWorld.2l earlier 04:30:20 -!- graue has left (?). 04:30:24 Yeah, y------. 04:30:26 Hmm. 04:56:26 -!- BigZaphod has joined. 05:12:42 graue: I'm apparently the worst spec-writer ever. 05:12:59 graue: My implementation had up as < and down as > 06:03:49 -!- graue has joined. 06:04:03 GregorR, I demand that you change your implementation and your hello world program so I don't have to do anything 06:04:15 good evening 06:04:16 -!- graue has quit (Client Quit). 06:04:26 Gah, why does graue do that XD 06:04:38 Sadly, that's not even a totally unreasonable request XD 06:06:20 -!- graue has joined. 06:06:29 by the way, the link to the fyb interpreter at www.befunge.org/fyb/fyb/ is broken 06:06:30 -!- graue has quit (Client Quit). 06:09:33 Fixed. Thanks for pointing that out. 06:39:49 -!- BigZaphod has quit. 07:01:56 Ohh, I just love the morning sunshine when I have no curtains at all in the bedroom. (Read: agghhh the sunlight noo I'm burning.) 07:13:49 -!- tokigun has joined. 07:21:37 -!- BigZaphod has joined. 07:28:53 -!- klutzy has quit ("Oops I closed program by mistake"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:11:10 -!- lament has quit (Remote closed the connection). 08:13:50 -!- lament has joined. 08:19:01 -!- lament has quit (Remote closed the connection). 08:29:16 -!- lament has joined. 12:41:49 -!- Fedo1a has changed nick to reffina. 12:47:22 -!- reffina has changed nick to yrz\werk. 13:02:25 -!- jix has joined. 13:09:05 moin 13:09:31 HELO 13:23:53 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 14:26:12 -!- Aardwolf has joined. 14:26:49 -!- int-e has joined. 14:30:09 moin 14:30:49 good afternoon 14:51:30 -!- int-e has quit ("Client exiting"). 14:51:33 -!- int-e has joined. 16:06:52 -!- int-e has quit (kornbluth.freenode.net irc.freenode.net). 16:06:53 -!- cpressey has quit (kornbluth.freenode.net irc.freenode.net). 16:08:04 -!- cpressey has joined. 16:22:39 -!- int-e has joined. 16:22:53 -!- int-e has quit (Read error: 60 (Operation timed out)). 16:28:30 -!- int-e has joined. 16:30:18 -!- cmeme has joined. 16:30:33 -!- cmeme has quit (Remote closed the connection). 16:31:20 -!- cmeme has joined. 16:32:25 Hey, cmeme is back. 16:32:32 Felt like logging again, cmeme? :) 16:38:17 -!- int-e has quit (kornbluth.freenode.net irc.freenode.net). 16:38:30 -!- int-e has joined. 17:12:22 <{^Raven^}> hi all, anyone entering the 2k game compo should check out the rules again as they have changed. 17:13:54 url? 17:27:31 -!- BigZaphod has quit. 17:34:33 lindi-: http://www.geocities.com/dunric/advcomp.html 17:36:59 Who wrote the BF->BitChanger conversions on the wiki? 18:04:22 {^Raven^}: i don't see what's changed? 18:04:30 GregorR: probably calamari 18:10:32 I think there might be something wrong with the insanely complex [. 18:10:38 (Or my BChI) 18:11:08 -!- BigZaphod has joined. 18:15:06 GregorR: where's that conversion? 18:26:33 -!- Aardwolf has quit ("Leaving"). 18:31:52 Oh, found it. 18:41:52 yep, that [ implementation smells fishy 18:50:14 Maybe I should publish EgoBCh without EgoBF2BCh 19:08:24 -!- calamari has joined. 19:08:29 hi 19:09:04 -!- int-e has quit ("Client exiting"). 19:09:59 calamari, is that your [ in the BF->BitChanger conversion chart on the wiki? 19:11:05 -!- int-e has joined. 19:11:30 GregorR: I think I write the conversions, yeah.. but I had no interpreter to tets them with 19:11:39 are they messed up? 19:11:45 Everything works except for [ 19:11:58 I'm working on that 19:12:06 So overall, good job, but egobf2bch doesn't work ;) 19:12:15 hehe 19:12:28 I've seen better versions of [ online anyhow 19:13:32 int-e quite nearly got one, but it turned into if. 19:14:01 yep, because translating ] into ] cannot work 19:14:35 yeah.. not quite sure what I was thinking with that 19:14:47 actually wait.. yeah 19:15:04 ]=] should be fine.. 19:15:14 it just makes [ more complicated 19:15:50 but, I use the ] = jmp.. rather that some impl that do a conditional at most ends 19:16:04 both ends 19:16:24 blah.. can't form coherent sentences this morning, sorry 19:16:33 it still jumps to the wrong point with your code ;) 19:17:04 hehe, I wouldn't doubt it 19:17:20 I can put it on the debugger and fix it 19:18:50 hahaha.. that code scares me, and I wrote it! :( 19:19:07 it's not too difficult 19:19:09 hehe 19:20:31 and I can see how to shorten it quite a bit. but let me get that version to work first. 19:29:41 Here's the moment you've all been waiting for ... 19:29:48 The first implementation of BitChanger ... 19:29:59 The thing that lets us switch the category ... 19:30:07 http://www.codu.org/egobch-0.1.tar.bz2 19:30:27 Totally unoptimizing btw. 19:31:42 graue: Could you add that to the files archive at some point? Thanks :) 19:33:42 ok, updated the wiki (BF_instruction_minimalization) 19:34:08 now for that short version. 19:38:23 -!- kipple has joined. 20:05:05 I've added that short version to the wiki. 20:05:30 hi kipple 20:05:46 cool! 20:05:49 * calamari tests it :) 20:07:48 something seems wrong 20:08:03 doesn't enter the loop 20:08:11 I had the cell=5 (101) 20:08:39 works for me .. let me compare the code I put into the wiki with the one I actually use 20:10:12 this is the one I'm testing @[>>>>>>>>@[<@]>[>]<<<<<<<<<[@]>>>>>>>>[<]@>[@>]<<<<<<<<<@[@ 20:11:40 yes 20:11:46 that is correct 20:12:16 I apologize, it was my error 20:12:28 was running in 8-bit mode 20:12:29 I have a typo in the bitchanger ] code - missing the first character 20:14:01 fixed, too 20:20:48 anyone remember the name of the bf-like language that uses ; ? 20:21:24 aha.. boolF... 20:25:33 any reason to keep the large versions? gonna scrap those 20:26:44 I don't care 20:27:59 done 20:28:07 thanks.. cool stuff :) 21:15:52 -!- calamari_ has joined. 21:15:54 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 21:26:03 -!- calamari_ has changed nick to calamari. 21:26:13 re's 21:30:44 * GregorR REciprocates. 21:30:48 -!- int-e has quit (Remote closed the connection). 21:31:19 -!- int-e has joined. 21:31:33 if (msg[0] == 'R' && msg[1] == 'E') exit(1); 21:32:15 re's = regards :) 21:32:31 re 21:32:32 but also, re-hello 21:32:34 :P 21:32:48 so "hello again" :) 21:33:28 I was REciprocating your REgards. 21:33:34 ;) 22:27:25 So jix, are you going to update those benchmarks at any point? 22:27:34 (Or have you already and I just haven't seen the new results) 22:58:00 i'm going to update them tomorrow 23:17:48 Muahahahaha ... BWAHAHAHAHA ... GAAAAAAAAAAAHAHAHAHAHAHAHAHAH!!!!!!!!!!!! 23:18:30 If they're arranged by compile + run time rather than just run time, I look forward to seeing egobfc2m in slot #1 :) 23:19:28 BF debugger 1.30 released.. http://kidsquid.com/programs/bf 23:19:49 bunch of new features, bugfixes, added 1-bit and EOF modes 23:19:55 GregorR: they are arranged by runtime 23:25:54 Aww, then egobfc2m will be a bit below some compilers. 23:29:43 below bf2a? 23:30:01 Idonno, let's give it a shot. One sec. 23:30:32 i don't sort by compiletime + run time because some compilers depend on external tools like gcc 23:40:10 But that gcc runtime is still significant, even if it may change between gcc versions or different CCs. Wouldn't it be fair so long as you used the same compilation suite across compilers? 23:40:42 Hmm, I can't find bf2a ... 23:41:41 www.harderweb.de/jix/langs/brainfuck/bf2a.rb should work 23:41:54 generates c file 23:43:45 well, if you want to use a program like, say, "Let's take a look at some primes" or "What was the complete lyrics of 99 bottles of beer, again?", you usually keep compiled versions of the programs, so the compilation time should not be taken into account 23:45:30 The purpose though is to benchmark the compiler. Part of that benchmarking is the speed of compiled programs, but we're not benchmarking the speed of compiled programs, we're benchmarking compilers. 23:46:32 in that case a BF frontend for gcc would be the proper test IMO 23:46:49 but than you can't compare interpreters with compilers 23:49:05 anyway, GregorR, I was just kidding; I like the idea of having a kind-of-JIT for BF 23:50:34 there was a C (or similar language) compiler which did something alike, what was the name? 23:52:29 bf2a compiled binaries are slightly faster, but with compilation time it loses. 23:52:44 ah, TCC was it by Fabrice Bellard, http://fabrice.bellard.free.fr/ 23:53:12 Ah yes, TCC = excellent 23:53:24 TCCBOOT = awesome for stupid Gentoo users :P 23:53:31 GregorR: it's because gcc is slow 23:53:45 jix: Yes, yes it is >:) 23:53:59 i'd like to combine my optimizations with your jit-a-like interpreter 23:54:31 ruby BF->C optimizations ported to a C BF->machine code compiler. 23:54:37 That sounds sort of like dying. 23:54:40 :P 23:55:21 it's a ruby BF->Intermediate-language-suitable-for-direct-compiling and a Intemediata-language->C converter 23:55:56 Ahhhhhhhhhhhhhhhh 23:56:05 q: what about using TCC for the test? 23:56:16 Well, the only optimizations I've got are >>>>>>>>>>>>>>>>>><>>>>>>> ++++++++++-------+++ and [-] 23:56:57 no [--------->+<] *g*? 23:57:12 Not in egobfc2m 23:57:30 i'm using my ultra-cool^^ lookuptables for that kind of loops 23:58:56 Maybe I'll make the worlds slowest-without-just-cheating interpreter. 23:59:38 BF->intermediate language BitChanger->interpreted intermediate language->C->gcc->run 2005-07-29: 00:00:04 mandelbrot.b: 1 hr 25 min 33.27 sec 00:00:10 :P 00:04:10 wee 00:04:15 well at least it works :) 00:04:57 Oh, and I would represent bits as uint64_t's. 00:05:11 no use gmp's bignums 00:05:29 and use dynamic linking (for gmp) 00:06:12 hmm, they are hard to use, I prefer gmpxx and their mpz_class 00:06:14 Runtime dynamic linking. 00:06:22 ohohoh! use gmp'floats 00:06:45 with 1 bit sign, 100 bit exponent and 200bit value 00:06:49 well, use Javas bignum through JNI ... err. sorry. 00:06:56 I find mpz's quite comfortable though 00:07:09 use ruby! 00:07:20 the overhead for a method call is big 00:07:24 (it's called BigInteger and they implement it completely in Java.) 00:07:26 Awesome. 00:07:40 I've been thinking about writing a BF interpreter with unlimited cell size 00:07:51 because ruby has to lookup the + method of Integer with every call because one can redefine the + method of Integer 00:07:55 pgimeno: Choose-at-runtime or bignum? 00:08:02 bignum 00:08:38 jix: they don't implement any cache and invalidate scheme there? 00:08:58 int-e: dunno.. ruby is fast enough for many things 00:09:14 (I don't know ruby, so work with me for this joke:) 00:09:23 int operator+(int a, int b) return a + b; 00:10:32 hmm. that's an infinite loop if your compiler does tail call elimination ... 00:11:06 or that's how I'd read it 00:11:15 I'm not sure what language that is. 00:13:57 <{^Raven^}> jix: nice proggy 00:14:06 -!- BigZaphod has quit. 00:22:29 int-e: Yeah, and it's pseudo-C++ish, though proper C++ would look like so: 00:22:47 int operator+(int b) { return val + b.val; } 00:22:50 Or somesuch. 00:27:09 nah. int operator+(int a, int b) { return a+b; } ... if that were possible. 00:27:40 foo.cc:1: error: `int operator+(int, int)' must have an argument of class or 00:27:40 enumerated type 00:27:41 ;) 00:28:13 (that is, a user defined type must be used in overloaded operators) 00:29:15 as an argument. but there's no requirement to make the overloaded operator a member of a class. 00:29:42 grrr. http://www.math.umd.edu/%7Edcarrera/ruby/0.3/chp_02/tips.html 00:30:09 even more important than commenting your code is that the comments are actually correct. 00:30:42 And the code *actually* finds the smallest power of 2 larger or equal to 10_000. 00:38:56 Ruby is an interesting mix, it borrows features from Perl, a bit Pascal, and SmallTalk ... 00:39:16 and probably others but these I recognized. 00:45:24 ruby is cool 00:46:00 Yes, of course you can't override int XD 00:50:10 I haven't overloaded operators in C++ in a while, didn't remember quite what it looked like *shrugs* 00:50:10 struct t { }; 00:50:10 t operator+(t a, t b) { return a+b; } 00:50:10 main() { t a, b; a+b; } 00:50:13 is valid :) 00:50:34 struct == class in C++ 00:50:40 I know 00:51:00 What would that return :P 00:51:02 and the program produces a stack overflow, as expected. 00:51:07 Of course. 00:51:34 So + = the stack overflow operator. 00:52:36 -!- BigZaphod has joined. 01:01:48 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:06:40 bye 01:06:43 -!- int-e has quit (Remote closed the connection). 01:12:53 -!- calamari has quit ("Leaving"). 01:28:35 -!- graue has joined. 01:45:32 -!- int-e has joined. 01:45:41 re 01:49:24 re 02:08:38 -!- calamari has joined. 02:08:51 hi 02:24:55 good day calamari 02:25:01 bfdebug was updated recently, you say? 02:25:05 what's new with this version? 02:25:49 -!- {^Raven^} has quit (Read error: 110 (Connection timed out)). 02:31:14 graue: a few things, about to release 1.40 too, added a couple more features 02:31:34 I can paste the changelogs to you in private message if you'd like 02:35:28 okay, 1.40 is up 02:37:43 -!- Gs30ng has joined. 02:37:59 graue: the main highlights: can save output to file, eof choices, 1-bit cell support, including }@* instructions, "block comments", fast run, interactive input, input echo 02:38:17 and bugfixes :) 02:48:41 -!- Gs30ng_ has joined. 02:51:51 graue: Would you mind adding EgoBCh to the files archive? ( http://www.codu.org/egobch-0.1.tar.bz2 ) 02:52:43 Hmm, and also, 0.7.1 was a development release, probably shouldn't be in the archive. 02:53:49 GregorR: I did 02:54:06 graue: There doesn't seem to be a bitchanger directory ... 02:54:24 Oh, there it is. 02:54:27 Refresh, Gregor. 02:54:36 Coolio, thanks. 02:55:25 http://www.esolangs.org/svn/esofiles/ updates sooner (or use the actual svn repository) 03:06:56 -!- Gs30ng has quit (Read error: 110 (Connection timed out)). 03:25:05 -!- kipple has quit (Read error: 110 (Connection timed out)). 03:54:35 -!- Gs30ng_ has changed nick to Gs30ng. 03:56:31 -!- int-e has quit ("Bye!"). 04:42:11 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 05:29:54 -!- calamari has quit ("Leaving"). 06:08:53 -!- GregorR_ has joined. 06:08:53 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 06:08:55 -!- GregorR_ has changed nick to GregorR. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:11:38 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 09:12:59 -!- pgimeno has joined. 10:51:16 -!- kipple has joined. 10:52:50 -!- tokigun has joined. 11:00:06 -!- int-e has joined. 11:41:48 oh, not that + and - signs again 12:12:39 puzzlet: you don't like brainfuck? 12:12:53 no, it's about IRC proxy 12:13:19 when anyone other than me talks, + and - signs appear 12:13:23 like +puzzlet: you don't like brainfuck? 12:13:39 -ACTION blah 12:13:57 oh. that's nasty, right, it destroys CTCP messages. 12:38:39 int-e: if there is "\x01...\x01" block, it will be CTCP message always. + and - sign doesn't affect the message. 12:40:47 tokigun, CTCP me 12:41:00 hmm 12:41:04 tokigun: oops. thank you for the correction 12:41:14 * tokigun blahblah 12:41:19 +ACTION blahblah 12:41:24 int-e: :) 12:41:32 puzzlet: wait a moment... 12:42:08 yeah, CTCP woks fine 12:42:14 :S 12:42:35 +:S 12:42:41 emoticons don't work 12:42:48 hmm 12:42:58 :-) 12:42:59 :-( 12:43:01 ;) 12:44:31 puzzlet: are you using irssi proxy? 12:45:08 yes 12:45:47 both freenode and hanirc? 12:46:07 yes 12:46:27 then... hanirc proxy works well? 12:46:48 yes 12:46:55 ... :S 12:47:18 -!- grimace_ has joined. 13:12:12 somebody decided to make an Udage interpreter in Befunge 13:12:52 s/an/a (Udage: ju-) 13:23:01 -!- jix has joined. 14:04:08 impressive 14:05:48 moin 14:07:28 Gs30ng: sorry, i missed it. any url? 14:15:19 mtve: tokigun told me to do that, and currently nothing's unveiled. 14:15:30 ah :) 14:17:32 actually, tokigun told him *tokigun* is going to do that 14:18:07 eh? 14:24:36 oops 14:24:39 stupid mistake 14:25:27 ok i don't even heard about befunge 14:25:41 well, actually i have heard about it but don't know what it is 14:25:49 you know aheui 14:25:58 ...ok, i know how it work but i can't make any code with it 14:26:29 ...fine, i have made a code in befunge 14:26:38 ......i made an OS in funge-98 14:27:38 * puzzlet tries to escape from Gs30ng 14:28:07 tokigun is working on his Udage interpreter in Befunge 14:28:15 ... 14:28:17 it's not true 14:28:35 let's give him a big trout to eat 14:28:54 tokigun: you lied?! 14:29:03 he doesn't like fish 14:29:14 Gs30ng, that's what you have to know 14:29:15 that's why we give him it 14:29:16 about him 14:29:30 do i? 14:29:32 why? 14:29:56 why should i know what he hates? 14:30:11 it was a joke 14:30:29 it's not true 14:31:11 puzzlet, you want me to marry him, right? 14:31:21 i know the truth 14:32:10 as long as i know your taste 14:33:50 * Gs30ng swings his hand to drive away mosquitos 16:32:05 -!- Gs30ng has quit (Read error: 104 (Connection reset by peer)). 17:01:57 -!- grimace_ has left (?). 17:24:53 -!- BigZaphod has quit. 17:33:45 -!- calamari has joined. 17:34:04 hi 18:00:56 -!- BigZaphod has joined. 18:08:29 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 18:08:32 -!- puzzlet has joined. 18:19:13 -!- tokigun has quit (Read error: 110 (Connection timed out)). 18:27:16 -!- ZeroOne has joined. 19:55:28 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 20:14:42 -!- graue has joined. 20:15:08 GregorR: I added a #define to my 2L interpreter to mimic your interpreter's incorrect up/down swap, but HelloWorld still doesn't work 20:15:44 it prints 'H', 173, 25, 133, 244, then freezes 20:19:08 -!- {^Raven^} has joined. 20:19:15 <{^Raven^}> hi peeps 20:20:31 hi raven 20:44:03 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 20:44:28 -!- comet_11 has joined. 20:54:08 -!- jix has joined. 20:57:35 -!- comet_11 has quit (Read error: 104 (Connection reset by peer)). 20:59:00 -!- comet_11 has joined. 21:15:27 raven: how's your game going? 21:34:21 <{^Raven^}> pretty good 21:34:40 <{^Raven^}> still got loads more to do tho 21:34:45 yeah, me too 21:34:53 <{^Raven^}> how's your game coming? 21:35:34 it's going okay. I've been trying to do some of the descriptive writing, but that is very challenging for me.. I don't have a very large writing vocabulary. 21:36:33 so it's taking more time than I'd like, because it needs to be concise yet get the right feeling across 21:37:25 If I could join the contest without writing any story, I would :P 21:37:33 An engine-only version XD 21:37:37 <{^Raven^}> i find descriptive writing difficult too unless i'm inspired. i reckon all the programming has depleted my flair for english 21:37:44 also need to work out the data structures for my game.. I had things worked out, but it was a bad design 21:39:29 so atm, you can move around but not do anything :) 21:40:35 <{^Raven^}> i was blocked by a bad data structure too. My present scheme takes little code to read and decode (280 bytes) and is easy on the data file size 21:41:04 <{^Raven^}> in mine there are only a few places to go but you can do a lot whilst you're there 21:41:05 What languages are yours' in? 21:41:24 8088 asm (using ms-dos system calls) 21:41:30 <{^Raven^}> mine is in BBC BASIC 21:42:06 <{^Raven^}> (using only built in functionality and no external code) 21:42:28 Hum 21:42:58 If anybody wants music for their game which is too small to possibly support music ... look me up :P 21:43:05 ot: me is learning how to use rails now... 21:43:41 external code would be cheating anyways, right? 21:44:06 * GregorR links to libGenericGameEngine 21:44:22 if you just do it and tell noone about it no one would note it... 21:44:35 but now.. we know ;) 21:44:38 <{^Raven^}> definately, i could plug in to the Windows API and cheat but that would ruin it for me. 21:44:56 I suppose I could write fairly brief input and output routines (since that's all I'm really using from dos), but why bother when it's already written, standard and available hehe 21:45:24 Write it as an OS kernel >:) 21:45:42 (minus the OS, really) 21:45:47 not a problem 21:45:54 <{^Raven^}> i would use the BIOS functions if I was writing in ASM 21:46:47 bios functions are very lame though, from a space standpoint.. have to set a lot of registers for even simpel tasks, so that wastes rom space 21:47:03 rom space? 21:47:10 might as well keep a pointer into screen memory, it'd be smaller 21:47:19 ROM space? 21:47:30 * calamari says something else, just to annoy jix 21:48:07 :) rom.. program size, game size, etc 21:48:16 New esoteric programming language: HG. If you use the 'H' command it says 'Hello World', if you use the 'G' command it plays a console text-based game with the user using the data file 'hg.dat' 21:48:44 Shortest console game: G 21:48:55 1 byte, woooh! 21:49:23 is using inform == cheating? 21:49:26 <{^Raven^}> I reckon this year, unlike before. my data compression program will be much larger than the game 21:49:32 hq9+ already does that ;) 21:49:49 jix: nope 21:49:52 hmm 21:49:57 but that's too easy 21:49:59 <{^Raven^}> inform is not cheating but you'll have to submit as source code as the compiled code will be way to large 21:49:59 jix: at least according to the rules of the contest 21:50:21 <{^Raven^}> calamari: in a usenet post PAP said TADS/Inform were okay 21:50:31 raven: yeah, exactly 21:51:01 I didn't notice the changes you mentioned the other day tho 21:51:03 <{^Raven^}> a bad idea and i don't believe it's possible to write anything interesting in such small source space 21:51:09 everything seemed the same to me 21:51:37 to mee too 21:51:45 what is different? 21:51:48 <{^Raven^}> yeah, he posted that he'd made lots of changes like a larger source size but there was no difference in reality 21:52:21 ahh that changes are ooold 21:52:26 <{^Raven^}> he's removed the ' give or take a few hundred bytes ' and the conflicting absolute maximum sizes 21:52:36 oh that arn't 21:52:58 <{^Raven^}> jix: made two days ago, the last one at my request 21:53:05 I don't have the page here at school.. is it still 2799 and 2899 ? 21:53:16 <{^Raven^}> yeah 21:53:18 ok 21:53:49 I'm not sure I'll be using any compression.. I'll just have to see how far the 8k takes me 21:53:50 2899 and 2899 21:54:05 i wan't to write a game in assembly too 21:54:17 but i don't know any asm good enough for writing a game in it 21:54:22 <{^Raven^}> he's the only programmer I know that uses SI units for bits and bytes, aka 8.192k for the data file meaning 8192 bytes 21:55:04 SI? factor 1000 instead of 1024? 21:55:07 Rather than 8KiB or just 8K? 21:55:14 <{^Raven^}> jix: yeah 21:55:24 jix: SI sez: Kilibits is factor of 1024, kilobits is factor of 1000 21:55:26 well, the guy has serious issues.. but I'm having fun writing this game anyhow, so it doesn't matter much 21:55:32 hmm maybe he works for a hard disk drive manufacturer 21:55:37 muhahaha 21:55:45 int-e: AHAHAHAHAHAHAHA XD 21:55:51 windows uses factor 1000 21:56:01 Why is my 200gig hard disk only 189gig?! 21:56:05 afaol 21:56:06 windows is written for clueless people 21:56:08 afaik 21:57:02 <{^Raven^}> Windows only makes up for 1/3 of my computing 21:57:25 GNU does it too, as an option: du -H (or -si): -H, --si Do the same as for -h [human readable], but use the official SI units (with powers of 1000 instead of 1024, so that M stands for 1000000 instead of 1048576). (New in fileutils-4.0.) 21:57:25 i don't use windows at all 21:57:49 anyway: I think Windows uses is so the people don't complain to the vendors that there hard drives are too small 21:58:04 * {^Raven^} uses 3 different OSs simultaneously all the time 21:58:35 i'm using 2 OSs debian(server) and osx 21:58:52 my first computer was an apple macintosh classic II 21:59:14 got it in grade 2 or 3 22:00:07 hmm my current mac is the 4th mac i own 22:00:14 we had a ti-99/4a, but I didn't learn how to program it until after I'd already learned on the 8088 22:00:24 <{^Raven^}> RISC OS, Linux (WBEL3.0) and WindowsXP in order of preference and started on an Acorn Electron about 20 years ago 22:00:30 classicII IIsi iMac powermacg4 22:00:45 there was no me 20 years ago 22:01:16 At work I use SUSe 9, RedHat 7, Solaris 8 (both 32- and 64-bit), HPUX 11.00 and 10.20, and a sprinkling few AIXes. 22:02:18 at work i... uhm at school.. we have a room with 15 imacs (unused with m$ office) and a room with 15 pc's (used but without m$ office (license problems ^^)) and everyone complains about missing m$ office 22:02:36 XD 22:02:48 i used to be admin at the mac-room but it's unused 22:02:51 Do they have OpenOffice or similar? 22:02:53 openoffice isn't very good.. m$'s is better 22:02:54 yes 22:03:00 * GregorR slaughters calamari. 22:03:14 LaTeX rules the world. 22:03:35 they say "it's incompatible" just because they save the files as open-office and are too stupid too select "M$ word file (.doc)" 22:03:48 and the admins are stupid 22:03:52 every time I try to get something done it's always autocompleting and formatting .. office does it too, but it seems to be smarter about it 22:03:55 they block ssh but allow irc.... 22:04:45 they block hard-disk access outside of the documents folder but i was able too install gimp into the documents folder and the gtk open file dialog allowed me to view the whole harddisk 22:04:56 XD 22:05:00 Genius 22:05:06 lol 22:05:17 grr, why does Open Office have to produce .doc files, and why do people then compare Open Office based on it's compatibility to Microsoft Office? 22:05:31 jix: do they allow telnet? 22:05:33 int-e: DING DING DING!!!! 22:05:34 jix: or ftp? 22:05:47 int-e: they don't have a port filter but filter for encrypted connections 22:06:00 <{^Raven^}> i use HTML for all my document layouts and only import into Word if I have to 22:06:03 that's the most stupid network setup i ever seen 22:06:13 ah, right, encryption is illegal - make a base64 proxy ;) 22:06:19 haha 22:06:29 encryption is not illegal? 22:06:31 ! 22:06:36 I know it isn't 22:06:44 aahhhh rot13 is illegal 22:06:50 * GregorR hauls jix off to MicroSoft Prison [tm] [patent #543542354234] 22:07:03 We'll have to wait a few more years, maybe even decades for that to happen. 22:07:20 (in fact we'll outlaw random data) 22:07:38 Microsoft has a patent on random data. 22:07:42 They invented randomness. 22:07:50 nah i wan't the improved [tm] Microsoft [tm] Prison [tm] 2006 [tm] because it has prisoner [tm] leaks 22:07:54 I thought Shannon pretty much did that. 22:08:17 ;) 22:08:24 Before Microsoft there was order, only with Microsoft did Chaos rule the world :P 22:08:44 <{^Raven^}> Microsoft has a patent on electrical systems used to transmit data within a human body - Everybody alive is in breach of that patent 22:08:52 random: http://www.fourmilab.ch/hotbits/ 22:09:00 Intel is the winner in the [tm] field, methinks 22:09:09 I bet breathing air is a patentable technical process. 22:09:21 a final thought before I leave.. http://lilly.csoft.net/~jeffryj/misc/msprayer.txt 22:09:49 cya all 22:09:52 -!- calamari has quit ("Leaving"). 22:10:12 * jix is reading Four DaysFour Days on Railson Rails now 22:10:16 oops 22:10:19 pgimeno: Though AMD is just being lame and noninventive by implementing Intel APIs, Intel is innovative and forward-thinking with the EM64T. 22:10:20 * jix is reading Four DaysFour Days on Rails now 22:11:02 GregorR, yes, just like Microsoft went forth and invented the Internet 5 years ago. 22:11:13 Exactly! 22:11:15 me is looking for an Intel document for the 386... 22:11:37 pgimeno: why? 22:11:42 Look in the archives from 30 years ago XD 22:11:53 Because Intel makes /modern/ processors. 22:11:55 whose archives? google's or Microsoft's? 22:12:14 "He who controls the past, controls the future." 22:12:16 I have a huge text file called "INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986" 22:12:33 OK, I have to stop berading Intel while at work ... at Intel :P .. back to work with me. 22:12:48 is MS bashing ok? 22:13:10 http://web.tiscali.it/luigisgro/itdisc1.html 22:13:57 It's awesome that "i" is a trademark of Intel :P 22:14:11 yup 22:14:12 "He who controls the present, controls the past." 22:14:23 Now I know why that quote felt incomplete to me. 22:14:32 I have the original document with that trademark note 22:15:39 Jesus [tm] is a registered trademark of Intel, all users of the trademark Jesus [tm] not referring to an Intel product will be prosecuted to the full extent of the law. 22:20:36 -!- cpressey has quit ("leaving"). 22:21:19 -!- cpressey has joined. 23:04:34 . 23:08:36 .?! 23:08:43 .?!?!?!?!?!?!!?!???!?!?!?!?!?!?!?!?!!?!?!?!?! 23:08:51 , 23:09:13 and now both together: 23:09:13 ,! ,=+++ 23:09:15 ; 23:10:00 -!- BigZaphod has quit. 23:21:14 I can't believe logicex-2.fyb is still the champion. 23:21:29 Somebody defeat it! Come ooooooooooooooooooon! 23:21:43 hmm 23:21:47 ;) 23:23:43 Heyyy! My laptop is finally back from Toshiba! 23:23:55 15th and 16th October... ok 23:24:29 ahh cool it's a weekend 23:24:56 ? 23:25:11 EuRuKo 23:25:26 European Ruby Konference 23:25:33 Ahh 23:25:43 but it's in munich.. :( 23:26:55 ok back to fyb 23:27:19 but i took a look at a mach.. it's too short 23:28:05 it makes no sense to develop big programs because a shortone with >>>>>>>>>> laybomb x 30 will bomb you 23:35:13 hmm 23:36:04 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:37:49 wouldn't it be nicer to present those results as a table? 23:39:54 similar to http://www.inf.tu-dresden.de/~bf3/fyb 23:48:54 Ah I see that part is automatically generated. 23:52:57 what's fyb? 23:53:34 http://esoteric.voxelperfect.net/wiki/FukYorBrane 23:54:53 ah 23:57:07 -!- comet_11 has changed nick to CXI. 2005-07-30: 00:03:31 int-e: Quaa, where did that table come from? 00:06:31 I created it from the data on the wiki page 00:06:40 I'll automate that if there's any interest 00:07:15 RIght now there's about 0 interest in FYB, sooo *shrugs* 00:09:16 seems like a rather brainfucked idea, honestly 00:09:41 * GregorR is not sure whether that's a compliment or an insult :P 00:11:21 I'm looking at the spec, but I promise nothing 00:11:39 I'd just much more like to see a compact table then that lengthy report ;) 00:11:47 than 00:56:28 -!- heatsink has joined. 02:26:10 -!- tokigun has joined. 03:24:12 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 03:42:34 -!- kipple has quit (Read error: 110 (Connection timed out)). 04:07:29 -!- int-e has quit ("Bye!"). 05:02:23 -!- calamari has joined. 05:02:38 hi 05:18:41 -!- {^Raven^} has quit (kornbluth.freenode.net irc.freenode.net). 05:18:41 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 05:18:41 -!- lament has quit (kornbluth.freenode.net irc.freenode.net). 05:22:32 -!- {^Raven^} has joined. 05:23:15 -!- GregorR_ has joined. 05:23:20 -!- GregorR_ has changed nick to GregorR. 05:45:50 -!- lament has joined. 06:14:24 BIG EXPLOSION TIME!!! 06:14:28 BOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOM! 06:14:36 * GregorR explodes vehemently. 06:15:13 * puzzlet claps 06:20:44 * GregorR bows. 06:34:53 -!- heatsink has quit ("Leaving"). 06:51:12 -!- calamari has quit ("Leaving"). 07:11:00 -!- graue has joined. 07:11:41 note for jix or anyone else interested in benchmarking BF implementations: 07:11:57 factor.b by Brian Raiter may be a worthwhile/interesting test 07:12:25 you can save a large integer followed by newline in a text file, and pass that on stdin 07:35:44 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:00:24 -!- tokigun_ has joined. 09:00:41 oops... 09:00:57 -!- tokigun has quit ("trying to use irssi proxy for freenode"). 09:01:15 -!- tokigun_ has quit (Client Quit). 09:01:56 -!- tokigun has joined. 09:11:39 -!- tokigun has quit ("testing..."). 09:11:56 -!- tokigun has joined. 09:12:10 -!- tokigun has quit (Remote closed the connection). 09:12:36 -!- tokigun has joined. 09:16:03 back 10:16:39 <{^Raven^}> anyone know if brainwash 0.3 has been released anywhere yet 11:08:03 -!- jix has joined. 12:01:10 -!- int-e has joined. 15:08:30 -!- Keymaker has joined. 15:08:41 'ello 15:09:18 check out language #759 at 99-bottles-of-beer.net.. 15:09:20 (trigger) 15:11:11 rgh. i'll be a while away, i have to return some dvds 15:11:12 bbl 15:29:19 Keymaker: cool 15:35:21 -!- Gs30ng has joined. 15:36:21 cheers 15:36:25 Udage official website is now available: http://gs30ng.exca.net/udage 15:39:35 judging by the logs it seems gregor has exploded once again.. 15:39:41 anything other interesting happened? 15:42:07 no 15:42:14 ok 15:42:14 i'm working on my website... 15:42:19 nice 15:42:43 lemme guess.. it has esolangs? 15:43:27 i'm going to use it for all my projects (including esolangs) 15:43:36 ok 15:46:41 but i have to make a database layout 15:46:47 ah 15:46:52 that's the annoying part 15:46:54 yeah 15:47:01 i have used a bit database 15:47:06 not very good at it 15:47:09 (mysql) 15:47:52 i use a gui so it's easy to actually create all the tables.. but i don't want to create the tables and recreate them tomorrow because they don't work as i want 15:48:38 yeah 15:51:36 i want: a simple blog, some pages (with comment function) and a file manager 15:52:13 ok 15:55:17 argh.. 15:55:22 what happened? 15:55:23 mysqld refuses to start 15:55:25 :} 15:55:29 i mean :\ 15:55:50 Starting mysqld daemon with databases from /usr/local/mysql/data 15:55:50 STOPPING server from pid file /usr/local/mysql/data/oceanic.local.pid 15:55:50 050730 16:55:50 mysqld ended 15:58:25 reinstall... 16:03:33 mysql sucks 16:03:34 . 16:36:26 <{^Raven^}> jix: if you have/use DWMX there is a good tutorial on making a PHP/MySQL blog on the macromedia site 16:52:30 no i wrote the design by hand 16:52:49 and i'm not going to use php 16:52:55 because php sucks 16:53:05 why? 16:53:17 (and i guess you'll be using ruby?) 16:53:34 because i wan't an object-orientated (php is pseudo object-orientated) language for web-applications 16:53:50 because i want a mvc webapp (model-view-controller) 16:53:59 i'm using ruby-on-rails 16:54:57 php is not object orientated because i have to do ary_push($array,"bla") instead of $array.push("bla")... 16:55:06 and i hate using str_* ary_* ... 16:55:24 and i hate $ variables 16:55:38 ok ok 16:55:56 ;) 16:57:03 hmm typing is hard if you connect your fingers to each other with some rubber band.. 16:57:21 (too bad i don't have another to tie the right hand) 16:58:30 lol? 16:58:37 :) 16:58:55 well, had to take the rubber band off, the colour started to change in fingers 16:59:05 *g* 16:59:35 its funny to type with one hand 16:59:43 interesting new esoteric programming tool; the rubber band! tie your fingers to make it harder to type 16:59:50 lol 17:00:03 i prefer typing with one hand 17:00:11 heh 17:00:27 i dont know how fast i am with one hand 17:03:36 Your score: 123 keys per minute ~ 24 words per minute 17:03:37 one handed 17:03:48 not bad 17:04:02 i'm testing 2 handed now 17:04:07 typera.tk 17:04:08 there 17:04:39 lang is english because german umlauts and those Uppercase words slow down... 17:07:05 Your score: 349 keys per minute ~ 69 words per minute 17:07:39 Mistakes: nly(only), eastwood(Eastwood), pice(piece), cu(cut), tof(of), argely(largely), diversityy(diversity), dnominations,(denominations,), it(its), fell(feel) 17:44:04 must go watch holmes!! 18:07:59 -!- Keymaker has left (?). 18:12:33 -!- int-e has quit (Read error: 145 (Connection timed out)). 18:43:50 -!- graue has joined. 18:43:59 I wrote up a 1L proposal at http://www.esolangs.org/wiki/Talk:1L 18:58:57 just found a flaw in it; it can't output 0 bits, so apparently it needs a special TL2 20:05:00 Umm .. can you flip TL0 without going to TL-1? 20:07:35 yes 20:07:39 the flippage is done after the move 20:08:06 Oh, so it is, I was reading backwards. 20:09:38 http://www.oceanbase.org/graue/junk/1l_a.c untested interpreter 20:09:41 It would be good if Down and Right were nops, so you could get as far from the corner as you'd like before actually going. 20:10:20 I'm not sure if it affects hypothetical Turing-completeness though. 20:10:35 yeah, I guess you have a point 20:11:55 updated the interpreter to switch up/down 20:12:50 speaking of which, if you can figure out why HelloWorld.2l doesn't work in my interpreter even with up/down switched, let me know 20:13:20 It's probably because mine is horribly flawed 8D 20:22:27 I've changed the symbols in 1L_a 20:22:36 what was * is now space, what was + is now everything else 20:31:44 i don't know what color is the best for my website 20:31:49 jix.is-a-geek.org:59658/design/designrot/design.html jix.is-a-geek.org:59658/design/designblau/design.html jix.is-a-geek.org:59658/design/design.html ? 20:32:44 I prefer the blue one 20:33:02 nah 20:33:08 everyone says the blue is the best 20:33:19 but imo the blue is the worst one 20:33:20 the red is too in-your-face to be used throughout the page 20:33:29 and the yellow is too bright, although the color isn't bad 20:33:40 I prefer the yellow one. 20:33:50 But as the only person on the planet who likes yellow tones, my opinion is invalid. 20:34:05 the yellow one would be great if it were darker 20:34:19 GregorR: the yellow one is the original.. i prefer the yellow and the red but i can't decide 20:34:38 I agree with graue that the red is too "in-your-face" 20:34:49 hmm 20:36:12 color should be esoteric 20:36:17 oops typo 20:37:38 Gs30ng: show me an esoteric color 20:46:13 http://en.wikipedia.org/wiki/Grue_%28color%29 20:49:19 lol 20:49:42 http://jix.is-a-geek.org:59658/design/designgruen/design.html << green 20:51:53 grue or bleen...hmm 21:10:45 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 22:04:50 * {^Raven^} wandered into the dark and was eaten by a Grue 22:08:53 lol 22:13:23 -!- Gs30ng has quit (Read error: 60 (Operation timed out)). 22:21:11 -!- calamari has joined. 22:21:13 hi 22:21:33 bfdebug 1.50 is now available: http://lilly.csoft.net/~jeffryj/programs/bf/ 22:21:37 calamari: cool 22:21:51 bfdebug is cool 22:21:59 thanks 22:23:04 there is one feature i'd like to have 22:23:16 a set program pointer to position feature 22:23:40 you want goto? 22:23:55 yes a goto button 22:24:05 what woudl you use that for (just curious) 22:24:18 just test a part of a code 22:24:34 start the code at any point 22:24:56 seems like it'd get confused because the brackets wouldn't match 22:25:22 i can stop edit and remove brackets.. no problems 22:25:35 stop edit remove-bracktets start.... 22:25:51 actually, wait.. it wouldn't care 22:26:01 and i'd like to stop goto start 22:26:18 and labeling of memory cells would be cool 22:26:29 labelling of memory cells is already there 22:26:38 stop just stops, clear resets 22:26:58 calamari: where? 22:27:00 to label a cell, $name=cell 22:27:10 then you can jump to a cell with @name 22:27:38 locate is at alt+l ? 22:27:52 that's a problem because the @ character on a mac is on alt-l too 22:28:13 really? how strange 22:28:23 well macs don't use alt and ctrl for command 22:28:25 what is on the 2 key? 22:28:34 alt-2? 22:28:37 shift-2 22:28:40 " 22:28:42 on de 22:28:50 @ on us 22:28:54 ahh its de onlz 22:28:57 only 22:29:47 not sure what to do about that, since the standard for accelerators is alt-letter 22:30:07 in java 22:30:10 and windows 22:30:14 what do you get with alt-shift-l ? 22:30:22 fl 22:30:26 hehe 22:30:53 where are < and > on the us layout 22:31:03 shift , and shift . 22:31:10 ah 22:31:21 " is shift ' 22:31:36 -!- graue has joined. 22:31:39 what do you have at shift ' ? 22:31:49 ' is shifted 22:31:53 i have ' on 22:31:55 # shift 22:32:03 weird... 22:32:22 but the letters are the same just y and z swapped 22:32:42 y is very rare in german 22:32:57 oic 22:33:07 hmm .. german word with y... 22:33:44 old-spelling oxyd afaik.. but the new-spelling allows oxyd and oxid but i'm not sure 22:34:16 but it's only oxyd if it's connected with something else.. and than it isn't a real german word 22:35:04 Kohlenstoffdioxid is CO2 but O is Sauerstoff... 22:36:49 what do you have alt-s, alt-p, alt-r, alt-f, alt-c? and what would you like alt-something for Locate? 22:37:39 s:‚ p:Ï€ r:® f:Æ’ c:ç 22:37:46 p 22:38:21 I can't read any of those letters on the first line 22:38:44 utf8? 22:39:03 try /charset UTF-8 22:39:18 23:38:42s:‚ p:Ï€ r:® f:Æ’ c:ç 22:39:37 alt-s is comma? 22:39:47 or some comma-alike 22:39:51 but i have a comma key 22:39:57 ok, so it doesn't matter 22:40:12 looks like the only one I need to change is Alt-L 22:40:46 afk short 22:40:50 I'll add a --german command line option that changes it to Alt-P 22:41:18 i'm launching it using the finder... no command line 22:41:30 oh and it should be --german-mac 22:41:42 because on german windows its altgr-q afaik 22:42:07 okay, I can make a menu option for it 22:42:13 hehe thanks 22:45:58 <{^Raven^}> hi calamari 22:56:59 hi raven 22:57:11 jix: got the kayboard fix done, now thinking about goto 22:59:09 back 22:59:15 cool 22:59:46 jix: is Alt-G a problem? 22:59:52 its the copyright sign 22:59:57 ok good 23:00:31 @ and ~ are the only alt-letter ascii characters 23:00:55 ~ is alt-n and is a combine key alt-n => ~ alt-n+n => ñ 23:07:30 cool, goto was easy :) 23:08:48 anything else before I put this up? 23:09:29 raven: any bugs you've noticed in bfdebug? features? 23:09:58 converting $a=0 and @a and such things to >>> and <<< 23:10:28 and another (bigger) feature a template system 23:10:38 <{^Raven^}> calamari: yeah, bfdebug still throws exceptions occasionally 23:11:08 when? 23:11:23 I've fixed one when cell=0 and inst = < 23:11:34 <{^Raven^}> i might be using an old version 23:11:46 you have a library with templates like @var1+@var2- and you can insert it replacing @var1 and @var2 with @a and @some_other_var 23:12:04 and [code] with some other code (the selected as default) 23:12:21 <{^Raven^}> calamari: ignore, I'm using an ancient version atm, will upgrade :) 23:12:29 'k :) 23:12:33 but that's just a cool not-so-important feature 23:12:45 jix: I think I'll pass on that.. sounds very complicated 23:12:52 the conversion is more important imho 23:13:04 <{^Raven^}> calamari: bfdebug 1.22 was pretty fast with screen update disabled 23:13:29 screen update disabled? 23:13:42 not sure what that means :) 23:14:05 the new Fast option makes it run without updating the memory view until the program is stopped 23:14:10 <{^Raven^}> i disabled all redraw code just for the fun of it and bfdebug ran really fast 23:14:19 yeah, same thing :) 23:14:23 <{^Raven^}> cool 23:14:44 speed test code: +[[+]->+] 23:15:20 and yes the speed increase with fast is gigantic 23:15:48 oh another idea slow=> update always normal=> update every 20 instructions fast=> update never 23:16:17 because slow is to slow and fast isn't that good for debugging 23:16:38 oh and yet another idea... [-] optimisations.. i know [-] works i don't have to debug it ;) 23:16:43 fast is most useful with the # stop 23:16:51 [-] is already optimized 23:17:07 oh 23:17:14 wasn't in 1.30 23:17:22 or was it 1.2? 23:17:34 the version i used for developing my hexprint code 23:17:57 hmm +++ => +3.. maybe? 23:17:57 if you use the step button, it will still go through the [-] manually, but pass/run jump past in one step 23:18:30 I was thinking about combining +/- but I'm not sure it'd really speed things up much 23:18:39 in slow mode it does 23:18:56 and > and < too 23:19:29 my hexprint uses much [--------------->+<] alike code and that's slow in slow mode but i like to watch memory 23:19:42 what exactly does pass? 23:20:36 it executes a single pass of a loop 23:20:43 ah 23:21:21 doesn't @bla conflict with Bit @? 23:21:42 <{^Raven^}> calamari: woah, that's fast 23:21:47 short note: updating the screen more than 100 times a second is absolutely meaningless 23:22:23 jix: nope.. as long as you're careful about it 23:22:32 I often use timers for screen update 23:23:24 if you have a $abc=3 and you do @abc of course that'll conflict.. so don't do that ;) 23:25:03 calamari: stop has no short-cut 23:25:11 jix: alt-R 23:25:39 inserts an ® sign at the current command 23:25:48 and stops 23:25:56 huh 23:26:22 doesn't do that here.. 23:26:22 i would disallow writes to the code during execution 23:26:52 jix: good idea.. let me see if I can arrange that 23:28:18 why is my hostname 127.0.0.1 23:28:24 instead of oceanic.local 23:29:46 hmm, that was easy enough :) 23:32:53 jix: I just realized Alt-P is already being used by Pass, so that can't be the substitute for Alt-L 23:33:29 How about Alt-O 23:34:07 <{^Raven^}> calamari: on current source bfdebug is stepping through the code at about 1cps in non-fast mode 23:34:08 is ok 23:34:37 100cps here 23:35:01 raven: I noticed that once, but thought it was related to a bug I was working on at the time 23:35:19 which program? 23:36:59 <{^Raven^}> LostKingdom compiled with -d -t (code is 2.1Mb so that may be a factor) 23:37:37 hah 23:38:43 <{^Raven^}> in non-fast mode UI takes about 5s to respond to input, in fast mode works as expected 23:39:07 doing the same here 23:39:57 ahah 23:40:01 1L is sick 23:40:14 * graue finally wrote a working 1L program to print "A", after two failed attempts 23:40:57 seems to be slow on step and pass also 23:41:12 http://www.oceanbase.org/graue/junk/a.1l 23:42:16 interpreter: http://www.oceanbase.org/graue/junk/1l_a.c 23:43:13 <{^Raven^}> calamari: switching to slow mode the memory bar is not scrolling on > or < either 23:43:19 http://www.oceanbase.org/graue/junk/a.1l is more than 1L.... 23:43:36 jix, what? 23:43:47 or is the white part the path.. i don't see the 1 instruction 23:43:55 it has two symbols intentionally if that's what you mean 23:43:59 the spaces are the path 23:44:39 isit turing complete? 23:45:35 raven: that's strange, because it uses the original code when in slow mode 23:45:38 jix: I think so 23:45:44 does 1.22 scroll on > and < ? 23:45:53 jix: but of course I haven't written anything in it that requires a loop yet 23:46:03 jix: see http://www.esolangs.org/wiki/Talk:1L 23:46:07 <{^Raven^}> calamari: yes 23:49:12 <{^Raven^}> calamari: hmmm... another oddity 23:50:16 <{^Raven^}> i am running bfbasc (from BFBASIC examples) on itself and the input is being echoed to the output 23:50:25 <{^Raven^}> same thing happens with bf2c et al 23:51:08 {^Raven^}: maybe you checked the echo-input-to-output option? 23:54:36 brb.. gotta use phone 23:55:40 <{^Raven^}> jix: thx, i hadn't spotted that new option 2005-07-31: 00:01:11 graue: Did you use garbage for artistic effect in a.1l? 00:02:01 using tab as garbage... :] 00:02:02 -!- calamari_ has joined. 00:05:40 GregorR: yes 00:05:58 GregorR: the junk could all just be * or + or something, but it wouldn't look as nice in my opinion 00:11:24 argh.. Swing threads problem somewhere.. if the program completes it cant be edited 00:14:12 -!- calamari has quit (Read error: 110 (Connection timed out)). 00:17:49 I think I'll abort on this editable thing.. can't get it to work right 00:20:06 #define UP 31337 00:20:07 #define DOWN 666 00:20:07 #define LEFT 420 00:20:07 #define RIGHT 69 00:20:07 ? 00:21:02 lol 00:37:32 raven: just checked 1.22.. it's not scrolling correctly either 00:40:23 jix, the actual values don't matter, and those are all meaningful, so it seemed like a good idea 00:42:11 <{^Raven^}> calamari_: execution speed seems to be inversely proportional to the program size 00:48:09 -!- GregorR_ has joined. 00:48:34 -!- GregorR has quit (Nick collision from services.). 00:48:40 -!- GregorR_ has changed nick to GregorR. 00:57:25 there is a channel without # 00:57:59 There's one other valid prefix. 00:58:04 @ or something ... 00:58:09 It's for channels that aren't shared across servers. 00:58:15 Or something like that. 00:58:24 but there is a channel without prefix 00:58:30 Oh. 00:58:46 it's a very special channel ;) 00:58:53 Qua? 00:58:58 Qua?? 00:59:55 server-local channels starts with & 01:00:00 * pgimeno joins &esoteric 01:00:24 the channel is called 0 01:00:38 seems not to be enabled in freenode 01:00:48 but you'll never see someone who is in channel 0 in any other channels 01:01:10 -!- pgimeno has left (?). 01:01:23 because /join 0 == leave all channels 01:01:36 So it's /not/ a channel. 01:01:39 -!- pgimeno has joined. 01:01:50 GregorR: well it works like a channel 01:01:54 ?! 01:01:59 /join #bla,0 wroks too 01:02:07 One sec ... 01:02:24 Hmm, I just went in to 30 01:02:27 #0 01:02:33 without # 01:02:39 No, I didn't type the #. 01:02:42 ChatZilla did. 01:02:48 ah 01:02:50 well 01:02:58 -!- kipple has joined. 01:03:06 but some people run autojoin scripts 01:03:10 (a stupid thing) 01:03:12 -!- GregorR has left (?). 01:03:21 -!- GregorR has joined. 01:03:34 I refuse to believe you ;P 01:03:47 jix: can you invite people to 0? 01:03:55 they have some validation that checks for #... the trigger is for example !aj .... just type !aj #bla,0 in the channel ;) 01:04:02 no 01:04:05 oh, that would work, sure 01:05:45 ........... 01:05:46 back in, like, 1999, when I and everyone I knew used mIRC, I used to write things like "hey everyone, double-click on the red for a good time ---> #temp,0,#channelwithanoffensivename" and make the channel list red text on a red background 01:05:49 I still refuse to believe you :P 01:05:54 it actually worked until an update to the client made it not work 01:06:03 those were the days 01:06:49 hmm does it work with xchat... 01:07:24 jix: click here --> #esoteric,0,#esoteric 01:07:25 -!- jix has left (?). 01:07:25 -!- jix has joined. 01:07:29 it does 01:08:01 great 01:08:14 -!- jix has quit (Remote closed the connection). 01:08:25 -!- jix has joined. 01:08:47 so who's up for writing the first 1L quine? 01:08:52 x-chat aqua decided to crash 01:09:07 empty-file *g* 01:09:10 but that's cheating 01:09:29 that's not necessarily valid 01:09:51 the spec (well, the 2L spec; 1L_a doesn't change that part) says the program ends when it goes off the top or left of the program 01:10:02 if it goes off the bottom or right it invokes undefined behavior 01:10:12 oh 01:10:39 with my interpreter that might work though 01:12:12 -!- GregorR2 has joined. 01:12:19 GregorR2: #esoteric,0,#esoteric 01:12:22 -!- GregorR2 has left (?). 01:12:22 -!- GregorR2 has joined. 01:13:50 I still refuse to believe you :P 01:13:51 -!- GregorR2 has quit ("Leaving"). 01:14:11 ok i lied.... 01:14:15 it's not true 01:14:22 you join all channels if you join 0 01:14:31 AWESOME 01:14:33 -!- GregorR has left (?). 01:14:39 -!- GregorR has joined. 01:14:41 :P 01:15:01 well all channels except some..not so important channels 01:19:24 http://www.oceanbase.org/graue/junk/a.txt <-- here's what I used to plan out my 1L program 01:23:37 my 1L interpreter freezes for a little while then crashes, if given an empty file 01:27:28 gcc should have an -O4 meaning -O3 -fomit-frame-pointer -funroll-loops, to save me some typing 01:40:38 -!- calamari_ has left (?). 01:40:49 -!- calamari_ has joined. 01:40:53 couldn't resist :) 01:41:03 got scrolling working 01:41:32 hey calamari_, how about a 1L debugger? 01:41:36 java's scrollbars are very weird, but I changed numbers until I got it right :) 01:42:05 isn't that a 2d language? 01:43:06 yes 01:43:13 I was thinking of a simple variant where it counted the number of nul's between * 's and used that %8, to get an instruction 01:43:35 what's 1L? 01:43:43 could translate bf to that very easily :) 01:43:51 wiki article describes two languages 01:44:02 lament: I'm referring to 1L_a, which is implemented 01:44:05 specified at http://www.esolangs.org/wiki/Talk:1L 01:44:13 implemented at http://www.oceanbase.org/graue/junk/1l_a.c 01:44:20 example that prints "A" at http://www.oceanbase.org/graue/junk/a.1l 01:45:50 calamari_: how would you do loops? 01:46:04 what the fuck is that. 01:46:20 * calamari_ thinks there needs to be -1l-a, the inverse :) 01:47:20 graue: well, in the most generic version, you'd just code [ and ] as well 01:47:35 calamari_: oh 01:47:52 graue: but I came up with a few more interesting loop ideas hehe 01:49:34 one thing that seemed doable was to investigate a 3x3 square of "pixels" and use that to determine the next move 01:49:56 then you could turn, branch, etc based on that 01:50:04 -!- kipple has quit (Read error: 60 (Operation timed out)). 01:58:50 but each instruction would just be one character? 01:59:56 raven: found the reason it's slow... I'm checking for '\n' and skipping it.. not sure why that's so slow, but invesitgating it 02:01:12 graue: in that scheme the only instructions would be @ and nop, depending on number of spaces, < > depending on turn direction, loops based on 3x3 block 02:01:40 i/o I was tinkering with.. had several schemes but didn't decide 02:02:07 I see 02:03:36 aha.. getting the text in a textArea is very slow 02:03:51 (because it has to build that huge string) 02:07:16 fixed 02:08:15 i'm feeling like "OMG i'M A SUPER 31337 H4x0r" ^^ ;) 02:08:27 really? why? 02:08:50 because i found a way to execute any command on a server of someone i know 02:09:27 he had a webpage with some cgi apps and i asked him if i may try to find security flaws... 02:09:30 and i found one 02:15:00 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 02:20:02 -!- calamari_ has quit ("Leaving"). 02:20:05 -!- calamari_ has joined. 02:20:25 -!- calamari_ has changed nick to calamari. 02:47:27 1.60 is up 02:47:29 -!- calamari has quit ("bbl"). 03:27:57 -!- tokigun has quit (kornbluth.freenode.net irc.freenode.net). 03:27:57 -!- graue has quit (kornbluth.freenode.net irc.freenode.net). 03:27:57 -!- cpressey has quit (kornbluth.freenode.net irc.freenode.net). 03:27:57 -!- ZeroOne has quit (kornbluth.freenode.net irc.freenode.net). 03:27:57 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net). 03:27:57 -!- cmeme has quit (kornbluth.freenode.net irc.freenode.net). 03:27:58 -!- lindi- has quit (kornbluth.freenode.net irc.freenode.net). 03:27:58 -!- pgimeno has quit (kornbluth.freenode.net irc.freenode.net). 03:27:58 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 03:27:58 -!- lament has quit (kornbluth.freenode.net irc.freenode.net). 03:27:58 -!- {^Raven^} has quit (kornbluth.freenode.net irc.freenode.net). 03:27:59 -!- CXI has quit (kornbluth.freenode.net irc.freenode.net). 03:27:59 -!- yrz\werk has quit (kornbluth.freenode.net irc.freenode.net). 03:28:00 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net). 03:28:00 -!- ChanServ has quit (kornbluth.freenode.net irc.freenode.net). 03:28:00 -!- fizzie has quit (kornbluth.freenode.net irc.freenode.net). 03:28:43 -!- tokigun has joined. 03:28:52 -!- graue has joined. 03:28:52 -!- cpressey has joined. 03:28:52 -!- ZeroOne has joined. 03:28:52 -!- puzzlet has joined. 03:28:52 -!- cmeme has joined. 03:28:52 -!- lindi- has joined. 03:29:34 -!- fizzie has joined. 03:29:52 -!- ChanServ has joined. 03:29:52 -!- GregorR has joined. 03:29:52 -!- pgimeno has joined. 03:29:52 -!- lament has joined. 03:29:52 -!- {^Raven^} has joined. 03:29:52 -!- CXI has joined. 03:29:52 -!- yrz\werk has joined. 03:29:52 -!- mtve has joined. 03:29:52 -!- irc.freenode.net has set channel mode: +o ChanServ. 04:37:30 -!- calamari has joined. 04:59:25 -!- calamari has quit ("Leaving"). 05:30:03 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 07:28:31 -!- yrz\werk has quit (Read error: 104 (Connection reset by peer)). 07:29:06 -!- yrz\werk has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:38:48 -!- Aardwolf has joined. 10:04:46 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 10:05:24 -!- pgimeno has joined. 10:11:15 -!- neusring has joined. 10:13:22 -!- Aardwolf has quit (Read error: 110 (Connection timed out)). 11:06:18 -!- jix has joined. 11:06:44 moin 11:08:25 <{^Raven^}> mornin 11:13:28 -!- kipple has joined. 12:32:39 -!- neusring has quit ("Leaving"). 13:31:31 -!- klutzy has joined. 16:08:12 -!- Keymaker has joined. 16:08:13 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 16:08:21 grrh.. space invaders 16:08:26 can't beat them 16:08:36 perhaps i'll need to join them, then 16:41:43 where is everyone? 16:41:49 work? 16:43:25 I'm working, yes 16:44:27 i'm working on my website 16:44:44 at the menu controller and view 16:44:50 o-k 16:45:22 wow the whole website folder is 1.9 MB 16:46:33 oh my test designs are 1 MB.... subtract them 16:46:41 mh 16:46:51 ahh the development log is 500kb 16:47:02 images are 100kb 16:49:51 rails is a very nice web framework.. it's so easy 17:57:23 bbl 17:57:24 -!- Keymaker has quit ("I've seen this déjà vu before.."). 19:11:36 the reason i love mac os x: http://img312.imageshack.us/img312/2729/bild35nk.png 19:12:56 Somehow, I find that to be counterproductive at best. 19:15:34 hrhr 19:16:12 it is... 19:16:45 but hey 71fps visualizer with a semi-transparent window on top of it 19:17:21 "cool" != useful 19:17:34 i didn't said it's useful 19:18:00 but witha non-transparent background it's the most usefull text-editor i know 19:18:07 Heheh 19:19:19 it has cool macro,indention,syntax-coloring... features that are easy to configure (it's easy to make a new syntax colorer for another lang) 19:19:26 oh it has folding 19:37:14 -!- Keymaker has joined. 19:37:17 'ello 19:37:27 i got an idea for a new page to esowiki; 19:37:32 moin Keymaker 19:37:35 i think i could make a page about all the brainfuck contests 19:37:36 hi 19:37:44 and their winning results 19:37:48 http://img312.imageshack.us/img312/2729/bild35nk.png (no i'm not working with that setup but it looks cool) 19:42:28 i'm still working on my website 19:44:17 ok 19:44:38 rggh.. guess what's annoying.. this : "... is left as a challenge to the reader." 19:45:49 i thought of a language where everything "... is [trivial and] left as a challenge to the reader." 19:46:55 :) 20:15:36 HOW TO BUILD A NUCLEAR QUANTUM INFLUX GENERATOR: 20:15:52 1) The construction of a nuclear quantum influx generator is trivial and left as a challenge to the reader. 20:18:11 ah, now i see how to do it 20:40:14 nooo.. my rubber band broke into line form 20:40:21 :( 21:14:27 rgh. 21:14:38 i'm tired 21:14:45 and it isn't even midnight 21:15:00 and i thought i was going to stay till four am today 21:15:25 x| 21:15:45 *stay awake 21:15:57 * Keymaker falls asleep 21:16:00 -!- Keymaker has quit ("I've seen this déjà vu before.."). 21:41:59 -!- calamari has joined. 21:42:05 hello 21:52:31 <{^Raven^}> hi calamari 21:53:01 hello raven 21:53:20 just sat down to think about my game a little bit :) 21:53:53 <{^Raven^}> same here, got my adventure game folders out looking for inspiration 21:53:53 currently at 431 bytes 21:54:17 figuring out what I'll need for item structure 21:54:18 <{^Raven^}> 1232 bytes here + 2246 bytes data 21:54:53 <{^Raven^}> i have a few strings, a couple of numbers and some flags 21:55:18 I have the verbs oing, need nouns :) 21:55:26 going 21:55:53 <{^Raven^}> i wrote a scripting language that compiles human readable room descriptions to the right data format 21:55:59 probably will do the inventory system next, so that's why I'm figuring out items 21:56:05 cool 21:56:13 will probably do something similar 21:56:28 it's most like a database 21:56:35 <{^Raven^}> beats editing long hex strings by hand, just refer to rooms by name now 21:56:58 hehe.. I have something special for that, but you've probably already done similar 21:58:20 <{^Raven^}> probably ;) 21:58:53 <{^Raven^}> i've thrown out the old game plan and am working on a more interesting game 21:59:05 I hash the verbs and nouns to 16 bit numbers... makes everything fixed width and easy to work with 21:59:35 then inside the item I have pointers to the actual data such as name, description, etc 22:00:07 <{^Raven^}> nice, it's a bit simpler in basic, i just read everything into arrays 22:00:18 yeah.. that would be :) 22:00:50 it wasn't as hard to find a decent english hash as I thought it'd be 22:01:36 <{^Raven^}> That's the method I'm thinking about using for a future BFBASIC text adventure 22:01:45 <{^Raven^}> to get a full word parser 22:01:53 yeah, I'm doing full words 22:02:10 but also accepting just the first letter for verbs, since it seems to be a standard 22:24:11 i have regexps in ruby ;p 22:29:57 <{^Raven^}> No regexps in BBC BASIC so am using other methods ;)