←2005-06 2005-07 2005-08→ ↑2005 ↑all
2005-07-01
00:00:11 <BigZaphod> maybe a small bit, but I dont think you should. :)
00:00:20 <yrz\werk> why not...
00:00:30 <yrz\werk> you will have the special edition 5d
00:00:38 <BigZaphod> hee hee.
00:00:43 <yrz\werk> if you said to me where to post the code
00:00:47 <yrz\werk> i do it now.
00:02:08 <{^Raven^}> hmmm...time-travel maybe possible in hcbf :)
00:02:30 <BigZaphod> 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\werk> yrz@inverno:~/wrk/eso$ tar cvzf hcbf5d-0.0.1.tar.gz hcbf5d-0.0.1/
00:03:57 <yrz\werk> r u happy?
00:04:47 * {^Raven^} is confused
00:04:47 <yrz\werk> the name does'nt make sense
00:05:00 <yrz\werk> 5dbf should sonds better
00:05:06 <yrz\werk> but i'm quite drunk.
00:05:16 <yrz\werk> better if i go sleep.
00:06:29 <yrz\werk> niyr.
00:06:32 <yrz\werk> nite.
00:06:35 <{^Raven^}> nite
00:06:40 <yrz\werk> uhm
00:06:43 <yrz\werk> no
00:06:52 <yrz\werk> i gonna shutdown my box
00:07:05 <yrz\werk> this nighy
00:07:15 <yrz\werk> it's a...
00:07:22 <yrz\werk> how do you call...
00:07:24 <yrz\werk> yes
00:07:25 <yrz\werk> storm.
00:07:26 <yrz\werk> :)
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 <calamari> hi
03:50:05 -!- graue has joined.
03:55:33 <calamari> hi graue
04:06:55 <graue> hello
04:07:21 <graue> 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 <graue> 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 <BigZaphod> has anyone played with this: http://jonripley.com/i-fiction/games/LostKingdomBF.html ?
07:11:34 <BigZaphod> 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 <BigZaphod> this interp: http://swapped.cc/bf/
07:16:34 <BigZaphod> hmm, okay, maybe that interp is bad. there's one included with the game that seems to run it right away.
07:57:43 <lament> 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 <calamari> hi
08:17:11 <calamari> raven: I've made 1.42.. but "print var" doesn't seem to work right.. it's always printing 0
08:20:50 <calamari> anyhow.. I need to go to bed.. I'll commit what I have, for now
08:23:27 <calamari> 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 <tokigun> 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 <jix> moin
13:02:53 <{^Raven^}> hullo
13:06:19 <tokigun> 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 <fungebob> hidy ho everybody
15:22:28 -!- jimbo0000 has quit (Read error: 145 (Connection timed out)).
15:30:42 <graue> hello, fungebob
15:30:53 <{^Raven^}> hullo
15:35:07 <fungebob> 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 <mtve> 'g' from blank is 32, executing a noncommand is noop afair.
16:28:17 <mtve> good befunge interpreter should have at least two modes i think - strict and not strict.
16:28:49 <mtve> in strict every doubtful action should complain, in non-strict it should be some reasonable defaults.
16:30:44 <fungebob> 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 <mtve> it should wait, that's common for console esolanguages.
16:32:32 <mtve> nothing pushes is not convenient. pushing zero means binary zero on input is not possible.
16:33:12 <mtve> well, some "action" mode with pushing some special char (not 0-255, and not EOF) is reasonable too.
16:34:01 <fungebob> hmm so i guess these complaints might warrant a stderr stream
16:34:34 <mtve> yep, thus non-strict would be just 2>/dev/null
16:36:38 <mtve> there was a general policy on how esolang should iteract with outside world somewhere long ego.
16:44:08 <fungebob> would you say that the general popularity of esolang has gone up or down in recent years?
16:45:59 <mtve> it looks like it goes down for me, or maybe just community became too dispersed
16:46:46 <mtve> there is also quite less place left for simple conceptions, basically all of them are already explored.
16:56:49 <fungebob> 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 <fungebob> 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 <mtve> sorry, was travelling to home. hard to say, maybe around hundred of them have published their codes. maybe a thousand total.
18:07:53 <graue> I think I deserve the "idiot of the day" award, or something
18:09:01 <graue> my "proof" with Archway is totally invalid, because the method for translating Brainfuck programs to Archway doesn't work
18:09:11 <graue> http://www.oceanbase.org/graue/archway/archway.txt <-- what's wrong with these examples?
18:09:48 <graue> but maybe Archway is a marginally interesting language anyway (I just implemented it)
18:09:54 <graue> cat looks like this:
18:09:59 <graue> /.\
18:10:02 <graue> \,/
18:13:34 -!- BigZaphod has joined.
18:17:52 <graue> hello, BigZaphod
18:31:28 <{^Raven^}> hi BigZaphod
18:31:44 <cpressey> 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 <cpressey> like:
18:31:50 <cpressey> /\
18:31:54 <cpressey> \ <---
18:31:58 <cpressey> |
18:32:00 <cpressey> v
18:32:19 <cpressey> the path goes left, up, right, down (and crosses itself there)
18:32:49 <cpressey> 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 <cpressey> anyway, i don't think there's any serious doubt, even though maybe none of the proofs are 100% watertight...
18:37:51 <cpressey> graue: actually, where is the example of translating brainfuck to archway? i can't find it anymore...
18:44:25 <cpressey> oi, lots of wiki changes!
18:50:09 <cpressey> ok, so most of them are m
18:50:56 <graue> oh, I removed the examples because they were bogus
18:51:28 <graue> for some reason I thought that a[bc]d could be translated to
18:51:29 <graue> /bc\
18:51:29 <graue> a/ \d
18:52:31 <graue> 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 <cpressey> ahhh
18:52:46 <cpressey> well, it's close
18:52:55 <cpressey> you need some sort of conditional version of \ and /
18:53:13 <graue> they are conditional
18:53:16 <graue> you mean, unconditional?
18:53:54 <cpressey> hm, yes... i guess what i mean is you probably need either 4 instructions, or more-complicated semantics
18:56:27 <graue> 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 <graue> %
18:56:28 <graue> b
18:56:28 <graue> c
18:56:28 <graue> a^&d
18:56:48 <graue> er, substitute "nonzero" for "1"
18:59:04 <graue> 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 <graue> {^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 <graue> in the ^%& language, a[b[c]d]e becomes
19:00:29 <graue> %
19:00:29 <graue> c
19:00:29 <graue> &b^&d%
19:00:29 <graue> a^ &e
19:01:46 <graue> 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 <graue> 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 <graue> so now we'd have
19:03:43 -!- calamari has joined.
19:03:43 <graue> %
19:03:43 <graue> |c
19:03:43 <graue> &b^&d%
19:03:43 <graue> a^=====&e
19:03:54 <calamari> graue: sorry ;)
19:04:54 <calamari> oh cool, thought I interrupted the middle of a program.. guess not
19:05:11 <graue> nope
19:05:14 <cpressey> graue: you're right, only 3 are needed... very, uh, "pretty" example code, btw :)
19:05:19 <graue> thank you
19:07:33 <{^Raven^}> hi calamari
19:07:35 <calamari> 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 <calamari> -ddd wasn't working correctly inside bfdebug
19:08:05 <calamari> 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 <calamari> hmm.. the only real difference is that -ddd doesn't output the > or <
19:08:38 <calamari> so that's weird
19:10:49 <cpressey> 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 <cpressey> graue: no wait, n/m
19:12:08 <calamari> 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 <calamari> nope.. because bfdebug will really mess up then
19:13:07 <calamari> it will see the @var's and go there, then do > and < on top of that
19:14:23 <calamari> 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 <calamari> no, that's bad
19:15:40 <calamari> 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 <calamari> ?
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 <graue> by the way, cpressey: the pipes (= and |) idea doesn't prevent wirecrossing, because +, -, etc might still be used multiple times
19:17:32 <calamari> raven: it's fine.. for example, imagine if you did >@myvar
19:18:09 <calamari> it allows for weird situations to occur, sure.. but some tricker bf code needs it
19:18:27 <calamari> I am not good at writing tricky bf code, so I can't provide an example :)
19:19:30 <calamari> 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 <calamari> I'll be in #flood
19:21:06 -!- calamari has left (?).
19:22:36 -!- calamari has joined.
19:22:39 <calamari> re's
19:22:56 <calamari> 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 <calamari> that will be cool in the log :)
19:28:58 <calamari> 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 <src> <dest>
19:32:14 <calamari> oic
19:32:22 <cpressey> 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 <calamari> problem found
19:35:52 <calamari> the line wrapping causes the @ and var to be split in some cases
19:36:03 <calamari> I need to ignore whitespace, and it should be fixed
19:37:54 <calamari> 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 <graue> I don't think Archway is possible to write anything nontrivial in
19:55:46 <graue> maybe I'm missing something, though
19:57:25 <calamari> brb
19:57:27 -!- calamari has quit ("Leaving").
19:58:15 -!- calamari has joined.
19:58:25 <graue> 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 <calamari> 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 <graue> if it is possible to compute in Archway, it at least isn't easy to convert Brainfuck programs
19:59:17 <calamari> will ->work
19:59:33 <graue> this work work for now?
20:01:07 <calamari> graue: some langs repeat a word for plural, so you could say work work -> works
20:01:12 <calamari> :P
20:01:32 <graue> that works
20:03:16 <calamari> I think I'll go get some food myself.. afk
20:03:34 <graue> my conclusion is that Archway is unusable for computation; I can't even write [-] in it
20:06:11 <cpressey> 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 <cpressey> anyway i'll work it in when i mention (and add an entry for) Braktif
20:08:57 <graue> 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 <BigZaphod> graue: what's wrong with this archway code?
20:22:33 <BigZaphod> wait.. it isn't going to paste here very well.. :)
20:22:48 <BigZaphod> I try anyway.
20:22:48 <BigZaphod> /\
20:22:48 <BigZaphod> -/
20:22:49 <BigZaphod> ++++/
20:23:29 <BigZaphod> the two lines at the top should left-aline with the bottom slash.
20:23:48 <BigZaphod> aline = align
20:24:15 <BigZaphod> 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 <calamari> raven: @_0-@_T0[@_0-@_T0-]@_0[@_T0+@_0-]@_T0[@_L1+@_G-@_T0[-]]
20:24:41 <calamari> raven: notice the @G ?
20:24:47 <calamari> err @_G
20:25:08 <calamari> is that in the not function?
20:25:57 <calamari> raven: (_T0=NOT(_T0))
20:26:14 <{^Raven^}> hmmm...
20:27:24 <{^Raven^}> that does look odd
20:28:20 <calamari> 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 <calamari> 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 <calamari> it appears to be goto code
20:35:00 <calamari> it would jump to L1
20:35:28 <calamari> which I guess is _F1
20:35:46 <calamari> 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 0<lf>6<lf> and terminates in the middle of the program
20:37:04 <{^Raven^}> when it should loop and display 0<lf> to 255<lf>
20:37:06 <calamari> yeah.. it is crashing actually java.lang.ArrayIndexOutOfBoundsException: -1
20:39:19 <calamari> I see something.. one minute
20:40:31 <calamari> yep.. another bfdebug bug.. ~ is a valid variable name character
20:40:47 <calamari> one min.. I'll make 1.22 ;)
20:42:47 <graue> BigZaphod, there's no loop there...
20:43:07 <graue> you add four, then you get to the / and go up, subtract one, now you have three
20:43:32 <graue> then you turn around, subtract one again (now you have two) and go left
20:43:41 <graue> continuing off the left side and ending the program
20:43:56 <graue> I'm not sure what you're trying to do with that code
20:43:57 <BigZaphod> oh.. heh. I see..
20:48:08 <calamari> graue: btw, what's the word on daily wiki dumps ?
20:48:22 <graue> I heard you the first time
20:48:24 <graue> just a minute
20:49:07 <calamari> :)
20:49:15 <calamari> brb, need to upload 1.22
20:49:16 -!- calamari has quit ("Leaving").
20:49:52 -!- calamari has joined.
20:50:06 <calamari> raven: okay.. 1.22 .. :/
20:50:27 <{^Raven^}> downloaded it 3 mins ago :D
20:50:56 <calamari> hahaha
20:51:53 <{^Raven^}> has gone through first 4 iterations with no problems or errors
20:52:09 <calamari> yeah, I let mine get to 10 before I stopped it
20:52:31 <calamari> I guess it'd be worth it to let it go all the way to 255
20:52:52 <graue> okay, it will now get dumped every day at 22:24 or so UTC
20:53:01 <graue> you can continue to download the dump at 00:01 UTC for simplicity, of course
20:53:12 <calamari> graue: excellent.. thanks
20:53:34 <{^Raven^}> graue: it's nice to see the wiki is alive again, thx
20:53:38 <calamari> bbl.. need food
20:53:46 -!- calamari has quit (Client Quit).
20:54:23 <graue> it was never dead, unless you mean the server outage for about an hour that one time
20:58:11 <BigZaphod> the wiki is great, thanks for it graue.
20:58:56 <graue> :)
21:03:30 <graue> 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 <BigZaphod> I would prefer password wasn't in the dump, but email and such I don't care about.
21:04:14 <graue> well, it's hashed
21:04:31 <graue> but if your password is (e.g.) "corn" it can be cracked easily
21:04:50 <BigZaphod> hey, how'd you know?!
21:04:53 <BigZaphod> ;)
21:05:01 <graue> 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 <malaprop> That would be valuable, should you get hit by a bus.
21:05:23 <graue> probably not a great idea, though
21:05:31 <BigZaphod> true.
21:05:53 <BigZaphod> 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 <graue> huh?
21:07:47 <graue> 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 <graue> 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 <malaprop> 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 <graue> those passwords can be changed
21:16:00 <graue> 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 <jix> moin moin
21:18:25 <graue> hello jix
21:19:09 <jix> i just noted that my wiki backup cron entry wasn't working
21:20:06 <graue> yeah, it seems to have a strange schedule or something
21:20:28 <graue> I just updated the dump now, and also it will now update daily, due to calamari's request
21:20:43 <jix> the 2 files are manual backups (for testing the commandline)
21:20:45 <graue> but you can grab it only once a week if that's all you feel like doing
21:20:49 <graue> I see
21:21:14 <graue> 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 <graue> I couldn't run ~/svnup.sh, I had to run /home/myusername/svnup.sh
21:21:42 <graue> i mean, dbdump.sh, though. svnup was a different cron entry
21:21:54 <jix> i'm using a date command for generating the path
21:22:02 <jix> and insert it into the wget command
21:22:13 * jix likes oneliners
21:22:27 <graue> my .sh file is only one line if you don't count "#!/bin/sh"
21:22:34 <graue> it was just easier to edit as a separate file
21:29:18 <graue> 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 <graue> sort of the opposite of a Turing tarpit
21:30:48 <cpressey> hmmmm
21:30:58 <cpressey> i think it depends on how contrived you let it be
21:32:13 <cpressey> 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 <cpressey> that;s downright pathological, though
21:32:49 <cpressey> (i've been thinking of too many pathological languages lately, sorry ;)
21:32:56 <graue> you could just use decrement 255 times instead
21:33:09 <cpressey> ok, but you get the idea :)
21:33:10 <jix> i have a new idea for a joke language
21:34:06 <graue> the nop instructions would clearly modify some sort of global state
21:34:22 <graue> how about ruling out instructions that do that?
21:34:55 <graue> except, even "where the memory pointer points" and "where the IP is" are global state, so a better definition is needed
21:35:35 <jix> the instructions behavior may not depend on the global state
21:36:05 <graue> wouldn't brainfuck be in violation of that?
21:36:11 <graue> + and - depend on where the memory pointer is
21:36:21 <jix> but the behavior is always the same
21:36:25 <jix> increment/decrement by one
21:36:39 <cpressey> 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 <cpressey> er... i mean rule out instruction that affect some state that only affects whether other instructions can be used
21:38:23 <cpressey> 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 <graue> that's more like it, yes
21:51:02 <cpressey> 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 <cpressey> the right combination of those might require 30+ instructions just to cancel each other out to get something useful done :)
21:51:55 <graue> yes, that would be fun
21:51:56 <cpressey> 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 <graue> heh, I think a 2D language with 22.5 degree turns would be fun
21:55:18 <jix> a 2d language where movement is based on gravity (with black holes, planets etc..) is fun too
21:59:49 <fungebob> jix: how would that work? movement of a pc?
22:00:38 <jix> fungebob: well your pc has a weight.. i didn't say it is possible to programm in such a language..
22:01:41 <fungebob> are you saying it is impossible?
22:01:54 <jix> i don't know
22:02:10 <jix> 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 <BigZaphod> I think windows should be named an esoteric OS because it is just a pain to use sometimes.
00:10:14 <BigZaphod> which is why I own a mac. :)
00:10:34 <BigZaphod> sorry, just venting... I had a failed attempt to make a win2k box dhcp properly.
00:10:38 <BigZaphod> ugh.
00:26:06 <graue> I think it's pretty esoteric how Macs cannot be controlled using the keyboard at all
00:26:54 <BigZaphod> bah.. that's only a problem if you don't know all the shortcut keys. :)
00:46:38 <pgimeno> is 2L a counterexample of the wire crossing problem?
00:56:48 <pgimeno> I'm not sure to have understood the problem well
01:05:35 <graue> the problem is that languages like Befunge and SNUSP and such seem(ed) need to have a "jump over" instruction somehow
01:12:48 <pgimeno> wouldn't a "nop" (space) be enough?
01:13:28 <pgimeno> (in the points where the paths cross, that is)
01:16:37 <graue> that counts as a wire crossing too
01:18:13 <pgimeno> yeah, but no need for # if a space is in the crosspoint
01:19:34 <graue> replace "the problem is that" with "roughly stated, the problem is that"
01:22:44 <pgimeno> 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 <graue> I've just written an interpreter for a really esoteric language
02:09:46 <graue> I hope it works
02:10:56 <pgimeno> what language?
02:24:47 <graue> a crazy new one
02:24:56 <graue> two-dimensional
02:25:08 <graue> 45 degree turns
02:30:27 <pgimeno> la Wierd?
02:34:02 <graue> no, not like Wierd
02:34:18 <graue> just like Befunge or PATH or SNUSP or whatever, but it can move diagonally
02:34:24 <graue> and all turns are relative
02:45:04 <pgimeno> nice
02:51:25 <pgimeno> nite
03:00:17 <graue> 'nite
03:16:17 -!- puzzlet_ has changed nick to puzzlet.
04:12:56 -!- malaprop has quit ("quit").
07:24:55 <graue> I've released a new two-dimensional language, ADJUST
07:25:02 <graue> it is extremely esoteric
07:25:19 <graue> 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 <cpressey> pgimeno: the problem is not whether wires "can cross without problems", it's simply whether wires must cross at all
09:12:19 <cpressey> afaict 2L is rife with wire (or if you prefer, path) crossings
09:13:39 <cpressey> 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 <cpressey> anyway, it's way past my bedtime... good night
09:14:08 <pgimeno> nite
09:15:10 <pgimeno> 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 <jix> 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 <cpressey> pgimeno: yes... or rather, to find a language where all programs are non-crossing (or prove that there isn't one)
18:55:58 <cpressey> for some definition of non-crossing
18:56:21 <cpressey> 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 <cpressey> anyway, ... i just found this, somewhat randomly:
18:57:54 <cpressey> http://www.absoluteastronomy.com/encyclopedia/L/Li/List_of_esoteric_programming_languages.htm
18:58:01 <cpressey> lists several that i've never heard of
19:17:40 <phos> sup
19:25:30 -!- yrz\werk_ has quit (Client Quit).
19:26:53 -!- yrz\werk has joined.
19:45:30 <cpressey> 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 <cpressey> i'd like to see a voting system on the esolang wiki btw
19:49:08 <cpressey> 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 <cpressey> but only one, and it must have a link to the user page
19:50:12 <cpressey> although... i'm not sure
19:50:52 <cpressey> maybe it would be better to just try to get everything, no matter how bad
19:50:56 <cpressey> but i'm not sure where it stops
19:51:12 <cpressey> like, is Joy esoteric?
19:51:35 <cpressey> or is it too useful?
19:51:57 <cpressey> for that matter, is ALPACA really esoteric?
19:52:34 <cpressey> anyway, someone wake up graue... i want to know why he deleted 23.
20:01:39 <cpressey> bah, the wiki's gone down anyway :(
20:04:13 <cpressey> 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 <graue> hello
21:23:22 <graue> cpressey: when I started the esowiki in April, I originally intended to copy over the esolang content from Wikipedia
21:23:48 <graue> 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 <graue> 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 <cpressey> 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 <cpressey> 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 <pgimeno> cpressey: I guess a SMITH variant going in spirals can be a TC 2D language
22:47:18 <pgimeno> TC noncrossing 2D language, I mean
22:47:21 -!- sp3tt__ has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]").
22:47:36 <pgimeno> (but maybe I'm still misunderstanding something)
22:49:10 <graue> 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 <Kmkr> 'ello
23:07:46 <pgimeno> graue: not yet
23:07:47 <pgimeno> hgi Kmkr
23:07:49 <pgimeno> hi
23:08:27 <pgimeno> graue: link?
23:19:12 <Kmkr> hi
23:19:41 <cpressey> pgimeno: it's quite possible. cellular automata look like good leads...
23:19:53 * Kmkr reads about adjust
23:21:35 <Kmkr> sounds interesting this far..
23:23:53 <Kmkr> aargh!
23:26:54 <Kmkr> this language is evil
23:31:54 -!- yrz\werk_ has joined.
23:33:38 <graue> pgimeno, link is: http://www.esolangs.org/files/adjust/
23:34:43 <graue> Kmkr, writing anything in it?
23:37:47 <graue> 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 <Kmkr> nope
23:48:01 <Kmkr> but perhaps sometime
23:48:19 <Kmkr> that's cool, i was wondering how to do that
23:48:20 <Kmkr> :)
23:49:07 <graue> you were supposed to have to do other stuff too and just deal with the side effects
23:49:20 <Kmkr> yeah
23:49:23 <graue> but it turned out so confusing to program in that I think the 2K} wimpmode is a good thing
23:49:32 <Kmkr> yep
23:52:05 <Kmkr> "Push the accelerator's value"
23:52:10 <Kmkr> you probably mean accumulator there
23:52:51 <graue> probably
23:53:59 <Kmkr> "We consider bits in a byte to be numbered from 0 to 7, with 0 being the least significant."
23:54:13 <Kmkr> does this mean 00000001 would be one or vice versa?
23:54:26 <Kmkr> i've never understood what means least significant
23:55:03 <lindi-> Kmkr: that would be 0 then
23:55:05 <graue> the 1 bit is least significant, then the 2 bit, then the 4 bit etc
23:55:21 <lindi-> or on this case, 0th bit :)
23:55:22 <graue> in 00000001, the bit that is on is bit 0, yes
23:55:43 -!- heatsink has joined.
23:57:22 <Kmkr> ah ok
2005-07-03
00:05:30 <Kmkr> who's first to write 99bob in this language? :)
00:05:42 <graue> you? ;)
00:05:55 <Kmkr> i hope not! :p
00:15:09 <Kmkr> if there is space before instruction, do i use '!'? like for example
00:15:11 <Kmkr> !!!!B
00:20:14 <Kmkr> 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 <graue> what do you mean if there's space before an instruction?
00:20:56 <Kmkr> i mean if there is spaces
00:21:00 <graue> if a character doesn't get executed it can be anything (exclamation mark, space, etc)
00:21:06 <Kmkr> ah ok then
00:22:57 <Kmkr> what means "out of bounds"?
00:23:05 <Kmkr> the interpreter doesn't like my code :)
00:23:14 <graue> it means your code left the rectangle of code space
00:23:27 <graue> the only clean way to exit is a C (command 67)
00:23:44 <Kmkr> that i've been trying to..
00:24:04 <Kmkr> there seems to be error somewhere
00:24:25 <Kmkr> but, anyways.
00:24:27 <Kmkr> i need to go.
00:24:59 <Kmkr> i have to wake "early" (8 am) today.. for many days i've slept till 3 pm.. :)
00:25:17 <Kmkr> nite
00:25:19 -!- Kmkr has quit ("I've seen this dj 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 <calamari> 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 <BigZaphod> 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 <Kmkr> woah. thanks for that link
21:04:16 <Kmkr> really cool book
21:04:32 <Kmkr> i'm sure going to read it
21:04:39 <Kmkr> it's fairly new book as well
21:43:47 <{^Raven^}> hi keymaker
21:48:35 <Kmkr> hi
21:52:35 <{^Raven^}> calamari and I have been working on BFBASIC, new version is available on SF
21:52:46 <Kmkr> 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 <Kmkr> cool
21:56:22 <jix> where can i find BFBASIC?
21:57:38 <{^Raven^}> jix: http://cvs.sourceforge.net/viewcvs.py/brainfuck/bfbasic/
22:01:29 <jix> i get a proxy error msg but i don't use a proxy
22:02:03 <Kmkr> so get i
22:02:10 <Kmkr> (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 <Kmkr> i'll need to go
22:05:11 <Kmkr> 'nite
22:05:14 -!- Kmkr has quit ("I've seen this dj 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 <jix> hmm whirl basic?
22:30:37 <{^Raven^}> Should be possible for any suitably motivated person :)
22:32:13 <jix> 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 <jix> hrhr
22:36:02 <jix> 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 <jix> hmm whirl is that whirly i need 3 levels.. basic=>high-level-asm=>low-level-asm(only the whirl instructions)=>whirl
22:39:12 <jix> 3 steps
22:41:37 <jix> but first i need to sleep
22:41:40 <jix> g'nite
22:41:44 <{^Raven^}> nite
22:41:57 -!- jix has quit ("WHIRL").
23:36:55 -!- calamari has joined.
23:38:40 <calamari> hi
23:39:22 <{^Raven^}> hullo calamari
23:39:40 <calamari> hi raven
23:43:06 -!- graue has joined.
23:55:56 <calamari> hi graue
23:56:01 <graue> hi calamari
23:56:06 <{^Raven^}> hay graue
23:56:13 <graue> hay {^Raven^}
23:56:18 <calamari> graue: how is it that the dumps seem to be getting smaller, instead of larger? :)
23:56:26 <graue> I don't know
23:56:39 <calamari> need to patent that and sell it ;)
23:56:40 <graue> there's a "cache" of some kind in there...
23:56:50 <calamari> oic
23:56:54 <graue> and the old deleted stuff might actually get expunged after a while (I'm not sure about this)...
23:57:01 <graue> and I stopped including the user tables
23:57:15 <calamari> privacy concerns?
23:57:22 <graue> security
23:57:25 <graue> it contained hashed passwords
23:57:45 <calamari> oic
23:57:49 <graue> 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 <calamari> bbl
02:30:11 -!- calamari has quit ("Leaving").
02:33:55 <{^Raven^}> nite peeps
02:34:03 <graue> 'nite
02:54:44 -!- calamari has joined.
02:54:46 <calamari> re's
03:41:40 -!- computergeek has joined.
03:42:13 <graue> hello, computergeek
03:42:17 <computergeek> 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 <jix> moin
13:39:16 -!- jix has quit ("Banned from network").
13:52:22 -!- jix has joined.
19:08:39 <jix> 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 <jix> p..LOP
21:26:35 -!- calamari has joined.
21:26:39 <calamari> hi
21:33:05 <calamari> I had the chance to work on my game last night.. making some progress!
21:33:55 -!- BigZaphod has quit.
21:49:09 <calamari> 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 <BigZaphod> 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 <BigZaphod> {^Raven^}: I haven't had time to really play it yet. I love the idea, though.
00:47:39 <BigZaphod> 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 <BigZaphod> sweet! Did not know that. :)
00:49:55 <BigZaphod> 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 <BigZaphod> I'm quite impressed it runs as fast as it does considering the level bf operates at in general.
00:53:43 <BigZaphod> 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 <tokigun> hello
06:38:56 <tokigun> :)
06:39:35 <tokigun> 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 <calamari> 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 <jix> 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 <calamari> 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 <calamari> hi
01:13:22 <{^Raven^}> hullo calamari
01:13:36 <calamari> hi raven
01:14:14 <{^Raven^}> i've been working on my game :)
01:14:22 <calamari> cool, I have too :)
05:11:23 -!- tokigun has joined.
05:11:32 <tokigun> 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 <mtve> 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 <pgimeno> 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 <pgimeno> s/se/see/
09:41:32 <pgimeno> I'm writing the part about practical Malbolge programming
09:41:42 <pgimeno> it's getting too long for a language article
09:46:40 -!- calamari- has quit ("night").
10:14:49 <pgimeno> ok, I'm registered and now I'm writing a comment
10:51:38 <lament> slide rules are fun.
10:51:54 <pgimeno> done
10:52:00 <pgimeno> slide rules?
10:56:04 <lament> yeah
10:56:58 <pgimeno> what do you mean?
11:05:10 <lament> i mean they are fun.
11:08:47 <pgimeno> 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 <jix> moin
13:02:03 -!- malaprop has joined.
13:17:40 <mtve> pgimeno: great!
13:18:56 -!- jix has quit (Read error: 104 (Connection reset by peer)).
13:19:26 -!- jix has joined.
13:23:44 <pgimeno> 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 <BigZaphod> the wiki seems to be having db problems.
19:52:48 <BigZaphod> 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 <calamari> hi
22:41:26 <BigZaphod> hey
22:41:43 <calamari> hi zaphod, how are you?
22:41:54 <BigZaphod> doing good, you?
22:42:05 <calamari> little tired, but okay :)
22:45:02 <calamari> pgimeno: http://kidsquid.com/misc/sliderule.rtf <-- my slide rule contribution ;)
22:46:05 <BigZaphod> freaky, I was just reading about slide rules on wikipedia yesterday.
22:46:19 * BigZaphod has never used one.
22:46:26 <calamari> interesting.. fits into one page in ms word.. ahh well, just shrink the font a little for linux ;)
22:46:44 <calamari> zaphod: you should get one off ebay.. they are not expensive
22:46:59 <BigZaphod> calamari: I was thinking about it...
22:47:00 <calamari> it was a lot of fun learning how to use it
22:48:28 <calamari> pretty neat how many computations even a simple 'rule can do.. mine is only signle sided
22:48:40 <pgimeno> calamari: nice!
22:49:34 <calamari> pgimeno: thanks.. spent way too many hours making that thing :)
22:51:35 <pgimeno> hehe, that's what an esoteric programmer is expected to do isn't it?
23:09:33 <calamari> bbl.. :)
23:09:34 -!- calamari has quit ("Leaving").
23:19:29 <lament> i have a 25 cm slide rule from russia
23:20:42 <lament> 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 <lament> not superb, but still nice
23:23:43 <lament> made in 1969
23:59:25 <yrz\werk> lament: why?
2005-07-07
00:07:58 <lament> ?
00:59:58 -!- BigZaphod has quit.
01:01:55 -!- calamari has joined.
01:02:33 <calamari> hi
01:31:25 <calamari> bbl
01:31:27 -!- calamari has quit ("Leaving").
03:04:02 <cpressey> pgimeno: <<applause>>
03:04:08 <cpressey> (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 <calamari> 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 <pgimeno> 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 <pgimeno> yuck
11:41:01 <pgimeno> I'm so sorry, Raven
11:44:20 <pgimeno> are you in London city?
11:44:31 <{^Raven^}> nope, Sheffield
11:49:02 -!- jix has joined.
11:49:37 <jix> 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 <malaprop> 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 <fungebob> hey all, new flunger is now online at http://jimbomania.com/code/flunger.html
22:30:45 <fungebob> 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 <BigZaphod> 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 <jix> i'm listening to a brainfuck program calculating all prime numbers <=3
22:38:21 <kipple> listening??
22:38:29 <jix> yes
22:38:43 <jix> i modified the choon wave generator
22:39:06 <jix> wrote a bf=>c converter that outputs the current memval to stderr after each instructions
22:39:23 <jix> and now i have a 3 min wave file for prime numbers <=3
22:39:34 <kipple> haha
22:43:04 <jix> sound: http://www.harderweb.de/jix/out.mp3
22:43:12 <jix> program: http://daniel.lorch.cc/projects/brainfuck/php-brainfuck-1.01/examples/prime.phps
22:43:16 <jix> input: "3\n"
22:45:11 <jix> nite
22:46:03 <kipple> 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 <graue> hello
04:54:44 -!- tokigun has joined.
04:55:03 <tokigun> 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 <tokigun> hello
12:33:40 -!- jix has joined.
12:34:05 <jix> 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 <Kmkr> 'ello
20:03:49 <Kmkr> grh
20:03:55 <Kmkr> nothing but spam
20:04:30 <lament> yep
20:04:48 <Kmkr> :)
20:04:57 <Kmkr> i mean in my inbox
20:05:08 <lament> yep :D
20:05:17 <BigZaphod> "But I don't like spam!"
20:06:00 <Kmkr> 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 <BigZaphod> 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 <Kmkr> :)
20:13:14 <BigZaphod> neat cellular automata-type test environment: http://ccl.northwestern.edu/netlogo/
20:15:30 <Kmkr> i'll try it at home
20:15:36 <Kmkr> (in ~3 weeks)
20:22:11 -!- fungebob-away has changed nick to fungebob.
20:22:31 <fungebob> Hey fungers, what happens if you attempt a p with a negative address in funge-93?
20:22:52 <fungebob> add 80 to x or 25 to y to wrap it around? should a strict mode complain about this?
20:24:08 <cpressey> fungebob: it's undefined
20:24:59 <fungebob> hmmm undefined eh? same thing for addresses greater than 80 and 25?
20:25:09 <lament> of course.
20:32:05 <cpressey> fungebob: greater than 79 and 24, actually :)
20:36:18 <fungebob> ah, so true:) how about division and remainders? im reading http://www.phlamethrower.co.uk/befunge/index.php#files
20:37:37 <lament> i bet they work the same as in C :)
20:37:44 <lament> *cough* i wonder why *cough*
20:38:18 <fungebob> are signed cells part of the funge standard?
20:39:41 <lament> isn't there an actual funge standard somewhere
20:39:45 <cpressey> 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 <cpressey> fungebob: i think the assumption is that they're unsigned
20:40:23 <cpressey> lament: yes
20:40:28 <cpressey> for 98
20:41:09 * jix has to make his webpage
20:41:51 <lament> cpressey: exactly :)
20:42:05 <lament> oh, there isn't a 94 standard?
20:42:14 <cpressey> 94?
20:42:20 <lament> 93
20:42:26 <cpressey> there's a document
20:42:50 <lament> cpressey: go write a standard! :)
20:42:53 <lament> better late than never
20:43:37 <cpressey> lament: i'll write one if you write one for smallfuck :)
20:44:28 <lament> but i did!
20:44:48 <lament> i think
20:44:58 <cpressey> 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 <cpressey> befunge-93 is pretty much defined by its reference implementation, though
20:46:44 <cpressey> of course, there are places where C is flexible, like whether 'char' is signed or unsigned
20:47:37 <fungebob> i figured that the cells would be the same u32 as the stack for computation
20:47:50 <fungebob> but it was never explicitly mentioned
20:50:32 <cpressey> that's true... really, only a lower limit (ASCII) is mentioned
20:50:46 <cpressey> btw, stack cells are explicitly described as 'signed long int'
20:52:35 <pgimeno> ... which is unfortunate as it's a limitation for TC ;)
20:54:01 <pgimeno> darn, the wiki login times out too fast
20:54:56 <cpressey> hmm, it never seems to timeout for me anymore
20:55:02 <cpressey> which is bad - i'm apt to forget my password
20:55:50 <pgimeno> does that have to do with marking the "remember password" checkbox on login?
20:56:18 <cpressey> ahhh. probably, yeah.
20:58:54 <pgimeno> heh, I didn't mark it because I thought that the effect was for it to auto-fill the password field
21:02:20 <fungebob> 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 <fungebob> the rollers are way cool
21:03:18 <fungebob> cpressey: do you know the fungus test suite? is it officially endorsed?
21:08:12 <cpressey> 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 <cpressey> it's for -98, right?
21:10:12 <fungebob> mostly for 98, but it was stated on the site that some of the tests would work fine for 93
21:10:38 <fungebob> the suite of tests requires 98 for file access, but some individual modules would be 93-compliant
21:13:59 <cpressey> well... any test that passes on the 93 reference interpreter could be considered "officially endorsed" i suppose... :)
21:14:03 <cpressey> not so for 98 though
21:14:11 <cpressey> fbbi is full of bugs, i'm sure
21:18:30 <jix> http://esolangs.org/wiki/NegaPosi << the first iorcc entry didn't know it is on the wiki...
22:07:27 <GregorR> I think there needs to be an XML raster image format.
22:08:20 <GregorR> <image x="50" y="50"><pixel x="1" y="1"><red value="255"/><blue value="0"/><green value="0"/></pixel>...
22:08:35 <GregorR> Oh, almost forgot alpha!
22:08:36 <BigZaphod> lol
22:08:44 <malaprop> GregorR: sounds like xpm
22:08:56 <GregorR> XPM isn't quite that bad :P
22:09:02 <GregorR> But close
22:09:41 <BigZaphod> 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 <BigZaphod> you could do steganography between pixels.
22:12:05 <GregorR> 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 <GregorR> If my calculations are correct, one 1024x768 image would be approximately 80MB
22:15:08 <{^Raven^}> at what DPI?
22:16:11 <GregorR> It's raster, a pixel is a pixel.
22:18:04 <GregorR> Though I guess the <image> tag could have dpi="" to make it explicit XD
22:19:08 <BigZaphod> to make it more verbose you could add something like: <line><pixel></pixel><pixel>...</line> for each line of the image.
22:20:12 <GregorR> XD
22:20:43 <GregorR> <undohistory><undo type="line" name="line01" level="0"/>...
22:23:33 <BigZaphod> you could also have <checksum type="sha1">...</checksum> within the <line></line> tags for each individual line. of course that might just be getting silly. :)
22:25:20 <{^Raven^}> with each <pixel...> position being specified explicitly <line> seems superflous
22:26:57 <pgimeno> 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 <GregorR> We're talking about an XML raster image format and you're objecting to superflousity?
22:27:36 <pgimeno> maybe it's still under consideration
22:28:21 <{^Raven^}> <pixel><x value="1"/><y value="1"/><red value="255"/><blue value="0"/><green value="0"/></pixel> seems more in spirit
22:30:14 <GregorR> Sort of a blurry line between subelements and parameters ...
22:30:43 <GregorR> I was working under the pretense that a pixel IS a location, and HAS an R, G and B.
22:30:51 <BigZaphod> ooh.. I like that. Pixels could be specified out of order.
22:31:17 <GregorR> For no good reason besides ludicrousy ^_^
22:32:53 <pgimeno> wouldn't it be more like this?: <pixel x="1" y="1"><red>255</red><blue>0</blue><green>0</green></pixel>
22:33:23 <BigZaphod> you could use xslt to build an image editor.
22:34:51 <{^Raven^}> <red><bit position="0" value="1"/><bit position="1" value="1"/><bit position="2" value="1"/>...</red>
22:35:07 <{^Raven^}> ^^^for added convenience
22:35:28 <BigZaphod> ohh.. yes.. it should be a bit-level specification.
22:35:30 <BigZaphod> 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 <BigZaphod> probably a very small image...
22:38:51 <{^Raven^}> hmmm... add <frame value="n"><pixel>...</pixel></frame> and you can extend this to a movie file format
22:39:52 <BigZaphod> you could add <animation> tag outside of the frames that specifies things like fps and you'd have an animated gif kind of thing.
22:40:36 <pgimeno> 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 <calamari> hi
22:54:32 <GregorR> http://gregorr.homelinux.org/xmlraster/example.rxml.bz2
22:54:46 <GregorR> I didn't make it bit format, sorry ;)
22:54:52 <GregorR> But it is a two-frame animation.
22:55:21 <BigZaphod> compresses nicely.
22:56:46 <GregorR> Oh no! I made it wrong :(
22:57:01 <GregorR> It should say <red value="..."/>, but doesn't have the / :(
22:57:07 <BigZaphod> doh!
22:58:35 <{^Raven^}> hey calamari
22:58:49 <{^Raven^}> calamari: am working on BFBASIC 1.50 rc1
22:59:50 <calamari> raven: got your mail on it.. sounds very cool
23:00:49 <calamari> you mentioned that arrays were still causing problems.. is it still with the for loop?
23:02:16 <jix> 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 <calamari> when does it seem to happen?
23:03:52 <jix> 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 <jix> what code crashes?
23:04:37 <jix> or causes problems
23:05:14 <jix> 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 <calamari> that's pretty weird
23:07:48 <calamari> do these bugs hapen with -O0 ?
23:07:57 <calamari> err happen ;)
23:08:10 <jix> is it just me as non java programmer or is the bf-basic code uhm.. chaotic?
23:08:24 <calamari> jix: no, it's crappy code
23:08:33 <{^Raven^}> isn't the lowest -O1? but yes it still happens
23:08:52 <calamari> raven: yeah, you're right -O1 :)
23:10:02 <calamari> 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 <calamari> ogff by one error? I'll have to check it out
23:11:22 <calamari> 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 <jix> 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 <jix> hmm bootstrapping bf-basic ^^
23:15:46 <jix> 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 <Kmkr> 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 <GregorR> I've nearly finished pnmtorxml :)
03:46:16 <GregorR> Done! Now on to rxmltopnm :)
03:59:25 -!- jimbo000 has joined.
04:18:20 <GregorR> 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 <GregorR> Either rxmltopnm doesn't work, or 35MB is a lot of XML :P
04:46:24 <shapr> 35mb is a lot of xml.
05:03:13 -!- malaprop has quit ("quit").
05:16:52 <GregorR> Actually, rxmltopnm was broken *shrugs*
05:17:10 <GregorR> libxml2 is quite fast.
05:18:55 <GregorR> YAY!!!!
05:18:56 <GregorR> 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 <GregorR> Wow, RXML compresses quite well XD
07:12:18 <GregorR> 35MB -> 844K
07:12:56 <BigZaphod> how big is the source bmp, jpg, whatever?
07:23:55 <GregorR> It's a 36K jpeg
07:24:01 <GregorR> 477x498
07:31:26 <GregorR> http://www.codu.org/rxml.php
07:33:20 <GregorR> 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 <tokigun> hello
08:47:30 -!- rot1 has quit (Read error: 145 (Connection timed out)).
08:48:31 <tokigun> GregorR: RXML looks good, except that it's very large :p
08:51:13 <tokigun> i suggest <palette> or <color> element for palette.
09:57:49 -!- jix has joined.
10:00:19 <tokigun> jix: hello
10:09:27 <jix> moin
10:28:40 -!- kipple_ has joined.
10:29:46 <tokigun> <jix> i hope someday my (nameless) =>whirl lang will work perfectly too
10:29:47 <tokigun> oh
10:31:21 <jix> i have no code atm
10:31:30 <tokigun> hmm
10:31:36 <jix> still thinking about stack/variable/array/temp memory layout
10:31:56 <tokigun> you mean c(or whatever) to whirl compiler?
10:32:47 <jix> yes but not c ..a new language
10:32:48 <tokigun> oops, c? hmm it's very hard.
10:33:01 <tokigun> jix: then intermediate language?
10:33:14 <jix> yes but a highlevel language
10:33:20 <jix> a bit like BF-BASIC
10:33:26 <tokigun> i see...
10:33:50 <tokigun> i planed to make whirl assembler but didn't start :)
10:34:51 <jix> i need a whirl debugger..
10:35:13 <jix> with a clean ui and breakpoints
10:38:26 <tokigun> i used my python implementation to debug 99 bob in whirl.
10:38:47 <tokigun> ...but doesn't have good ui
10:39:53 <jix> i'm going to use ruby for the compiler
10:41:31 <tokigun> ah my friend has made aheui interpreter in ruby.
10:41:45 <tokigun> http://dittos.dnip.net/aheui.rb
10:42:03 <jix> python is faster but i don't like the syntax..
10:42:26 <tokigun> jix: yes i think so...
10:42:58 <tokigun> some syntax looks weird... especially decorators
10:43:26 <tokigun> hmm i have to learn ruby again :p
10:44:34 <jix> 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 <tokigun> oh
10:45:14 <tokigun> i heard yarv...
10:47:04 <jix> yarv is for ruby 1.9 (ruby 1.8 with 2.0 features, not a rewrite)
10:48:47 <jix> tokigun: what os do you use?
10:49:18 <tokigun> windows xp
10:49:33 <jix> ah
10:49:38 <tokigun> i want to use ubuntu linux but i doesn't have enough space
10:49:52 <jix> harddisk?
10:49:55 <tokigun> yes
10:50:04 <jix> buy a bigger one ^^
10:50:37 <tokigun> :)
10:51:13 <tokigun> i'm reading Programming Ruby again
10:56:05 <pgimeno> "I need a harder disk" (actually heard from a client)
10:58:06 <tokigun> pgimeno: did you hear "hardest disk"? :)
10:59:31 <jix> i named my hard disk harder-disk on my old computer
10:59:39 <jix> (my family name is harder)
11:00:00 <tokigun> good naming!
12:22:10 -!- yrz\werk has quit (Remote closed the connection).
12:22:42 -!- yrz\werk has joined.
13:10:24 <jix> tokigun: i'm writing a whirl debugger with a tk gui
13:10:31 <tokigun> oh
13:10:35 <tokigun> in ruby?
13:10:38 <jix> yes
13:10:59 <tokigun> i didn't use tk in python; i used wxPython for gui.
13:11:20 <jix> but ruby/tk comes with ruby
13:11:50 <tokigun> yes tkinter comes with python too. :)
13:12:13 <jix> i had some problems with wxwidgets under osx
13:12:27 <tokigun> hmm....
13:13:53 <jix> wxwdigets looks nicer(more native widgets.. more translating between carbon or cocoa and wx) but on osx tk is faster
13:14:42 <tokigun> i felt tk on windows is slower... :(
13:15:43 <jix> and tk comes with osx wx doesn't
13:16:53 <tokigun> anyway... i have to think about whirl quine :)
13:17:01 <tokigun> it seems easy, relatively
13:18:26 <jix> oh and tk is easy
13:26:19 <tokigun> :)
13:26:41 <pgimeno> phew!
13:26:50 <jix> pgimeno: ?
13:26:56 * pgimeno just finished his Malbolge programming article
13:28:51 <pgimeno> http://www.esolangs.org/wiki/Malbolge_programming
13:44:12 -!- yrz\werk_ has joined.
13:44:51 <pgimeno> 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 <tokigun> jix: i finished reading Programming Ruby and (to practice) made Whirl interpreter in Ruby :)
15:32:38 <jix> hmm tktext sucks
15:33:31 <jix> wxmac and wxruby isn't stable enough
15:33:33 -!- yrz\werk has joined.
15:33:43 <jix> ruby-cocoa isn't platform independent
15:44:23 <tokigun> oops.
15:44:27 <tokigun> not good...
15:48:49 <jix> i hate gui toolkits
15:49:05 <jix> 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 <tokigun> BigZaphod: I've made Whirl interpreter in Ruby. :)
16:18:34 <tokigun> See http://dev.tokigun.net/esolang/index_en.php#whirl .
16:20:27 <jix> ah .. now i understand tktext
16:21:03 <jix> tokigun: why a hash as memory?
16:21:32 <jix> and the cell size isn't limited to 32-bit signed
16:21:48 <tokigun> jix: hmm
16:21:51 <tokigun> for instance... eh
16:22:08 <jix> an array is faster than an hash
16:22:13 <tokigun> if reading index -4 of memory?
16:22:21 <tokigun> yes i know
16:22:28 <jix> what does the reference implementation does?
16:22:39 <tokigun> jix: hmm
16:23:55 <tokigun> it uses STL vector... maybe it cannot handle negative index
16:24:30 <tokigun> but i implemented it for safety (yes. it can be changed)
16:25:02 <tokigun> jix: "and the cell size isn't limited to 32-bit signed" what do you mean?
16:25:18 <jix> the reference implementatoin uses int as cell data type.. right?
16:25:19 <tokigun> do you mean "the cell size should be limited to 32-bit signed int"?
16:25:21 <tokigun> yes
16:25:31 <jix> yes
16:25:39 <tokigun> wait a minute...
16:26:49 <jix> aint=int&0x7F_FF_FF_FF;sign=(int>>31)&1;(sign ? -1-aint : aint) should work (untestet)
16:27:04 <jix> but it doesnt
16:27:23 <tokigun> jix: C++ specification says
16:27:40 <tokigun> "Plain ints have the natural size suggested by the architecture of the execution environment"
16:27:51 <tokigun> it can be 16-bit, 32-bit, 64-bit, even 36-bit and so on...
16:27:56 <jix> ok
16:28:03 <jix> but there should be a minimum limit
16:28:31 <tokigun> maybe it can be 32-bit int
16:28:36 <jix> ok
16:28:46 <pgimeno> 16 bits is the minimum; IIRC some Cray compiler have 42-bit-or-so ints
16:28:57 <tokigun> pgimeno: 42-bit?
16:28:59 <tokigun> oops.
16:29:07 <tokigun> anyway.. so i didn't think about Fixnum and Bignum
16:29:31 <pgimeno> 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 <tokigun> if i want to implement Malbolge interpreter, type of int is very important issue :)
16:29:56 <jix> there were computers with 9bit bytes.. or?
16:30:40 <pgimeno> well, it's relatively easy to limit size
16:30:41 <tokigun> jix: not x86, but there're some architectures that has 6bit, 9bit, 12bit byte
16:30:59 <tokigun> (12bit is not sure... but i heard 6bit/9bit byte)
16:31:33 <jix> tokigun: of course not x86.. because the instruction set isn't for 9bit bytes
16:31:39 <tokigun> yes
16:32:05 <jix> wasn't the eniac decimal?
16:32:29 <tokigun> i don't know
16:32:29 <jix> and the snes(super nintendo entertainment system)'s cpu had a decimal mode too
16:32:39 <tokigun> how about precision?
16:32:51 <tokigun> 4-digits?
16:33:31 <tokigun> hmm
16:33:41 <jix> tokigun: i don't know the sens cpu in normal mode: 0x05 + 0x05 == 0x0A in decimal mode 0x05 + 0x05 == 0x10
16:33:55 <jix> i think it depends on the registers used
16:34:00 <tokigun> hmm
16:34:34 <jix> 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 <tokigun> address registers in decimal is... crazy.
16:35:09 <tokigun> anyway it resembles BCD
16:35:20 <jix> base -2 numbers are cool
16:35:26 <jix> no need for a sign bit
16:35:35 <pgimeno> decimal computers were popular around the 60's I think
16:35:45 <tokigun> There is phi base too :)
16:35:56 <tokigun> (phi = golden ratio)
16:36:00 <jix> tokigun: base 2i muhahahahahaha
16:36:05 * jix knows
16:36:06 <pgimeno> that's roughly the justification that Knuth gives for making the MIX language support decimal
16:36:06 <tokigun> hahahahaha
16:36:32 <jix> it's impossible to represent all numbers with base 2i afaik
16:36:44 <jix> you can represent some complex numbers but not all
16:37:13 <jix> uhm phi base? with digits 0 == 0 and 1 == phi^position ?
16:37:25 <tokigun> jix: wait... i'm searching wikipedia article
16:37:26 <jix> because you can't have phi digits
16:37:55 <tokigun> oh, i found:
16:37:56 <tokigun> http://en.wikipedia.org/wiki/Golden_mean_base
16:38:09 <tokigun> it is called "phinary"
16:39:24 <lindi-> what about base i! where 123456 would mean 1*6! + 2*5! + 3*4! + 4*3! + 5*2! + 6*1! ? ;)
16:39:43 <tokigun> lindi-: special case of mixed radix... :)
16:39:52 <tokigun> there is "fibonacci representation" too.
16:39:56 <lindi-> oh
16:40:05 <lindi-> gotta google that up
16:41:52 <tokigun> http://en.wikipedia.org/wiki/Moon_Hee_Jun
16:42:06 <tokigun> He looks good... except eyes
16:42:40 <lindi-> tokigun: that fibonacci representation seems to avoid non-unique representation by restricting what numbers can be used
16:42:56 <tokigun> lindi-: yes it is also universal code.
16:42:58 <lindi-> tokigun: factorial presentation does not have that limit, i think
16:43:23 <lindi-> or hmm
16:43:51 <tokigun> lindi-: factorial representation... i think it cannot be used for general purpose
16:43:52 <lindi-> 123456 would actually be illegal :P
16:43:55 <tokigun> :)
16:44:31 <tokigun> many months ago i designed simple machine language uses fibonacci coding
16:44:49 <lindi-> 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 <tokigun> 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 <ZeroOne> the number base lindi- was talking about is called factoradic.
23:46:34 <lindi-> it has a name? interesting
23:46:39 <ZeroOne> yep
23:46:40 <ZeroOne> http://en.wikipedia.org/wiki/Factoradic
23:47:36 <lindi-> was that page already there when we spoke about this on some math lesson?
23:49:49 <lindi-> very fascinating indeed
23:50:40 <jix> base -2 is still the best one
23:50:41 <ZeroOne> 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 <ZeroOne> s/I this/I made this
23:51:38 <lindi-> the program i wrote to convert decimal to factoradic presentation is dated November 9, 2004
23:52:10 <lindi-> ok
23:52:25 <ZeroOne> you still have that one? :) cool.
23:54:09 <ZeroOne> 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 <lindi-> huh
23:54:59 <jix> and isn't 0! == 1
23:55:11 <ZeroOne> yeah. 0! == 1! == 1
23:55:17 <jix> yes it is the the article is wrong with 0!
23:55:33 <ZeroOne> if you see my original contribution, there was no 0!
23:55:56 <lindi-> fix it :)
23:57:13 <ZeroOne> 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 <lindi-> hmm
23:59:20 <lindi-> "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 <lindi-> 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 <ZeroOne> hmm. that seems to be true, but always padding the number with a zero is just silly anyway.
00:02:20 <lindi-> dunno, maybe it's just a cosmetic issue :)
00:02:31 <jix> the first digit in base n is n^0...
00:04:06 <ZeroOne> gotta admit that's true
00:04:44 <ZeroOne> lindi-, seems like you need to modify your program ;)
00:15:00 <lindi-> maybe but i'm too tired to take a look at it now
00:16:12 <ZeroOne> me too
00:17:39 <ZeroOne> not that I could take a look at your program but I'm just generally too tired to do anything
00:18:58 <ZeroOne> it's also damn hot in here even though the window is wide open
00:32:16 <lindi-> 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 <ZeroOne> I finally managed to brush my teeth. 'night.
01:13:31 <jix> {^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 <jix> yes
01:16:35 <{^Raven^}> 1 sec...
01:16:37 <jix> i get 4 errors in bfbasic.java
01:16:46 <{^Raven^}> hmmm, odd
01:16:55 <jix> 3 about incompatilbe types
01:17:00 <jix> no 2 about types
01:17:19 <jix> http://rafb.net/paste/results/YSkI1Q59.html
01:19:28 <{^Raven^}> what compiler are you using?
01:19:50 <jix> the javac that ships with osx
01:20:04 <jix> 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 <jix> Exception in thread "main" java.lang.UnsupportedClassVersionError: bfbasic (Unsupported major.minor version 49.0)
01:23:21 <jix> java version "1.4.2_07"
01:23:21 <jix> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-215)
01:23:21 <jix> Java HotSpot(TM) Client VM (build 1.4.2-50, mixed mode)
01:23:24 <jix> 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 <jix> i'm even newer to java.. i never learned it and only wrote 2 robocode bots.. never used java anywhere else
01:25:02 <jix> {^Raven^}: thats cross platform in action
01:25:27 <{^Raven^}> i'm using sun java 1.5.0 here
01:25:41 <jix> there's no java 1.5.0 for osx atm
01:26:25 <jix> 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 <jix> ah there is already a java 1.5 for osx
01:30:16 <jix> 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 <jix> hmm lonh 5 mins
02:03:00 <jix> long
02:03:21 <jix> 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 <jix> whats wrong with this code? DIM kk(4)
02:23:03 <jix> kk(2)=10
02:23:03 <jix> 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 <jix> 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 <tokigun> hello
05:38:57 <puzzlet> world
05:42:20 <tokigun> !
05:43:21 <puzzlet> \0
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:29:58 <tokigun> i'm making new befunge variant... this is hello world program: http://pastebin.com/310394
08:43:42 <tokigun> updated: http://pastebin.com/310400
09:49:25 <ZeroOne> interesting. how does it work?
09:53:53 <tokigun> ZeroOne: hmm
09:54:09 <tokigun> original specification is in korean so i cannot put it here...
09:54:20 <tokigun> so i have to explain this code.
09:54:54 <tokigun> this programming language is derived from Befunge.
09:55:11 <tokigun> I didn't named it but currently it is called "SFunge". (think sponge)
09:55:52 <tokigun> SFunge has two registers, infinite code space, and three 2D vector.
09:55:59 <tokigun> (yes there is no stack)
09:56:49 <tokigun> three vectors are: IP(instruction pointer), delta(direction of IP), DP(data pointer)
09:57:18 <tokigun> when program starts, IP is (0,0); delta is (1,0); and DP is (0,0).
09:57:32 <tokigun> and two registers (called A and B) is 0.
09:57:36 <tokigun> s/is/are/
09:58:23 <tokigun> the following is a list of instructions:
09:58:33 <tokigun> + (B += A); - (B -= A); * (B *= A)
09:58:49 <tokigun> ~ (swap A and B); < (swap A and B, if A > B); > (swap A and B, if A < B)
09:59:14 <tokigun> / (dx, dy = -dy, dx); \ (dx, dy = dy, dx) -- imagine mirror
09:59:29 <tokigun> @ (terminate program); 0..9 (set A to 0..9)
10:00:12 <tokigun> # (skip next instruction if B == 0); . (period; print A as ASCII character); : (colon; print A as integer)
10:00:34 <tokigun> , (comma; input A as character); ; (semicolon; input A as integer)
10:02:14 <tokigun> { (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 <tokigun> } (put B to character at DP as character)
10:03:03 <tokigun> in case of { instruction, empty cell is assumed as #32.
10:04:05 <tokigun> hmm hello world program reads "Hello, world!" string from its code space.
10:04:21 <tokigun> (so you shouldn't remove "Hello, world! program" text; it is a part of program)
10:04:53 <tokigun> 3+5*0~|} -- put newline character to (15, 0)
10:05:13 <tokigun> oops
10:05:20 <tokigun> not newline character, but null character. sorry
10:05:42 <tokigun> anyway, -2+0~| -- move data pointer to (2, 0), that is starting point of string
10:06:26 <tokigun> now A = 2, B = 0. using # we enter to main loop.
10:06:41 <tokigun> (because B = 0, it skips next instruction /)
10:07:09 <tokigun> {~. -- it reads character from current DP, and prints it.
10:07:51 <tokigun> 00~1|{ (actually same as "0~1|{") -- move DP to next character (because offset is (1, 0)) and read it.
10:08:25 <tokigun> if this character is null, we should exit loop. so # instruction is used.
10:08:45 <tokigun> otherwise it returns "/" instruction
10:09:08 <tokigun> finally "2+5*~." (prints newline character) is executed and program is terminated.
10:09:24 <tokigun> hmm.. any question?
10:09:53 -!- kipple_ has joined.
10:10:01 <tokigun> hello
10:12:09 <kipple_> hi
10:12:40 -!- kipple_ has changed nick to kipple.
10:13:20 <tokigun> i'm making new befunge variant. i didn't named it but i'm calling it "SFunge".
10:15:26 <ZeroOne> 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 <ZeroOne> I see
10:15:36 <tokigun> ZeroOne: looks good?
10:16:45 <ZeroOne> yeah. I got it now. :)
10:16:53 <tokigun> :)
10:17:27 <tokigun> spec is (almost) finished... but i don't know how to name it.
10:18:20 <ZeroOne> well, the name often comes the last
10:18:31 <ZeroOne> I gotta go now. see you later.
10:18:36 <tokigun> really? :)
10:18:40 <tokigun> good bye :)
10:18:52 <tokigun> see you.
10:19:05 <puzzlet> Pfunge is good
10:19:14 <puzzlet> and ambiguous
10:19:20 <tokigun> puzzlet: ..
10:19:27 <puzzlet> 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 <jix> uhm there's a problem with whirl
12:31:59 <jix> if you move the memory pointer you can't access any value you had before the move
12:32:26 <jix> you have to destory your value for the dadd
12:32:38 <jix> and you can't access the old memval
12:34:36 <tokigun> jix: did you implement loop or conditional structure in whirl?
12:34:49 <jix> i didn't implemented anything atm
12:34:53 <tokigun> hmm
12:35:06 <jix> it is possible to move a value
12:36:10 <jix> decrement if>0(move> increment move> increment move <<)
12:37:39 <jix> 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 <minus273> hi all
16:17:15 <ZeroOne> hello
16:38:53 -!- minus273 has quit (Remote closed the connection).
17:11:40 <jix> test
17:11:52 <jix> ok
17:27:25 -!- jix has quit ("Banned from network").
17:27:32 -!- jix has joined.
18:58:41 <jix> 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 <jix> me is back
21:22:39 <jix> i've implemented a 1 register mul/div minsky machine with input and output
21:23:58 <pgimeno> [ot] http://www.dilbert.com/comics/dilbert/archive/dilbert-20050710.html
21:24:22 <pgimeno> jix: nice
21:24:46 <pgimeno> what kind of language do you use?
21:24:48 <jix> well 3 registers 2 for input and output but they are only buffers and can't do any calculations
21:24:48 <jix> ruby
21:25:01 <jix> the interpreter is written in ruby
21:25:16 <pgimeno> the interpreter for what? (was my question)
21:25:28 <jix> a 1 register mul/div minsky machine
21:26:01 <jix> 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 <jix> uhm no eg
21:26:36 <pgimeno> so it consists of a table of states, right
21:26:36 <pgimeno> ?
21:26:43 <jix> yes
21:27:02 <pgimeno> okay, that's roughly what I was asking :)
21:27:43 <jix> i've done cat in 2 states with 3 rules
21:28:08 <pgimeno> nice
21:28:47 <jix> with the mul/div register you simmulate n add/sub registers
21:28:53 <pgimeno> how are the operations coded into the transition table? one more column?
21:29:08 <jix> 'STATE COND MULT IO NEWSTATE
21:29:14 <jix> state is the state of the rule
21:29:26 <jix> cond is the condition (10 == the register is dividable by 10)
21:29:36 <jix> MULT is the factor to multiply the register with
21:29:43 <jix> IO is for input output
21:29:48 <jix> and newstate is the next state
21:29:56 <pgimeno> I see now
21:30:02 <jix> IO is done with negative COND and MULT
21:30:27 <jix> oh if cond is true the register gets divided by cond
21:30:55 <jix> read: http://esolangs.org/wiki/Minsky_machine
21:31:18 <pgimeno> single-register Minsky machines are very expensive in terms of wasted integer space AFAIK
21:31:27 <jix> they are
21:31:53 <jix> you simmulate n sub-add-registers
21:32:08 <jix> storing them as 2^a*3^b*5^c...
21:32:15 <jix> 7^d
21:32:32 <jix> and subtract n from register d is divide by n*7
21:33:19 <jix> i'm going to write a optimized to-c compiler with factorizes the integers the program at compile time
21:33:59 <jix> wahoo just 3 days school left until holidays
21:35:26 <pgimeno> :)
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 <jix> moin
13:48:19 <yrz\werk> 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 <jix> i'm writing a brainfuck interpreter for my 1register mul/div minsky machine implementation
18:12:18 <jix> the programm reader is complete
18:14:10 <jix> 52 rules
18:14:28 <jix> 18 states
18:16:00 <jix> and a 4 byte brainfuck program needs 6kb ram
18:16:02 <jix> 5byte
18:17:15 -!- yrz\werk_ has joined.
18:18:00 <jix> i really have to write an optimizing compiler
18:19:18 <jix> 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 <jix> 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 <pgimeno> jix: do you want to prove that 1 register is enough?
18:56:20 -!- Kmkr has joined.
18:56:32 <Kmkr> hello
18:59:01 <shapr> shazam!
19:01:19 <shapr> heippa hei Kmkr
19:04:27 <pgimeno> hi Kmkr
19:05:00 <Kmkr> hi
19:05:06 <Kmkr> shapr: finnish?
19:05:19 <shapr> No, I'm from Alabama.
19:05:21 <Kmkr> ah
19:05:31 <shapr> But I lived in Finland for a few years.
19:05:38 <lament> hey, it's shapr
19:05:42 <Kmkr> cool
19:05:42 <lament> i didn't notice
19:05:43 <shapr> oh hi lament
19:05:50 <shapr> hyv ihltaa lament :-)
19:06:19 <lament> hellooo tto you ttoo :P
19:57:36 <lament> http://z3.ca/~lament/elise.mp3
19:58:42 <lament> 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 <fungebob> lament: that mp3 is a hoot
20:10:33 <fungebob> 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 <jix> {^Raven^}: my minsky machine compiler code is worse than the bf code
21:00:11 <jix> the interpreter was a quick hack
21:00:27 <jix> and i'm building the compiler by modifying the interpreter
21:15:14 <jix> 30% of the output file are goto commands
21:15:36 <lament> fungebob: thanks!
21:25:30 <lament> now i have to add a sax solo...
21:42:06 <fungebob> lament: i just happened on Prelude and Fugue - do you have any sample Prelude source around?
21:45:17 <lament> well, there's the tiny fibonacci that i forgot who wrote:
21:45:28 <lament> 1(v+
21:45:28 <lament> 1 !v
21:45:29 <lament> v)
21:45:38 <lament> here's a factorial program:
21:45:38 <lament> 5(v(1-)#1-)
21:45:38 <lament> 1 # v+ !
21:45:39 <lament> v
21:46:12 <lament> that's about it.
21:49:42 <jix> is there a good visual befunge interpreter?
21:50:38 <fungebob> jix: theres the flunger for 93
21:50:50 <fungebob> http://jimbomania.com/code/flunger.html
21:51:02 <fungebob> hope you got flash
21:51:14 <jix> non flash
21:51:19 <fungebob> doh
21:51:35 <jix> it's nice for small apps but i'd like a native or sdl app
21:51:48 <lindi-> jix: there's also freshmeat.net/projects/bfdebug/ which you can run without non-free tools, almost
21:52:06 <lindi-> whoops, that's different project
21:53:09 <jix> oh and windows/gtk/kde is non-native for me
21:53:12 <jix> x11 too
21:53:17 <lindi-> jix: check the files at calamari's web page http://lilly.csoft.net/~jeffryj/programs/bf/
21:53:34 <lindi-> jix: what do you mean by native then?
21:53:37 <jix> but it would be ok.. but i often accidentally close browser windows :(
21:53:42 <jix> osx
21:54:01 <lindi-> i thought it has X
21:54:03 <jix> befunge not brainfuck
21:54:14 <lindi-> argh
21:54:18 <jix> lindi-: but it's not the native GUI engine
21:54:27 <lindi-> seems i can't think clearly today :)
21:54:37 <fungebob> jix: out of curiosity, can you run openGL apps via Glut or SDL?
21:54:45 <jix> fungebob: both
21:54:59 <jix> or via x11 or via native gui
21:55:12 <jix> or via *insert-toolkit-here* in x11
21:55:54 <jix> but x11 isn't as fast as quartz and it has a different look and feel
21:58:53 <jix> fungebob: the p instruction in flunger is slower than the other ones
22:00:32 <fungebob> jix: indeed, on p it recreates the string in the main textfield(linebreak \r delimited) from the 80x25 array of ints
22:00:57 <fungebob> it used to just use the string itself for storage, but got screwy on non-printable ascii chars
22:01:51 <jix> ah
22:02:07 <fungebob> lament: is each line in those programs dedicated to a separate voice?
22:02:45 <fungebob> 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 <jix> 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 <jix> 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 <jix> nah in 3? weeks just 1 vote for http://www.99-bottles-of-beer.net/language-lazy-k-768.html
22:19:00 <fungebob> jix: see if this is any faster for you http://jimbomania.com/code/flunger.html
22:19:05 <fungebob> took some loops out
22:19:58 <jix> fungebob: uhm if i load the sirpinski program it doesn't look like i think it should
22:20:19 <fungebob> jix: uh, yep that is definitely borked:)
22:20:44 <fungebob> ok back to the testing phase on that one
22:21:08 <jix> it's faster
22:21:16 <jix> but p is still too slow imho
22:21:58 <fungebob> i had considered making 80*25 individual textboxes, which could speed it up but cost i dunno how much memory
22:22:57 <jix> hmm 80*25 textboxes is a lot
22:23:21 <fungebob> uh oh serpinsky looks the same in the old version too, ack what ahppened here
22:23:34 <jix> chess too
22:24:16 <jix> and quine2 doesn't work
22:24:21 <fungebob> ouch
22:25:23 * jix is müde
22:25:25 <jix> nite
22:25:34 <fungebob> 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 <BigZaphod> not really esolang, but this was fun: http://www.bigzaphod.org/life.html
23:45:42 <BigZaphod> game of life in CSS + javascript. :)
23:46:03 <BigZaphod> no browser checks and works in IE, Mozilla, safari, opera (tested so far).
23:51:17 <lament> man composing is hard.
23:53:36 <shapr> composing what?
23:54:13 <lament> anything.
23:54:23 <lament> (music, not functions :))
23:54:37 <shapr> I don't find it hard to come up with music, only hard to write it down.
23:55:07 <lament> maybe you have talent, or something.
23:55:11 <shapr> Not saying anything I come up with is any good though...
23:55:21 <shapr> Just that I could make a living as /dev/urandom
23:58:22 <shapr> 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 <BigZaphod> 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 <shapr> I just keep my creative skills fresh in case I can't get a programming job.
00:00:53 <shapr> I think my burning need is exploring 'means of expression' and programming is the niftiest way to do that so far.
00:01:30 <shapr> As I've said before: "Programming is the Magic Executable Fridge Poetry, it is machines made of thought, fueled by ideas."
00:04:11 <shapr> Do you guys know of a tiled programming language? I've been wondering how a hexagonal language would work.
00:04:16 <shapr> I guess Piet counts.
00:14:15 <pgimeno> hm, Befunge uses square tiles in some sense
00:16:18 <pgimeno> in an hexagonal language PC would move in six directions, I guess
00:17:27 <shapr> 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 <pgimeno> BigZaphod: your Life program is traversing the whole area and counting the neighbours of each cell, right?
00:29:36 <BigZaphod> yeah
00:30:25 <pgimeno> hm, JS makes it difficult to take advantage of an usual optimization
00:30:45 <pgimeno> it consists in having an array of counts, initially all zero in each iteration
00:31:18 <pgimeno> instead of counting the neighbours for each cell, you look for active cells and add 1 to each of the neighbours
00:33:30 <pgimeno> the analysis of the number of neighbours is then performed at the final stage
00:33:59 <BigZaphod> hmmmm..
00:34:02 <BigZaphod> interesting.
00:34:35 <BigZaphod> I'll have to try that.
00:34:54 <pgimeno> with javascript YMMV; with C it's very likely to get a speedup
00:35:10 <BigZaphod> 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 <pgimeno> 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 <lament> 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 <jix> 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 <lament> yo
19:24:13 <lament> any speakers of russian?
19:24:15 <lament> http://www.livejournal.com/community/ru_brainfucker/
19:34:50 <mtve> lament: me :)
19:35:13 <lament> mtve: do you know anyone in that community?
19:35:24 <lament> perhaps they ought to be enlightened about the existence of this channel :)
19:36:11 <lament> esli oni konechno govoryat po-angliyski horosho
19:54:03 <mtve> i see nothing new, the place has died on the same month (May), and no interesting people.
19:55:14 <lament> :(
19:55:28 <mtve> 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 <yrz\werk> someone alive?
22:20:47 <lament> me
22:25:18 -!- yrz\werk_ has joined.
22:25:44 <yrz\werk_> 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 <jix> moin
10:02:20 <calamari> hi jix
10:02:50 <calamari> 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 <shapr> It's summer, it's 20°C today!
12:30:36 <jix> {^Raven^}: i made one... but i'm going to make another one because the first one isn't good
12:32:00 <jix> restart
12:32:13 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
12:35:27 -!- jix has joined.
12:35:52 <jix> back
12:36:38 <jix> its 13:37 here ...
12:36:46 <jix> hehe
12:37:07 <shapr> it's 13:38 here.
12:37:19 <jix> 13:37:40<jix>its 13:37 here ...
12:37:23 <jix> 13:38:10<shapr>it's 13:38 here.
12:37:26 <shapr> 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 <Kyus> hello
17:20:50 <GregorR> Hoi
17:22:12 <GregorR> jix: For strange timing, I've got you topped:
17:22:12 <GregorR> (23:19:03) ...: fire alarm in this building, gtg
17:22:12 <GregorR> (23:19:06) CD Gregor R: Bye
17:22:12 <GregorR> (23:19:16) ... logged out.
17:22:12 <GregorR> (23:49:16) ... logged in.
17:22:13 <GregorR> (23:49:38) ...: That was fun
17:22:15 <GregorR> (23:51:11) ...: By my estimates, we were out there for half an hour
17:22:49 <GregorR> (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 <calamari> hi
17:34:14 <shapr> greetings
17:34:20 -!- fungebob has quit (Read error: 145 (Connection timed out)).
17:34:40 <calamari> hi shapr
17:47:05 -!- guest_4764 has joined.
17:48:54 <calamari> hello, you are a guest of the master control program
17:49:54 <puzzlet> You have no chance to survive make your time.
17:50:14 <shapr> 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 <puzzlet> unfortunately*
17:51:12 <shapr> Whoa, it's great.
17:51:48 <calamari> puzzlet: really? rent it or something..
17:52:14 <puzzlet> 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 <calamari> 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 <calamari> hi raven
00:10:20 <calamari> 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 <jix> 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 <malaprop1> 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 <tokigun> 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 <cpressey> that's an impressive use of lego, but i'm not convinced that it's a turing machine
19:47:09 <mtve> sure, it's finite.
19:47:26 <jix> hey! i'm going to build my own lego-turing machine
19:48:05 <cpressey> no, i mean, it's a PDA
19:48:31 <cpressey> the example program can be run on a PDA, as well
19:48:44 <jix> the states are stored in the rcx ram but the tape is lego
19:49:14 <cpressey> the "tape" is a stack, not a tape, though :)
19:49:40 <jix> 2 stacks === 1 tape
19:49:59 <cpressey> it only has one stack
19:50:03 <jix> does it have 2 stacks or 1
19:50:05 <jix> 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 <pgimeno> maybe I'm wrong but it does not seem to me like a LIFO stack but a FIFO
19:58:36 <pgimeno> "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 <cpressey> ah, right. "beneath".
20:00:48 <cpressey> so it's a tag system
20:01:04 <pgimeno> seems so
20:06:23 -!- J|x has joined.
20:14:26 <cpressey> i took wolfram's 1200+-page book out of the library, btw
20:14:56 <malaprop> on purpose?
20:15:59 <cpressey> yeah. i can't gripe about it is unless i've actually read it :)
20:16:42 <cpressey> 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 <lament> you're gonna read the whole thing!?
21:09:22 <cpressey> it's mostly pictures
21:09:37 <lament> oh, of course
21:09:49 <lament> i forgot that it's a new kind of science
21:10:10 <cpressey> 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 <fungebob> cpressey: ever consider a timecube esolang? :P
22:53:39 <fungebob> 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 <calamari> 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 <jimbo> 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 <BigZaphod> 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 <lament> hmm...
08:13:58 <lament> 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 <jix> moin
10:56:15 <dbc> ->++>+++>+>+>+++>>>>>>>>>>>>>>>>>>>>+>+>++>+++>++>>+++>+>>>>>>>>>>>>>>>>>>>>>>>
10:56:29 <dbc> >>>>>>>>>>+>+>>+++>>+++>>>>>+++>+>>>>>>>>>++>+++>+++>+>>+++>>>+++>+>++>+++>>>+>
10:56:36 <dbc> +>++>+++>+>+>>+++>>>>>>>+>+>>>+>+>++>+++>+++>+>>+++>>>+++>+>++>+++>++>>+>+>++>+
10:56:43 <dbc> ++>+>+>>+++>>>>>+++>+>>>>>++>+++>+++>+>>+++>>>+++>+>+++>+>>+++>>+++>>++[[>>+[>]
10:56:50 <dbc> ++>++[<]<-]>+[>]<+<+++[<]<+]>+[>]++++>++[[<++++++++++++++++>-]<+++++++++.<]
10:58:25 <dbc> 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 <dbc> This better not be the last word.
11:08:34 <mtve> 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 <calamari> 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 <calamari> not sure why I started it.. http://esolangs.org/wiki/Brainfuck_constants .. perhaps some of these can be improved?
20:54:18 <calamari> afk for lunch
21:26:10 <pgimeno> 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 <calamari> 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 <calamari> 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 <GregorR> 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 <calamari> hi
06:58:50 <calamari> cool, someone already put a p'' article on the wiki.. good work :)
07:11:03 <GregorR> I think I need to make an esoteric programming language that uses hieroglyphics.
07:19:12 <calamari> or invent a new writing system and use that
07:20:05 <calamari> provide no instructions for use, no documentation of any kind.. and make it worse than malbolge
07:20:16 <calamari> ;)
07:21:37 <calamari> oh, and source code is for wimps.. provide a binary for some obscure architecture that no one uses anymore
07:24:05 <calamari> just suggestions, of course :)
07:25:12 <calamari> that's interesting though.. I wonder what a programming language would look like if the ancient egyptians had computers
07:27:09 <calamari> 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 <jix> 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 <calamari> 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 <calamari> /clear
10:34:55 <calamari> 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 <calamari> 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 <Keymaker> hhi,
11:46:16 <Keymaker> dbc!
11:50:43 <Keymaker> dbc: looks like awesome quine!
11:55:37 <Keymaker> cpressey: i should look the pictures of that book sometime..
11:55:52 <Keymaker> 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 <Keymaker> 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 <Keymaker> i can't think of any easy way
12:36:54 <Keymaker> hmm
12:37:02 <Keymaker> 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 <mtve> yep, only for finite strings.
12:39:48 <Keymaker> that's true
12:40:32 <Keymaker> for finite/small the >>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<..... would be simples
12:40:37 <Keymaker> t
12:41:38 <Keymaker> i think i got it..
12:41:48 <Keymaker> now it'll take a moment to program..
12:46:21 <Keymaker> this could make up a nice bfcc#2
12:46:45 <jix> bfcc?
12:46:53 <Keymaker> brainfuck component competition
12:47:09 <Keymaker> the first competition i ran
12:47:23 <Keymaker> it got nicely entries..
12:47:28 <Keymaker> check bf golf forum
12:47:41 <jix> bf golf forum?
12:47:46 <Keymaker> yeah
12:47:49 <Keymaker> do you know it?
12:47:52 <jix> no
12:48:01 <Keymaker> brainfuck.sourceforge.net
12:48:05 <Keymaker> (iirc)
12:48:08 <Keymaker> there select that forum
12:48:13 <Keymaker> 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 <Keymaker> mmmh braindamage..
14:05:28 <Keymaker> YEEEEAAAAAHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!
14:05:36 <Keymaker> the program works perfectly
14:16:00 <jix> what program?
14:16:18 <Keymaker> a program that dublicates n non-zero cell(s) in memory
14:16:20 <Keymaker> like
14:16:33 <Keymaker> 0data to 0data00data
14:17:35 <Keymaker> 128 bytes..
14:17:46 <Keymaker> probably could made shorter
14:18:00 <Keymaker> but this is a quick hack..
14:18:03 <Keymaker> [>>[>]<[[>>+<<-]<]<[[>+<-]<]<[[>+<-]<]>>[>]>[>]<[>+>+<<-]>[<<[<]
14:18:03 <Keymaker> <[<]<+>>[>]>[>]>-]<<[<]<[<]<[>+<-]>[>]>[>]>>[[<+>-]>]<<[<]<]<[<]
14:18:50 <Keymaker> it can be easily modified to make the data form 0data to 0data0data (one 0 instead two)
14:19:02 <Keymaker> anyways, this program assumes that;
14:19:21 <Keymaker> there is data in memory
14:19:22 <Keymaker> that
14:19:33 <Keymaker> has at least one zero cell before it
14:19:36 <Keymaker> like 0data
14:20:11 <Keymaker> and that after that data there are empty cells
14:20:17 <Keymaker> (zero)
14:21:13 <Keymaker> as well, when starting the program, the program assumes the pointer is the last data cell
14:21:25 <Keymaker> like 0 d a t a(p)
14:21:57 <Keymaker> actually, what's accidentally left to the version i just posted, is '[>>[>]<' in the very beginning.
14:22:19 <Keymaker> hey, wait a bit..
14:22:38 <Keymaker> aarg
14:22:41 <Keymaker> nothing nothing!!
14:22:45 <Keymaker> don't read what i said
14:22:48 <Keymaker> i said wrong
14:22:53 <Keymaker> it's vital part of the program
14:23:06 <Keymaker> sorry, don't remove it.. everything's as supposed to be, in that code..
14:23:14 <Keymaker> there's no extra
14:23:53 <Keymaker> 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 <Keymaker> 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 <Keymaker> 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 <calamari> hi
06:35:47 <calamari> 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 <heatsink> 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 <Kmkr> 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 <Keymaker> grhh
13:28:51 <Keymaker> darn storm 'n lightning
13:28:57 <Keymaker> 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 <graue> hello, Keymaker
18:57:33 <Keymaker> hiya
19:32:17 <graue> 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 <pgimeno> graue: nice job!
20:21:41 <pgimeno> 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 <Keymaker_> computer crashed..
20:31:04 <graue> pgimeno, no, not quite yet
20:31:54 <pgimeno> re Keymaker_
20:35:42 <Keymaker_> 'ello
20:37:02 <pgimeno> archway looks pretty usable
20:40:09 <GregorR> It's my birthday today, by the way.
20:41:07 <pgimeno> oh, happy birthday GregorR
20:42:08 <GregorR> I bought myself a fez for my birthday 8-D
20:42:48 <Keymaker_> happy birthday!
20:42:55 <Keymaker_> what's a fez?
20:43:00 <GregorR> It's a type of hat.
20:43:08 <Keymaker_> lol
20:43:18 <GregorR> http://www.villagehatshop.com/media/vhs-fez.jpg
20:43:26 <GregorR> Hat #11 for me 8-D
20:44:46 <pgimeno> nice fez :)
20:45:23 <GregorR> Thanks 8-D
20:45:25 <Keymaker_> hehe
20:45:36 <Keymaker_> that is 1337
20:46:11 <pgimeno> no, that's 11 :P
20:46:14 <pgimeno> (sorry, bad joke)
20:47:16 -!- Keymaker_ has quit (Read error: 54 (Connection reset by peer)).
20:54:46 <graue> no, that's -5
20:54:54 <graue> 0x8 - 0xd?
21:29:25 <jix> happy birthday GregorR
21:33:55 -!- BigZaphod has quit.
21:36:12 <jix> isn't brainfuck itself planar
21:38:11 <jix> you just have to move everything between [ and ] down one line
21:39:33 <jix> oh storage...
21:51:39 -!- heatsink has joined.
22:02:27 <jix> infinite planar graphs are turing complete
22:03:03 <pgimeno> noncrossing?
22:03:06 <jix> yes
22:03:24 <jix> with storage connected to every state
22:03:43 <jix> but infinite programs are hard to write
22:12:09 <cpressey> happy birthday, GregorR
22:12:15 <cpressey> oddly, i got a fez recently too
22:12:25 <cpressey> friends of mine brought it back from their trip to Turkey...
22:13:55 <GregorR> Heheh.
22:44:38 -!- calamari has joined.
22:45:31 <GregorR> Mmmmmmmmmmmmmmmmmmmmmmm, calamari
22:45:35 * GregorR begins to eat calama
22:45:38 <GregorR> *calamari
22:46:30 <calamari> hi GregorR, happy birthday
22:47:25 <GregorR> Thanks :)
22:49:06 <calamari> still really excited about the discovery of P''. means I never have to use that other name again :)
23:08:00 <jix> is this correct? http://www.esolangs.org/wiki/Image:BF2Planar.png
23:10:09 <jix> i just realized that i don't need infinite planar graphs
23:13:14 <jix> hm?
23:13:17 <jix> anyone here?
23:14:11 <cpressey> calamari: except that P'' isn't brainfuck, exactly... it only has three operators, which map to brainfuck ">", "+<", and "[]"
23:14:47 <cpressey> 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 <GregorR> To spite calamari, I'm going to name it fuckshitcock
23:15:32 <GregorR> That's what I'll call it at all times.
23:16:47 <calamari> cpressey: yeah I know.. I'll have to use the other symbols if I want to call it P'' :)
23:18:22 <graue> I'm not sure I understand this image, jix
23:18:46 <calamari> having trouble following it myself, just read up on planar graphs :)
23:19:09 <jix> graue: the - - - - lines are data lines for communication with the tape
23:19:53 <graue> oh, I get it now
23:20:11 <graue> but what about the "arbitrary effect at an arbitrary point" thing?
23:21:02 <graue> suppose that at A and C you want to access cell 0, and at B you want to access cell 1
23:21:04 <graue> 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 <ZeroOne> hmm
01:21:30 <ZeroOne> found a new page with lots of esolang interpreters/compilers: http://www.jaapan.de/en/myprg.php?page=progs2
01:22:04 <GregorR> I like how it's Japan-Germany-England :-P
01:23:06 <ZeroOne> this guy really seems to have a thing to Atari computers :p
01:31:50 <calamari> atari computers are cool.. I have an old 800xl :)
01:32:52 <calamari> of course the st < amiga
01:45:06 <graue> 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 <Phy> hi
03:50:11 <GregorR> Hoi
03:50:18 <Phy> 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 <calamari> well, so much for the constants page.. wrote a program to exhaustively find solutions :)
04:03:12 -!- Phy has left (?).
04:03:21 <graue> cool
04:03:27 <graue> what'd you write it in? Brainfuck?
04:04:21 <graue> please share this program with us
04:07:27 <calamari> wrote it in java
04:08:09 <calamari> we need a file wiki with an html upload button :)
04:08:27 <GregorR> Such as, ohhhhhhhhhhhh, Giki? :P
04:08:36 <calamari> giki?
04:08:51 <GregorR> Ouch.
04:08:56 <GregorR> http://giki.sourceforge.net/
04:08:59 <calamari> oh yeah
04:09:03 <GregorR> Heheh
04:09:03 <calamari> I remember now.. hehe
04:09:06 <GregorR> I'm just being an idiot :-P
04:09:30 <calamari> I'
04:09:39 <calamari> m usually an idiot, so you're ahead of me ;)
04:11:08 <calamari> 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 <calamari> I should have it generate the best non-wrapping version as well
04:39:39 <graue> as discussed before, the wiki isn't the best place for files
04:39:57 <graue> 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 <Keymaker> here's a brainfuck related xmas card:
06:42:30 <Keymaker> http://koti.mbnet.fi/yiap/stuff/xmas.png
06:42:53 <Keymaker> i meant to post it here last Christmas, but probably forgot
06:43:14 <Keymaker> 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 <jix> t-online sucks!
09:20:07 <jix> moin
09:21:35 <jix> 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 <pgimeno> that sucks, jix
09:23:18 -!- yrz_ has quit (Read error: 110 (Connection timed out)).
09:24:27 <graue> jix, is 0.2 still the latest version of cipple?
09:26:50 <jix> graue: yes
09:29:57 <graue> can you add some sort of license to the beginning of it so I can copy it legally?
09:34:44 <jix> yes
09:41:36 <jix> http://www.harderweb.de/jix/cipple/cipple.c
09:47:02 <graue> cool, thanks
10:06:16 <jix> ok again.. is this correct? http://esolangs.org/wiki/Image:BF2Planar.png
10:07:42 <jix> 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 <graue> do you have to have a line to the particular cell of storage you want?
10:11:49 <graue> 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 <jix> storage part of the state?
10:12:47 -!- lindi- has joined.
10:12:49 <jix> part of the graph?
10:15:34 <jix> is this (http://en.wikipedia.org/wiki/L-System) turing complete?
10:18:29 <jix> 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 <jix> it's Context-free so it's a pushdown-automaton
10:20:03 <graue> I'm not really the one to talk to about this theoretical stuff
10:29:26 <jix> braktif seems to be non-planar
10:31:39 <jix> it uses ^< and v> they cross
10:33:40 <jix> but i'm working on a braktif like non-wire-crossing cellular automaton
11:33:55 <jix> tape and the instructions * > and < are implemented
11:46:24 <jix> [ when current cell is false is implemented
12:02:25 <jix> i made a turing complete planar cellular automat
12:03:28 <jix> oh a little error
12:13:37 <jix> 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 <GregorR> Good morning, people-who-are-not-in-my-time-zone-and-hence-it-is-not-morning-to.
14:03:07 <jix> moin GregorR
14:04:23 <GregorR> Hoi :)
14:06:39 <puzzlet> good night
14:07:04 <jix> its 3pm here
14:07:46 <GregorR> lol
14:08:08 <GregorR> It's 6AM here.
14:08:28 <jix> sometimes 3pm is morning for me
14:08:38 <GregorR> XD
14:09:33 <jix> i made a planar turing complete cellular automat (using alpaca)
14:11:02 <jix> because brakif doesn't seems to be planar
14:12:06 <GregorR> Hmmmmmmm, why did I wake up?
14:12:11 <GregorR> *zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz*
14:12:34 <GregorR> Oh right, work.
14:13:23 <jix> work?!
14:14:10 <GregorR> Gregor needs his $$$ :)
14:14:24 <jix> i need €€€
14:14:57 <jix> hmm i have €€€ and atm i don't need more
14:16:07 <GregorR> AHHHHHHHHHHHHHHHHHHHH, THE NOT ENGLISH!
14:16:58 <jix> ?
14:18:36 <GregorR> "€€€" comes out as garbage to me.
14:18:46 <jix> €€€ is EuroEuroEuro
14:18:55 <jix> is your charset UTF-8?
14:18:55 <GregorR> WOW, I can't read a Euro.
14:19:05 <GregorR> I'm probably living in ASCII-land.
14:19:30 <jix> UTF-8 is ascii compatible
14:19:33 <GregorR> 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 <GregorR> Aaaaaaaaaaaaaaaaaaaaaaaaaanyway, time for me to go to work, see y'all later :)
14:21:22 <jix> later
15:24:34 <yrz> 15:16 < GregorR> "BBB" comes out as garbage to me.
15:24:34 <yrz> 15:16 < jix> BBB is EuroEuroEuro
15:27:58 <jix> 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 <cpressey> jix: yes, L-systems are PDAs.
16:04:45 <jix> cpressey: they are Context-Free grammars => PDAs
16:04:59 <jix> cpressey: braktif isn't planar
16:06:39 <cpressey> jix: yes, i know
16:06:49 <cpressey> most interesting 2d ca's aren't
16:06:59 <jix> but i made a planar smallfuck interpreter using alpaca
16:07:06 <cpressey> although... possibly all are isomorphic to ones that are
16:07:18 <cpressey> through neighbourhood isomorphism
16:07:45 <cpressey> jix: can i see it?
16:07:50 <jix> yes
16:09:01 <jix> i'm uploading everything
16:12:25 <jix> i'm writing down a little smallfuck => plainfuck (PLanar brAINFUCK) converting guide
16:16:18 <jix> http://www.harderweb.de/jix/langs/alpaca/plainfuck/(guide.txt|plaunfuck.alp|test.pf) i hope i uploaded a working version
16:16:35 <jix> plainfuck.alp not plaunfuck.alp
16:17:30 <jix> it's planar because i'm only using < ^ v and >
16:19:55 <cpressey> have you checked that the state diagram of each cell is also planar?
16:20:21 <cpressey> eek, look at the time
16:20:26 <cpressey> i have to leave for school now, sorry
16:20:30 <cpressey> cya later
16:20:49 <jix> cya
16:20:59 <jix> oh statediagram of each cell uhm
16:21:11 <jix> d'oh
16:21:40 <jix> 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 <GregorR> Do work ... or chat on #esoteric ...
17:09:27 -!- yrz has quit (Read error: 110 (Connection timed out)).
17:21:33 <jix> GregorR: has ork dynamic arrays?
17:28:49 <GregorR> I believe you could build your own, it has pointers.
17:29:12 <GregorR> I really need to make a release of ORK with Instantiate spelled right XD
17:32:04 <jix> *g*
17:39:21 <GregorR> Hmm, befunge.org doesn't like my public key any more >_>
17:39:50 <pgimeno> it was down a few hours ago
17:40:36 <GregorR> Have you checked out the BBCode plugin btw, pgimeno?
17:40:51 <pgimeno> nope, I'm going to
17:41:48 <GregorR> Hmm, looks like befunge.org will be back up on the 25th.
17:42:50 <GregorR> In the interim, http://www.codu.org/ork/ork-0.9.tar.bz2 (please download lightly, I have limited bandwidth :P)
17:43:01 <GregorR> 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 <jix> huh?! my 99 bottles of beer is #1
18:01:20 <Keymaker> lazy k?
18:01:32 <jix> yes
18:01:36 <Keymaker> ah. good job
18:02:20 <jix> it's my 2nd functional programming language (the first one was haskell and i used it only for a day)
18:02:37 <jix> you really have to rethink how to do thinks with lambdas
18:02:49 <jix> hmm maybe i'm going to write lazy-k-basic
18:02:58 <jix> /away
18:08:09 -!- calamari has joined.
18:08:11 <calamari> hi
18:10:49 <Keymaker> hello
18:11:07 <Keymaker> how does that your brainfuck constant program work?
18:11:28 <Keymaker> i mean how does it calculate that stuff?
18:11:39 <calamari> 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 <calamari> keymaker: it takes all "equations" of the form w[>x<y]>z from -14 to 14
18:12:48 <calamari> some things are immediately ruled out, for example w!=0 and x=0, or w!=0 andy=0
18:13:44 <calamari> 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 <calamari> there might not be a solution
18:14:15 <calamari> that'
18:14:24 <calamari> s from memory, so sorry if there are wrong details
18:15:30 <Keymaker> ok
18:18:35 <calamari> btw for there to be a solution (256*i-w)%y must be 0
18:18:54 <calamari> so if it completes the loop then there was no soln
18:19:20 <calamari> of course if w,x,y,z < 0 I add 256
18:19:32 <calamari> that's pretty much it, I think
18:23:10 <calamari> hmm... now that I think of it, that form w[>x<y]>z might not always be the most efficient for the non-wrapping versions
18:34:45 <calamari> this should cover it v[>w[>x<-]>y<<-]>>z
18:38:17 <calamari> nope.. hehe
18:38:37 <calamari> no reason it has to be -.. could be --
18:39:50 <calamari> so t[>u[>v<w]>x<<y]>>z .. yay
18:41:17 <calamari> w, y (- {-1, -2, -4, -8}
18:42:23 <calamari> maybe not.. perhaps for some t, there could be y=-3 so that it completes evenly
18:43:03 <calamari> not quite as easy as the wrapping solutions :)
18:45:40 <calamari> 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 <calamari> so I think I can assume y=-1 is the optimal solution
18:52:27 <lament> i think this problem is a lot more complex than you think it is.
18:53:10 <calamari> lament: possibly.. can you point out something that I've missed?
18:53:14 <lament> no.
18:53:18 <calamari> here are my current set of combo:
18:54:34 <lament> of course it's possible to do a complete bruteforce.
18:55:28 <calamari> 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 <calamari> 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 <calamari> v,w,x,y,z (- {0,...,14}
18:59:23 <calamari> anyhow.. I'll code that up later on and see what kinds of answers I get
19:03:31 <calamari> it's possible that I'll need another nested multiplication.. not sure if it helps or not
19:09:33 <calamari> afk
19:12:26 <calamari> do you think it would help to have v,w,x,y,z greater than 14?
19:12:38 <calamari> somehow I don't think so
19:35:00 -!- puzzlet has quit (Client Quit).
19:42:36 <calamari> the wiki doesn't seem to allow me to upload images.. or am I just missing how to do it?
19:55:38 <lament> hehehehe
19:55:46 <lament> i wrote a brute-force solution program
19:55:55 <lament> probably will take a few hundred years to run....
19:56:35 <calamari> ;)
19:57:12 * lament times it
19:57:15 <calamari> I'm not at home, but I can write the above program later.. should not take too long
19:57:37 <calamari> have fun copy/pasting the solutions in :)
19:58:18 <lament> my program analyzes 100,000 BF programs a minute...
19:58:20 <calamari> should write a merging program while that one is running ;)
19:58:24 <lament> of course, i could rewrite it in C
19:58:59 <lament> damn
19:59:20 <lament> it will take 70,000 years to run, not "a few hundred" :(
19:59:23 -!- puzzlet has joined.
19:59:36 <lament> still this is very possible to do
19:59:39 <lament> in theory
19:59:45 <lament> with currently available computational resources
20:00:16 <Keymaker> only 70,000? what's the hurry? ;)
20:01:21 <lament> I could probably solve this in a year by attaching it to a virus and infecting 70,000 windows machines.
20:01:27 <BigZaphod> 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 <calamari> zaphod: thanks :)
20:08:51 <calamari> lament: are these random bf programs?
20:14:33 <Keymaker> lament: haha
20:15:21 <lament> calamari: no, i'm doing them in order
20:17:06 <calamari> lament: order?
20:17:11 <calamari> what order? :)
20:17:41 <lament> well, each bf program is a number in base 6
20:17:48 <lament> (6, since "," and "." are never used)
20:17:52 <calamari> halting problem?
20:18:23 <lament> i stop the machine after 10000 steps
20:18:31 <calamari> should have checked for the smallest quine while you're at it ;)
20:18:33 <lament> and i should probably decrease that number dramatically
21:14:06 <{^Raven^}> calamari: the x[>x<x]>x solutions are wrong, they should be x[>x<x]>x< to leave the pointer at the same cell as the x[>x<x] solutions
21:15:36 <calamari> raven: I thought I had the non >x solutions still do >.. did I forget ?
21:16:27 * calamari checks.. nope
21:16:43 <calamari> raven: the pointer will end up at the desired number
21:16:53 <{^Raven^}> calamari: yeah, x[>x<x] exits with pointer at cell 0 and value in cell 1 in the x[>x<x]>x case both pointer and value are in cell 1
21:17:14 <calamari> raven: where is x[>x<x] on the page.. please show me
21:18:44 <calamari> for example ++++[>+++++<-]> (15, 2) (20 section)
21:18:51 <calamari> this leaves the cell in 1
21:19:05 <calamari> err pointer in cell 1 :)
21:19:37 <calamari> 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 <calamari> one thing tho.. I should rearrange so that the answer ends up in cell 0
21:20:32 <calamari> that way 1 and 2 cell versions end up in the same place
21:21:43 <calamari> 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 <calamari> uhoh, dbc left.. all is lost :)
21:23:47 <Keymaker> indeed :(
21:33:07 <GregorR> 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 <calamari> sorry about that :(
21:50:36 <calamari> dangers of the middle mouse button in linux
21:56:57 <GregorR> Heheh
21:57:04 <GregorR> Ahh, but middle-mouse-paste=good
21:57:24 <calamari> yeah I like it usually :)
21:58:16 <GregorR> (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 <calamari>
22:14:14 <calamari> heh
22:18:07 <Keymaker> i don't get the joke
22:18:23 <Keymaker> :)
22:20:43 -!- kipple__ has joined.
22:24:32 -!- kipple__ has left (?).
22:25:37 <GregorR> Keymaker: Fast food = bad, mouse paste = probably not too healthy (mouse paste as in paste made from mice)
22:28:38 <Keymaker> ah..
22:28:53 * Keymaker pretends understanding usaian humour
22:29:08 <Keymaker> :)
22:29:11 * GregorR eats some mouse paste.
22:29:39 <Keymaker> hmm, what's wrong with fast food? i thought you americans love it
22:30:15 <GregorR> There's something horribly wrong with Americans.
22:30:35 <Keymaker> :)
22:30:42 <jix> hmm anyone ever thought about writing an irc bot in.. BRAINFUCK?
22:30:49 <Keymaker> nope
22:30:54 <calamari> mm.. now I want some Taco Bell :)
22:30:54 <Keymaker> but that could be nice
22:30:56 <jix> Keymaker: wrong
22:31:03 <jix> me did (3 mins ago)
22:31:11 <calamari> jox: thought about it, yes.. did it: no :)
22:31:17 <Keymaker> yes
22:31:19 -!- jix has changed nick to jox.
22:31:20 <calamari> err jix, sorry :)
22:31:28 <jox> 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 <jox> lol
22:31:50 <jox> who am i?
22:31:55 <Keymaker> lol
22:31:57 -!- jox has changed nick to GregorR.
22:32:07 <jix> ahh stop it!
22:32:14 <GregorR> :)
22:32:27 -!- GregorR has quit (Nick collision from services.).
22:32:31 <calamari> lol
22:32:31 <Keymaker> :)
22:32:51 -!- Keymaker has changed nick to GregorR.
22:33:05 <GregorR> That was mean
22:33:28 <jix> who is calling me at 11:34pm?!
22:33:33 <GregorR> Keymaker is scratching his head right now I'll bet 8-D
22:34:14 <jix> irc bot in brainfuck is hard
22:34:37 <calamari> shouldn't be that hard
22:34:37 <GregorR> I'll bet.
22:34:39 -!- Kmkr has joined.
22:34:45 <calamari> write it in bfbasic
22:34:46 <GregorR> HI KEYMAKER!
22:34:46 <Kmkr> darn nick collision
22:34:51 <GregorR> XD
22:34:54 <jix> lol
22:34:59 <Kmkr> hello :9
22:34:59 <jix> calamari: that's too easy
22:35:12 <calamari> see? not hard :)
22:35:42 <jix> calamari: but i want to write it in pure hand optimized brainfuck
22:35:58 <GregorR> Sometimes I want to write a BF backend for GCC.
22:36:09 <GregorR> But then I put away the cocaine and that feeling goes away.
22:36:36 <Kmkr> jix: then WRITE IT
22:36:38 <Kmkr> :p
22:36:46 <calamari> somebody needs to send Gregor some coke
22:36:46 <jix> Kmkr: i'm going to WRITE IT
22:36:52 <Kmkr> OK
22:37:00 <Kmkr> 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 <calamari> 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 <jix> calamari: front-ends are easier
22:38:21 <Keymaker> jix: how would that kind of irc bot work?
22:38:31 <jix> Keymaker: stdin and stdout
22:38:41 <Keymaker> would you need to have some brainfuck interpreter on channel or something?
22:38:41 <calamari> I was hoping to have access to some pseudo-asm language that I would then generate bf for
22:39:21 <calamari> I wrote a bf bot.. in java though ;)
22:39:27 <Keymaker> :)
22:39:38 <jix> Keymaker: no i implement the irc protocol in brainfuck pipe stdin and stdout to a socket and POW
22:39:55 <Keymaker> and that means? :)
22:40:08 <calamari> you could pass the port i/o to the bf interpreter
22:40:11 <Keymaker> well, i don't understand about these network things anyways
22:40:24 <calamari> then you'd just have to interpret the server commands.. not really a big deal
22:40:26 <Keymaker> good luck with the program
22:40:41 <calamari> jix: what you said :)
22:41:15 <jix> calamari: the only thing i don't like is answering pings.. but freenode is very pong-tolerant
22:41:47 <calamari> 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 <calamari> either one would work
22:42:32 <jix> nah.. i'm not that good in brainfuck
22:42:47 <calamari> 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 <jix> but.. i have to write this bot in brainfuck
22:43:19 <GregorR> Darn phone calls, how am I supposed to do no work when the phone rings.
22:43:41 <calamari> okay.. Taco Bell beckons.. cya all :)
22:43:43 <jix> 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 <jix> {^Raven^}: yeah.. i'm going to use.. another esolang
22:44:32 <jix> a more string friendly one
22:44:43 <GregorR> Such as ORK XD
22:45:04 <GregorR> 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 <jix> Malbolge irc bot MUHHAHAHAHAHAHAHA
22:46:51 * GregorR 's head explodes.
22:47:38 <jix> my head can't explode.. just implode (vacuum..)
23:12:50 <Keymaker> :D
23:13:07 <jix> i need a fast befunge debugger
23:16:07 <Keymaker> and i think i'll need some sleep.. zZZzz..
23:16:11 <Keymaker> good nite
23:16:16 <jix> 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 <jix> i wrote a crappy ping less sub-minmal befunge irc bot that prints hello msgs with the nick reversed...
00:06:22 <jix> 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 <jix> urgh
00:06:39 -!- fungebot has joined.
00:06:39 <fungebot> Hello tobegnuf:
00:06:45 -!- jix has left (?).
00:06:49 -!- jix has joined.
00:06:50 <fungebot> Hello xij
00:07:32 <jix> anyone else want's to test it?
00:09:07 <jix> no one..
00:09:21 <fungebot> Hello xij
00:09:25 <jix> muhahaha
00:09:37 <jix> JOIN
00:09:38 <fungebot> Hello xij
00:09:53 <jix> as i said crappy and sub-minimal
00:10:27 <jix> ITEVENDETECTSJOINSHIDDENINOTHERWORDS
00:10:28 <fungebot> Hello xij
00:11:12 <jix> 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 <jix> {^Raven^}: the better bot?
00:11:59 <{^Raven^}> jix: yeah
00:12:44 <jix> i thought about a little rpn calculator
00:13:22 <jix> or something else usable
00:13:41 <jix> {^Raven^}: try to say JOIN
00:13:41 <fungebot> Hello xij
00:14:18 <{^Raven^}> JOIN
00:14:18 <fungebot> Hello }^nevaR^{
00:14:40 -!- jimbo000 has quit (Read error: 60 (Operation timed out)).
00:14:44 <jix> ok it has no problems with nicks that are not jix
00:15:31 -!- fungebot has quit (Remote closed the connection).
00:15:38 <jix> 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 <GregogerG> JOINIOJ
00:39:04 <GregogerG> (Sadly, the bot is nae here)
00:39:22 -!- GregogerG has changed nick to GregorR.
00:48:01 <lament> 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 <heatsink> 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 <GregorR> 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 <jix> 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 <jix> nah just deinstalled all optional packages using ssh
12:32:21 <jix> did you know that ssh is an optional package??
14:03:17 * {^Raven^} saved about 4Gb clearing the package cache alone
14:11:06 <GregorR> Don't type that as ANY user, it'll still recurse and delete all your files.
14:11:38 <GregorR> (Just all of that user's files, not ALL the files though)
14:30:02 <jix> 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 <GregorR> Hmm, how can I write a programming language that actually causes physical pain to program in.
17:25:37 <GregorR> 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 <jix> /back
17:50:54 <jix> 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 <graue> I am registered through NickServ, I just didn't remember/care about being able to use its kill feature
18:47:13 <GregorR> Ah, hehe :)
18:47:37 <graue> 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 <GregorR> 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 <GregorR> Unfortunately, I think you've got me there, it's clearly a 3L.
18:50:22 <graue> we could call the new nopless language 1L
18:50:38 <GregorR> lol
18:51:04 <graue> think about it though, spaces are turns and only *s can actually be executed
18:51:15 <graue> you'd have to do a bunch of crazy stuff to get anything useful to happen
18:51:18 <GregorR> I'm almost positive it would be non-Turing-complete, whereas 2L is presumably Turing complete.
18:51:30 <graue> not TC, eh?
18:51:37 <graue> what leads you to conclude that?
18:51:51 <GregorR> Hmm, lemme see if I can verbalize my logic ...
18:52:17 <GregorR> You couldn't loop, because getting to the beginning of the loop would involve precisely undoing everything you did.
18:52:35 <graue> not necessarily
18:52:41 <graue> going one way, you could increment a variable
18:52:50 <graue> going the other way, you could decrement a throwaway cell you weren't using
18:53:05 <graue> "unbalanced" loops like [->+] would not be possible though
18:53:11 <graue> are those required for TC?
18:53:45 <GregorR> Hmmm ...
18:54:00 <GregorR> The problem with having a throwaway cell is that you select a cell by walking up or down.l
18:54:35 <GregorR> So you would hit the same "throwaway cell" every loop, and couldn't use it as an incre/decrementor.
18:54:39 <GregorR> I think >_>
18:54:57 <GregorR> Hmm, /me is mentally formulating ...
18:55:44 <graue> 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 <graue> which I guess is definitely un-TC: to use an unbounded amount of memory would require an unboundedly long program
18:56:17 <GregorR> And I believe the value would correspond to the column.
18:56:25 <GregorR> Well, not quite, but in a sense.
18:56:36 <GregorR> Err, that line was to my own comment.
18:56:42 <graue> yes
18:57:13 <graue> I'm thinking of possible variations
18:57:21 <graue> what if, after a turn, the next command is treated as a nop?
18:57:45 <GregorR> So a turn becomes sort of a turn-n-jump
18:58:06 <GregorR> Well, anyway, I'm at work, so I'm going to go back to working :P
18:58:21 <graue> say, what happens in 2L if you do this:
18:58:21 <graue> +
18:58:22 <graue> >>>>+
18:58:22 <graue> +
18:58:28 <graue> where > is the direction of the code pointer
18:59:52 <cpressey> http://en.wikipedia.org/wiki/Black_Box_%28game%29
19:00:03 <cpressey> (sorry, that's neither here nor there, but 2L sort of reminds me of it)
19:00:47 <graue> 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 <GregorR> It turns around and comes back.
19:02:33 <GregorR> Because it turns either right or left, then interprets the + in that direction and turns the same direction again.
19:02:53 <graue> 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 <graue> have any complete programs been written in 2L?
21:22:33 <graue> I ask so that I can test my interpreter; the site at www.befunge.org is down
21:27:51 <GregorR> One moment, I can put them all into some accessable place.
21:28:17 <pgimeno> hm, it would be a good idea to upload it to the svn repository
21:28:22 <GregorR> Actually, I've only ever written one 8-D
21:29:11 <GregorR> http://www.codu.org/HelloWorld.2l
21:29:41 <GregorR> 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 <GregorR> Oh wait, I should probably upload it first :P
21:30:45 <GregorR> OK, it's up.
21:31:48 <graue> wow, that's a pretty damn long hello world
21:33:01 <GregorR> 8-D
21:33:07 <GregorR> It's certainly not optimal.
21:33:44 <GregorR> I didn't reuse, so it's nasty, but it works.
21:38:07 <GregorR> MY VNC IS SCREWED UP AND MAKING MY CAPS LOCK STICK ON >_<
21:43:15 <jix> GregorR: ok you have to write an all uppercase language now..
21:44:55 -!- calamari_ has joined.
21:46:38 <calamari_> non-wrapping versions are up http://esoteric.voxelperfect.net/wiki/Brainfuck_constants
21:48:16 <calamari_> is 255 optimal?
21:49:20 <calamari_> hmm, seem to be missing nonwrapping 2 cell for 255
21:50:06 <jix> calamari_: it makes no sense to include the + only constants imho
21:50:11 <pgimeno> I'd remove the (n,1) non-wrapping version
21:50:13 <pgimeno> heh
21:51:34 <calamari_> I was trying to be complete about it
21:52:00 <calamari_> seems weird including the wrapping 1 cell without including the nonwrapping
21:53:09 <pgimeno> indeed, sorry, I mean the (n,1)
21:53:17 <pgimeno> either wrapping or non-wrapping
21:54:09 <calamari_> well, you can remove it if you'd like, I suppose.. but maybe start a talk thread about it
21:54:10 <graue> calamari_, are you going to share your program?
21:54:18 <jix> calamari: or add line breaks ..
21:54:28 <calamari_> graue: I'd like to.. but I protest the difficult wiki uploading
21:55:01 <jix> calamari_: image uploading is very easy
21:55:07 <jix> is file uploading different?
21:55:17 <calamari_> jix: so I should save my code as an image? :)
21:55:25 <GregorR> lol, the wiki battle never ends on #esoteric does it?
21:55:35 <GregorR> calamari: (re)write it in piet ;)
21:55:46 <graue> calamari_, email it to me and I'll add it to svn
21:55:52 <graue> mailto:graue@oceanbase.org
21:57:12 <graue> I protest that the Brainfuck constants page now scrolls horizontally :(
21:57:38 <calamari_> graue: may I ask why code uploads are disallowed?
21:57:53 <graue> I didn't know they were disallowed
21:58:07 <graue> does it check the file type?
21:58:30 <calamari_> well, if code uploads are allowed, why the separate file repository?
21:58:46 <graue> for organization purposes
21:58:55 <graue> a program like yours could go in brainfuck/util/
21:59:20 <calamari_> oh, so mediawiki has no concept of directories
21:59:41 <graue> yeah, its upload system is really just designed for sounds and images
21:59:47 <graue> maybe only images
22:00:10 <calamari_> perhaps it can be repaired with a plugin
22:00:35 <graue> perhaps the file repository works fine already?
22:01:08 <calamari_> nah..
22:01:31 <calamari_> 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 <graue> 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 <calamari> 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 <graue> then no, I see no reason to store files in two separate places.
22:06:50 <calamari> sure.. so scrap the old file repository
22:07:03 <calamari> the files can be moved to the new structure
22:07:43 <jix> i think a file manager for media wiki would be cool
22:08:00 <jix> there are special pages for viewing them like a normal directory structure
22:08:28 <jix> and a wiki page can include things like [[Directory:/brainfuck]] for listing all brainfuck files
22:08:30 <calamari> 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 <jix> or [[File:/brainfuck/a_kewl_interpreter.tar.bz2]] for direct downloads
22:09:24 <calamari> that
22:09:25 <calamari> 'd work
22:09:32 <jix> calamari: yes but i think having a normal directory structure is good too for just browsing some files
22:09:48 <calamari> how would files be uploaded easily?
22:09:59 <jix> calamari: browser upload?
22:10:08 <calamari> on the Special: pages I would hope?
22:10:14 <jix> yes
22:10:27 <jix> i'm going to try writing such a plugin
22:10:32 <calamari> what do you think, graue? does this sound reasonable?
22:10:37 <jix> i've holidays and a lot of time
22:12:57 <calamari> jix: that'd be really cool. thanks
22:13:14 <jix> mediawiki is php?
22:13:18 <GregorR> Yup
22:13:22 <jix> urgh
22:13:27 <GregorR> lol
22:13:33 <GregorR> Maybe I'll go write it for Giki XD
22:13:41 <jix> Giki?
22:13:55 <GregorR> Why do I even try?
22:14:02 <GregorR> http://giki.sourceforge.net/
22:14:51 <GregorR> Hmm, I get the feeling that my letting on my PHP skill just volunteered me to writing this plugin ...
22:15:37 <jix> i don't like php
22:15:56 <jix> but i know it so there shouldn't be a problem
22:16:09 <GregorR> Lesse, if I remember right you're a ruby guy, right?
22:16:21 <jix> yes
22:16:45 <GregorR> OK, I can respect that. If you disliked PHP but prefered perl, I would have to blacklist you from my knowledge ;)
22:17:15 <jix> i first learned RealBasic (my first programming language with ca. 10 years)
22:17:25 <jix> than i learned Perl (and it was better than RealBasic)
22:17:37 <jix> than i learned PHP ( and it was better than Perl)
22:18:19 <jix> then i learned C (and it was like: urgh? i don't want to care about memory and that lowlevel stuff!)
22:18:39 <GregorR> lol, poor C doesn't get any respect any more :P
22:18:53 <calamari> too many people using gets ;)
22:19:09 <GregorR> True
22:19:29 <jix> i'm using c... but if you only used gc:ed languages and then learn c..
22:19:38 <jix> c is a great language
22:19:45 <jix> (ruby is implemented in c so it has to be great ;)
22:20:02 <GregorR> Heheh
22:20:07 <calamari> asm > c ;)
22:20:14 <GregorR> Machine code > ASM
22:20:16 <jix> oh and afaik the argument c isn't turingcomplete because of sizeof(void*) is wrong!
22:20:25 <jix> if c runs on a machine with infinte integers
22:20:30 <GregorR> That's implementation specific, for one.
22:20:41 <jix> sizeof(void*) can be infinite too
22:22:08 <calamari> the integer size doesn't need to be infinite.. just access an inifinite number of them from disk, etc.
22:22:54 <GregorR> Aslo a very good point.
22:23:32 <jix> calamari: afaik the c documentation says sizeof has to return an integer
22:23:38 <jix> oh from disk
22:23:57 <calamari> it'd depend on if there were any rules about the implementation of file i/o
22:23:58 <jix> 1. read 2. think 3. write
22:24:31 <jix> i always reverse the list
22:26:22 <graue> I don't think that's correct
22:26:31 <graue> you cannot create an unbounded number of files in C
22:27:35 <jix> graue: would such a wiki file system work for the esolang wiki?
22:27:45 <graue> 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 <graue> jix: I'd rather keep it simple
22:28:10 <graue> MediaWiki barely works as it is
22:28:34 <jix> graue: you could access a InfiniteMemory pci device
22:28:41 <graue> also one of the reasons we rejected putting files on the wiki is that they may be subject to copyrights
22:28:45 <jix> or a Brainfuck device using usb!
22:28:50 <calamari> graue: doesn't seem that complicated to me
22:28:52 <graue> jix: not with standard C
22:29:16 <calamari> graue: it'd just be entendning the existing Special:Upload(s?) page to allow directories
22:29:30 <jix> graue: of course, i assume the pci libs of your system are written in c
22:29:37 <calamari> graue: then the files would be linked just like normal, but with directory path too
22:29:54 <graue> calamari: that's a big extension to "just" make
22:30:07 <graue> jix: you probably need some assembly to talk to the hardware
22:30:26 <calamari> graue: why are you so stuck on the repository? it is useless
22:30:28 <jix> graue: on the gba you don't
22:30:38 <graue> jix: ok, so the GBA is Turing-complete?
22:30:43 <graue> that proves nothing about C
22:31:03 <pgimeno> on unix-like systems everything is a file, no assembly
22:31:07 <graue> if you want to prove C turing complete, you have to stick to what C provides
22:31:20 <graue> pgimeno: all unix-like systems require some assembly in the kernel to talk to the hardware
22:31:23 <jix> graue: c provides reads and writes to memory
22:31:48 <graue> C also leaves undefined what happens if that isn't memory you allocated yourself, or got with the & operator
22:32:16 <jix> and memory mapped device communication isn't something undoable
22:32:23 <jix> un-doable
22:32:24 <graue> but that's not C
22:32:27 <jix> not undo-able
22:32:30 <graue> that's a particular programming environment
22:32:31 <pgimeno> my point is: if the infinite tape device is already given by the OS then C can be TC
22:32:48 <graue> pgimeno, yes, but that's not C, that's the OS's programming environment
22:33:03 <jix> graue: just define sizeof(int) == infinite
22:33:14 <jix> and sizeof(void*) == sizeof(int)
22:33:15 <graue> jix: the standard doesn't allow that
22:33:20 <jix> graue: it does
22:33:36 <graue> I'm pretty sure it doesn't, but if you can cite where it does go ahead
22:33:47 <jix> at least i didn't found a word/sentence/paragraph that disallows that
22:34:10 <jix> (i looked at the c99 standard)
22:34:26 <graue> 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 <stddef.h> header.
22:34:31 <graue> http://dev.unicals.com/papers/c99-draft.html#6.5.3.4
22:34:59 <jix> where does it say that integers are finite
22:35:26 <pgimeno> what would sizeof(int) return otherwise?
22:35:32 <jix> infinity
22:35:48 <jix> if sizeof(size_t) is infinity where is the problem
22:35:58 <GregorR> 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 <jix> than size_t is able to store infinty
22:36:10 <jix> ack
22:36:19 <graue> GregorR, you're missing the point
22:36:34 <graue> if the C language itself says sizeof(void *) cannot be infinite, then the C language is not Turing-complete
22:37:03 <jix> graue: where does it says that
22:37:06 <graue> it doesn't matter if sizeof(void *) is A(20, 19) where A() is Ackermann's function, that's still finite
22:37:09 <graue> jix: I said "if"
22:37:26 <jix> yes but it doesn't
22:37:51 <pgimeno> well, "infinite" is not an integer
22:38:00 <graue> good point
22:39:19 <pgimeno> 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 <GregorR> If sizeof(void *) was infinite, you'd have infinite space to store sizeof(void *) :)
22:39:59 <graue> what's (inf & 1) where inf is an integer variable holding infinity?
22:40:36 <pgimeno> probably & is illegal when applied to that value
22:40:38 <jix> there are infinte ways to store infinity
22:40:42 <graue> 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 <graue> & is illegal? the standard doesn't say so
22:41:02 <jix> inf & 1 could be 1 or 0
22:41:08 <pgimeno> emphasis in "to that value"
22:41:10 <GregorR> Why wouldn't inf & 1 be 1? That seems most logical.
22:41:19 <GregorR> Infinite many on bits & 1 = 1
22:41:33 <graue> maybe infinity is 1 followed by infinite zeroes?
22:41:42 <graue> (in binary or decimal or whatever base you desire)
22:41:58 <jix> or 1 is followed by a never repeating random sequence?
22:42:08 <graue> yes
22:42:22 <jix> but & isn't illegal with any of that infinities
22:42:29 <GregorR> OK, this conversation is getting a bit to esoteric for me (hahaha), I'm going back to work :P
22:42:44 <pgimeno> 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 <pgimeno> I wonder if the standard says/assumes sizeof(type) must return a numerical value
22:45:23 <jix> oh wait
22:45:24 <graue> it does, I quoted it
22:45:26 <graue> above
22:45:31 <jix> sizeof(void*) == 1
22:45:32 <graue> the sizeof operator returns a size_t
22:45:38 <jix> but a byte is infinity large
22:45:44 <graue> which is an unsigned integer value
22:45:57 <GregorR> I thought C needed to have a byte as 8 bits?
22:46:17 <jix> GregorR: does it?
22:46:22 <{^Raven^}> no, a byte can be any number of bits wide, it is implementation dependant
22:46:40 <graue> 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 <graue> an infinitely large byte could not have a high-order bit
22:47:20 <jix> why couldn't it
22:47:26 <{^Raven^}> graue: that's a metaphysical question
22:47:27 <jix> it's 2^Infinity
22:47:34 <pgimeno> 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 <graue> it did indeed
22:47:53 <jix> pgimeno: sizeoff(void*) == 1 no problem
22:48:07 <jix> but that 1 byte has infinite bits
22:48:20 <pgimeno> what's the value of the high-order bit of a byte, then?
22:48:31 <jix> 2^Infinity
22:48:32 <pgimeno> how do you determine it, I mean
22:48:56 <jix> do i have to determine it? the standard just says its called high-order bit
22:48:57 <GregorR> Within C, I think you would have to do some logic on (unsigned) 0 - 1
22:49:11 <GregorR> But for that matter, what is (unsigned) 0 - 1
22:49:16 <graue> 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 <GregorR> Err, right graue that makes more sense.
22:50:06 <graue> I think pgimeno nailed it already, no definition of "integer" in common use allows for the possibility of infinity
22:50:47 <jix> graue: c doesn't say that the sign is the high-order bit
22:50:51 <pgimeno> anyway jix is right: if a byte can be infinite and an int is 1 byte long then sizeof(int)=1
22:51:12 <graue> yeah, but then CHAR_BIT is infinity
22:51:32 <pgimeno> yuck
22:52:25 <pgimeno> I'll stick to Noll's calc instead of C when I need a TC C-like language :)
22:52:49 <jix> c is too implementation specific..
22:53:08 <jix> i have to do more useful things.. (like searching an esoteric language for writing an irc bot)
22:54:44 <jix> {^Raven^}: are BFBasic arrays stable now?
22:55:06 <pgimeno> mmmh... use Thue? :)
22:55:19 <calamari> jix: there may still be some bugs
22:55:20 <pgimeno> it's good managing strings
22:55:33 <jix> pgimeno: the input output system of Thue is a bit weak
22:55:50 <jix> 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 <jix> does bf-basic works with 8bit bf xor 16bit bf?
22:57:30 <jix> or both
22:57:38 <calamari> 8-bit
22:57:47 <jix> and bf-asm?
22:57:48 <graue> 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 <calamari> 16-bit
22:58:23 <graue> I notice only going off the top or left is defined as ending the program
22:58:35 <calamari> actually I think bfasm can use any number of bits >= 16
22:58:44 <calamari> let me check that tho :)
22:59:22 <GregorR> graue: In my minds view of a 2L program, it goes infinitely right and down.
22:59:33 <GregorR> Clearly that is implementation specific - in my 2Li, it'll just crash 8-D
22:59:51 <calamari> yeah, according to what I wrote in the specs, you can use anything 16-bits and over with bfasm
22:59:58 <GregorR> 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 <GregorR> (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 <calamari> jix: the bfi.c I included in bfasm handles [-] and should be able to run any 16-bit bfasm program
23:02:32 <jix> its included in bfbasic too
23:02:38 <calamari> there are certainly faster interpreters tho :)
23:06:24 <graue> 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 <GregorR> 0 at all times if I remember properly.
23:08:57 <GregorR> When you're done, I'll have some spec-upgrading to do XD
23:09:45 <GregorR> (BTW, yes, I verified, it's 0 at all times)
23:12:58 -!- BigZaphod has quit.
23:14:10 <graue> my interpreter ends if it goes off the right or bottom of the program, so I guess it isn't compliant
23:14:26 <graue> (it defines "bottom" as the last line, and "right" as "beyond the last character on the longest line")
23:14:39 <GregorR> The standard is "undefined"
23:14:44 <graue> fair enough
23:14:46 <GregorR> Or more specifically "the result is undefined"
23:15:19 <graue> 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 <jix> the irc msg dispatcher is done 70%
23:18:39 <calamari> jix: whatcha writing it in?
23:18:46 <jix> BFBASIC
23:18:48 <calamari> cool
23:19:30 <graue> oh there, I did it
23:22:11 <graue> I'm still interested in making a 1L
23:23:00 <GregorR> graue: Is your interpreter working slash can I see it?
23:23:23 <graue> 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 <graue> it seems to be working; my A program works
23:23:58 <graue> I made it by just modifying my Archway2 interpreter a little bit: http://www.esolangs.org/files/archway/impl/archway2.c
23:24:03 <GregorR> What language is it in?
23:24:05 <graue> C
23:24:06 <GregorR> Oh, C.
23:24:16 <GregorR> But there's already a 2L in C ;)
23:24:28 <jix> please privmsg me
23:24:31 <graue> I rewrote some of run() and that was it
23:25:27 <graue> 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 <graue> and does it do so in a roughly efficient manner?
23:25:55 <graue> and allow for individual lines to be arbitrarily long as well?
23:26:00 <GregorR> Burn :)
23:26:21 <GregorR> No, mine is quite teh sukk.
23:26:32 <graue> also, splint gives only 6 warnings on mine :)
23:27:42 <GregorR> But do you have a 2Lc? :)
23:27:56 <GregorR> That produces code so ugly it makes you want to vomit with rage?
23:29:24 -!- jix2 has joined.
23:29:50 <jix> mah the xchat raw log is wrong!
23:30:09 <GregorR> 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 <jix2> that's me using netcat (like telnet but not for shells)
23:30:35 <GregorR> netcat rocks
23:30:47 <jix2> it does
23:30:57 <GregorR> 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 <jix2> it's the best irc client!
23:31:10 <GregorR> Are you using netcat classic or GNU netcat?
23:31:31 <jix> the man page says nothing about GNU
23:31:44 <jix> and afaik the gnu netcat command is netcat my netcat command is nc
23:32:14 <GregorR> Both correct.
23:32:22 <GregorR> GNU netcat is better IMHO
23:32:40 <jix> but mac os x comes with the other netcat
23:33:10 <GregorR> Ah :)
23:33:25 <jix> 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 <GregorR> I thought netcat classic supported that ...
23:34:36 <GregorR> I guess I haven't actually used it in quite a while XD
23:36:50 <graue> how about a 1L based on P'', with only commands equivalent to +< and >?
23:37:00 <graue> in the other two directions, spaces could be nops
23:38:11 <graue> 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 <GregorR> Link to info on P''?
23:38:34 <graue> http://www.esolangs.org/wiki/P%27%27
23:39:30 <graue> 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 <GregorR> Hmm, THAT many commands can be derived?
23:41:31 <graue> from +< > [ and ], and if wrapping around with incrementation is allowed, then yes, +, <, and - can be derived
23:41:52 <GregorR> Ahhh, of course, wrapping.
23:41:55 <GregorR> That didn't occur to me.
23:42:16 <GregorR> So in 8-bit, to get 255, you'd have to do (+<)(>) 255 times
23:42:24 <graue> yes
23:42:47 <graue> of course, that doesn't require wrapping, and would work for more than 8-bit
23:43:15 <GregorR> Yes, that was quite certainly the worst possible example 8-D
23:46:51 -!- BigZaphod has joined.
23:48:12 <GregorR> You know graue, I'm starting to believe XD
23:48:16 <GregorR> It just might work.
23:48:38 <GregorR> A single BF command might map to a 50x50 block of unreadable mess ......
23:48:41 <GregorR> But it may work.
23:54:21 <jix> i need a fast, very fast brainfuck compiler
23:54:48 <{^Raven^}> jix: 8-bit or 16-bit?
23:54:53 <jix> 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 <jix> and a compiler?
23:59:06 <{^Raven^}> ah, that's an interpreter. what do you need to compile BF to?
23:59:38 <jix> to c to ppc and pc
23:59:55 <GregorR> Do you mean that the compilation has to be fast or the compiled code has to be optimal?
2005-07-20
00:00:09 <jix> pc (x86) is the most importand platform
00:00:12 <jix> compiled code
00:01:51 <graue> 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 <graue> that would be an interesting approach to data compression
00:02:35 <jix> table?
00:03:28 <graue> jix, have you seen sf2tab? it compiles smallfuck programs into lookup tables
00:03:42 <graue> 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 <Aardwolf> Hi
00:17:53 <graue> hi
00:18:38 <Aardwolf> i'm now to this channel :)
00:19:01 <GregorR> Welcome :)
00:19:18 <{^Raven^}> hi (nice nick btw :)
00:19:33 <Aardwolf> thanks!
00:20:13 <Aardwolf> btw "now" was a typo, I meant "new"
00:24:18 <GregorR> 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 <GregorR> So Aardwolf, what languages are you in to?
00:32:27 <Aardwolf> Hmm I like befunge type languages
00:33:01 <Aardwolf> I made one too
00:33:01 <GregorR> Ahh, very nice, have anything particularly interesting and/or strange you've written?
00:33:12 <GregorR> Well, you answered my question before I asked :)
00:33:20 <Aardwolf> :)
00:33:29 <GregorR> Spec?
00:33:39 <GregorR> (And/or reference implementation)
00:33:48 <Aardwolf> Gammaplex, a befunge like that can do graphics
00:34:23 <GregorR> Oh, I've seen that on the wiki.
00:34:42 <GregorR> How did you come to find out about the wiki / this channel? Mailing list, google?
00:34:53 <Aardwolf> google
00:35:10 <Aardwolf> what languages are you in to? :)
00:35:42 <GregorR> Well, I've always liked the classique BrainFuck.
00:35:53 <GregorR> I wrote 2L, FYB and ORK.
00:36:03 <GregorR> Only one of which is notable :-P
00:36:06 <jix> Aardwolf: is gammaplex open source?
00:36:12 <Aardwolf> Yes, it is
00:36:37 <jix> ah i found the link
00:36:43 <Aardwolf> I also really like the language Piet
00:37:35 <GregorR> 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 <Aardwolf> hehe, appearantly :D
00:38:32 <Aardwolf> I'm looking up your languages in the wiki
00:40:36 <graue> GregorR: I think 2L and ORK are both definitely notable
00:40:42 <Aardwolf> Heard of 2L before, nice one :)
00:40:49 <Aardwolf> the ORK site appears to be down
00:40:54 <graue> yes
00:41:09 <GregorR> 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 <GregorR> Oh, actually, there's one on the 99-bottles-of-beer site.
00:41:18 <graue> http://www.esolangs.org/files/ork/ has some stuff on it
00:41:24 <graue> and http://www.esolangs.org/wiki/ORK
00:42:22 <jix> Aardwolf: i get compile errors if i try to compile gammaplex
00:42:30 <GregorR> http://www.99-bottles-of-beer.net/language-ork-649.html
00:42:33 <Aardwolf> what errors?
00:42:35 <Aardwolf> You need SDL
00:43:00 <jix> i have SDL
00:43:07 <jix> uh wait
00:43:20 <Aardwolf> There's a project included for DevC++, but I've also been able to compile it under linux
00:43:28 <jix> i'm on osx here
00:44:16 <Aardwolf> Did you set any linker options for SDL?
00:44:21 <jix> yes
00:44:34 <jix> -framework SDL on osx SDL is a framework
00:45:19 <jix> (a framework is a package containing a shared lib and headers (optional) and resources (if needed))
00:45:24 <GregorR> graue: Could you upload ork-0.9.tar.bz2 for me (if I email it to you)
00:45:50 <Aardwolf> Hmm I know nothing about OSX, can't help you there
00:46:38 <jix> 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 <graue> GregorR: certainly
00:47:35 <jix> i'm trying the xcode template that should work
00:49:40 <GregorR> ORK awaaaaaay!
00:50:36 <Aardwolf> by the way you should try the pong game in gammaplex, the guy who wrote that is insane :D
00:50:59 <jix> Aardwolf: compiled
00:51:23 <Aardwolf> nice
00:56:02 <pgimeno> hi Aardwolf
00:56:09 <Aardwolf> hiya
00:56:31 <pgimeno> I guess we met by email :)
00:56:43 <Aardwolf> aha you're the one from the wiki then :)
00:57:03 <Aardwolf> nice to meet you
00:57:15 <pgimeno> well, I'm the one who asked you for permission
00:57:41 <pgimeno> the wiki's owner is graue; I'm just an editor
00:58:17 <Aardwolf> I see
00:58:27 <Aardwolf> it's a nice project
00:58:45 <pgimeno> jix: btw, I use tcpserver for piping
00:59:02 <jix> i don't have tcpserver
00:59:25 <GregorR> 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 <GregorR> Oh wait, that's right, tcpserver allows multiple connections.
01:03:15 <jix> 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 <jix> expression matching in 2d is slow.. isn't it?
01:04:08 <jix> +regular
01:05:56 <GregorR> 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 <jix> :(
01:09:44 <GregorR> Your bot has no brain AHAHAH
01:10:14 <GregorR> (Secretly, GregorR is the peer that reset BrainBot's connection)
01:11:07 <Aardwolf> 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 <jix> urg?!
01:14:10 <jix> its netcat fault!
01:14:22 <lament> die netcat die!
01:15:33 <GregorR> What does(n't) BrainBot do?
01:15:43 <graue> stay connected longer than a split second
01:16:15 <lament> does brainbot answer to pings?
01:16:19 <GregorR> 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 <graue> so you'd need a special visual IDE to do it?
01:16:54 <graue> a paint program with black and white images?
01:17:11 <GregorR> Don't actually provide such a program, mind you.
01:17:14 <graue> yes
01:17:19 <GregorR> Just make it a requirement >:)
01:17:19 <lament> bitwise is good
01:17:20 <graue> just wait for someone else to write it :)
01:17:29 <jix> lament: not yet but freenode doesn't send pings
01:18:24 -!- graue____ has joined.
01:18:27 <jix> and i was online using netcat!
01:18:41 -!- graue____ has quit (Client Quit).
01:18:41 <jix> without receiving and sending pings
01:19:05 -!- BrainBot has joined.
01:19:19 <GregorR> Hey now 8-D
01:19:21 <jix> ok freenode is sending something to BrainBot that kills him
01:19:33 <jix> i made the connection one way and now it works
01:19:35 -!- BrainBot has quit (Remote closed the connection).
01:19:45 <graue> CTCP VERSIONs?
01:20:11 <jix> no.. brainbot ignores everything that is unnormal
01:20:11 <pgimeno> --- Received a CTCP VERSION from freenode-connect
01:20:18 <graue> what would be normal?
01:20:25 <jix> JOIN commands
01:21:18 -!- heatsink has joined.
01:21:20 <GregorR> And requests for it to run FYB rounds XD
01:21:54 <GregorR> Well, I'm off, see you all later.
01:22:02 <pgimeno> << JOIN #zz
01:22:03 <pgimeno> >> :pgimeno!pgimeno@124.Red-80-59-211.pooles.rima-tde.net JOIN :#zz
01:22:10 <pgimeno> maybe the second JOIN is confusing it?
01:22:14 <pgimeno> later GregorR
01:22:50 <jix> 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 <heatsink> fail
01:24:13 -!- BrainBot has quit (Success).
01:24:39 <jix> 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 <lament> what does "Success" quit message mean?
01:28:08 <jix> 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 <jix> urgh!
01:28:56 -!- BrainBot has joined.
01:29:01 <jix> it's netcat
01:29:17 <jix> and a negative memory pointer?
01:29:32 <jix> 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 <pgimeno_nc> seems to work
01:32:06 -!- pgimeno_nc has quit (Client Quit).
01:33:02 <pgimeno> wonder why I don't see a quit message if I wrote one
01:35:27 <jix> you have to use :Quitmsg
01:35:37 <jix> it's a non-standard-confirm irc server
01:35:49 <jix> using : escaping is always optional
01:36:05 <jix> but dancer-ircd want's it for a quit msg
01:36:29 <pgimeno> I wrote: QUIT :bye
01:36:32 <jix> oh
01:36:34 <jix> hmm
01:36:58 <pgimeno> and got as reply: ERROR :Closing Link: pgimeno_nc (Client Quit)
01:46:07 <jix> bfbasic is buggy :(
01:49:38 <graue> fix the bugs?
01:50:45 <graue> pgimeno: it's an anti-spam technique
01:50:58 <graue> the server won't allow a custom quit message unless you've been online for a certain amount of time first
01:55:07 <pgimeno> oh, thanks graue
02:07:46 <{^Raven^}> jix: i might be able to help debug your BFBASIC program
03:44:03 <GregorR> Hmm, to implement a safeHTML plugin for Giki, or to prove that 2L is turing complete ...
03:44:55 <graue> make a brainfuck->2L compiler
03:45:31 <GregorR> Easy except for IO
03:45:57 <graue> hmm, make a Brainfuck with no IO -> 2L compiler?
03:47:13 <GregorR> Does anybody actually think that 2L is NOT Turing Complete?
03:47:15 <graue> you'd have to waste a bunch of memory cells to implement IO, I guess
03:47:30 <GregorR> Intuitively it could be done, it would just be annoying :-P
03:47:35 <graue> just make a Brainfuck with no IO -> 2L compiler
03:47:40 <graue> that's enough to prove 2L is Turing-complete
03:47:45 <GregorR> Indeed
03:48:27 <graue> plus, it could still be compliant with the ENSI spec: http://esoteric.sange.fi/ENSI/brainfuck-1.0.txt
03:50:08 <graue> 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 <GregorR> OK
04:09:52 <GregorR> *cracks fingers*
04:09:57 <GregorR> What language to implement this in...
04:11:41 <GregorR> 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 <graue> eh?
04:23:16 <GregorR> 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 <GregorR> Now for the hardest part, [ and ]
04:39:22 <GregorR> Just ] left ...
04:42:37 -!- tokigun has joined.
04:42:47 <tokigun> hello
04:43:23 <GregorR> Hoi
04:44:08 <tokigun> :)
04:44:25 <GregorR> http://esoteric.voxelperfect.net/wiki/2L_is_Turing_Complete
04:45:40 <tokigun> is there brainfuck to 2L compiler?
04:46:19 <GregorR> Heheh
04:46:20 <GregorR> No
04:50:26 <GregorR> WHOOPS!
04:50:30 <GregorR> Just realized something I missed!
04:51:24 <graue> I don't like the name of that page at all..
04:52:02 <graue> how about "2L Turing-completeness proof"?
04:53:22 <GregorR> Sure, why not.
04:53:25 * GregorR moves it.
05:06:57 <graue> 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 <GregorR> 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 <tokigun> 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 <jix> moin
13:52:11 -!- fizzie has joined.
14:39:35 <jix> moin
15:11:09 -!- malaprop has joined.
16:17:39 -!- fungebob has joined.
16:52:09 -!- graue has joined.
16:52:24 <graue> what's this crack about 1L being a work in progress?
16:54:55 <GregorR> You're just constantly reading the wiki, aren't you XD
16:56:24 <GregorR> How is it anything but a work in progress?
16:57:35 <graue> it's not a work in progress on the wiki
16:58:35 <GregorR> 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 <graue> huh? the other one was entirely taking place on the wiki
17:00:35 <GregorR> Oh, I misunderstood you - so "works in progress" = "things being created through wiki communication"?
17:02:02 <graue> why else would you bother adding it there until it's done?
17:02:09 <graue> I don't understand the point...
17:02:26 <GregorR> So that people who are not participating in the discussion on #esoteric could make suggestions, etc.
17:02:46 <graue> why not post it on the mailing list?
17:02:51 <graue> that would be superior
17:03:08 <GregorR> Nothing I do can be right, can it? XD
17:04:03 <graue> it's just an idea
17:04:38 <GregorR> I was under the impression that the mailing list was mostly unused, where as the wiki was up-and-coming.
17:05:01 <graue> eh, kind of, but the mailing list is only unused because nobody's using it
17:05:06 <graue> if you used it, you could change that
17:06:20 <jix> http://www.harderweb.de/jix/langs/brainfuck/obi2.rb an Obfuscated Brainfuck Interpreter written in ruby, does [-] optimizations
17:06:55 <graue> cool
17:07:03 <graue> I've been thinking of writing a BF compiler
17:07:12 <graue> can't you optimize out some loops?
17:07:21 <jix> and it's pretty fast because it translates BF => ruby on-the-fly
17:07:55 <jix> graue: would be too much code for that shape
17:08:12 <jix> did you looked at the source?
17:08:43 <graue> heh, no :)
17:08:46 <graue> but I was thinking of a compiler anyway
17:08:51 <jix> look at the source
17:08:58 <graue> I mean, "if you wrote a compiler, couldn't you optimize out some loops?"
17:09:03 <graue> yeah, it's cool
17:09:07 <jix> oh
17:09:46 <graue> shall I add it to the esofiles archive?
17:09:46 <jix> i was thinking of a high-optimizing brainfuck compiler.. and yes, it's possible to optimize many loops
17:10:02 <jix> graue: yes it's uhm...
17:10:08 <jix> public domain
17:10:12 <graue> cool
17:10:48 <jix> for esolang related source i'm using Public Domain or MIT license
17:13:04 <graue> 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 <Keymaker> 'ello
17:19:16 <jix> Keymaker: moin
17:19:26 <jix> http://www.harderweb.de/jix/langs/brainfuck/obi2.rb a ruby brainfuck interpreter
17:19:37 <jix> Keymaker: take a look at its source
17:19:46 <Keymaker> ha :) tasty!
17:21:51 <Keymaker> jix: i'm too lazy to read all the logs (in case it even reads there); what's 1L?
17:22:05 <Keymaker> seems it's some work in progress in esowiki..
17:22:24 <jix> 2L with just 1 instruction
17:22:41 <jix> 2L == a language with just 2 instruction (3 if you count space==nop)
17:22:45 <Aardwolf> wow, nice ruby code!
17:23:11 <Keymaker> ok
17:23:13 <pgimeno> jix: seen the optimizing BF compiler written in BF? it's pretty fast but it only generates ELF files AFAIK
17:23:14 <jix> Aardwolf: i love ruby for its clean and easy to understand code ;)
17:23:16 <Keymaker> i was guessing that
17:23:48 <jix> pgimeno: no ppc mach-o binaries?
17:23:50 <Keymaker> but probably the 1L needs two instructions..? or at least one instruction and some 'space'?
17:23:51 <jix> :(
17:23:58 <jix> Keymaker: yes
17:24:17 <Aardwolf> 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 <jix> Aardwolf: right
17:24:35 <pgimeno> jix: not that I know of, sorry
17:24:36 <jix> i encode it using base64
17:24:41 <Keymaker> GregorR's makin' the 1L?
17:24:51 <jix> the .tr removes some space filling characters
17:25:06 <jix> Keymaker: he made 2l and he and someone els are working on 1L
17:25:17 <Keymaker> ok
17:25:20 <Aardwolf> So the whitespace is ignored?
17:25:25 <Keymaker> i knew he made 2L
17:26:22 <Aardwolf> Well that makes ruby very handy to make ascii art code :D
17:26:49 <jix> Aardwolf: perl is better for ascii art code
17:27:31 <jix> Aardwolf: see http://search.cpan.org/~asavige/Acme-EyeDrops-1.47/lib/Acme/EyeDrops.pm
17:29:04 <Aardwolf> nice, love the fractal one
17:33:55 <Keymaker> 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 <jix> /quit <insert the very clever quote that i invented about two weeks ago that i can't remember anymore>
17:41:58 <Keymaker> :)
17:46:10 <pgimeno> 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 <jix> but my 99bob is #1
17:47:38 <Keymaker> anyone good with php?
17:48:00 <Keymaker> how do i make variable to have hex value
17:48:12 <Keymaker> and how do i print an ascii character of that value?
17:48:31 <Keymaker> i'm probably going to make brainfuck, c, php polyglot quine next
17:48:48 -!- puzzlet has quit (Connection timed out).
17:48:48 <jix> insane
17:48:52 <jix> but cool
17:48:55 <Keymaker> what?
17:49:06 <jix> brainfuck,c,php polyglot quine
17:49:08 <Keymaker> ah
17:49:10 <Keymaker> :)
17:49:11 <Keymaker> yes
17:49:25 <jix> hmm brainfuck,c,ruby quine!
17:49:33 <Keymaker> hmm
17:49:36 <Keymaker> if i could ruby..
17:50:43 <GregorR> I believe you can use 0x.. in PHP.
17:50:50 <jix> c is bad c neads a header etc... brainfuck,ruby....hmm
17:50:55 <GregorR> I've never had to write hex :P
17:51:01 <Keymaker> :p
17:51:09 <Keymaker> well, it isn't a must,
17:51:12 <Keymaker> but it'd help me
17:51:15 <Keymaker> hey wait..
17:51:41 <Keymaker> maybe i could do it with numbers with fewer instructions, now when i think about it :)
17:51:54 <Keymaker> yes.. X)
17:51:56 <pgimeno> Keymaker: there's dechex() and hexdec()
17:52:06 <Keymaker> thanks
17:52:25 <Keymaker> oh, what about printing ascii value?
17:52:32 <GregorR> ord and chr
17:52:39 <Keymaker> how do i print ascii values?
17:52:44 <Keymaker> chr?
17:52:48 <GregorR> ord('a') = 97, chr(97) = 'a'
17:52:52 <GregorR> Or perhaps the other way round 8-D
17:52:54 <Keymaker> thanks
17:52:57 <Keymaker> :)
17:57:57 <GregorR> I challenge anyone to make an ORK/Brainfuck polyglot quine :P
17:58:12 <Keymaker> hmmm
17:58:22 <Keymaker> where's the ORK manual?
17:59:37 <GregorR> http://www.esolangs.org/files/ork/doc/README
18:02:53 <Keymaker> well, maybe next time :)
18:03:15 <Keymaker> that language's too object oriented.. and i hate objects
18:03:22 <pgimeno> I still have to take a look at that ORK CSS descrambler
18:03:34 <Keymaker> btw;
18:03:53 <pgimeno> (and that ORK interpreter written in JS)
18:04:03 <Keymaker> if there's stuff in php file outside <?php ?>, will they be just output?
18:04:29 <pgimeno> yes
18:04:32 <Keymaker> ok
18:04:36 <Keymaker> oh sh..
18:04:50 <Keymaker> < and > need something special?
18:04:57 <Keymaker> or is it required to make that page html?
18:05:07 <pgimeno> hm... nope, I think it's not required
18:05:07 <Keymaker> or will it be output as html, the other stuff?
18:05:27 <Keymaker> well, hope not :)
18:05:33 <pgimeno> I'm not too sure about < and >
18:05:46 <Keymaker> argh.. i try..
18:05:47 <pgimeno> well, actually I'm sure that > doesn't need anything special
18:06:50 <GregorR> Anything outside of <?PHP ... ?> is simply output verbatim.
18:06:51 <Keymaker> one good thing is that c and php use samekind of array stuff..
18:06:57 <Keymaker> verbatim?
18:07:40 <GregorR> Unchanged. It doesn't have to be HTML, it doesn't make it HTML, it just outputs it.
18:07:46 <Keymaker> ah
18:07:48 <Keymaker> goood
18:08:00 <GregorR> Should make some o' the quinin' quite easy :)
18:08:26 <Keymaker> :)
18:08:34 <Keymaker> indeed, it helps a lot
18:09:01 <Keymaker> polyglot quinin' is phun..
18:10:23 -!- yrz has quit (Read error: 104 (Connection reset by peer)).
18:10:52 <jix> Keymaker: i'm writing a ruby+bf quine
18:10:56 <jix> ruby part is done
18:11:01 <Keymaker> ok
18:11:33 -!- yrz has joined.
18:14:39 <pgimeno> oops, I got late to check that ACME Eyedrops were actually the very heart of the 99bob proggy I mentioned
18:18:00 <Keymaker> by the way; will the values inside one <?php ?> be available in second <?php ?>
18:18:08 <pgimeno> yes
18:18:33 <Keymaker> good
18:18:37 <Keymaker> thanks
18:18:43 <pgimeno> you can even do something like: function fn() { ?> this text will be printed when fn is called <?php }
18:20:52 <jix> urgh.. i'm not good at brainfuck
18:21:05 <Keymaker> well, i'm not good either
18:21:58 <Keymaker> ..but definitely better than in c or php ;)
18:23:19 <Keymaker> btw; php has /* comment */ stuff too?
18:23:26 <jix> yes
18:23:28 <jix> afaik
18:23:29 <Keymaker> ok
18:24:02 <jix> i'm trying a brainfuck only quine first
18:24:20 <Keymaker> ok
18:26:22 <GregorR> PHP can use /**/, // and #
18:27:33 <Keymaker> hmmm
18:27:37 <Keymaker> that's interesting
18:27:43 <Keymaker> didn't know it can use '#'
18:27:48 <Keymaker> this may be usefull..
18:28:44 <Keymaker> with some self modifying code this would be easier..
18:29:13 <Keymaker> 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 <Keymaker> 8)
18:30:11 <jix> ok my brainfuck skills are too bad
18:30:23 <jix> perl/ruby/php/bash/c poly quine now
18:30:27 <Keymaker> :D
18:30:32 <jix> uhm chose 3 of them
18:30:36 <Keymaker> ok..
18:30:44 <Keymaker> perl ruby and.. php
18:30:47 <jix> ok
18:30:52 <jix> that's doable
18:30:57 <Keymaker> d'oh!
18:31:05 <Keymaker> then let me select again :p
18:31:10 <jix> ok
18:31:13 <jix> ;)
18:31:20 <Keymaker> good luck
18:33:45 -!- BigZaphod has joined.
18:36:44 <jix> it isn't as easy as i thought but it's possible
18:36:52 <Keymaker> yeah
18:37:17 <Keymaker> 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 <Keymaker> the problem is to end the php part
18:38:34 <GregorR> #define die(x)
18:38:38 <GregorR> then die();
18:38:52 <jix> 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 <Keymaker> GregorR, does that end the whole program?
18:39:24 <GregorR> Yes.
18:39:27 <Keymaker> or just the current <?php ?>
18:39:32 <GregorR> The whole program.
18:39:35 <Keymaker> ok
18:39:42 <Keymaker> well, that's not what i need
18:39:43 <Keymaker> :p
18:39:47 <GregorR> >_>
18:40:17 <GregorR> Could you use gotos?
18:40:22 <Keymaker> i meant making the c and php use the same data, but then end php part with '?>'..
18:40:29 <Keymaker> how to use gotos?
18:40:50 <GregorR> Wait, now I'm confused XD
18:40:54 <Keymaker> hehe
18:40:56 <GregorR> OHHHH, I see.
18:41:03 <Keymaker> good
18:41:12 <GregorR> It's not very polite, but you don't HAVE to end it with ?>
18:41:27 <Keymaker> but i need to
18:41:29 <GregorR> If that's at the very end of the program, it can be left off.
18:41:32 <GregorR> Oh.
18:41:39 <Keymaker> but hmmm
18:41:48 <Keymaker> wait.. no..
18:42:02 <Keymaker> php and c probably don't use enough same stuff for printing..
18:42:20 <GregorR> PHP has a printf, you could get pretty darn similar.
18:42:21 <Keymaker> there's probably not same function in both languages?
18:42:27 <Keymaker> it has?!
18:42:31 <GregorR> Yup.
18:42:34 <Keymaker> hmmm..
18:42:36 <GregorR> It's not the normal way to print.
18:42:40 <GregorR> But it's there.
18:42:43 <Keymaker> ok :)
18:42:51 <lindi-> is there specification of PHP available somewhere?
18:44:22 <GregorR> www.php.net has a mind-numbingly extensive one.
18:45:57 <Keymaker> i wish '#' would work in c the same way than in befunge.. skip just one single character :D
18:46:04 <pgimeno> I think php has puts
18:46:08 <Keymaker> then i could get this working the way of my current plan..
18:46:11 <pgimeno> not sure though
18:46:33 <pgimeno> but you can always #define print puts, which is a comment in php
18:46:34 <Keymaker> i've got problematic "#}" there..
18:46:46 <lindi-> GregorR: i've browsed around php.net for at least a year but never found a spec
18:46:55 <Keymaker> :D
18:47:05 <Keymaker> what the #define does?
18:47:09 <Keymaker> i can't use it anyways
18:47:29 <pgimeno> Keymaker: a C preprocessor definition
18:47:51 <GregorR> I guess it depends on your definition of "spec" ( http://www.php.net/manual/en/langref.php )
18:48:18 <Keymaker> could i define:
18:48:23 <Keymaker> #define TWEAK }
18:48:36 <GregorR> Yes, but you'd have to make sure that that came out as nothing in PHP.
18:48:51 <Keymaker> yes
18:48:59 <Keymaker> php would ignore that line, right?
18:49:09 <pgimeno> right
18:49:12 <Keymaker> cool
18:49:27 <Keymaker> and the important one.. can #define be used anywhere in the program?
18:49:32 <GregorR> Yes.
18:49:36 <GregorR> But it needs a line of its own.
18:49:39 <Keymaker> brilliant.
18:49:40 <Keymaker> sure
18:49:45 <Keymaker> yeaaaaaaaaaah!
18:49:50 <jix> and it's online defined after the line
18:50:07 <Keymaker> ?
18:50:26 <pgimeno> jix means that you can't use it before the define
18:50:27 <jix> bla;#define bla blubb; doesn't result in calling blubb
18:50:34 <Keymaker> yeah
18:50:45 <lindi-> GregorR: indeed it depends, where they even omit that you can leave out '?>' from end of file?
18:52:14 <Keymaker> aaaaaaargh
18:52:19 <Keymaker> i thought the wrong way.
18:52:27 <lindi-> s/where/do/
18:52:55 <Keymaker> or well, not wrong way
18:52:56 <Keymaker> but wron
18:52:58 <Keymaker> g
18:53:19 <Keymaker> i'd need php to ignore one } and c to execute it..
18:54:04 <Keymaker> hey wait..
18:54:07 <Keymaker> maybe i got an idea..
18:54:28 <fizzie> Does php parse the "?>"s if it's inside a string literal? Probably not.
18:55:16 <Keymaker> hey..
18:55:37 <fizzie> Bleh, about thrice a day I try to do something and then realize I can't because colin's offline.
18:55:50 <Keymaker> so if i make this #define TWEAK } in c and write somewhere TWEAK, does it replace that TWEAK with '}'
18:56:00 <fizzie> Well, yes.
18:56:04 <Keymaker> like could i do int main(){ TWEAK
18:56:09 <fizzie> Yes.
18:56:14 <Keymaker> and it'd be int main() { }
18:56:43 <Keymaker> cool
18:56:57 <fizzie> Many a pascal programmer has probably used the "#define BEGIN {"/"#define END }" pair to produce horrible C.
18:56:58 <Keymaker> so this allows a bit self-modifying code.. kinda..
18:57:20 <Keymaker> this is a brilliant C feature..
18:57:23 <Keymaker> do i need to write
18:57:29 <Keymaker> TWEAK or TWEAK;
18:57:36 <fizzie> Just TWEAK.
18:57:39 <Keymaker> ok
18:57:51 <fizzie> It's pure token-replacement, you're not calling anything.
18:57:58 <Keymaker> ok
18:58:00 <fizzie> I'm not sure "brilliant" is the word I'd use for C macros.
18:58:20 <Keymaker> hey this is a polyglot quine.. ;)
18:58:24 <pgimeno> hehe
18:59:36 <GregorR> Here's an idea ... a quine in machine code >:)
19:00:09 <Keymaker> you mean ones and zeros?
19:01:24 <GregorR> As in, you write an executable (probably with a hex editor) that outputs itself.
19:01:31 <GregorR> Not its code, but the actual binary.
19:01:53 <Keymaker> like in hex?
19:02:04 <fizzie> That's quite platform-dependent. For a dos .com that'd be quite trivial.
19:02:34 <Keymaker> could i make #define hi(); } ??
19:03:35 <GregorR> I believe that ; is illegal in macro names.
19:03:56 <Keymaker> :((((
19:04:10 <fizzie> Probably not. But if you "#define hi() }", then "hi();" is translated to "};", and isn't that good-enough?
19:04:36 <Keymaker> dunno
19:04:41 <GregorR> (No, it won't break if you have };, that semicolon is usually A-OK)
19:04:50 <GregorR> (Though pointless)
19:04:50 <Keymaker> if }; can end the int main?
19:05:18 <fizzie> Well, it's not ok outside a function.
19:05:19 <Keymaker> so would this work: int main() { };
19:05:30 <GregorR> Yes, it is.
19:05:31 * Keymaker dies
19:05:34 <GregorR> Yes, it would rather.
19:05:41 <fizzie> Oh, right.
19:05:41 <Keymaker> so would it work?
19:05:44 <GregorR> int main () { ... }; is fine
19:05:44 <fizzie> Yes, it would.
19:05:46 <Keymaker> or not?
19:05:49 <Keymaker> ah
19:05:50 <Keymaker> thanks
19:05:55 * Keymaker dies
19:06:05 <fizzie> tmp.c:6: warning: ISO C does not allow extra `;' outside of a function
19:06:18 <GregorR> Pff, who cares about the ISO ;)
19:06:27 <fizzie> That's only with -pedantic, though. :p
19:06:46 <jix> i combined the 3 data parts
19:07:51 <GregorR> 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 <fizzie> ISO C isn't fine with it. :p
19:09:18 <Keymaker> yes! mingw compiles successfully even if there is '#define hi(); }'
19:09:31 <Keymaker> am i here?
19:10:03 <fizzie> IRIX's horrible cc accepts it too.
19:10:14 <fizzie> Is that a trick question?
19:10:39 <pgimeno> hm, but does it work?
19:10:52 <pgimeno> maybe it defines "hi()" as "; }"
19:10:55 <jix> Keymaker: you are there
19:11:29 <fizzie> pgimeno; uh, I mean the "int main() { ... };", not a macro called hi();
19:12:13 <pgimeno> 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 <Keymaker> oh wait
19:15:58 <Keymaker> lol
19:16:23 <Keymaker> i was just up in the window and the screen was locked there and didn't see the text i typed..
19:25:23 <Keymaker> why doesn't this work?
19:25:23 <Keymaker> #define ?> }
19:25:23 <Keymaker> ?>
19:27:38 <Keymaker> it complains "macro names must be identifiers"
19:27:47 <fizzie> Well, ?> is not an identifier.
19:27:57 <fizzie> Macro names are somewhat limited.
19:28:05 <Keymaker> grhh..
19:28:12 <fizzie> Alphanumerics and _s, basically.
19:28:20 <Keymaker> ah
19:28:36 <Keymaker> i just can't get this thing working
19:29:22 <GregorR> I would recommend ending your PHP like so:
19:29:24 <GregorR> #if 0
19:29:25 <GregorR> ?>
19:29:26 <GregorR> #endif
19:29:35 <GregorR> You would have to replicate that #endif though ...
19:29:40 <GregorR> Actually, better yet:
19:29:43 <GregorR> #define JUNK ?>
19:30:46 <Keymaker> i've tried that
19:31:10 <Keymaker> but what would php part say about JUNK?
19:31:25 <fizzie> Nothing, since there's that #-comment.
19:31:33 <Keymaker> but if it's used in the code..
19:31:54 <GregorR> The C part would define a macro you'd never use, and the PHP part would ignore the line up to ?>
19:32:15 <Keymaker> yeah.. but that doesn't help anything
19:32:22 <GregorR> Why not?
19:32:28 <Keymaker> well, php doesn't end
19:32:33 <GregorR> Yes it does.
19:32:37 <GregorR> # does not override ?>
19:32:38 <Keymaker> how?
19:32:44 <Keymaker> ah
19:32:54 <Keymaker> why didn't you say that!
19:32:58 <GregorR> XD
19:33:04 <Keymaker> so, nothing overrides ?> ???
19:33:21 <GregorR> No, because the parser grabs everything out of <?PHP ... ?> before parsing anything.
19:33:27 <Keymaker> aaaaaaaaaaaaaaarrrrrghhhh!!!!!
19:33:34 <Keymaker> i've wasted a lot time..
19:33:37 <jix> i'm done
19:33:43 <GregorR> Your pain brings me pleasure, Keymaker :)
19:33:48 <fizzie> I would guess string literals do, so $foo="blah ?> bleh"; wouldn't cause php to end processing.
19:33:50 <Keymaker> :)
19:33:55 <jix> ~3kb
19:33:59 <Keymaker> aaaaargh
19:34:04 <Keymaker> now i'll progress..
19:34:06 <Keymaker> and fast
19:34:18 <jix> php,perl and ruby
19:34:27 <Keymaker> cool
19:34:46 <jix> why isn't php==perl
19:34:54 <jix> i have a line
19:34:54 <jix> ;foreach(@d){if($_<0){foreach(@d){print"z($_);"}}else{print chr($_)}}
19:34:58 <jix> and a line
19:35:00 <jix> foreach($d as $a){if($a<0)foreach($d as $a)echo"z($a);";else echo chr($a);}
19:36:11 <GregorR> PHP isn't perl because perl's foreach syntax is unbelievably stupid :)
19:36:46 <GregorR> And also, $_ is the worst thing ever.
19:37:26 <Keymaker> now i'll need to think about the data "format"..
19:37:35 * Keymaker dies
19:38:30 * Keymaker goes eatin'
19:41:22 <fizzie> Hey, $_ is just fun.
19:42:49 <fizzie> And why 'print chr($_)' instead of 'print chr'?
19:45:33 <fizzie> 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 <fizzie> s/;$//
19:46:23 <fizzie> For some reason there are days I rather like perl.
19:47:44 <fizzie> Although admittedly sometimes the regexps make it look /^((?:(?:$ex_nt|$ex_t|$ex_e)(?:\s+|$|(?=\|)))*)\s*(?:\||$)\s*(.*)$/ a bit unpretty.
19:48:31 <GregorR> Some days you like perl eh ... I wonder if they have doctors for that?
19:48:32 <GregorR> :)
19:51:21 <fizzie> I've been writing a web application thing with apache+mod_perl+HTML::Mason, because php makes me sad.
19:52:14 <fizzie> To quote: 19:25:38 <mooz> 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 <calamari> hi
19:54:49 <calamari> graue: I'm having trouble seeing anything wrong with 57.. what's wrong?
19:55:17 <Keymaker> ouch.. too full
19:55:58 <calamari> aha.. 52 has a problem :)
19:59:35 <calamari> fixed.. bbl
19:59:36 -!- calamari has quit ("Leaving").
20:15:25 <Keymaker> rrggh.. "parse error"
20:15:26 <Keymaker> blah
20:15:30 <Keymaker> stupid php..
20:19:44 <Keymaker> aaaaaargh
20:20:04 <Keymaker> forgot that php uses '$' in front of variable names
20:25:58 <Keymaker> ha
20:26:00 <Keymaker> solved it
20:27:35 <Keymaker> oh no
20:27:49 <Keymaker> php doesn't print the newlines of the file
20:27:59 <Keymaker> it ignores the newlines..
20:28:20 <Keymaker> from the stuff not inside <?php ?>..
20:28:31 <fizzie> That's weird.
20:28:34 <fizzie> It shouldn't.
20:28:56 -!- yrz_ has joined.
20:28:56 <pgimeno> Keymaker: the problem is that after ?> you need something if you want the newline in that line to be printed
20:29:09 <pgimeno> IIRC
20:29:10 <Keymaker> no i don't meant that
20:29:22 <Keymaker> i'm running the code at mbnet's server
20:29:53 <fizzie> Uh... are you sure your browser-type thing isn't just parsing the result as html?
20:30:04 <Keymaker> ah
20:30:12 <Keymaker> lemme try in other browser
20:30:21 <fizzie> You could try "view source".
20:30:41 <fizzie> By default, it sends content-type: text/html, since html pages is what people usually try to write.
20:30:53 <pgimeno> Keymaker: maybe you can install the cli version of php
20:31:04 <Keymaker> no..
20:31:18 <Keymaker> fizzie: when i looked at the source code it's like supposed to be
20:31:52 <Keymaker> but in web window it just doesn't look right
20:31:59 <fizzie> 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 <Keymaker> so i suppose it doesn't matter..
20:32:15 <Keymaker> hmmm
20:32:18 <Keymaker> as a first line?
20:32:37 <fizzie> Well, it needs to be run before anything else is output.
20:32:44 <Keymaker> ok
20:32:53 <fizzie> So if your file doesn't start with <?php, you can't really use it.
20:33:17 <fizzie> And I doubt it does, since that doesn't look like valid C to me. :p
20:33:24 <Keymaker> it starts with that
20:33:25 <Keymaker> :p
20:33:34 <Keymaker> or well
20:33:46 <Keymaker> with
20:33:56 -!- calamari has joined.
20:33:56 <Keymaker> slash slash <?php
20:34:13 <calamari> hi
20:34:16 <Keymaker> hi
20:34:32 <Keymaker> anyways, cheers fizzie works perfectly with that
20:35:03 <fizzie> I'm not sure what header() does if you run it in the command-line php interpreter.
20:35:54 <fizzie> And I can't try because colin's in a garage. :( :( Wahhh, I want to move back already.
20:40:22 <Keymaker> 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 <jix> ok version 2 of my quine 1691 bytes
21:18:08 <Keymaker> nice size
21:19:41 <jix> http://www.harderweb.de/jix/langs/poly/quine2-php-perl-ruby.poly
21:20:43 <Keymaker> looks very nice
21:21:07 <jix> arg a byte to much!
21:21:11 <jix> or even 3 or 4
21:21:17 <Keymaker> ..i'll be back soon..
21:21:49 <jix> updated
21:23:48 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
21:43:40 <GregorR> Write a polyglot in Brainfuck and Brainfork.
21:43:54 <GregorR> Or C and C++
21:43:55 <Keymaker> who?
21:44:01 <GregorR> Everyone!!!!!!! :P
21:44:05 <Keymaker> :)
21:44:07 <Keymaker> no thanks
21:44:26 <Keymaker> i've got my hands full 'o work with this bf, c and php one
21:44:38 <GregorR> Add Brainfork and C++ to that list for free.
21:44:41 <GregorR> You know you want to ;)
21:44:51 <Keymaker> :)
21:45:20 <Keymaker> well, i guess adding malbolge and 2l wouldn't take much more time or planning..
21:46:07 <GregorR> Yeah, I want to see a quine in 2L!
21:47:05 <Keymaker> well, if you add printing instruction to your 2l-turing-proof page then i can make one
21:47:30 <Keymaker> :)
21:51:27 <GregorR> Not one that would run in any interpreter :-P
21:51:34 <GregorR> Since mine has a maximum of 1024 columns
21:52:54 <Keymaker> computers need more power and memory to run esolangs better :)
21:57:10 <GregorR> That limitation is from my own laziness :P
21:58:42 <Keymaker> well, then esolang programmers need more power and memory
21:59:46 <GregorR> OR I could spend the bulk of my time doing something more useful ;)
22:01:22 <Keymaker> nooo
22:04:16 <Keymaker> 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 <Keymaker> is there any way to print some amount of same character in c?
22:30:32 <Keymaker> i mean php
22:30:36 <Keymaker> or well, both
22:30:49 <Keymaker> like for example printing '+' eight times
22:31:02 <Keymaker> i mean some simple function
22:31:37 <BigZaphod> void eight_times() { for( i=0; i<8; i++ ) printf( '+' ); } :)
22:32:55 <Keymaker> yeah :) i guess i'll have to use fors
22:34:15 <BigZaphod> 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 <Keymaker> ok
22:35:20 <lindi-> BigZaphod: that'll segfault.
22:35:35 <BigZaphod> why?
22:35:38 <BigZaphod> oh.. double quotes?
22:35:48 <lindi-> BigZaphod: indeed
22:36:04 <BigZaphod> yeah, been doing too much javascript lately..
22:36:46 <lindi-> just don't write software for nasa :) "whoops, i meant double quote and not single quote..."
22:37:07 <BigZaphod> 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 <lindi-> yeah, but it _compiles_. just segfaults if you run it ;)
22:39:53 <BigZaphod> I got a warning just now testing it.
22:40:10 <Keymaker> 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 <BigZaphod> although this is interesting: blah.c:4: error: 'for' loop initial declaration used outside C99 mode
22:40:41 <BigZaphod> can't do the int i= thing inside the for() in C99, apparently.
22:40:47 <Keymaker> ok
22:41:03 <BigZaphod> Keymaker: just do this: for( ; $a>0; $a-- )
22:41:11 <BigZaphod> skip the first clause there.
22:41:16 <Keymaker> is that allowed? it looks ugly :)
22:41:28 <Keymaker> (or well, that doesn't matter..)
22:41:32 <BigZaphod> I do that in C/C++ a lot. Haven'tr tried that in php
22:41:49 <BigZaphod> It migth work both ways for all I know..
22:42:32 <BigZaphod> I think for(; $a; $a-- ) looks kind of neat, myself.. but then I'm odd..
22:44:14 <Keymaker> yes
22:44:27 <Keymaker> 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 <Keymaker> the hardest part in this is to get the code working on all the languages
22:51:54 <Keymaker> (obviously)
22:52:53 <graue> BigZaphod: "int i" inside a for loop is new to C99
22:53:18 <graue> if you're using gcc, give it the -std=c99 switch and it'll work
22:53:32 <BigZaphod> graue: oh.. gotcha. I mis-read that warning.
22:54:00 <BigZaphod> obviously c++ has supported that forever because I generally do it all over the place.
22:55:49 <pgimeno> Keymaker: there's str_repeat(str, count)
22:55:58 <pgimeno> sorry to be late :)
22:56:36 <Keymaker> so, do i use it str_repeat("+",8)?
22:56:47 <pgimeno> that'll work, yes
22:56:53 <Keymaker> and it's php?
22:56:55 <Keymaker> or c?
22:56:56 <Keymaker> or both?
22:56:59 <pgimeno> php only
22:57:03 <Keymaker> ook
22:57:48 <pgimeno> nope, in ook there's no str_repeat either
22:57:57 <Keymaker> :9
22:58:42 <BigZaphod> in C++ you could do: std::cout << std::string(8,'+');
22:58:48 <BigZaphod> but I realize that doesn't help you much. :)
22:58:55 <Keymaker> yep
22:59:59 <jix> printf("++++++++");
23:00:00 <jix> .
23:00:39 <Keymaker> that'd be best but the amount isn't always 8
23:01:11 <jix> while(i--)printf("+");
23:01:32 <Keymaker> thanks
23:03:01 <graue> what's the preferred file extension for whirl programs, .whirl or .w or something else entirely?
23:03:18 <jix> .10 ^^
23:03:34 <BigZaphod> I've seen .wrl.
23:03:49 <jix> .10 is cooler
23:03:51 <BigZaphod> and .w.
23:03:51 <Keymaker> hmm.. yah, i guess that's what tokigun has been used
23:04:00 <Keymaker> (whr)
23:04:03 <Keymaker> can't remember
23:04:06 <jix> i hate 3 letter file extensions
23:04:15 <BigZaphod> .dizzy
23:04:28 <Keymaker> .why?
23:04:28 <BigZaphod> (ok I just made that one up)
23:05:10 <jix> on mac os x there are .framework s .mpkg s .pages .keynote s ...
23:05:27 <jix> .dylibs
23:05:31 <BigZaphod> .app
23:05:40 <jix> BigZaphod: ok
23:05:49 <jix> but 50% is non 3 letter
23:05:54 <BigZaphod> :)
23:06:25 <graue> tokigun uses .wr, I'll just copy that I guess
23:06:56 <jix> .double-u-....
23:07:13 <GregorR> .TheContentOfThisFileIsAWhirlProgram
23:07:18 <Keymaker> :)
23:07:21 <Keymaker> that sounds reasonable
23:07:36 <BigZaphod> or just skip the file contents and make an empty with the entire whirl program as the extension.
23:07:38 <Keymaker> or well, just include the whole program in the name of the while
23:07:50 <Keymaker> slow fingers..
23:07:54 <BigZaphod> hmm. great minds.
23:07:54 <Keymaker> *file
23:08:32 <jix> a long time ago many people named code-warrior (the oldest ide for mac programming that still exists) .<insert pi sign here> but on pre osx, file extensions had no effect
23:09:12 <graue> I always used to wonder how you would write programs for a Mac, given that it had no console
23:09:13 <jix> lets call whirl program files not files but whiles!
23:09:51 <jix> graue: code-warrior came with a lib for a terminal like user-interface
23:10:27 <BigZaphod> 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 <jix> pre os x was funny... cooperative multitasking ^^
23:11:03 <jix> BigZaphod: interrupt? (=> debugger?)
23:11:41 <graue> heh, yeah, cooperative multitasking was a pretty stupid idea
23:11:50 <jix> yes
23:12:25 <lament> no
23:12:32 <lament> cooperating multitasking can be nice
23:12:54 <graue> if all of the applications are friendly
23:13:09 <graue> which is not very realistic, is it?
23:13:12 <jix> 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 <lament> graue: sure it is
23:13:34 <BigZaphod> cooperative multitasking is a lot like communism.
23:13:45 <graue> lament: well, it didn't happen with any operating system I've ever heard of
23:16:20 <lament> that's true :)
23:18:04 <GregorR> Does MidiaWiki always allow (some) HTML, or is that an option? And does it filter it?
23:23:03 <graue> it probably filters it and can be tweaked somehow
23:26:04 <Keymaker> ..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 <graue> you use RISC OS?
23:50:04 <graue> cool!
23:50:18 <graue> one of my programs has been ported to RISC OS by some guy
23:50:26 <graue> it was written using SDL
23:57:12 <graue> I just thought of a crazy idea
23:57:24 <graue> what if you had a program that, in language A, was an interpreter for language B
23:57:32 <graue> but if you ran it as a language B program, it interpreted language A
23:57:38 <graue> sort of a polyglot interpreter
23:59:30 <jix> {^Raven^}: on what computers does risc os run?
2005-07-21
00:04:31 <graue> it seems that RISC OS runs on ARM-based computers and was originally designed for 32-bit Acorn Archimedes
00:05:28 <jix> Arm is cool
00:06:07 <jix> i started to learn arm7 asm
00:06:50 <jix> + 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 <jix> 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 <jix> 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 <jix> 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 <jix> 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 <tokigun> hello
12:59:14 <grimace_> lo
12:59:24 <tokigun> ;)
13:06:29 <tokigun> 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 <tokigun> 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 <jix> 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 <Keymaker> hmh.
16:59:57 <Keymaker> now i can continue the quine again
17:00:06 <Keymaker> i haven't had chance to work on it all day :)
17:45:47 <Keymaker> 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 <calamari_> hi
18:59:17 <Keymaker> '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 <Keymaker> bye.
19:41:24 -!- Keymaker has quit ("Funkadelic!").
20:22:30 -!- fungebob has joined.
20:53:17 <calamari_> hi fungebob
20:56:38 -!- BigZaphod has quit.
21:14:09 -!- Keymaker has joined.
21:15:33 <Keymaker> i'm planning a new language
21:15:49 <jix> cool
21:15:51 <Keymaker> i have couple of ideas but not sure what to use
21:16:03 <jix> share your ideas
21:16:09 <Keymaker> ok
21:16:20 <Keymaker> (to note, these aren't very much planned yet!)
21:16:34 <Keymaker> one is to make language to use rot13
21:16:49 <Keymaker> there'd be something instruction that would rot13 the program
21:17:11 <Keymaker> and only for example ascii "a b c d e f g h" would be instructions
21:17:58 <Keymaker> and when those are rot13ed then the other part of program could be accessed
21:18:13 <Keymaker> in case it has other letters
21:18:42 <Keymaker> i can't explain
21:20:15 <Keymaker> rghhhhhhh.. haven't planned more about that one
21:20:23 <Keymaker> how would looping work etc..
21:20:53 <Keymaker> the other idea is befungeish language, but where one can only do jumps to left and right
21:21:32 <Keymaker> that language would have self modification
21:21:43 -!- malaprop has left (?).
21:21:45 <Keymaker> and data would be stored inside the program
21:22:28 <Keymaker> certain characters would trigger some instructions that for example "increase the value in the next cell"
21:22:48 <Keymaker> and if there's no trigger, then the value would be output
21:22:57 <Keymaker> so the shortest hello world program would be just
21:23:06 <Keymaker> Hello World!
21:23:34 <Keymaker> 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 <jix> i'm still thinking about a graphical thue using graphical regular expressions
21:23:59 <Keymaker> ok
21:24:31 <jix> sounds interesting..
21:26:14 <Keymaker> thanks
21:26:44 <Keymaker> althought probably program's need something end character.. like in befunge
21:26:45 <jix> how is looping done? replicating the code or is it possible to re-run code parts?
21:27:06 <Keymaker> by changing the direction
21:27:16 <Keymaker> with < >
21:27:19 <jix> ah
21:27:34 <Keymaker> probably i could use # for jumping
21:27:46 <jix> is there a jump over the next n instructions instruction?
21:27:55 <Keymaker> nope
21:28:00 <jix> hm
21:28:10 <Keymaker> although probably # would need to jump a bit more than only one instruction
21:28:18 <Keymaker> probably i'll make it jump 3 or 4
21:29:04 <Keymaker> or then have two jump instructions, one to jump only over 1 and the other 3.. or something
21:29:16 <Keymaker> if could be just something | or something
21:29:26 <fizzie> 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 <fizzie> Then you'd just need a conditional <.
21:29:58 <Keymaker> hmm you're right
21:30:46 <fizzie> (Or a conditional #, for that matter.)
21:31:14 <Keymaker> hmm
21:37:34 -!- graue has joined.
21:43:10 <pgimeno> the idea of conditionally skipping an instruction was used by the good ol' hp25
21:44:55 <pgimeno> 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 <calamari_> earliest I have is hp41
21:46:52 <Keymaker> sigh..
21:46:54 <pgimeno> the hp 41 is newer; it has LCD, right? the 25 has red LEDs
21:47:08 <calamari_> yeah, it's newer
21:47:11 <Keymaker> too many choices..
21:47:35 <pgimeno> Keymaker: you need to decide... or maybe not
21:47:38 <Keymaker> can't make up my %&(=)/"# mind!!
21:47:46 <Keymaker> up
21:47:58 <Keymaker> well
21:48:05 <Keymaker> perhaps it's best to leave esolangs for other
21:48:06 <Keymaker> s
21:48:15 <Keymaker> although i would've liked to make one new
21:48:25 <Keymaker> *release one new
21:48:44 <Keymaker> i've made that snack language
21:48:51 <Keymaker> although it's not anywhere
21:48:59 <Keymaker> except my harddrive
21:49:04 <Keymaker> but it's not final
21:49:09 <Keymaker> i think it has too many instructions
21:49:23 <Keymaker> but at least the concept works
21:49:47 <fizzie> The idea of conditionally skipping is used in intercal, too. :p
21:49:53 <fizzie> ABSTAIN FROM, or what was it.
21:50:34 <calamari_> 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 <Keymaker> yeah, the best have been made already (read: brainfuck)
21:51:39 <Keymaker> and on a side note; windows has no comfortable text editor
21:51:46 <calamari_> nah, I think there are still creative esolangs to be made
21:51:53 <calamari_> textpad
21:52:19 <calamari_> wish it worked correctly under wine :( excellent editor
21:52:37 <Keymaker> i love kwrite in mandrake
21:52:53 <Keymaker> or well, it's not mandrake program if i remember correct someone saying
21:53:00 <Keymaker> but that kde stuff
21:53:02 <Keymaker> or dunno
21:54:32 <calamari_> kate isn't too bad
21:55:20 <GregorR> kwrite is indeed part of KE.
21:55:23 <GregorR> *KDE
21:55:29 <Keymaker> yes
21:55:43 <GregorR> (As opposed to Mandrake)
21:56:39 <Keymaker> hmm. my brain(s) don't work
21:58:23 * GregorR is still kicking around 1L in his head.
21:58:31 <Keymaker> :)
21:59:00 <GregorR> 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 <GregorR> 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 <Keymaker> using the program itself as memory makes programming quite hard actually
22:04:59 <Keymaker> grhhh.. i'll try to plan this some other time, now i just can't
22:06:04 <GregorR> Speaking of, I'm still the reigning champion of FYB :)
22:06:24 <Keymaker> :)
22:31:26 <Keymaker> oh no
22:31:49 <Keymaker> i haven't even started the work on befunge interpreter in brainfuck..
22:32:13 <Keymaker> (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 <fizzie> pice breaks long lines. :p
22:47:26 <fizzie> pico, I mean.
22:47:52 <GregorR> While j is in java, and I hate the Java, j is an excellent text/programmers editor.
22:48:08 <GregorR> I also hate anybody so pretentious as to name their text editor "j"
22:48:11 <fizzie> (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 <fizzie> vim is a good text editor.
22:49:03 <GregorR> 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 <GregorR> emacs would be decent if it was a text editor instead of a bloated operating system.
22:49:50 <fizzie> 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 <Keymaker> :)
22:50:29 <GregorR> My only problem with the modal UI is it's quite often difficult to tell what mode you're in.
22:50:47 <GregorR> There's no screen real estate dedicated to a mode indicator.
22:52:37 <fizzie> Um. My status line does show "-- INSERT --" or "-- REPLACE --" or "-- VISUAL --" or whatever.
22:53:53 <GregorR> Err, mode isn't quite what I was thinking of, actually XD
22:54:08 <GregorR> *verbalizing*
22:54:58 <GregorR> 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 <fizzie> 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 <GregorR> Yeah.
22:57:47 <GregorR> Also, it's terribly autoconf'd.
22:57:57 <GregorR> (Emacs is even worse autoconf'd, and it's a GNU program)
22:58:43 <fizzie> (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 <fizzie> A >.5s
22:59:10 <fizzie> -delay for every newline is not very tolerable.
22:59:17 <fizzie> Although that might well have improved lately.
23:00:41 <GregorR> On a different but (un)related subject, links is infinitely better than lynx, why do people keep using lynx?
23:01:20 <fizzie> Well, it's the "standard text-mode browser".
23:02:55 <fizzie> 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 <Keymaker> mhm. boring..
23:10:21 <fizzie> What, we're not being esoteric enough? :p
23:10:31 <Keymaker> :)
23:10:35 <Keymaker> no, not that..
23:12:07 <fizzie> 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 <Keymaker> :)
23:12:25 <Keymaker> where do you work, btw?
23:14:09 <fizzie> 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 <fizzie> 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 <Keymaker> :) ok
23:15:15 <fizzie> 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 <fizzie> (Finnish-only.)
23:16:01 <Keymaker> hehehe
23:16:05 <Keymaker> karaoke!
23:16:09 <Keymaker> :D
23:17:22 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
23:20:30 <fizzie> Merrrfl.
23:20:43 <fizzie> I don't much enjoy working on it.
23:20:48 -!- graue has joined.
23:20:56 <Keymaker> i bet
23:20:59 <Keymaker> :p
23:21:08 <fizzie> Especially since it's based on _old_ ('98) and _crufty_ (massively so) C++ code.
23:21:16 <fizzie> A rewrite is what the thing needs, but...
23:21:17 <Keymaker> but well, you gotta do something to pay the rent (or stay with your folks ;))
23:23:46 <fizzie> 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 <fizzie> Not that this would be very on-topic: there's not much esoteric programming languages involved.
23:26:17 <Keymaker> :)
23:26:43 <fizzie> (Although I like to think that my various befunge interpreters have made a favourable impression.)
23:31:55 <Keymaker> well.
23:32:10 <Keymaker> good nite, i'm outta here :)
23:32:16 -!- Keymaker has quit ("Funkadelic!").
23:32:45 <fizzie> 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 <GregorR> 255 in 33 (as opposed to the page's 34): ++++[>++++++++[>++++++++<-]<-]>>-
01:09:29 <GregorR> Oh wait, darn, that wraps doesn't it.
01:09:39 <GregorR> 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 <msingh> is this the channel for perverts?
08:25:11 <fizzie> Only if you think esoteric programming languages are perverse.
08:25:59 <msingh> right
08:26:03 <msingh> and i think thats reasonable
08:28:28 <fizzie> "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 <BigZaphod> maybe perverted programming language would have been a better term. plus it has a cool acronym: ppl
08:30:36 <msingh> hmm no point denying it though, we are talking about perverts
08:31:04 <fizzie> #perverted might have gotten too many non-programming-related visitors.
08:31:18 <BigZaphod> fizzie: heh, good point.
08:31:37 <msingh> :)
08:32:03 <BigZaphod> I suppose one could argue that using esoteric the way we do is, in fact, slightly perverted by itself.
08:32:37 <BigZaphod> and being perverted and all, it makes sense we'd never call ourselves that.
08:40:50 <pgimeno> msingh: any connection to Manish Singh?
08:44:00 <msingh> pgimeno, nope sorry
08:47:38 <pgimeno> ok, just wondering (he's involved in the gimp project)
08:50:53 <msingh> oh, those crackheads
08:51:01 <msingh> i now see why you asked
09:02:00 -!- Keymaker has joined.
09:04:34 <Keymaker> hehe
09:06:49 -!- tokigun has joined.
09:07:00 <tokigun> hello
09:07:18 <Keymaker> hello
09:07:42 <tokigun> I'm working on this page: http://dev.tokigun.net/esolang/versert/
09:08:15 <tokigun> (written in Korean, but perhaps you can read list of instructions)
09:09:30 <Keymaker> looks nice
09:09:36 <tokigun> :)
09:09:48 <Keymaker> it's 2d language, right?
09:09:51 <tokigun> yes.
09:09:58 <Keymaker> ok
09:10:03 <tokigun> imagine befunge without stack
09:10:41 * Keymaker dies
09:10:46 <Keymaker> ok
09:11:47 <Keymaker> hmm, so this has the stuff that befunge has, for changing the stuff on the grid?
09:12:00 <Keymaker> that allows also self modifying code?
09:12:08 <tokigun> Keymaker: yes
09:12:16 <Keymaker> ok
09:12:45 <tokigun> it has two registers, and one vector(or pointer) to manipulate code space
09:13:29 <Keymaker> ok
09:13:39 <Keymaker> registers, places to store values?
09:14:28 <Keymaker> can it read the value of some coordinate to register?
09:16:09 <Keymaker> if you have time sometime convert the page to english ;)
09:22:59 <mtve> nice language.
09:28:12 <fizzie> Heh, it has the conditional #.
09:28:56 <msingh> whats with the dx,dys?
09:29:46 <Keymaker> translate all the stuff to english, i wanna code something with this :)
09:30:06 <fizzie> The direction-changing commands seem to be the "standard" "mirror-like" ones.
09:30:23 <Keymaker> this is probably turing complete language, as well..
09:31:12 <fizzie> Is there a fixed size for "space", or is it potentially-unlimited?
09:39:00 <fizzie> 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 <fizzie> "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 <fizzie> It sounds very.. metaphysical, but I guess it means that there's no fixed size.
09:39:54 -!- grimace_ has joined.
09:40:48 <Keymaker> :D ROFL
09:41:19 <Keymaker> well, if babelfish says that i guess that's what tokigun has meant..
09:41:28 <fizzie> 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 <tokigun> oops...
09:41:41 <Keymaker> :)
09:41:50 <tokigun> babelfish is evil! :p
10:03:51 <tokigun> i've finished rough translation: http://dev.tokigun.net/esolang/versert/index_en.php
10:14:23 <grimace_> I did something similar to that based on lasers
10:14:36 <grimace_> it was called 'Smoke And Mirrors' or S&M for short
10:16:43 <grimace_> actually, maybe it wasn't that similar...
10:17:29 <grimace_> as I recall I had to struggle to get it to perform logical AND and NOT
10:20:48 <Keymaker> :)
10:20:50 <Keymaker> cheers
10:24:17 <grimace_> | moves DP A cells *right*, B cells down...?
10:26:56 <tokigun> hmm... my english is not good :S
10:27:39 <tokigun> it means "adding (A, B) to DP".
10:27:48 <grimace_> looks good to me :)
10:27:55 <fizzie> 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 <grimace_> yahahaha
10:28:31 <tokigun> hehe ;)
10:28:49 <Keymaker> :D
10:34:35 <tokigun> hmm | instruction will changed.
10:34:39 <tokigun> will be
10:38:41 <tokigun> "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 <mtve> eh, there are already application programmers, and you change the specs :)
10:41:38 <tokigun> oh... sorry :)
10:42:47 <fizzie> It's that release-early-release-often style.
10:43:14 <mtve> no problem just increase a version number :)
10:44:15 -!- kipple__ has joined.
10:47:45 <Keymaker> hei kipple
10:47:51 <Keymaker> [/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 <tokigun> updated to firefox 1.0.6
11:20:47 <mtve> quine:
11:20:48 <mtve> # #/ 0| 0~4+8*0~|}-0~|#/{~.00\
11:20:48 <mtve> " @\# -2+{|~0*8-4~0.~*5+2\#{|1~/
11:21:29 <mtve> (hadn't tested on your interpreter)
11:23:01 <Keymaker> looks delicious
11:23:10 <puzzlet> how quick
11:39:47 <Keymaker> must go.
11:39:49 -!- Keymaker has quit ("Funkadelic!").
11:41:06 <tokigun> mtve: it prints just first line on my interpreter... hmm
11:41:19 <tokigun> did you make your own interpreter?
11:41:33 <mtve> so there is a bug somewhere :)
11:41:34 <mtve> yup
11:45:43 <mtve> http://www.frox25.no-ip.org/~mtve/wiki/Versert.html
12:09:35 -!- jix has joined.
12:11:01 <tokigun> helo
12:11:06 <tokigun> oops... hello :)
12:13:16 <mtve> works fine with your interpreter (just fetched)
12:21:54 <tokigun> hmm
12:22:11 <tokigun> sorry but can you put your quine again?
12:22:32 <mtve> # #/ 0| 0~4+8*0~|}-0~|#/{~.00\
12:22:32 <mtve> " @\# -2+{|~0*8-4~0.~*5+2\#{|1~/
12:22:48 <tokigun> # and " is first column?
12:22:53 <mtve> yep
12:23:49 <tokigun> hmm...
12:24:27 <tokigun> doesn't work. i think my irc client has whitespace problem (or somewhat)...
12:25:19 <mtve> but it does print first line, doesn't it?
12:25:44 <tokigun> oh... it works.
12:26:03 <tokigun> there is three spaces between 0| and 0~4+8... :)
12:42:50 <tokigun> mtve: i uploaded your quine to Versert home page. see http://dev.tokigun.net/esolang/versert/code/index_en.php :)
12:43:17 <mtve> thanks :)
12:51:18 <tokigun> #/#.0~1\
12:51:19 <tokigun> @\#+,~-/
12:51:26 <tokigun> cat program in Versert.
12:53:00 <mtve> hmm, "." looks unreachable
12:53:52 <tokigun> mtve: but it works :)
12:54:31 <tokigun> to process EOF, it sets -1 to A before , instruction.
12:55:07 <tokigun> after , instruction, A is -1 or inputed character, and B is 1.
12:55:44 <tokigun> so if A + B = 0, it reached EOF...
12:56:36 <tokigun> hmm
12:56:48 <mtve> yep, but i don't get program flow, how "." get reached? (and it does not work with my interp)
12:57:36 <tokigun> mtve: assuming A is -1.
12:57:55 <tokigun> then after + instruction, B is 0 and program is terminated.
12:58:19 <tokigun> if A is not -1, B is not 0 so \ and . instruction is executed.
12:59:06 <tokigun> (then... i mean, if \ instruction can get reached, . instruction can.)
12:59:40 <tokigun> anyway... i made some mistakes in Versert spec.
13:03:47 <mtve> 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 <fizzie> # is a conditional jump, right?
13:04:04 <tokigun> fizzie: yes.
13:04:14 <mtve> oops, sorry. i get it.
13:04:16 <fizzie> If it doesn't jump over the lower \, I don't see why it would jump over the .
13:04:20 <tokigun> ;)
15:09:53 <GregorR> ...
15:10:53 <GregorR> 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 <GregorR> Either I don't know how to use BFASM, or it's rather slow >_>
16:50:15 <GregorR> Aha!
16:50:24 <GregorR> 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 <GregorR> YAAAAY!
20:25:09 <GregorR> I made a generic div-and-mod snippet in Brainfuck 8-D
20:26:33 <GregorR> It's horrible, however *shrugs*
20:26:38 <GregorR> But it does div and mod!
20:26:43 <GregorR> >>>[-]<<[>>+<<-]>[-]>>[-]>[-]>[-]>[-]<-[<<[-]>[-]<<[>+>+<<-]>>[<<+>>-]<[-<<<<->>
20:26:43 <GregorR> >>>[-]>[+]<<<<<[-]>[-]<<[>+>+<<-]>>[<<+>>-]<[>>>>+<<<<[-]]>>>>->+<[>>[<<<<<<<+>>
20:26:43 <GregorR> >>>>>-]<-<+]>-[<<<<<[-]>>>[>[-]+<<<<+>>>-]>-[+<<<<<+>>>>>]+>+]<<]>>>+<<[>+<-]>-]
20:26:43 <GregorR> >[-]<<<<[-]<<<
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 <wooby> yo
00:02:32 <jix> 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 <GregorR> Before I continue this ...
02:24:47 <GregorR> Has anybody written checkers in BF?
02:27:46 <graue> not I
02:28:14 <graue> 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 <GregorR> Is it cheating to write BF with a C preprocessor?
04:49:10 <calamari> do you feel like it's cheating?
04:50:29 <graue> that sounds like fun
04:50:39 <graue> what sorts of macros do you use?
05:15:37 -!- heatsink has quit ("Leaving").
05:16:45 <GregorR> I don't feel like it's cheating.
05:16:48 <GregorR> It's just reusing code.
05:17:00 <GregorR> It's just a quick way to type 100s of BF commands.
05:17:26 <GregorR> My macros:
05:17:47 <GregorR> /** MBF_CLR: a = 0 */
05:17:47 <GregorR> /** MBF_ADD: a = a + b */
05:17:47 <GregorR> /** MBF_SUB: a = a - b */
05:17:47 <GregorR> /** MBF_DUP: b = a; c = 0 */
05:17:49 <GregorR> /** MBF_MULT: a = a * b; c, d, e = 0 */
05:17:51 <GregorR> /** MBF_DIV: a = a / b; b, c, d, e, f, g, h = 0 */
05:17:53 <GregorR> /** MBF_CLS: clear the screen; a, b, c, d strange values */
05:19:32 <graue> I guess the actual implementation is a trade secret, eh?
05:26:12 <GregorR> I'll gladly give it over.
05:27:45 <graue> cool
05:38:43 <GregorR> But first I have to package it in a modestly non-sucky way 8-D
05:38:58 <GregorR> What's the BEST BF interpreter out there?
05:39:14 <graue> they all suck
05:39:48 <graue> qdb and yabfi2 have hardcoded limits of how many tape cells they can use
05:39:57 <graue> if you don't need a lot of code or tape cells, use qdb
05:42:03 <GregorR> What's their hard limit?
05:43:52 <graue> I don't know, look at the source code?
05:44:12 <graue> something along the lines of 30000, you can always change it of course
05:49:36 <GregorR> Well, 30000 should be fine *shrugs*
05:51:20 <graue> I don't really know of a fast/decent interpreter with no hardcoded limits
05:51:27 <graue> 30000 has been insufficient for some things I wanted to do
05:51:29 <GregorR> I guess I'll have to write one.
05:59:10 <GregorR> List of necessities:
05:59:13 <calamari> GregorR: might I suggest precalculation of [ and ] ? :)
05:59:16 <GregorR> 8, 16 and 32 bit mode
05:59:20 <GregorR> Precalculation of [-]
05:59:37 <GregorR> Wrapping optional
05:59:39 <calamari> add-to loops too, maybe? :)
05:59:42 <GregorR> Reallocate space
06:00:05 <GregorR> calamari: I'll consider it as a to-be-implemented :)
06:00:08 <calamari> haha
06:00:23 <calamari> [ and ] precalculation helps a lot.. try it :)
06:01:46 <GregorR> Oh of course - I thought you meant something else.
06:01:48 <GregorR> That's a given.
06:02:44 <calamari> it seems that the best is almost a mini compilation phase at the beginning before interpretation
06:08:46 <GregorR> Is it agreed that there's no call for memory expanding /below/ 0?
06:09:30 <graue> yes
06:10:27 <graue> 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 <graue> I'm not sure if that is an effective way to actually speed anything up
06:11:00 <graue> (probably not, in general)
06:11:09 <GregorR> Those ops are so quick, it's really pretty irrelevent *shrugs*
06:11:19 <graue> on the other hand, that implementation then didn't have to check for memory underflow all the time
06:11:26 <graue> the interpreter shouldn't crash on invalid programs
06:11:31 <calamari> probably not, as >'s and <'s should be pre-combined anyways
06:11:37 <graue> true
06:11:54 <calamari> of course, sometimes this allows bad programs to not crash
06:11:55 <graue> in fact any chunk of code containing only ><+- can be optimized quite a bit
06:11:59 <graue> yes
06:13:14 <calamari> not for use in contest judging :)
06:20:42 <GregorR> Now matching loops ...
06:23:47 <GregorR> Loops are now matched (in a very memory-inefficient way I'm afraid to admit)
06:24:46 <calamari> lookup table?
06:25:18 <GregorR> Yup
06:25:21 <calamari> nah, no need, could just hardcode into the source :)
06:25:33 <GregorR> But it's also the table used to shorten >><<<<>, etc.
06:26:46 <calamari> shouldn't listen to me, since I haven't written the ultimate bf interpreter, hehe
06:37:38 <GregorR> And who has?
06:38:39 <graue> you, a few weeks from now when you release version 1.0?
06:38:46 <GregorR> lol
06:38:50 <GregorR> A few weeks? I'm insulted!
06:41:06 <graue> sorry, in a few years
06:41:18 <graue> I should have known you would never rush and that quality was paramount to you
06:42:34 <GregorR> lol
06:53:45 -!- calamari has quit (Read error: 110 (Connection timed out)).
06:57:58 -!- calamari has joined.
07:03:15 <GregorR> *((((bytewidth == 1 : int8_t ? (bytewidth == 2 : int16_t ? int32_t))) (mem + ((mptr) * bytewidth)))) += loops[pptr];
07:03:20 <GregorR> That's broken somehow :-P
07:03:49 <graue> does it have to be obfuscated just because it's a brainfuck interpreter?
07:04:22 <GregorR> lol
07:04:26 <GregorR> That's actually the result of macros.
07:04:34 <GregorR> It reads as *(MEM(x)) = loops[pptr];
07:04:48 <graue> I thought the programs had macros, not the interpreter
07:04:48 <GregorR> The MEM macro decides what sort of memory it's looking at.
07:04:56 <graue> oh
07:05:13 <graue> well, your ?s and :s are reversed
07:05:36 <calamari> hopefully it only executes this once?
07:06:05 <GregorR> graue: Yeah, I noticed that XD
07:06:41 <GregorR> Maybe I just need to compile three interpreters with different #defines and make a frontend.
07:06:46 <GregorR> Because that's anything but optimal.
07:07:24 <graue> make the entire interpreter a macro
07:08:00 <graue> then you can do like "if (bytewidth == 1) INTERPRETER(int8_t) else if (bytewidth == 2) INTERPRETER(int16_t)" etc
07:08:20 <GregorR> lol
07:08:58 <graue> or, like you suggest, just make an interpreter generator
07:09:06 <graue> you could also have disable/enable wraparound, etc
07:09:11 <graue> and optimizations
07:09:21 <graue> good night
07:09:21 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!").
07:20:16 <GregorR> w00t
07:20:17 <GregorR> It works.
07:27:14 <GregorR> Hmm, has problems with 32-bit mode.
07:35:15 <calamari> signed or unsigned btw?
07:36:29 <GregorR> Unsigned.
07:36:47 <GregorR> Hmm, don't know if I want that to be modifiable ...
07:47:55 <GregorR> Hoopla
07:53:01 <GregorR> Why yes, this is the greatest BrainFuck interpreter ever.
07:53:09 <GregorR> What's that you say? Gregor is a genius?
07:54:27 <calamari> somebody needs to write a bf benchmark program so that you may be humbled :)
07:55:47 <GregorR> lol
07:56:06 <GregorR> What's a completely insane BF program? Way to huge to make any sense.
07:56:41 <calamari> raven's lost kingdom is huge
07:57:02 <GregorR> Ah, good'n!
07:57:05 <calamari> bfasm is decently large as well
07:57:36 <GregorR> Do you know if either need 16-bit or whatnot?
07:58:05 <GregorR> Oooh, that's snappy! ^_^
07:58:10 <calamari> bfasm does..
07:58:26 <GregorR> Time to release this puppy.
07:59:02 <GregorR> Hmm, I totally don't understand this Fibonacci sequence generator ...
07:59:11 <calamari> y not?
07:59:22 <GregorR> Either it's somehow stepping outside the bounds of a character, or it's not putting newlines :P
07:59:59 <calamari> hmm, thought I had that program, guess not
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:16 <GregorR> If it's somehow stepping outside the bounds of a character and is generating properly, then I just generated:
08:00:21 <GregorR> 7636483426752859626568727941453421836579500747253199097397446751252205298917387147222157525691120044675551183747012174982350831180624465225615183372232707575199695298398336853131650061131214645112476911067502428593554795489700530669981992898898397
08:00:25 <GregorR> In well under 10 seconds.
08:00:39 <calamari> somehow that seems unlikely even for non bf
08:00:58 <GregorR> I'm not sure what it's doing *shrugs*
08:01:19 <calamari> primes.bf
08:01:25 <calamari> thats a fun one
08:02:12 <GregorR> Where from?
08:03:17 <calamari> 1 sec I'll find it on e.s.f
08:03:56 <calamari> http://esoteric.sange.fi/brainfuck/bf-source/prog/PRIME.BF
08:08:22 * GregorR tinkers
08:09:50 <calamari> how does it do on 1000? :)
08:10:25 <GregorR> Right now I'm working in the 100 range :P
08:14:30 <GregorR> Damn :P
08:14:46 <GregorR> Even though the OPTION set provided by GKRBFI is far better, QDB is inexplicably beating it in times.
08:15:20 <calamari> suggestion: rename to something else :)
08:15:39 <calamari> how about gbfi? :)
08:17:10 <GregorR> G implies GNU
08:17:14 <GregorR> K implies KDE
08:17:17 <GregorR> R doesn't imply me.
08:17:25 <GregorR> So I have to use them all :P
08:17:29 <calamari> hah
08:17:42 <calamari> g implies gnome
08:18:15 <GregorR> That too
08:18:16 <calamari> egobfi?
08:18:21 <GregorR> 8-D
08:19:27 <GregorR> When I take off counting of <>>>>><, the time drops dramatically.
08:19:37 <calamari> interesting
08:19:58 <calamari> so it's faster not to optimize <> ?
08:20:10 <calamari> how about +-?
08:20:13 <GregorR> Same.
08:20:25 <calamari> that's kinda weird
08:20:28 <GregorR> Merely because of the time taken in doing all the counting, and then having to reference that count in some array.
08:20:51 <GregorR> 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 <lament> those things should just be optimized in source code :)
08:21:53 <lament> oh wait
08:22:02 <lament> well, some of them :)
08:23:23 <GregorR> I'm experimentally trying without [] mapping
08:24:45 <GregorR> Amazingly, that did worse :P
08:25:32 <GregorR> And now I have no idea what the slowdown is >:(
08:27:07 <GregorR> Ohhhhhhhhh, I see how QDB cheats.
08:27:08 <GregorR> Tricky.
08:27:40 <lament> cheats?
08:28:13 <GregorR> 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 <calamari> that's how I was suggesting to do it before :)
08:29:36 <GregorR> *cough*
08:29:39 * calamari cheats :)
08:30:01 <calamari> at least if I understand what you said.. hehe
08:31:08 <calamari> I'd make a new program like +(int) [(addr) etc
08:32:23 <calamari> or even better.. compile to machine code and call subroutine ;)
08:33:14 <GregorR> w00t
08:33:50 <calamari> egobfi pulls ahead?
08:36:01 <GregorR> YES!!!!!
08:36:02 <GregorR> w00t!
08:49:19 <GregorR> Is there somebody here who can upload this to esolangs.org?
08:51:30 <GregorR> WTF is with this Fibonacci generator >_O
08:52:42 <calamari> how long does 1000 take? :)
08:53:09 <GregorR> A loooooooooooooooooooooong time.
08:58:26 <GregorR> http://gregorr.homelinux.org/egobfi-0.1.tar.bz2
09:37:50 <calamari> ok.. too tired :) good job Gregor
09:37:53 -!- calamari has quit ("Leaving").
09:45:26 <GregorR> OK, 0.1 had a horribly broken debugger.
09:45:29 <GregorR> 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 <pgimeno> GregorR: still around?
11:51:21 -!- fizzie2 has joined.
11:51:29 <fizzie2> Whoopsie.
11:52:13 -!- fizzie has quit (Nick collision from services.).
11:52:22 -!- fizzie2 has changed nick to fizzie.
11:53:10 <fizzie> 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 <lindi-> huh
11:57:23 <fizzie> Blame him ^ (ineiros), it's his cat.
11:58:13 <ineiros_> Sorry. :P
12:03:28 -!- ineiros has quit (Read error: 111 (Connection refused)).
12:10:25 -!- jix has joined.
12:13:34 <jix> moin
12:46:44 <pgimeno> http://www.formauri.es/personal/pgimeno/prog/esoteric/mandel-bench.txt
12:49:27 <pgimeno> are there other interpreters worth adding to the benchmark?
12:49:52 <pgimeno> (or compilers)
12:51:46 <{^Raven^}> bftools by Erok Bosman would be a good addition
12:52:01 <{^Raven^}> *Erik
12:52:22 <jix> pgimeno: i'm going to write one
12:52:49 <pgimeno> oh, how come it's not in the BF page?
12:53:24 <jix> did you tried obi2.rb ?
12:53:37 <jix> http://esolangs.org/files/brainfuck/impl/obi2.rb
12:53:40 <jix> it's a ruby script
12:54:16 <pgimeno> I didn't
12:54:36 <jix> 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 <jix> because it converts the brainfuck code in ruby code and then evals it
12:55:18 <pgimeno> {^Raven^}: I didn't, thanks
12:55:33 <pgimeno> jix: optimizing?
12:56:02 <pgimeno> optimizing interpreters are often faster than non-optimizing compilers
12:56:02 <jix> [-] nothing more
12:56:18 <jix> ok it would be possible to optimize more thing
12:56:19 <jix> s
12:56:24 <jix> but it wouldn't fit into that shape^^
12:56:43 <pgimeno> hehe
12:56:53 <pgimeno> do the letters bolder
12:58:45 <pgimeno> jix: sorry but outputting *the first line* already takes almost 45 secs
12:59:16 <pgimeno> I'm not going to let it complete the shape; my computer has severe temperature problems
12:59:38 <jix> hehe
12:59:41 <pgimeno> (room temp is ~ 31 C)
13:00:00 <jix> uh..
13:00:15 <jix> i have 22 C
13:01:25 <jix> 16 C outside
13:02:15 <pgimeno> that's cool (literally)
13:03:27 <jix> 16 C is normal upto 25 C is warm >25 C is hot
13:05:34 <pgimeno> the result with bftools is very very similar to the one with brfd
13:06:00 <pgimeno> 1m17.476 vs 1m17.229
13:07:10 <pgimeno> I'm impressed with bff though; it's just a 3x slowdown wrt the natively compiled version
13:08:57 <pgimeno> http://www.iwriteiam.nl/Ha_bf_online.html does not compile it
13:10:04 <pgimeno> I'm going to try http://bf2c.sf.net/
13:10:32 <pgimeno> unfortunately that also depends on the C compiler's optimization abilities
13:11:00 <jix> but it's portable
13:11:11 <jix> i can't try awib because i don't have a running x86 machine
13:11:19 <jix> a working
13:12:19 <pgimeno> 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 <jix> ./bff mandelbrot.b ... waited 1 minute .. no output .. killed?
13:16:01 <pgimeno> ?
13:16:04 <pgimeno> it works here
13:19:28 <jix> with obi2.rb it works here too
13:19:43 <pgimeno> {^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 <pgimeno> jix: maybe bff is endianess-sensible or something?
13:22:57 <pgimeno> grr, bf2c segfaults
13:27:52 <jix> i'm going to write a really fast bfi
13:29:02 <pgimeno> IMNSHO brfd has one of the best BF debuggers around
13:29:49 <pgimeno> too bad it doesn't debug C programs... gdb sucks
13:30:23 <jix> gdb is good enough to debug binaries without source code
13:30:48 <pgimeno> 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 <lindi-> pgimeno: what's wrong with gdb?
13:39:24 <lindi-> (just curious)
13:39:51 <pgimeno> commands are too complex to learn
13:40:13 -!- jix has joined.
13:40:17 <jix> oops wrong key
13:40:30 <pgimeno> wb jix
13:40:57 <jix> thx
13:42:22 <lindi-> pgimeno: oh, "run, break, continue, backtrace, print" is what i usually need, those are very logically named imho :/
13:42:33 <pgimeno> I tend to forget them from one time to another; I always have to read some docs
13:43:10 <lindi-> pgimeno: use ddd if you want to use menus and mouse
13:43:38 <lindi-> pgimeno: how should they be named so that you'd remember? ;)
13:43:44 <pgimeno> I usually need "info registers", "disassemble", "info target", single step...
13:45:00 <pgimeno> well, I was quite comfortable with single-letter commands
13:46:50 <lindi-> pgimeno: i hope you have noticed that you can use "r", "b", "c", "bt", "s" and "si" ;)
13:48:14 <pgimeno> the bad point is that it's not intuitive enough for me, I have to check docs often
13:48:27 <fizzie> You could also use "define" in .gdbinit to customize/intuitivize your gdb.
13:48:56 <pgimeno> being a mixed assembler/HLL debugger makes it harder to use, e.g. using $ for registers
13:49:37 <pgimeno> I'd prefer to have a dedicated low-level debugger
13:49:42 <pgimeno> anyway that's probably just me
13:50:52 <jix> but gdb has objective-c support
13:51:00 <lindi-> and java support
13:51:13 <jix> and objective-c always stores symbol names because it uses a somewhat dynamic calling
13:51:55 <jix> and all binary objective-c programs have symbols included.. it helps fixing some things
13:54:08 <jix> 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 <jix> pgimeno: what's your mandelbrot test machine?
16:24:25 <pgimeno> athlon xp 2000
16:24:55 <jix> i wrote a new bf interpreter
16:25:14 <jix> and on my g4-1ghz ppc machine it takes 1:11 for mandelbrot.b
16:25:55 <jix> it has NO error checking and i'm not sure if it frees everything ^^ but it has growable memory
16:26:07 <pgimeno> oh 1.3 GHz, btw
16:26:14 <pgimeno> mind if I test it?
16:26:23 <jix> i'm uploading it
16:26:31 <pgimeno> benchmark, even
16:26:40 <jix> please test it.. i want to compare it with other interpreters
16:27:07 <pgimeno> sure
16:27:21 <jix> http://www.harderweb.de/jix/langs/brainfuck/afbi.c
16:27:40 <jix> compile with -O3
16:28:59 <pgimeno> segfault
16:29:42 <jix> huh?!
16:30:25 <pgimeno> even if I give no parameters
16:30:41 <jix> with no parameters it's normal
16:30:53 <jix> there has to be 1 parameter
16:31:17 <pgimeno> it still segfaults
16:31:27 <jix> hmm what's your gcc version?
16:31:41 <pgimeno> gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
16:32:02 <jix> i compiled it with gcc version 3.3 20030304 (Apple Computer, Inc. build 1809)
16:32:44 <jix> gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
16:32:45 <jix> works too
16:34:05 <jix> any compile warnigns?
16:34:20 <pgimeno> I activated none; other than that no
16:35:28 <jix> hmm
16:35:28 <fizzie> Where's this mandelbrot.b?
16:35:30 <pgimeno> ddd says the segfault happens in line 152: goto *(ins[ci.instruction]);
16:35:42 <fizzie> Ooh, a computed goto. :)
16:35:44 <jix> fizzie: esolangs.org/files/brainfuck/src (guessed)
16:36:03 <jix> pgimeno: hmm ok
16:36:30 <pgimeno> http://swapped.cc/bf/
16:36:56 <fizzie> It segfaults on my x86 box too.
16:36:59 <jix> it jumps into the dark side of memmory.. oh nooo
16:37:01 <fizzie> But doesn't on my ppc box.
16:37:58 <pgimeno> endianess problems?
16:38:24 <jix> fizzie: pgimeno: what's the content of program[program_p].instruction at the segfault?
16:38:32 <jix> pgimeno: no gcc computes the values i jump to
16:38:48 <jix> and i don't use unions
16:38:58 <jix> and i don't cast values with different size
16:39:08 <pgimeno> (gdb) print program[program_p].instruction
16:39:09 <pgimeno> $1 = 0
16:39:38 <jix> hmm
16:39:42 <jix> thats add
16:40:05 <fizzie> (gdb) print program[program_p].instruction
16:40:05 <fizzie> $1 = 7
16:40:20 <jix> hmm
16:40:26 <jix> wahts 7..
16:40:26 <fizzie> program_p is 3291.
16:40:33 <jix> 7 is exit
16:41:09 <pgimeno> here it is 0
16:42:06 <jix> fizzie: mandelbrot.b ?
16:42:11 <fizzie> Yes.
16:42:17 <fizzie> It's 0, 0 here too when compiled with "-g -O3"
16:42:20 <jix> 3291 shouldn't be exit
16:42:28 <pgimeno> jix: do you realze that the file is 12000 instructions long?
16:42:31 <fizzie> And 7, 3291 when compiled with just a "-g".
16:42:34 <pgimeno> s/realze/realize/
16:42:35 <jix> pgimeno: yes
16:42:50 <jix> there something odd with the computed gotos
16:43:03 <jix> awayy
16:44:10 <jix> back
16:44:12 <fizzie> 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 <jix> it took 1:11 on my 1ghz g4 so that sounds ok
16:46:14 <pgimeno> jix: program_s = 4000 here, if that helps
16:47:01 <jix> 4000?
16:47:10 <jix> should be... 16000
16:47:19 <jix> sizeof(bfi)*1000
16:47:26 <fizzie> ci.instruction is "65541" when it crashes on that goto statement.
16:47:31 <fizzie> That's probably not right.
16:47:37 <jix> yes
16:48:16 <jix> oh wait
16:48:19 <jix> i changed something
16:48:23 <jix> program_s is ok
16:48:27 <jix> at 4000
16:49:55 <fizzie> Shouldn't "tmp" be > "program"? When it crashes, it's program-1011 here.
16:50:13 <jix> huh?
16:50:24 <fizzie> (gdb) print tmp
16:50:24 <fizzie> $2 = (bfi *) 0x804a260
16:50:24 <fizzie> (gdb) print program
16:50:24 <fizzie> $3 = (bfi *) 0x804e190
16:50:40 <jix> hmm something went wrong
16:50:50 <fizzie> Maybe I should try single-stepping when it starts interpreting it.
16:51:18 <jix> it has something to do with the loop instructions
16:51:50 <jix> line 183 & 187 set tmp
16:53:01 <jix> maybe the parser writes the wrong addresses into the memory
16:54:35 <pgimeno> hm
16:54:46 <pgimeno> ((bfi*)(tmp->arg_c))->arg_c=(void*)tmp;
16:55:11 <jix> where's the problem
16:55:19 <jix> it's bad c-style
16:55:33 <pgimeno> arg_c is int, right?
16:55:40 <jix> arg_c is void*
16:55:47 <jix> arg_a and arg_b are int
16:55:49 <pgimeno> ah ok
16:55:59 <pgimeno> sorry
16:56:13 <fizzie> Well, converting between void* and bfi* shouldn't be a problem.
16:56:27 <jix> arg_c should be bfi* but i forgot how to do linked-list declarations
16:56:47 <pgimeno> I objected just because I thought it was int; I was wrong
16:57:34 <fizzie> typedef struct bfi_s { ...; struct bfi_s * arg_c; } bfi;
16:57:37 <fizzie> Anyway..
16:57:53 <pgimeno> anyway where is it initialized?
16:58:30 <jix> pgimeno: what?
16:58:46 <pgimeno> where is tmp->arg_c initialized?
16:58:52 <fizzie> Afaict the terminating ']' of the loop sets it properly.
16:59:00 <fizzie> For "both ends" of the loop.
16:59:18 <pgimeno> oh, in the previous instruction :)
16:59:22 <pgimeno> sorry
16:59:44 <jix> my c-code is always chaotic as hell
16:59:55 <jix> i never really learned c
17:00:16 <fizzie> 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 <jix> 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 <pgimeno> I'm used to not using prototypes (I'm a quiche-eater)
17:03:22 <jix> but some recursive functions need prototypes
17:03:41 * yrz\werk frank zappa - tengo una minchia tanta
17:03:41 <jix> with computed gotos it should be possible to avoid that
17:04:10 <pgimeno> things need to get really really complicated for them to be really necessary
17:04:26 <jix> a calls b and b calls a
17:05:09 <pgimeno> I usually write b inside a in such cases
17:05:23 <jix> hmm.. i too
17:05:49 <fizzie> Engfeh. gdb's single-stepping gets sorta-confused when the program's compiled with "-g -O3".
17:06:22 <pgimeno> yeah, -O0 is needed for reliable traces
17:06:43 <fizzie> Since it segfaults with that too, I guess I'll look at it unoptimized.
17:11:12 <fizzie> Ohhh.
17:11:24 <fizzie> I have an idea of one way it might bug.
17:12:07 <fizzie> if realloc() moves the "program" to some different address when reallocating, the addresses in the "loopstack" get invalidated.
17:12:37 <pgimeno> yeah, that's probably it
17:13:05 <pgimeno> I was examining the value of loopstack right now
17:13:35 <pgimeno> (gdb) print program
17:13:35 <pgimeno> $13 = (bfi *) 0x804a170
17:13:49 <pgimeno> (gdb) print loopstack[0]
17:13:49 <pgimeno> $15 = (void *) 0x804a180
17:14:09 <pgimeno> which makes perfect sense
17:14:43 <jix> argh
17:14:59 <jix> ok i'm going to fix that
17:15:01 <pgimeno> but on segfault: (gdb) print program
17:15:01 <pgimeno> $16 = (bfi *) 0x804e190
17:15:59 <fizzie> 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 <pgimeno> it probably segfaults on x86 because the page is freed
17:20:57 <jix> while parsing i keep relative offsets
17:21:11 <jix> if i'm done with parsing i convert them into absolute addresses for speed
17:22:51 <jix> updated
17:23:12 <jix> i did some speed improvements too
17:25:42 <fizzie> 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 <jix> thx
17:26:41 <fizzie> Not that I'd have benchmarked it to see if it has any _real_ effect, but "it just might".
17:28:11 <jix> 5secs faster!
17:28:30 <jix> updated
17:28:36 <jix> does it work on x86 now?
17:28:53 <fizzie> Uh.. well:
17:28:54 <fizzie> fis@sesefras:~$ ./afbi mandelbrot.b fis@sesefras:~$
17:29:02 <fizzie> Err, that's a broken copypaste.
17:29:11 <fizzie> Let's try that again:
17:29:12 <fizzie> fis@sesefras:~$ ./afbi mandelbrot.b
17:29:16 <fizzie> fis@sesefras:~$
17:29:24 <fizzie> It prints out 8 spaces, it seems. :p
17:29:38 <jix> better than segfault
17:30:09 <jix> if i set program start size low i have the same bug
17:30:31 <fizzie> Hmnnhm. Might still have something to do with the reallocations, then.
17:30:54 <pgimeno> jix: is it on the same location?
17:31:40 <pgimeno> web location, I mean
17:31:53 <fizzie> That's where I wget'd from.
17:31:58 <fizzie> And it looks updated to me.
17:34:23 <jix> pgimeno: yes
17:36:31 <jix> i don't know why it doesn't work
17:36:50 <jix> i write a bf2c converter thats easier
17:37:58 <jix> not only bf2c but bf2*
17:38:48 <fizzie> I have a (quite unoptimized) bf2befunge thing, but befunge's not very mainstream language either.
17:39:17 <jix> ok bf2high-level-language
17:55:58 <pgimeno> jix: *mem_p == 1 at start of program
17:58:31 <pgimeno> seems you forgot to zero it out
18:00:13 <jix> ah
18:00:31 <pgimeno> now it works
18:03:02 <jix> updated
18:06:35 * pgimeno waits until the computer cools out
18:07:13 <jix> i had no temperature problems at 35 C
18:07:58 <jix> my old 68k (motorola 680x0) mac had problems at ~40 C but my computer hadn't
18:08:59 <jix> and i don't have a cpu fan
18:10:27 <pgimeno> my case is really annoying; I have them since I bought this box
18:10:58 <jix> i wish my computer had a cpu fan.. passive cooling is LOUD
18:11:09 <pgimeno> see http://www.formauri.es/personal/pgimeno/temp/dsc02325.jpg
18:11:21 <jix> lol
18:11:34 <pgimeno> that's my box and my auxiliary fan
18:11:40 <jix> the hard-disk
18:11:41 <jix> ^^
18:12:09 <pgimeno> yeah, that one is cooled at the same time
18:12:43 <pgimeno> time afbi-0.1/afbi mandelbrot.bf
18:12:43 <pgimeno> real 3m3.160s
18:12:43 <pgimeno> user 2m55.809s
18:12:43 <pgimeno> sys 0m0.070s
18:12:50 <jix> :(
18:13:13 <jix> my computer can't be that fast
18:13:42 <pgimeno> tried brfd? it's very ANSIish
18:13:52 <jix> url?
18:13:52 <pgimeno> oh, the optimizer is not released
18:14:38 <pgimeno> http://www.formauri.es/personal/pgimeno/files/compurec/brfd101.zip
18:15:34 <pgimeno> then replace run.c with this:
18:15:42 <pgimeno> http://www.formauri.es/personal/pgimeno/temp/run.c
18:21:16 <jix> oceanic:~/Desktop/Downloads/brfd101 jannis$ time ./brfd ~/Desktop/mandelbrot.b
18:21:22 <jix> real 2m7.937s
18:21:22 <jix> user 1m34.170s
18:21:22 <jix> sys 0m0.779s
18:21:30 <jix> on my computer my interpreter is faster
18:21:55 <pgimeno> I expected that for some reason
18:22:02 <lindi-> hmm, maybe i should write brainf*ck interpreter too
18:22:23 <jix> pgimeno: but i didn't any ppc specific optimizations
18:22:59 <jix> wait for my bf2c ...
18:23:03 <pgimeno> I'd guess that the reason is indirect jumps being too expensive in x86
18:23:09 <jix> but first i have to eat something
18:23:28 <jix> ppc is faster with precomputed jumps too
18:23:32 <pgimeno> I'm looking forward to see it; I'm sure it will be faster
18:24:06 <jix> but comparing a int with 7 other ints is always slower than branching/jumping to an computed address
18:24:14 <jix> /away
18:25:03 <pgimeno> maybe not
18:27:33 <pgimeno> the comparisons may take 1 cycle each; OTOH indirect jumps can't be predicted and the pipeline is useless
18:33:19 <lindi-> jix: you know if anybody has made a benchmark of all published bf interpreters/compilers?
18:50:18 <jix> pgimeno: but after each comparison it has to jump to the code
18:50:21 <jix> lindi-: no
18:50:39 <lindi-> would be interesting to see one
18:51:35 <jix> i have a 300mhz celeron computer (without os atm) could be a testbox
18:52:23 <lindi-> maybe i'll write a benchmark script
18:52:45 <jix> bash?
18:53:31 <jix> uh where is the key for the computer?
18:53:35 <fizzie> 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 <lindi-> yeah, why not. it just needs to invoke different interpreters with different programs
18:53:56 <lindi-> jix: key?
18:54:01 <jix> fizzie: i don't use the computer for enything else
18:54:05 <jix> lindi-: yes a real-life key
18:54:18 <lindi-> i'm not sure what you are talking about :/
18:54:48 <fizzie> 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 <jix> it's in a (shortened) server box with a little door at the front with a lock in it
18:56:19 <fizzie> 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 <jix> fizzie: is there an tutorial for running a process while stopping all other
18:59:06 <jix> lindi-: i'm talking about a key for http://www.harderweb.de/jix/lock.jpg
18:59:38 <fizzie> 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 <fizzie> 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 <jix> i could write a luncher for it (first setting priority than exec'ing into the other process)
19:01:40 <fizzie> scheduling parameters are inherited by fork(), so you could just grant a higher priority to the shell running the test script.
19:02:01 <fizzie> The shell process probably wouldn't have too much interference.
19:02:02 <jix> fizzie: than the shell and the process have high priority
19:02:38 <jix> 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 <fizzie> Well, no.
19:02:59 <jix> uh bad
19:03:05 <fizzie> Unless you have a higher-priority task that can kill it.
19:03:25 <jix> if the shell has same priority.. can i kill it using ctrl-c?
19:03:26 <fizzie> "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 <jix> ok
19:04:01 <fizzie> From the man page of sched_setscheduler.
19:04:14 <jix> the lock is screwdriver safe!
19:04:41 <jix> the box has a hole at the back but is safe at the front...
19:05:17 <fizzie> 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 <jix> i don't think i need that exact timing
19:07:11 <jix> the first thing i need is that stupid key!
19:08:05 <fizzie> 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 <lindi-> 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 <fizzie> The key is in a "safe place".
19:08:41 <lindi-> mandelbrot even
19:08:54 <jix> fizzie: maybe it's in a trashcan...
19:09:16 <jix> hah not 100% screwdriver safe!
19:10:04 <fizzie> I assume it's not chain-saw-safe either.
19:10:55 <jix> http://www.harderweb.de/jix/open.jpg
19:12:24 <jix> hmm i need a power cable
19:13:47 <lament> anybody knows a good 4-hands piano piece?
19:14:08 <jix> its 400mhz not 300
19:14:21 <calamari> lament: you have 4 hands? cool :)
19:14:44 <jix> calamari: you have less than 4 hands?
19:14:54 <calamari> jix: lol
19:15:15 <calamari> yeah, iirc squids only have the 2 long tentacles
19:15:20 <calamari> the rest are shorter
19:15:42 <jix> oh there is a linux on the computer
19:15:54 <jix> with x11...
19:16:03 <jix> looks like i reinstall is needed
19:16:07 <jix> i=>a
19:17:05 <jix> where is the keyboard-plug converter
19:17:18 <lament> i only have two hands
19:17:39 <fizzie> lament; you're going to use time-travel to have two of you!
19:17:51 <fizzie> 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 <calamari> maybe he can play with his feet, like an organ :)
19:18:02 <lament> fizzie: that's the most boring use of time-travel ever :)
19:18:42 <lament> calamari: i can play with my feet, but not piano.
19:19:21 <jix> 33 processes running default
19:19:40 <calamari> I have very little musical ability. I can play a harmonica, but not even bend notes really...
19:19:53 <jix> i play guitar
19:20:14 <lament> bending notes has nothing to do with musical ability
19:20:22 <lament> and everything with practice
19:20:59 <lament> keep practicing and you'll get it :)
19:21:16 <lament> what harmonica do you have?
19:21:20 <jix> the cpu is 99.7 % idle
19:21:22 <jix> thats ok
19:22:20 <calamari> 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 <calamari> 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 <lament> oh ugh
19:28:29 <lament> i don't like non-standard harmonicas
19:29:20 <fizzie> An esoteric harmonica.
19:29:43 <lament> yeah
19:29:55 <lament> the double-reeds are less expressive then standard ten-holes
19:30:02 <calamari> I got hooked on it, because it has every note
19:30:23 <lament> I can play any diatonic note on the ten-hole
19:31:01 <calamari> 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 <calamari> that meant I could not play certain songs
19:32:52 <lament> only chromatic harmonicas have "all the notes"
19:33:29 <lament> the weekender has a full major scale
19:33:31 <calamari> lament: I mean cdefgab.. I'm not talking about flats/sharps.. sorry to confuse :)
19:33:49 <lament> ten-holes don't have a full major scale, but it's possible to play it anyway by bending
19:34:14 <lament> and it's possible to play EVERY note within the three octaves by bending and overblowing
19:34:17 <lament> (but that's hard)
19:34:37 <lament> on the weekender it's impossible in principle
19:34:48 <lament> as far as i know
19:35:09 <GregorR> AGGGGGGGGGGGGGGGG
19:35:12 <GregorR> So much talking.
19:35:29 <GregorR> How the HELL is bff so fast?
19:35:45 <calamari> egobfi is beaten?
19:37:07 <GregorR> Please note that egobfi was primariy intended to be powerful, fast was a later addition.
19:38:54 <calamari> I was briefly investigating a self-modiying elf binary last night. Not good at linux asm yet.
19:46:44 <calamari> I miss debug.. wish there were something interactive like that for linux.
19:52:03 -!- yrz\werk_ has joined.
19:53:32 <GregorR> Umm, like gdb/ddd ?
19:53:40 <GregorR> I don't know what you mean by "debug"
19:54:09 <calamari> debug is a dos program.. has a built in assembler, disassembler, binary editor, etc
19:54:54 <pgimeno> calamari: yeah, that's what I miss too
19:54:57 -!- yrz\werk has quit (Client Quit).
19:55:45 <pgimeno> good ol' debug and the backwards-compatible, feature-enhanced symdeb
19:56:08 <calamari> never had symdeb.. but I had a debug32.. didn't work 100% reliably tho :)
19:56:14 <GregorR> brfd is faster with mandelbrot but slower with primes.
19:57:33 <pgimeno> 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 <GregorR> I'm really just trying to save face XD
19:58:45 <pgimeno> probably primes uses chunks that are not well optimized by brfd
19:59:06 <pgimeno> brfd is actually pretty dumb, it's just a string replacement
19:59:31 <GregorR> Ahhhhhhhhh, so that's your trick :)
20:00:18 <{^Raven^}> pgimeno: got mandelbrot running in 7.4s on my optimising compiler
20:00:20 <pgimeno> yeah, it's "compiled" to a bf variation with an extended instruction set
20:00:45 <pgimeno> {^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 <pgimeno> does it generate C or assembly?
20:01:37 <{^Raven^}> C
20:01:45 <fizzie> I don't think 'debug' was that much better than gdb.
20:01:59 <pgimeno> http://swapped.cc/bf/
20:02:11 <pgimeno> http://swapped.cc/bf/files/mandelbrot.b
20:02:48 <GregorR> Come on, no comparing compilers to interpreters ;)
20:03:00 <fizzie> 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 <pgimeno> 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 <fizzie> 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 <pgimeno> yeah, but so far I've found no decent replacement for symdeb or hiew
20:07:19 <pgimeno> {^Raven^}: real 0m5.131s
20:07:20 <pgimeno> user 0m4.276s
20:07:20 <pgimeno> sys 0m0.003s
20:07:46 <GregorR> Humm ... my benchmarks are way off of yours ...
20:07:54 <pgimeno> (with -O3) which is pretty impressive
20:09:12 <pgimeno> GregorR: what machine?
20:09:22 <{^Raven^}> pgimeno: nice :D but still far from optimal
20:09:26 <GregorR> A 2.6gHz, but that's not it, they're in a totally different order.
20:09:31 <GregorR> Not just all faster.
20:10:22 <pgimeno> what processor? this one is an athlon
20:11:46 <fizzie> 30 seconds for even compiling that mandelbrot.c with gcc-3.3/-O3/1GHz-ppc.
20:11:55 <GregorR> Pentium 4.
20:12:06 <pgimeno> yeah, compilation is a bit slow
20:12:12 <GregorR> Also, I'm turing -O3 on bff into -O2 because that's totally cheating, and did -O2 on BRFD.
20:12:16 <fizzie> (Then 11 seconds to run it.)
20:12:25 <GregorR> (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 <pgimeno> GregorR: that may be an indication of both processors handling optimizations differently
20:13:15 <GregorR> True.
20:13:23 <GregorR> I'm having a halting problem with brfd ...
20:14:21 <pgimeno> halting problem? is that because you're Turing -O3 into -O2? :P
20:14:59 <GregorR> brfd wasn't compiling with any -O for me ...
20:15:02 <GregorR> I had to pass in -O2
20:15:11 <GregorR> Oh wait, it finished, but in 149 seconds.
20:15:40 <fizzie> One thing one could try is to compare "standard" -O3 with "-march=athlon-xp -O3" and/or "-march=pentium4 -O3".
20:16:55 <pgimeno> GregorR: you can override any CFLAGS setting using: make CFLAGS="-options"
20:17:13 <pgimeno> fizzie: good point, I'm not good at gcc optimization flags
20:17:18 <GregorR> Umm, yes, I am a professional computer programmer, but thank you for explaining that to me.
20:17:43 <pgimeno> er, sorry if I was too explicit for you
20:17:47 <GregorR> ^_^
20:18:36 <pgimeno> there are so many people who don't know how to override make variables, despite they are programmers
20:23:37 <GregorR> OK, I guess the only one that slowed for me was brfd, but I'm perplexed as to why >_>
20:24:23 <GregorR> Hmm, bftools slowed for me as well.
20:24:29 <GregorR> Both conveniently to the other side of egobfi :P
20:26:35 <GregorR> Incidentally, anybody have a last call for features to add to egobfi 0.2?
20:27:20 <pgimeno> GregorR: what are the current features?
20:27:35 <pgimeno> those in README?
20:27:49 <GregorR> Yeah.
20:28:02 <calamari> P'' support?
20:28:33 <GregorR> I'm still fuzzy on P''
20:28:36 <calamari> hehe
20:28:42 <calamari> how about 1-bit cells
20:29:07 <GregorR> Oh, that I could do.
20:29:26 <GregorR> With +- swapped for @?
20:29:51 <calamari> some like +, I like @.. maybe both ?
20:30:19 <GregorR> I'll just translate +- into @
20:31:35 <calamari> 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 <GregorR> Let's make it an option! 8-D
20:32:34 <calamari> 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 <GregorR> Just an 8-bit value. But wchar support isn't necessarily a bad idea ...
20:33:07 <GregorR> Not ATM however.
20:33:11 <calamari> :)
20:37:19 <calamari> 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 <calamari> I can't see to remember the name of the standard that those two were combined udner
20:38:09 <GregorR> I'm not sure what hard disk you want me to access however :-P
20:38:11 <{^Raven^}> PESOIX
20:38:28 <calamari> thanks :)
20:39:22 <calamari> 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 <GregorR> I assume you need some libpesoix?
20:40:06 <calamari> raven: is the pesoix spec on the web somewhere?
20:40:19 <calamari> raven: nice :)
20:40:25 <{^Raven^}> calamari: yeah, lemme check it's uptodate
20:40:46 <calamari> maybe you have a robots.txt file or something?
20:41:07 <GregorR> I think this ONEBIT code is muddling up the rest of the code to much.
20:41:11 <GregorR> All these #ifdefs are nasty
20:41:21 <calamari> hehe
20:41:29 <calamari> not a big deal
20:41:35 <GregorR> Sorry calamari, cancelling that feature :P
20:41:39 <calamari> not a problem
20:41:48 <{^Raven^}> calamari: http://jonripley.com/easel/
20:42:12 <calamari> pesoix is a better feature anyways
20:42:35 <calamari> 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 <GregorR> So, uhh, there's no actual code implemented yet?
20:44:05 <{^Raven^}> GregorR: of course there's code
20:44:36 <GregorR> Where, I can't find it...
20:44:46 <{^Raven^}> I never put it online
20:44:57 <GregorR> 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 <GregorR> Well, better something than nothing, eh?
20:49:36 <calamari> 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 <calamari> 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 <GregorR> 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 <GregorR> However, I am now looking into unicode support, CALAMARIIIIII
20:54:26 <GregorR> Question: if I use wchar.h and getwchar, will it still support ASCII just fine?
20:54:44 <GregorR> (And putwchar, presumably)
20:55:00 <calamari> raven: worked on my game a little bit last night. Currently at 114 bytes, but not done with the engine :)
20:55:33 <calamari> 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 <GregorR> wchar needs 32-bit.
21:07:12 <GregorR> I'm not sure how to test it, but AFAIK it works :P
21:09:05 <calamari> cool
21:13:31 <GregorR> 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 <calamari> or [+] :)
21:16:56 <GregorR> It is.
21:17:18 <GregorR> [+] isn't because it would be just another check for wrapping being on or off.
21:17:22 <GregorR> If wrapping is on, [+] is while (1);
21:17:23 -!- calamari has quit ("Leaving").
21:17:30 <GregorR> Err, off rather.
21:17:52 <graue> oh, if wrapping is off, the values are just clamped?
21:18:05 <graue> as opposed to incrementing the maximum value or decrementing 0 being an error?
21:18:17 <GregorR> Yeah.
21:18:21 <GregorR> Why, is it standard to error?
21:18:29 <GregorR> I thought it was standard to hold ...
21:18:38 -!- calamari has joined.
21:18:47 <calamari> that was weird.. irc client just died
21:19:06 <graue> 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 <GregorR> 8-D
21:23:07 <graue> 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 <graue> that's a funny thought
21:26:25 <GregorR> w00t, got egobfi64
21:27:09 <GregorR> Oh, and [+] is now optimized :P
21:27:15 <GregorR> But not in nonwrapping mode.
21:27:22 <fizzie> 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 <GregorR> Wowsa.
21:28:59 <GregorR> http://gregorr.homelinux.org/egobfi-0.2.tar.bz2
21:30:39 <GregorR> Incidentally, is there anybody who could upload this to www.esolangs.org ?
21:34:19 <graue> I am doing so
21:35:13 <graue> you might want to reorder the ISBF() test in this order: +-><][.,
21:35:35 <graue> according to the Spoon author, that is the order of frequency in which Brainfuck commands occur in the programs he surveyed
21:36:48 <GregorR> It's just baaaaaaaaarely off of that :P
21:37:17 <GregorR> 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 <GregorR> {^Raven^}: The program array expands.
21:37:52 <GregorR> 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 <GregorR> I've already tried it, it works great.
21:38:40 <{^Raven^}> sweet :)
21:49:44 <GregorR> I can almost move pieces in my checkers game now :P
21:53:11 <graue> what does egobfi stand for?
21:55:09 <GregorR> 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 <GregorR> So I did.
21:55:19 <GregorR> So basically "the egotistic brainfuck interpreter"
21:55:35 <graue> oh
21:57:23 <GregorR> 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 <graue> and does yours beat qdb at that?
21:58:20 <GregorR> I haven't tested it :P
21:58:33 <GregorR> Sadly, mine doesn't seem to beat qdb at anything but featurefullness.
21:59:08 <graue> huh? I thought you had pulled ahead at some point
21:59:46 <GregorR> It's sort of an every-other-test thing.
22:00:05 <GregorR> So it's not 'beating' it so much as 'tying'
22:01:06 <calamari> GrEGOrR ;)
22:01:22 <GregorR> Aha XD
22:01:31 <calamari> but yeah, the ego thing too
22:02:42 <GregorR> I think if I optimized standard moves I'd jump FAR ahead.
22:03:15 <calamari> whats a standard move?
22:04:11 <GregorR> [>>*x+<<*x-]
22:04:23 <GregorR> Or similarly [->>*x+<<*x]
22:04:33 <calamari> yeah, add-to loops
22:04:51 <GregorR> I suppose that is indeed what it's doing.
22:05:40 <GregorR> BUT, it works great for me, so I'm going back to checkers.b
22:05:56 <calamari> hehe
22:06:16 <calamari> 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 <GregorR> Incidentally, is there any other interpreter that actually makes wrapping etc options? I certainly haven't found one ...
22:09:25 <cpressey> GregorR: pibfi
22:09:27 <calamari> I thought Chris's interp did that
22:09:36 <calamari> hehe :)
22:09:41 <{^Raven^}> IIRC either the current or next version of Brainwash does
22:09:47 <cpressey> and it makes you install erlang, too
22:10:06 <lament> oh no
22:10:07 <lament> the horror
22:10:20 <lament> not the dreaded erlang!!
22:10:57 <GregorR> ?
22:13:06 <jix> back
22:15:04 <GregorR> Grr, slightly off >_<
22:15:46 <jix> i'm writing test scripts for the bf interpreter/compiler speed-test
22:16:39 <jix> i'm feeling http://dict.leo.org/?schwindelig... that's annoying
22:20:03 <GregorR> YAAAAY!
22:20:05 <GregorR> My pieces move!
22:20:23 <jix> everything in my room moves
22:20:26 <jix> (it seems so)
22:21:31 <GregorR> Heheh
22:21:54 <jix> wtf? aaargh
22:22:01 <jix> when does it stop!
22:22:30 <graue> I suddenly felt like that two days ago while walking on the sidewalk alongside a busy road
22:22:38 <jix> i didn't drink i didn't turned my desk-chair and i didn't programmed in whirl
22:22:59 <graue> maybe you have low blood sugar and must eat something
22:23:31 <jix> graue: i watched tv and was eating chocolate for about 2h
22:24:51 <graue> maybe you need to move
22:25:56 <jix> maybe it's because the air in my room is bad
22:28:18 <graue> maybe you need to open a window?
22:28:56 <jix> the first thing i did after i entered my room
22:29:30 <GregorR> Maybe you need to close a window ;)
22:29:42 <jix> nah.. it's better now
22:32:41 <fizzie> That outside air, it can be dangerous to you.
22:32:45 <fizzie> I avoid it like the plague.
22:33:47 <GregorR> Exactly!
22:34:33 <calamari> @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 <GregorR> Gwa?
22:36:13 <calamari> trying to see what a generic add-to loop looks like
22:37:32 <calamari> [-] is x_0=0, i_0=-1
22:38:37 <calamari> [>+<-] is x_0=1, i_0=+1, x_1=0 i_1=-1
22:39:41 <GregorR> I wasn't going to go in to quite that level of complexity *shrugs*
22:39:54 <calamari> yeah, might be too slow
22:40:18 <GregorR> If optimizing the code takes more time than running the code, there's a problem :P
22:40:23 <calamari> most people put the loop variable at the front or end
22:40:44 <calamari> usually the end from what I've seen
22:40:55 <GregorR> I exclusively put it at the end.
22:42:33 <calamari> you probably already have situations where optimizing is taking longer than running.. for trivial programs
22:42:48 <GregorR> True
22:44:12 <GregorR> Wow, bff is really doing badly at factor.b ...
22:45:40 <GregorR> Welcome to the halting problem, Gregor XD
22:48:05 <GregorR> OK, qdb and egobfi are still in a dead heat XD
22:52:07 <calamari> so much for the checkers program :P
22:54:35 <GregorR> http://gregorr.homelinux.org/checkers.b
22:55:14 <GregorR> Hmm, seems to send it in HTML mode :P
22:55:44 <GregorR> http://gregorr.homelinux.org/checkers.b.txt
22:55:54 <GregorR> A big chunk at the top was autogenerated by simple-txt2bf.c
23:01:19 <graue> has simple-txt2bf.c been published?
23:01:39 <GregorR> It's on the brainfuck archive, just a sec, lemme get a linki.
23:01:41 <GregorR> *link
23:01:57 <GregorR> 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 <GregorR> I'm morally opposed to Java :P
23:19:52 -!- calamari has quit (Read error: 110 (Connection timed out)).
23:29:20 <graue> why?
23:30:17 <GregorR> I'm just being silly.
23:30:46 <GregorR> 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 <GregorR> Hmm, that is a pretty awesome program.
23:33:30 <lindi-> GregorR: textgen seems to work flawlessly with free software (jikes+gnu classpath+jamvm)
23:34:02 <GregorR> I'm using Jikes + SableVM, works fine.
23:34:16 <GregorR> (+ GNU Classpath, but who DOESN'T use GNU Classpath?)
23:35:00 <lindi-> kaffe used to have completely different library and the merge isn't 100% complete yet
23:36:47 <lindi-> GregorR: anyways, it's very nice to hear that people use classpath. feel free to report all bugs you find :)
23:36:59 <Aardwolf> Hey, why do so few languages on the esolang wiki have a local copy of the external webpage?
23:38:14 <calamari_> Aardwolf: copy of the content of the page, or do you mean link?
23:38:35 <Aardwolf> I mean a copy in the preservation page
23:38:56 <calamari_> Aardwolf: the original page cannot be copied.. it would be a violation of copyright
23:39:12 <GregorR> Hmm, archive.org seems to get away with it.
23:39:32 <calamari_> weren't they sued about a month ago?
23:39:40 <Aardwolf> They were?
23:39:55 <Aardwolf> They asked me if they could make a local copy of my page and I allowed it
23:40:17 <calamari_> then you gave permission
23:40:31 <Aardwolf> yep
23:42:20 <GregorR> Just for laffs I put the first four lines of the King James Bible in the genetic text generator :P
23:42:41 <GregorR> Down to 7275
23:43:07 <calamari_> http://yro.slashdot.org/article.pl?sid=05/07/13/0527236&tid=95&tid=17
23:43:36 <graue> damn it, why doesn't C define a<<b to be equivalent to a>>(-b) when b is negative?
23:43:43 <graue> that would be a lot more convenient
23:44:17 <graue> apparently 1<<(-1) produces -2147483648 on my machine
23:44:49 <Aardwolf> Harding Earley Follmer & Frailey should have used a robots.txt then, the dumbasses
23:45:02 <lindi-> 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 <calamari_> Aardwolf: anyhow.. since we dont have an army of laywers, it's easier to just not include copyrighted stuff :)
23:46:12 <Aardwolf> haha yeah :)
23:46:48 <graue> Aardwolf, read the update, Harding Earley Follmer & Frailey are not the ones suing
23:46:54 <graue> (slashdot sucks)
23:47:01 <Aardwolf> yeah I just read it
23:47:47 <GregorR> AHAHAHA my CPU is overheating
23:50:53 <graue> I'm glad you are so happy about that :)
23:55:31 <GregorR> Seems like it may have bottomed out at 5282
23:56:23 <Aardwolf> 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 <Aardwolf> gnite
2005-07-24
00:03:47 -!- Aardwolf has quit ("Leaving").
00:07:26 <GregorR> 5114
00:07:29 <GregorR> COME ON, BREAK 5000!!!
00:14:57 <graue> so it's already complete and working?
00:17:16 <GregorR> Huh?
00:19:26 <graue> what are you talking about?
00:19:35 <graue> you're shrinking the size of your checkers program, right?
00:22:30 <jix> my bf interpreter/compiler test-suite-scripts are done
00:23:00 <jix> it runs on a 99% cpu idle box with nice -20
00:23:11 <jix> 400mhz intel celeren
00:23:13 <jix> celeron
00:23:26 <jix> now name interpreters / compilers to add!
00:23:34 <GregorR> Heheh.
00:23:44 <GregorR> No, I'm compressing the first 5 lines of the King James Bible.
00:23:47 <GregorR> Not for any good reason.
00:24:14 <GregorR> jix: egobfi :P
00:24:18 <GregorR> jix: qdb
00:24:36 <GregorR> jix: bff, bftools, brfd, yabfi2
00:25:29 <jix> afbi is the only interpreter i added atm
00:25:38 <jix> i'm going to add the other ones
00:25:41 <GregorR> And the only one I haven't listed :P
00:25:52 <jix> GregorR: hmm do you know afbi?
00:26:14 <GregorR> Not personally, would you mind introducing us? ;)
00:26:22 <jix> the interpreter
00:26:27 <GregorR> Yeah, I know.
00:26:41 <jix> http://www.harderweb.de/jix/langs/brainfuck/afbi.c
00:26:56 <jix> i wrote it for pgimeno's brainfuck interpreter speed-test
00:27:16 <jix> it's faster than brfd on ppc but slower on pgimeno's computer
00:30:34 <GregorR> lol
00:30:37 * GregorR compares it to egobfi
00:34:10 <GregorR> It would appear that I'm afbi-incompetent >_>
00:35:28 <GregorR> When I run it against mandelbrot.b, it drags my CPU into the mud and doesn't seem to do anything ...
00:35:32 <GregorR> Oh wait, it segfaulted.
00:35:57 * GregorR is perplexed.
00:38:13 <jix> hrmg
00:38:51 <jix> afbi has some problems with reallocating and computed gotos
00:43:30 <GregorR> I assume Mandelbrot works for you?
00:44:39 <graue> jix: obi2, wib, pibfi, awib
00:45:10 <graue> jix: this javascript interpreter: http://www.esolangs.org/svn/esofiles/brainfuck/impl/di.html
00:45:31 <GregorR> Umm, isn't wib a compiler?
00:45:35 <GregorR> And awib?
00:45:43 <GregorR> Or was he looking for compilers?
00:45:52 <graue> jix: this longer javascript interpreter: http://www.esolangs.org/svn/esofiles/brainfuck/impl/i.html
00:46:16 <GregorR> jix: If you do test both, please clearly mark them - obviously compilers will generally be faster.
00:46:41 <graue> jix: this interpreter in ORK: http://www.esolangs.org/files/ork/src/orkfuck.ork
00:46:58 <graue> jix: this interpreter in Kipple: http://www.esolangs.org/files/kipple/src/bfi.k
00:47:26 <GregorR> I can't believe I didn't mention orkfuck XD
00:48:00 <jix> GregorR: i will mark them
00:48:14 <GregorR> OK, good :)
00:48:41 <jix> hmm interpreters with program/input in one file arn't supported yet
00:48:53 <jix> uhm... they are..
00:49:05 <jix> i have InterpreterSetup.prepare
00:54:17 <GregorR> BTW jix, what are your tests?
00:54:35 <jix> helloworld & mandelbrot atm
00:54:39 <jix> but i'm going to add more
00:54:47 <GregorR> I would recommend adding primes-up-to-200.
00:55:03 <GregorR> Merely because for some inexplicable reason, egobfi beats qdb with it, but not with mandelbrot :P
00:56:52 <graue> for compilers, you could also produce a second series of results, with the time taken to compile factored in
00:57:23 <jix> graue: i could.. if i rewrite my whole test-code
00:57:37 <graue> just a thought
00:57:38 <GregorR> OH! And also, you should be VERY careful to compile all the compilers with the same optimizations.
00:57:53 <GregorR> Some will default to -O3, some will default to -O0, they should all use -O2 for fairness.
00:57:53 <jix> GregorR: and interpreters too
00:58:02 <GregorR> Err, s/compilers/interpreters/
00:58:03 <jix> all -O3 or?
00:58:09 <GregorR> -O3 breaks some things.
00:58:12 <jix> yes?
00:58:14 <GregorR> So I'd lean towards -O2.
00:58:24 <jix> ok
00:58:27 <GregorR> Most things don't break with -O2.
00:58:35 <jix> is egobfi default -O2?
00:58:41 <GregorR> Yes
00:59:02 <graue> make sure you compile Erlang, Ruby, and the JavaScript interpreter you use with -O2 as well
01:00:45 <jix> yes
01:01:02 <GregorR> If there's any interpreted interpreter that's actually FASTER than a C interpreter, I will be blown away.
01:01:51 <jix> optimizing interpreted interpreter vs unoptimized c interpreter?
01:02:14 <GregorR> Hmmmmmmmmmmmmmmmm, then it might get close.
01:02:22 <GregorR> I guess it would depend on the interpreter of the interpreter.
01:03:10 <jix> theres a bug in my test-code
01:03:33 <GregorR> 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 <jix> if i run the command manually it works
01:07:09 <jix> but from the script it doesnt
01:07:31 <GregorR> What's the command, what's the language, how are you calling it?
01:08:42 <jix> 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 <jix> uhh %U where underline starts
01:09:36 <GregorR> 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 <GregorR> It may be that sudo wants a password there, and can't possibly get one.
01:09:57 <jix> GregorR: nonono
01:10:06 <jix> i start the script as root because i want to nice it
01:10:08 <GregorR> Err, nice rather.
01:10:18 <GregorR> Sorry, I meant "there's no reason to nice it there"
01:10:18 <jix> but i don't want the interpreter as root
01:10:22 <jix> ok
01:10:42 <GregorR> 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 <jix> same problem
01:12:12 <GregorR> Today on #esoteric, Gregor solves nothing!
01:12:13 <jix> but only qdb fails egobfi doesn't
01:12:54 <GregorR> I would continue to try to help diagnose, but I've actually got to go.
01:13:05 <GregorR> So, I'll see y'all later, hope to see some interesting results at some point ^_^
01:13:20 <jix> later
01:13:57 <jix> /usr/bin/time: cannot run ./qdb: No such file or directory wtf?
01:14:29 <GregorR> It could be that your script silently chdir'd somewhere, I would try using a full path.
01:14:40 <GregorR> (or worse, the interpreter silently chdir'd somewhere)
01:14:44 <jix> ahh found the bug
01:14:54 <jix> no the interpreter may chdir anywhere
01:15:00 <jix> i'm chdiring back at the end
01:15:12 <GregorR> Incidentally, I'm not here 8-D
01:15:13 <jix> but i used always the dir of the first interpreter for all interpreters
01:20:37 <jix> fixed
01:25:28 <jix> bff added
01:28:49 <calamari_> GregorR: whats the current size? :)
01:35:03 <jix> 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 <GregorR> Well, I either just made egobfi mind-blowingly slow, or I just broke it.
09:29:37 <GregorR> YES YES YES YES YES!!!!!!!!!!!!!!!!!!!
09:29:45 <GregorR> egobfi pulls WAAAAAAAAAY ahead!!!
09:31:35 <GregorR> Damn bff, how the hell does it do it?!
09:54:15 <GregorR> Just got add-to optimization, checking if it's actually helpful :P
09:55:14 <GregorR> Wow, that was much much worse.
12:03:53 -!- jix has joined.
12:04:37 <jix> moin
13:27:48 <jix> brfd fails on hello world
13:28:00 <jix> it doesn't output the last newline
13:31:46 <jix> should i strip all leading \n?
13:49:21 <jix> pgimeno: brfd fails on hello world
15:07:43 <jix> 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 <jix> pfoo added compile times
15:21:01 <jix> if compile times are < 0.1 seconds they don't show up
15:21:34 <jix> and they aren't as exact as the execution times
15:21:44 <jix> and no one listens to me :'(
15:25:40 <mtve> yep, we're just reading.
15:38:12 <jix> haha
15:39:40 <jix> 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 <pgimeno> jix: fails in what sense? the parser is a bit quirky, I guess
16:39:42 <pgimeno> I wrote it before I knew about any established standard
16:55:12 <jix> in the helloworld example the newline is missing
16:55:34 <jix> and i'm not going to include interpreters that need more than 10 minutes for mandelbrot
16:55:39 <jix> obi2.rb is at 40minutes
16:56:14 <jix> killed
16:56:17 <pgimeno> what helloworld?
16:57:24 <jix> http://en.wikipedia.org/wiki/Brainfuck#Hello_World.21
16:57:56 <lindi-> jix: include in what?
16:58:12 <jix> lindi-: in my brainfuck interpreter/compiler speed test
16:58:29 <lindi-> jix: you are doing one? great!
16:58:45 <lindi-> jix: please put the results online
16:59:00 <lindi-> jix: what's the fastest so far?
16:59:02 <jix> lindi-: the first test run is still running
16:59:15 <jix> and it's just a test test run
16:59:20 <lindi-> :)
17:00:12 <jix> oh and if obi2.rb fails it's because i killed it
17:00:13 <pgimeno> jix: it's because of the parser; the ! is the frontier between code and input
17:00:35 <jix> pgimeno: thanks
17:00:39 <jix> i'm going to fix that
17:01:10 <jix> i commented out print("Optimizing") and print.... because they ignored -Q
17:01:29 <pgimeno> oh
17:01:48 <pgimeno> well, the optimizing run.c was not ready for release :)
17:03:36 <jix> 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 <pgimeno> it was 4:31 on my machine
17:05:41 <pgimeno> I'm not good at optimizing C code, though
17:05:50 <pgimeno> so doesn't bff run on your box?
17:06:07 <jix> i'm not testing on my main computer
17:06:13 <jix> (too many processes running)
17:06:27 <jix> but on a 400mhz intel celeron computer with ~300mb ram
17:06:47 <pgimeno> oh, I guess that bff runs properly there
17:06:56 <jix> it does
17:08:13 <jix> ahh no!
17:08:29 <jix> there is a bug
17:08:39 <jix> mandelbrot can't be completed in 0secs
17:09:07 <jix> and yes slow brfd is too slow
17:09:35 <jix> ah i forgot to activate output validation for mandelbrot
17:09:51 <pgimeno> hm, bff gives a couple of warnings with valgrind
17:10:10 <jix> bff is the fastest interpreter here
17:10:35 <jix> egobfi the slowest with no fail
17:10:59 <pgimeno> you said it doesn't run on your mac or am I wrong?
17:11:29 <jix> bff?
17:11:45 <jix> yes doesn't run here
17:11:55 <jix> mandelbrot validation is on
17:14:36 <jix> need to find the bug
17:14:50 <pgimeno> in bff?
17:14:55 <jix> no in my test script
17:14:57 -!- BigZaphod has quit.
17:14:58 <pgimeno> ah
17:15:19 <jix> it's impossible to calculate mandelbrot in <0m0.0005s
17:15:36 <pgimeno> guess so
17:15:56 <jix> ok with c it's possible
17:16:02 <jix> but not with brainfuck!?
17:16:45 <pgimeno> it depends on how optimizing is the optimizer :P
17:17:20 <jix> compilers writtin in bf are now self bootstrapped
17:19:46 <jix> the testbox has 0k swap used
17:20:01 <jix> 291mb ram free
17:20:50 -!- ZeroOne_ has joined.
17:35:12 <jix> 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 <GregorR> Wowsa.
18:01:57 <jix> UAHRG
18:02:01 <jix> time output: Command exited with non-zero status 42
18:02:16 <jix> Command is as float.. 0 exited is as float 0 with is as float 0
18:08:15 <jix> fixed all bugs running a new test
18:08:29 <jix> /away
18:35:41 -!- graue has joined.
18:37:11 <graue> bff doesn't work for me, it seems to either crash or inexplicably print wrong things forever
18:39:29 <pgimeno> valgrind reports a few errors
18:41:36 <pgimeno> I've taken a quick glance but couldn't find what's wrong
18:42:41 <GregorR> I'm apparently incapable of implementing add-to loop optimization in such a way that it's actually better :P
18:42:52 <GregorR> I've tried two schemes now.
18:43:38 <GregorR> Both very simple because I don't actually care :P
18:47:36 <graue> it's easy, but complicated and possibly time-consuming
18:48:39 <graue> 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 <graue> then add a command ADD_PTR(M) where M is a signed integer, that moves the memory pointer M cells forward
18:49:40 <graue> 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 <graue> then, if a loop contains only the ADD_MEM command, you can reduce it to a series of multiplications
18:50:08 <jix> http://www.harderweb.de/jix/langs/brainfuck/result2.txt
18:51:25 <jix> graue: hey that's what my compiler is going to do
18:53:17 <GregorR> graue: That's precisely what I did
18:53:18 <graue> if you add a PUTCHAR(N) command you can also optimize strings containing .
18:53:38 <graue> GregorR, have you tried it on something that takes much longer to run than to parse/optimize?
18:53:48 <GregorR> I used mandelbrot.b
18:59:11 <GregorR> .......
18:59:19 <GregorR> I just made a change that ought to have made it more optimal, and yet it's slower ...
18:59:32 <graue> what change?
19:00:10 <jix> GregorR: egobfi is #8 in the test
19:00:17 <jix> #6 with out compilers
19:00:22 <graue> jix: you need to add more programs
19:00:29 <jix> graue: yes i know
19:00:30 <graue> hello world is trivial and mandelbrot is just one example
19:00:41 <jix> graue: it's my first complete test
19:00:47 <GregorR> Hello World would throw most optimizers waaay below.
19:00:53 -!- sp3tt has joined.
19:01:06 <GregorR> 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 <GregorR> That should have saved a function call and been faster.
19:01:16 <GregorR> Instead it was slower.
19:01:16 <jix> graue: all other tests had some bugs in my test scripts
19:01:45 <GregorR> jix: BTW, 0.3 is quite a bit faster.
19:02:04 <sp3tt> Someone needs to implement RPN in brainfuck... <.<
19:02:52 <GregorR> I'm sure there's an RPN calculator in BF ...
19:05:28 <sp3tt> http://lancelot.pecquet.org/download/soft/rpn.html#Brainfuck teh pain!
19:05:56 <sp3tt> lol... Compare the BF version to the C version...
19:11:49 <GregorR> http://gregorr.homelinux.org/egobfi-0.3.tar.bz2 < now fassssssssster, still powerfullllllllllllller.
19:18:31 <lindi-> 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 <graue> how long does the compilation take?
19:19:21 <lindi-> graue: gcc runs for 6 seconds
19:20:00 <lindi-> so, is there any point in writing interpreters? ;)
19:20:18 * jix is writing a compiler
19:21:09 <GregorR> Har har har.
19:21:13 <GregorR> Yukk it up :P
19:21:24 <graue> lindi-, how long does BF2C run?
19:21:52 <lindi-> graue: hard to measure, less than 0.004 seconds
19:22:01 <graue> whoa
19:22:03 * GregorR writes a compiler backend for egobfi :P
19:22:20 <graue> I guess BF2C does no optimizations whatsoever?
19:22:25 <lindi-> jix: GregorR: we should all just start optimizing gcc's optimizer :)
19:22:29 <lindi-> graue: true
19:22:56 <lindi-> then every gcc user would benefit too
19:22:56 <graue> where is BF2C, I don't have it
19:23:08 <lindi-> esoteric.sange.fi/brainfuck/impl/compilers/BF2C.c
19:23:46 <graue> heh, I wrote something like this before :)
19:26:00 <graue> how fast is it if you do the gcc compilation with -O0?
19:27:17 <lindi-> graue: then gcc runs for 1.0 seconds and mandelbrot runs for 22 seconds
19:27:43 <lindi-> -O1 is 1.7 and 3.0
19:28:17 <lindi-> and -O3 is 11 and 2.9
19:29:56 <graue> so even on -O0 it beats egobfi, heh
19:30:24 <lindi-> yes, barely
19:31:11 <lindi-> -O2 and gcc from cvs 2005-07-20 produces a binary that runs in 2.6 seconds ;)
19:32:15 <lindi-> i think it's going to be hard to beat that
19:32:17 <graue> so -O1 gets the best results, if compilation time is counted
19:32:36 <lindi-> graue: yep
19:34:08 <lindi-> graue: but if i changed that mandelbrot to use higher resolution then -O2 would be better
19:34:32 <lindi-> cause it would not affect compilation time but it would affect running time
19:37:11 <lindi-> graue: http://iki.fi/lindi/mandelbrot.asm has disassembly of the created binary
19:44:46 <GregorR> Darn, egobfc only gets it down to 5sec.
19:44:58 <GregorR> However, it supports unicode and any-size characters :)
19:48:42 <lindi-> gcc seems to optimize multiple +'s
19:49:21 <GregorR> Well, that makes my optimization of multiple +s suboptimal.
19:49:22 <lindi-> i mean >
19:49:45 <GregorR> Well, that makes my optimization of multiple >s suboptimal.
19:50:32 <GregorR> With gcc -O2, the actual compilation of mandelbrot.c is quite slow.
19:50:40 <GregorR> Is that also the case with bf2c?
19:51:10 <lindi-> yes, see above
19:51:22 <GregorR> I don't read *shrugs*
19:51:41 <GregorR> So it's possible that compile b-c + compile c-bin + run is still slower than interpreting.
19:52:05 <lindi-> yep
19:52:34 <GregorR> Well, I'm off, I'll release egobfc later when I've knocked out some bugs.
19:54:05 <lindi-> 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 <lindi-> {^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 <jix> dynamic recompiling? jit compiling?
20:10:45 <jix> vm's often jit compile
20:10:53 <jix> emulators often dynrecompile
20:11:30 <jix> 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 <jix> uhm thats impossible
20:12:22 <{^Raven^}> yeah i know
20:12:26 <jix> without calling gcc
20:12:59 <lindi-> {^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 <jix> 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 <lindi-> 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 <sp3tt> Why not write a brainfuck module for gcc or some other compiler?
20:19:56 <sp3tt> I mean, that removes some overhead.
20:20:13 <lindi-> good idea
20:20:19 * {^Raven^} doesn't know how to
20:20:33 <lindi-> shouldn't be that difficult
20:21:25 <sp3tt> Imagine the overkill of getting the dragon book for that.
20:21:34 <lindi-> dragon book?
20:22:05 <lindi-> ah
20:22:37 <sp3tt> 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 <lindi-> 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 <lindi-> i'm not sure what you mean :/
20:27:24 <lindi-> 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 <jix> {^Raven^}: thats what my bf2c compiler does
20:28:36 <{^Raven^}> jix: link?
20:29:12 <jix> {^Raven^}: myharddisk://under.dev.el/opement
20:29:31 <jix> not ready and the intermediate language is still growing
20:29:38 <jix> 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 <jix> i'm still writing the top framework no optimizations yet
20:58:06 <jix> modulo math.. 0o
20:58:30 <sp3tt> Easier than RPN.
20:58:38 <jix> rpn is easy
20:58:46 <sp3tt> Exactly.
20:58:50 <sp3tt> I learned about it today.
20:58:56 <jix> i love rpn
20:59:04 <jix> i use it on my calculator
20:59:05 <sp3tt> Wrote an infix-> RPN.
20:59:12 <jix> and no it's not a hp calc
20:59:16 <sp3tt> And a 12 line RPN-calculator.
20:59:21 <jix> sp3tt: pha.. i do that in my head
20:59:25 <sp3tt> I want an RPN calculator
20:59:34 <jix> gimme an infix expression and i output rpn
20:59:35 <sp3tt> jix: so?
20:59:40 <sp3tt> Heh.
21:00:12 <sp3tt> Imagine my math teacher's face.
21:00:22 <jix> hehe
21:00:30 <jix> i'm going to write my next math test using base -9
21:00:35 <sp3tt> "But this is gibberish" "You don't know RPN?" "No, wtf is that?" "N00B!"
21:00:45 <sp3tt> Base... negative 9?
21:00:46 <jix> no one ever said that i have to use base 10
21:00:47 <sp3tt> o.0
21:00:53 <jix> sp3tt: yes no need for a sign
21:00:53 <sp3tt> Good one.
21:01:19 <sp3tt> How about binary? Or is that too easy.
21:01:24 <jix> of course i write a converter base 10 <=> -9 for my calculaotr
21:01:31 <sp3tt> Probably... base 3 is hard.
21:01:34 <jix> sp3tt: my teacher has a computer no problem to convert
21:01:41 <sp3tt> Well, not hard.
21:01:44 <jix> and there are programs for any positive base
21:01:52 <sp3tt> No base is hard.
21:01:54 <jix> but no programs for negative bases
21:02:06 <sp3tt> It's just that some are more confusing.
21:02:19 <sp3tt> I love to count in binary with my fingers though. Especially 4.
21:02:31 <jix> 10 is in -9 => 181
21:02:41 <jix> sp3tt: *g*
21:03:03 <sp3tt> That is just... painful.
21:03:15 <jix> -9 is in -9 => 10
21:03:22 <jix> -8 is in -9 => 11
21:03:33 <jix> 9 is in -9 180
21:03:34 <graue> I like that
21:03:34 <sp3tt> -9 + 81 + -81*9?
21:03:55 <jix> uhm ?
21:04:09 <sp3tt> I don't think I follow the logic of negative bases.
21:04:10 <jix> 181 == 1*81 + 8*-9 + 1*1
21:04:31 <jix> 1*(-9)^2 + 8*(-9)^1 + 1*(-9)^0
21:04:35 <jix> just like positive bases
21:04:57 <sp3tt> Ah yeah...
21:05:09 <jix> the rightmost digit counts 1 the 2nd digit counts base the 3rd digit counts base square...
21:05:21 <sp3tt> Forgot that...
21:05:23 <sp3tt> <.<
21:05:29 <sp3tt> Beat me with a stick.
21:05:41 <jix> sp3tt: too much brainfuck programming?
21:05:44 <sp3tt> Nah.
21:05:51 <sp3tt> Not done any of that for a while.
21:06:17 <sp3tt> I'm not forgetting Latin conjugations and declinations at least :)
21:06:30 <jix> who needs latin...
21:06:40 <sp3tt> Study Latin in one's free time. Can it get geekier?
21:06:56 <sp3tt> Don't know.
21:06:58 <jix> i don't like latin
21:07:01 <sp3tt> But it is fun to know.
21:07:17 <jix> japanese or russian would be cool
21:07:19 <sp3tt> Because insulting people in a language they cannot grasp is hilarious.
21:07:33 <sp3tt> My father once got in a car accident in Portugal.
21:07:47 <sp3tt> Well, not accident, but some Portuguese idiot reversed into his cars.
21:08:02 <jix> and...?
21:08:08 <sp3tt> And the Portuguse started shouting in Portuguese.
21:08:24 <sp3tt> And he told them to stfu and called them mofos in Swedish XD
21:08:41 <jix> haha
21:08:59 <sp3tt> They shouted "Calma, calma!"
21:09:18 <jix> Calma?
21:09:28 <sp3tt> "Calm down" or something to that effect.
21:09:44 <jix> ah
21:09:45 <sp3tt> AFK, movie's on again.
21:09:48 <sp3tt> The Godfather :)
21:25:18 <jix> argh modulo math
21:27:05 <jix> val-(c*e) === 0 (mod 256) i know c and want a rule for getting e if i know val
21:27:23 <jix> uh val+(c*e)
21:29:35 <jix> if c is 1 then e === val (mod 256)
21:30:01 <jix> if c is 2 there is only a solution if val === 0 (mod 2)
21:30:26 <jix> but for all odd c there is a solution for all val
21:30:32 <jix> i know that because of brute-forcing
21:32:04 <graue> I suppose this will be 8-bit with wrapping only?
21:32:43 <graue> will you optimize exponentiation and tetration
21:32:44 <graue> ?
21:33:39 <jix> i want to optimize all loops that don't contain other loops or input output
21:35:34 <graue> will you optimize recursively, e.g. [[[[[[-]]]]]] (for a trivial example)?
21:35:44 <jix> yes but only trivial examples
21:35:54 <graue> why?
21:36:06 <graue> is this because you have decided that nontrivial cases of that cannot be optimized?
21:36:18 <jix> because i optimize '['*n + bla + ']'*n
21:36:30 <jix> an that's trivial
21:37:04 <graue> what about [+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[+>>-<<->>+[-]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]+>>-<<->>+]?
21:37:22 <graue> oh wait, I got that wrong
21:37:29 <graue> but what I mean is, you're not naive about it, right?
21:37:39 <jix> hn?
21:37:57 <jix> i would probably optimize [+>>-<<->>+[-]+>>-<<->>+]
21:37:58 <graue> i.e., if it's effectively such a trivial example, will you hndle it?
21:38:00 <graue> okay
21:38:31 <jix> but i'm at the code for handling non-moving non-nested non-io loops
21:38:43 <jix> ie multiplication / naive-divide
21:38:50 <jix> move
21:38:58 <jix> copy
21:39:03 <jix> and combinations of that
21:39:35 -!- BigZaphod has joined.
21:39:47 <jix> and that's where i need a solution for that modulo equation
21:49:02 <jix> my newest optimization [-]++ => cell=2 (and things like that)
21:49:27 <jix> still not done with the move/mul/div optimization
21:53:07 <graue> do you also optimize by removing any instructions prior to a [-] that modify only that cell?
21:54:41 <jix> yes that too
21:54:49 <jix> but [-]++ could be e = 0 ; e+=2
21:54:56 <jix> i output e=2
21:55:25 <graue> yes
21:56:17 <jix> i do some bf-space o11s ( [odd number of + or -] => z ; delete <>|><|+-|-+ and + or - in front of z)
21:56:37 <jix> and some o11s within the loop tree
21:57:10 <jix> ++>+<- => p[0]+=1 p[1]+=1
21:57:28 <graue> what's an oll?
21:57:32 <jix> and even ++>[-]<->+<- => p[1]=1
21:57:42 <jix> its o-eleven-s optimisations
21:57:46 <graue> oh
21:57:49 <jix> optimizations
21:58:15 <jix> like i18n
21:58:24 <graue> and a10y, yes
21:58:44 <jix> a10y?
21:58:49 <graue> or maybe a11y
21:58:51 <graue> accessibility
21:59:35 <jix> i don't remember them.. and i only use them if i wrote the whole word at least once
22:00:33 <jix> BFCode.new("++>[-]<->+<-").gencode => [[:set, 1, 1]]
22:15:01 <jix> fixed some bugs
22:15:02 <jix> and now:
22:15:03 <jix> e = BFCode.new("[>++<[-]>-<+>-<]").gencode => [[:inf_loop]]
22:31:20 <jix> when i'm done i have 3 optimization stages
22:32:30 <jix> 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 <GregorR> Here's a question ...
22:54:46 <GregorR> 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 <GregorR> Err, write machine code, but from BF, obviously.
22:55:30 <jix> yes
22:55:59 <GregorR> Hmmmmmmmmm.
22:56:17 <GregorR> I don't think it would be TOO difficult ...
22:56:24 <GregorR> It would be totally architecture-dependent of course.
22:56:32 <jix> that's like jit compiling
22:56:50 <GregorR> Oh, yes it is.
22:56:54 <GregorR> lol, didn't occur to me.
22:57:46 <jix> 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 <GregorR> And cache said loops I assume *shrugs*
22:59:33 <GregorR> 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 <jix> i'm done with the modulo math
23:52:59 <jix> 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 <pgimeno> 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 <pgimeno> at least the patch makes valgrind stop complaining
01:41:39 <graue> will do
01:42:12 <pgimeno> thanks
01:42:51 <pgimeno> I'm off to bed now, bye
01:43:04 <graue> bye
01:44:53 <calamari> hi
01:44:59 <calamari> 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 <graue> hi BigZaphod
02:45:22 <BigZaphod> hey
02:45:30 <graue> you tried writing anything in Archway2?
02:45:33 <graue> it's fun
02:45:41 <BigZaphod> :) Nope, haven't looked into it.
02:45:54 <graue> http://www.esolangs.org/wiki/Archway2
02:46:16 <graue> except without the 2
02:47:21 <BigZaphod> interesting.
02:48:38 <graue> Archway2 kind of reminds me of surfing, the cool water splashing all over my programs (in the form of / and \)
02:49:28 <graue> 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 <BigZaphod> it reminded me of a fractal
02:49:40 <graue> you're more abstract than me
02:49:44 <BigZaphod> that'd be an ice excuse.. :-)
02:49:46 <BigZaphod> er.. nice
02:49:55 <BigZaphod> (ice, too, if its winter, I suppose)
02:50:13 <graue> it would be summer
02:50:43 <BigZaphod> what part of the world are you in? (how far is the ocean for you?)
02:50:58 <BigZaphod> I've only seen ocean from far above in a plane.
02:51:08 <graue> I'm in the eastern United States
02:51:25 <BigZaphod> I'm in the Iowa. We don't get much ocean here.. :-)
02:51:33 <graue> the ocean would be three or four hours away by car, at least
02:52:01 <BigZaphod> that's not so bad. at least a couple days for me.
03:23:06 <graue> pgimeno: the patch didn't fix it
03:30:13 -!- calamari has quit ("Leaving").
03:42:40 <heatsink> BigZaphod: Only two days if you get a copilot and take turns sleeping.
03:43:12 <graue> you mean two hours, right?
03:45:59 <heatsink> maybe if you have an aircraft.
03:46:31 <BigZaphod> 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 <BigZaphod> unless its supersonic.
03:52:16 <graue> two days would be a really slow aircraft, though
03:52:27 <graue> I assumed the unit was wrong
05:40:55 <GregorR> Oregon here.
05:40:59 <GregorR> Only about an hour from the beach.
05:41:12 <GregorR> But the Oregon ocean is cold and unappealing.
05:41:30 <GregorR> (That is, the Pacific ocean by Oregon)
05:42:46 -!- heatsink has quit ("Leaving").
05:43:47 <graue> GregorR, how goes?
06:04:46 <GregorR> It's still goin'.
06:32:45 <graue> 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 <pgimeno> jix: there?
16:26:16 -!- yrz\werk has joined.
16:37:20 -!- yrz\werk_ has quit (Connection timed out).
16:43:16 <jix> pgimeno: yes
17:01:31 -!- sp3tt has quit (Client Quit).
17:24:02 -!- calamari has joined.
17:24:03 <calamari> hi
17:24:20 <jix> moin calamari
17:24:28 <calamari> hi jix
17:24:36 <calamari> how's your new adventure game going?
17:24:49 <jix> lowest priority
17:24:59 <jix> i'm working on my brainfuck-compiler
17:25:37 <jix> the next thing i want to do is my website
17:25:37 <calamari> -> bf or bf -> ?
17:25:44 <pgimeno> hi calamari
17:25:46 <jix> bf ->
17:25:46 <pgimeno> jix: can you try bff on mac?
17:25:49 <calamari> hi pgimeno
17:26:03 <calamari> jix: to what language.. c?
17:26:04 <jix> pgimeno: i did, it doesn't work
17:26:24 <jix> calamari: first ruby (for testing) later c or maybe asm
17:26:29 <calamari> jix: nifty
17:26:47 <calamari> you should still enter your other adventure game.. maybe spiff it up a bit :)
17:27:17 <calamari> made a bit of progress on mine last night, so it's on my mind hehe
17:27:28 <jix> when is the deadline?
17:27:33 <calamari> sept 1
17:28:06 <calamari> it
17:28:30 <calamari> it'll be hard for me to finish in time, since I'm not working on it very often
17:29:31 <pgimeno> jix: did you try with my patch?
17:30:30 <jix> pgimeno: patch?
17:31:08 <pgimeno> 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 <jix> pgimeno: works!
17:33:33 <pgimeno> nice!
17:34:53 <jix> i had some problems with modulo math yesterday... i solved it... brute-forcing and storing the table in the output-program
17:35:10 <jix> that's faster anyway
17:35:26 <jix> only 64kb in the worst case
17:38:56 <pgimeno> when will we see a release?
17:39:14 <jix> today or tomorrow
17:39:32 <jix> i have to complete stage2 of optimisation and write stage3
17:41:53 <pgimeno> cool
17:45:42 <jix> the code is chaotic...
17:45:48 <jix> it's ruby code but it's chaotic
17:46:05 <jix> i just started coding without writing down all optimizations first
17:50:47 -!- graue has joined.
17:51:20 <jix> my intermediate language has an "if cell is divisible by 2^n zero cell else infinity loop" instruction...
17:52:05 <jix> it's mnemonic is if_divtxilzeif
17:53:34 <jix> ok it's not zero but set_to now.. that's important for stage3 optimizations
17:55:07 <jix> 5,4kb code
18:07:18 -!- fungebob has quit (Read error: 110 (Connection timed out)).
18:07:57 <calamari> 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 <jix> ++++[--->+<-] => [0]+4,mov_mul([0],-4,[1]+1)
18:11:42 <jix> 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 <jix> 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 <jix> that's where i use the upto 64kb lookuptable
18:15:46 <jix> hmm it's only 32kb...
18:41:59 <calamari> jix: sorry, that's what I meant by contrived.. let's see if I can show more clearly what I meant: ++++[>+>+[<<+++++>>-]<------]
18:42:22 <calamari> that's off the top of my head.. sorry for any errors :)
18:42:51 <calamari> that should translate to +++++[>+<-] if I did it right
18:43:29 <pgimeno> maybe there's a missing < ?
18:43:42 <pgimeno> like: <<------]
18:43:53 <calamari> yeah, after ] it should be <<
18:44:20 <calamari> anyhow.. does your alg pick up that it is -1 not -6 ?
18:44:52 <calamari> or does it handle nested loops like that? :)
18:45:08 <pgimeno> oh well, who writes obfuscated BF anyway? :)
18:45:19 <calamari> pgimeno: that's not
18:45:25 <calamari> it's just a simple example
18:45:36 <pgimeno> j/k
18:45:51 <calamari> I could come up with a more complicated real-life example, but the idea would be obscured
18:46:44 <pgimeno> someone should invent BF++
18:46:54 <calamari> hehe
18:47:27 <calamari> or P.. take P'' and integrate a couple times ;)
18:48:00 <pgimeno> heh, nice idea :)
18:48:38 <pgimeno> I was wondering... does the world need a 1-symbol language?
18:50:01 <calamari> 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 <calamari> but if it is just one symbol and a tarpit, that'd be cool.. is it possible?
18:50:55 <pgimeno> NULL is sort of that already, you just have to express a NULL program in unary
18:51:05 <calamari> note that one symbol is the same as using file size for the program :)
18:51:14 <pgimeno> yup
18:51:22 <pgimeno> (except for comments)
18:51:39 <fizzie> 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 <pgimeno> it would kind of lose some of the magic though...
18:53:30 <calamari> somehow I think 2 symbols would be the minimum without cheating
18:54:09 <pgimeno> actually it's pretty hard to define cheating
18:54:18 <calamari> yeah it is
18:54:54 <pgimeno> I was thinking... a hello world program would need like... many gigs
18:55:08 <calamari> I'd consider cheating having it interpret more instructions than there are symbols.. just my bias tho :)
18:55:55 <calamari> that one instruction can be wonderfully complex, though.. hehe
18:56:28 <pgimeno> my decision is that the world is already good enough without a 1-symbol language
18:57:06 <calamari> are there non-cheating 2 symbol languages? seems like there was a lamda calc.. iota or jot or something?
18:57:16 <calamari> lambda
18:57:28 <calamari> or do they require 3?
18:57:39 <pgimeno> no, both iota and jot are 2-symbol
18:57:43 <calamari> nifty
18:57:54 <calamari> how many instructions.. just 2, right ?
18:57:59 <pgimeno> jot programs are any string of 0's and 1's
18:58:06 <pgimeno> including the empty string
18:58:30 <pgimeno> in iota the instructions are * and i, but not all programs are syntactically valid
18:59:18 <calamari> lets say I did 01.. does it internally translate that into a different intstruction?
18:59:37 -!- fungebob has joined.
18:59:41 <calamari> or 00 or 10 or whatever
18:59:51 <calamari> if not, then I'd say it is the tarpit winner :)
18:59:57 <pgimeno> I don't know enough lambda calculus as to answer
19:00:03 <calamari> yeah, neither do I
19:00:17 <pgimeno> what do you call a different instruction?
19:00:37 <calamari> lets take a different example
19:00:41 <pgimeno> i think it doesn't cheat, in the sense you mean
19:00:44 <calamari> I can go along 00101000111
19:01:07 <calamari> now I take 00 = 0, 01 = 1, 10 = 2, 11 = 3.. now I have 4 instructions, not 2
19:01:15 <fizzie> From what I remember of iota/jot, I don't think neither of them cheat in that way.
19:01:21 <calamari> cool!
19:01:24 <pgimeno> nope, there are 2 instructions
19:02:00 <calamari> bbl..meeting time
19:02:06 -!- calamari has quit ("Leaving").
19:02:16 <pgimeno> "Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
19:02:16 <pgimeno> Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
19:02:32 <pgimeno> is it just me?
19:11:55 -!- yrz\werk_ has joined.
19:14:41 <jix> i'm not doing much nested loop optimizations
19:15:01 <jix> but i can add some in stage 3
19:22:36 <GregorR> The new optimizations are in on egobf, but I must admit that it doesn't look good.
19:22:42 <GregorR> ...for the rest of you! BWAHA!
19:23:33 <jix> GregorR: time for mandelbrot.b?
19:24:31 <lindi-> GregorR: or actually, time compared to BF2C+gcc -O2?
19:24:45 <GregorR> OK, OK, we all know that comparing it to a compiler is unfair.
19:25:01 <lindi-> unfair? ;)
19:25:06 <lindi-> why?
19:25:16 <GregorR> Because compilers will implicitly be faster.
19:25:23 <lindi-> GregorR: why?
19:25:32 <GregorR> Well, I guess I do need to time both steps *shrugs*
19:25:37 <lindi-> we just proved yesterday that it can be slower
19:25:48 <GregorR> Anyway, I'm actually at work right now, I just logged in to brag about the morning commute's work :P
19:25:49 <lindi-> if you count the compilation time
19:25:56 <lindi-> heh
19:26:14 <jix> 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 <lindi-> 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 <jix> but if the converter would output (*p)+=10 instead of 10 times (*p)++ gcc would be a lot faster
19:29:57 <lindi-> jix: possibly
19:30:06 <lindi-> i'm not 100% sure
19:30:28 <jix> with -O0 it would be as good as with -O1 and 10x (*p)++
19:30:35 <jix> and -O0 is very fast
19:30:55 <jix> it's alot easier to optimize brainfuck code than optimizing c code
19:31:12 <lindi-> hmm
19:31:57 <lindi-> jix: gcc converts to GIMPLE first anyway and then optimizes the GIMPLE representation
19:32:19 <jix> lindi-: it's still easier to optimize bf than optimize GIMPLE
19:32:27 <lindi-> perhaps
19:33:18 <jix> in brainfuck it's easy to detect multiplication which is implemented using addition... in c/GIMPLE it's not that easy
19:33:52 <lindi-> hmm
19:42:41 <lindi-> 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 <Keymaker> hello world
19:43:42 <Keymaker> i was in cottage for three days
19:44:04 <Keymaker> made up two new quine-technique-ideas for brainfuck
19:44:18 <Keymaker> the other was ~1300 bytes and the other 1028 iirc
19:44:36 <Keymaker> too bad couldn't make 'em shorter.. i'll try sometime again
19:50:08 <jix> i'm near done with stage2
19:50:37 <jix> and it's still not broken (but the A2Ruby class generates slow ruby code A2C has to be faster)
19:51:28 <Keymaker> hmm, there has been probably something nice happening..? could anyone sum up. i'm too lazy to read the logs
19:54:25 <jix> i'm writing a optimizing brainfuck compiler
19:54:35 <Keymaker> sounds cool
19:55:11 <jix> but it outputs ruby code atm
19:55:17 <Keymaker> 'ok
19:55:18 <jix> and function calls in ruby are slow
19:55:24 <jix> so the output is slow too
19:55:31 <Keymaker> ok
19:55:55 <jix> i'm going to add c and x86 asm output
20:05:10 <jix> done with stage2
20:05:24 <jix> 1. C output
20:05:29 <jix> 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 <pgimeno> hi Keymaker
20:14:19 <pgimeno> we've been doing benchmarks of BF interpreters/compilers
20:15:03 <Keymaker> ok
20:15:12 <Keymaker> (and hi)
20:15:15 -!- yrz\werk1 has joined.
20:15:29 <pgimeno> jix: would this work properly in your interpreter?: [->] (decrement and skip to next until zero found)
20:16:11 <jix> pgimeno: in my interpreter?
20:16:18 <pgimeno> er compiler, sorry
20:16:29 <jix> everything would work properly
20:16:55 <pgimeno> ah ok
20:17:00 <jix> mandelbrot.b uses moving loops.. and it works
20:17:06 <jix> but nonmoving loops are faser
20:17:09 <jix> faster
20:17:15 <Keymaker> does the compiler create an interpreter?
20:18:00 <jix> it creates c code
20:18:14 -!- cmeme has quit ("Client terminated by server").
20:18:16 <Keymaker> ok..
20:18:35 <jix> which does the same thing as the bf code
20:18:42 <Keymaker> ah
20:18:44 <jix> the c code doesn't interpret the bf code
20:18:49 <Keymaker> yes
20:18:58 <jix> it's like bf2c but with optimizations
20:19:02 <Keymaker> i see now
20:20:22 -!- yrz\werk1 has quit (Client Quit).
20:22:10 <jix> 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 <jix> i'm at 12kb code
20:46:47 <jix> m[0]+=3; v = m[0]; if(v){m[1]-=v*3; m[0]=0;}; m[1]+=1; putchar(m[1]);
20:48:01 <jix> [--] => if(m[0]&1) while(1){sleep(-1);};else m[0]=0;
20:49:28 <jix> oops... a little bug
20:49:52 <jix> wrong sign for :p_mov_mul and :n_mov_mul
20:50:28 <cyph1e> who are you talking to? can we see the code somewhere?
20:50:40 <jix> cyph1e: the code isn't complete
20:50:53 <jix> the c generator is missing the REALLOC macro and the init/cleanup code
20:56:28 <cyph1e> allright.. may I ask you what optimization your compiler (or translator) does? I've never written a compiler, just an interpreter
20:56:28 <jix> 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 <jix> and it optimizes some other special things
20:56:28 <GregorR> 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 <GregorR> I'd like to see your code that optimizes all loops with balanced >><<.
20:56:28 <GregorR> I couldn't do it in a way that was more efficient than running them :P
20:56:28 <jix> GregorR: but you could call it jiting interpreter...
20:56:28 <GregorR> jix: Not quite, it's not just in time, it compiles before it runs.
20:56:28 -!- sp3tt_ has joined.
20:56:28 <GregorR> 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 <calamari> hello
20:56:28 <jix> 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 <jix> moin calamari
20:56:28 <calamari> re jix
20:56:28 <GregorR> Heheh, I guess I can agree with that :)
20:56:28 <GregorR> Hoi squiddy.
20:56:28 <GregorR> (Wait, is calamari squid? Or octopus? I can't remember...)
20:56:28 <jix> calamari: i don't think my compiler optimizes the code you gave me well
20:56:28 <calamari> squid, you got it :)
20:56:36 <calamari> jix: that's okay, as long as it doesn't produce incorrect results
20:57:25 <calamari> how is your curse word language going?
20:57:43 <calamari> fsc or something like that, heh
21:00:40 <jix> curse word language?
21:01:35 <jix> 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 <jix> ah just noted that there is still space for optimizations
21:02:40 <jix> 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 <jix> hmm no i shouldn't use the extra_vars at all.. gcc does better optimizations for that anyway
21:05:08 <calamari> pretty cool :)
21:05:32 <jix> lut_* are random looking look-up-tables
21:06:01 <jix> i use them for [odd number of + or ->something<]
21:06:28 <jix> i was only able to generate them using the help of a computer algebra system
21:06:33 <calamari> hehe
21:06:52 <jix> i generated the init numbers for the look-up-tables
21:07:10 <jix> 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 <jix> 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 <calamari> init numbers?
21:07:34 <jix> yes
21:07:42 <calamari> what is an init number?
21:07:49 <jix> initial..
21:07:57 <calamari> what is an inital number ?
21:08:03 <jix> a number to start with
21:08:30 <jix> (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 <calamari> oh, the starting value of the loop variable?
21:09:16 <jix> no
21:09:19 <jix> the name was stupid
21:09:39 <calamari> I don't get it, but that's okay :)
21:09:51 <jix> it's the result of re-editting source code the 10th time
21:09:53 <jix> ^^
21:10:04 <calamari> I wonder how much loop unrolling can be done
21:10:24 <jix> i do no loop unrolling
21:10:38 <jix> 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 <calamari> bbl
21:39:23 -!- calamari has quit ("Leaving").
21:44:37 <jix> mandelbrot: 0.65 secs bf=>c, 13.6 secs gcc with -O2, 7.8secs mandelbrot
21:45:26 <jix> on my 1ghz ppc g4 with finder,terminal,safari,adium,quicktimeplayer,xchat-aqua,quicksilver and subethaedit running
21:53:10 <jix> only some output fine tuning left until beta-release
21:53:18 <jix> stage3 is empty atm
21:56:45 <fizzie> 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 <jix> gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
22:00:33 <jix> but xcode2.1 is out afaik,
22:00:42 <jix> i hate to download xcode
22:01:18 <lindi-> gcc (GCC) 4.1.0 20050720 (experimental)
22:02:00 <jix> maybe xcode2.1 has gcc 4.1.0
22:02:37 <fizzie> 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 <fizzie> What's new in 4.1? Better loop-autovectorization and/or instruction-scheduling?
22:03:17 <jix> dunno
22:03:25 <jix> 1h46m remaining...
22:03:32 <jix> 752mb dmg
22:04:13 <fizzie> I see three neighbouring WEP-enabled wlans: "overland", "aurinko" and "animalfarm".
22:05:22 <jix> mandelbrot.b 11669 byte mandelbrot.c 23835 byte mandelbrot 45676 byte output 6240 byte ^^
22:08:31 <lindi-> 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 <jix> http://www.harderweb.de/jix/langs/brainfuck/bf2a.rb
22:14:56 <jix> didn't compared it against bf2c
22:18:50 <jix> ah made a mistake
22:18:54 -!- sp3tt_ has quit (Client Quit).
22:18:56 <jix> there is still some debugging code
22:19:03 <jix> that will flood your terminal
22:19:40 <jix> fixed
22:20:47 <jix> nother error
22:21:49 <jix> fixed
22:22:13 <jix> argh
22:22:15 <jix> not fixed
22:25:22 <jix> fixed!
22:27:49 <jix> everyone: please test it
22:31:50 <jix> ...
22:31:57 <jix> pgimeno: ping
22:40:06 <jix> no one is here :'(
22:42:33 <Keymaker> i'm here but can't test it
22:42:41 <Keymaker> i don't have any ruby software
22:42:42 <jix> Keymaker: why?
22:42:48 <Keymaker> and i'm not on my home computer
22:43:04 <jix> windows?
22:43:07 <Keymaker> yes
22:43:23 <jix> maybe i can create a stand-alone exe
22:43:31 <jix> do you have gcc?
22:43:47 <Keymaker> no
22:43:59 <jix> ok.. than you really can't test it
22:44:09 <Keymaker> yeah
22:44:28 <Keymaker> but.. i have mingw
22:45:41 <jix> the mingw package comes with gcc(?)
22:46:04 <jix> it does
22:46:06 <Keymaker> dunno
22:46:21 <Keymaker> but it probably doesn't matter what c compiler it uses..?
22:46:27 <jix> Keymaker: yes
22:46:30 <Keymaker> oh
22:46:39 <jix> yes it doesn't metter
22:46:56 <jix> but i only tried gcc
22:47:16 <Keymaker> ah. ok
22:47:17 <jix> but i don't know where to get a windows ruby binary
22:47:25 <Keymaker> well, me neither
22:47:28 <jix> all binary versions i know use an installer
22:47:34 <Keymaker> and i wouldn't like to install any ruby stuff here
22:47:51 <jix> why not? ruby is a great langauge? *g*
22:48:04 <Keymaker> well, it would have no use here :)
22:48:20 <jix> why?
22:48:37 <Keymaker> because nobody would program in it
22:48:51 <jix> yes but maybe someone wants to run ruby programs?
22:48:55 <Keymaker> no
22:49:06 <Keymaker> trust me
22:49:10 <jix> you want to run bf2a right?
22:49:23 <Keymaker> well, yes, but without installing any new software
22:49:30 <jix> okokok...
22:49:37 <Keymaker> you could always send me
22:49:41 <Keymaker> the c code
22:49:47 <Keymaker> that the compiler has generated
22:49:54 <Keymaker> out of that fractal brainfuck program
22:49:56 <Keymaker> for example
22:51:19 <jix> www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip
22:52:24 <Keymaker> i'll try
22:52:38 <jix> i tried to compiler Lost Kingdom.. Out of stack space.
22:53:49 <Keymaker> works great
22:54:14 <Keymaker> (although 80x25 window probably isn't meant for that program)
22:54:32 <jix> 80x25 is too small
22:54:50 <Keymaker> yeah
22:54:54 <Keymaker> good work jix
22:55:46 <Keymaker> definitely beats the **** out of those compilers that don't optimize at all
22:57:19 <Keymaker> btw, if i do an array in c like this way a[]={3,2,1}
22:57:30 <Keymaker> is there a way to get the size of the array?
22:58:07 <jix> sizeof(a)
22:58:18 <jix> afaik
22:58:37 <jix> but i'm not sure
22:58:38 <Keymaker> ok
23:03:23 <lindi-> jix: bfa2.rb mandelbrot.b mandelbrot.c ; gcc mandelbrot.c -o mandelbrot -O2 ; ./mandelbrot segfaults
23:03:43 <jix> aaargggh
23:04:05 <jix> but it works here
23:04:19 <jix> and keymaker was able to compiler and run mandelbrot.c too
23:04:23 <lindi-> hmm
23:04:24 <jix> lindi-: what's your gcc version?
23:04:39 <lindi-> this time i used gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
23:04:54 <lindi-> jix: can you put the C source file online?
23:04:55 <jix> try 4.1
23:05:05 <jix> www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip
23:05:48 <lindi-> segfaults with gcc cvs head too
23:06:12 <lindi-> and the C file is identical
23:06:22 <lindi-> jix: what version of gcc did you use?
23:07:01 <lindi-> works with gcc 2.95
23:07:30 <lindi-> jix: either you depend on undefined behavior or this is regression
23:10:27 <lindi-> Program received signal SIGSEGV, Segmentation fault.
23:10:27 <lindi-> main (argc=1, argv=) at mandelbrot.c:336
23:10:28 <lindi-> 336 m[-7]+=m[29];
23:12:03 <lindi-> 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 <lindi-> jix: hope that helps, please ask if you need more info
23:42:57 -!- Aardwolf has joined.
23:50:08 <pgimeno> 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 <pgimeno> 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 <jix> lindi-: argh
23:56:04 <jix> aaarrgghhh!
23:56:11 <jix> lindi-: helps a lot
23:56:25 <jix> m<m_srt => segfault
23:57:07 <jix> but wait m<m_srt is only possible if the program moves < cell 0
23:57:30 <jix> and the brainfuck tape has one end
23:58:43 <jix> lindi-: i used gcc 4.0.0
23:58:55 <Keymaker> me goes sleep-mode
23:58:59 <Keymaker> good nite
23:59:10 -!- Keymaker has quit ("Funkadelic!").
23:59:59 <jix> gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) works too
2005-07-26
00:06:42 -!- BigZaphod has quit.
00:09:24 <pgimeno> jix: valgrind reports a couple of errors (use of uninitialized values mostly, but also reads/writes which are out-of-bounds)
00:10:10 <jix> yes uninitialized values that is a bug
00:10:23 <jix> and that's why mandelbrot.b moves <0
00:10:27 <jix> argh
00:10:50 <pgimeno> incidentally, that was the bug with bff too
00:11:20 <pgimeno> graue: thanks for testing. Have you tried the patch which also replaces n with (n+1)?
00:17:15 <graue> no, I didn't know there was a new patch, where can I find it?
00:18:23 <pgimeno> it's in the same place, http://www.formauri.es/personal/pgimeno/temp/bff.patch
00:18:37 <pgimeno> the first version just added the memset's
00:19:31 <pgimeno> then I realized there was a problem at end of program, thus the n+1
00:22:21 <pgimeno> s/thus/hence/
00:28:41 <jix> updated a new version
00:29:52 <jix> pgimeno: can you test it with valgrind?
00:31:07 <pgimeno> sure
00:33:34 <pgimeno> things have changed; now uninitialized memory access no longer occurs but the out-of-bounds access is still happening
00:33:52 <jix> grmpf
00:34:10 <jix> try hello-world
00:34:31 <pgimeno> sec, I've just recompiled with -O0 -g
00:35:37 <pgimeno> first line is mandelbrot.c:338
00:35:59 <pgimeno> m[-7]+=m[29];
00:36:55 <jix> narf
00:37:01 <pgimeno> no errors on hello-world
00:37:28 <jix> hmm why does it work here and on keymakers computer but not on your
00:37:41 <jix> and not on lindi's (with gcc 4 with 2 it works)
00:37:42 <pgimeno> it *does* work here, it's just valgrind complaining
00:37:57 <jix> pgimeno: mandelbrot does work?
00:38:01 <pgimeno> yeah
00:38:20 <pgimeno> but it writes in an OOB address, which is dangerous
00:38:30 <jix> OOB?
00:38:34 <graue> out of bounds
00:38:34 <pgimeno> out-of-bounds
00:38:58 <pgimeno> probably lindi's libc can make a difference, since the problem can be malloc-related
00:39:15 <jix> can you tell me the position of m and m_srt?
00:39:27 <pgimeno> I was about to launch the debugger
00:39:40 <pgimeno> but expect the same as what lindi reported
00:40:13 <pgimeno> (gdb) print m
00:40:13 <pgimeno> $1 = (unsigned char *) 0x1ba43026 ""
00:40:13 <pgimeno> (gdb) print m_srt
00:40:13 <pgimeno> $2 = (unsigned char *) 0x1ba43028 ""
00:40:40 <jix> nah
00:40:57 <graue> pgimeno, bff still doesn't work for me
00:41:16 <jix> but i adjust the m start value for m[-7]
00:41:24 <pgimeno> graue: strange; now it works for jix
00:41:44 <pgimeno> graue: what setup?
00:42:05 <graue> gcc 3.2.3, win32
00:42:08 <jix> and if it accesses -7 for m < m_min it's mandebrot.b's fault
00:42:29 <graue> if I run it on brquine.b it prints a - and then freezes
00:42:45 <graue> 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 <graue> run on random.b, it seems to work
00:43:05 <graue> numwarp.b seems to work, without issue
00:43:16 <graue> dquine.b seems to work
00:43:37 <{^Raven^}> pgimeno: i'll have to make mine better
00:43:46 <pgimeno> graue: tried mandelbrot?
00:44:05 <jix> {^Raven^}: i too
00:44:06 <graue> mandelbrot is seemingly working okay
00:44:10 <pgimeno> {^Raven^}: guess so, but don't blame me, I'm just doing some timings :)
00:44:23 <graue> mandelbrot works fine, and very fast
00:44:28 <pgimeno> graue: oh! ok
00:44:48 <pgimeno> I misunderstood you since I thought that it also failed
00:45:01 <graue> I hadn't tried mandelbrot with it
00:45:43 -!- Aardwolf has quit ("Leaving").
00:45:55 <pgimeno> 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 <graue> they're from www.esolangs.org/files/brainfuck/src
00:46:42 <pgimeno> ok
00:50:21 <pgimeno> yeah, brquine.b fails here too
00:50:36 <{^Raven^}> jix: very nice
00:51:50 <pgimeno> jix: btw, valgrind reports an access to a position which is 9 bytes before the allocated block, just as expected
00:51:51 <jix> {^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 <jix> pgimeno: mandelbrot works with it.
00:52:37 <jix> so my compiler does only the things mandelbrot says.
00:52:53 <jix> and if m<m_min it's mandelbrot's fault
00:53:11 <pgimeno> 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 <GregorR> I've almost got my compile-to-memory interpreter working, loops are a bit screwy right now.
00:53:34 <jix> m_srt is start of memory
00:53:53 <jix> m_min is the min position of m (only for debug reasons)
00:54:18 <pgimeno> my interpreter would report an attempt of <'ing at position 0 and it doesn't happen
00:54:20 <jix> and if m>=m_min it will never access OOB memory
00:54:43 <jix> yes i don't know what happens
00:55:04 <jix> is the output 100% correct?
00:55:19 <pgimeno> let me check
00:56:51 <jix> i'm running collatz.rb in dbfi
00:57:14 <jix> collatz.b
00:58:12 <pgimeno> the output is correct
00:59:00 <jix> pgimeno: can you check on what line m moves under m_min ?
00:59:08 <jix> dbfi in dbfi!
00:59:44 <pgimeno> jix: that's harder to do, I don't know gdb that well
01:00:33 <jix> hmm
01:01:18 <GregorR> Hmm, my compile-to-memory compiler segfaults for all non-trivial programs.
01:01:21 <GregorR> That's good >_>
01:02:11 <pgimeno> nice, now you can say you're not using the wrong algorithm
01:02:52 <pgimeno> "If your program works at first attempt, you're probably using the wrong algorithm"
01:03:26 <GregorR> lol
01:04:20 <graue> but that doesn't logically imply "If your program fails at first attempt, you're probably not using the wrong algorithm"
01:04:58 <jix> is there a way to get the current line number in c?
01:05:03 <graue> __LINE__?
01:05:43 <graue> 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 <jix> seems to work without headers
01:06:40 <jix> line 50 moves m < m_min
01:07:26 <jix> #define REALLOC if(m<m_min)printf("\n\n%i\n\n",__LINE__);\
01:07:50 <jix> thats line 49 for you
01:08:45 <pgimeno> yeah but it's not troublesome
01:08:52 <jix> the loop that starts at 3:11 in mandelbrot.b
01:09:16 <pgimeno> I'd say the trouble is caused by line 333
01:09:22 <jix> wait
01:09:45 <jix> no
01:10:13 <jix> line 49 moves m<m_min that's moving the pointer over the end of the tape
01:11:04 <pgimeno> that's not a problem if no access to that address occurs
01:11:14 <jix> yes but it's illegal in brainfuck
01:11:24 <jix> and your interpreter sais it doesn't move over the end of the tape
01:11:33 <jix> but my compiler sais it does.
01:12:02 <pgimeno> 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 <jix> oh wait
01:12:33 <pgimeno> your compiler might want to keep m temporarily out of range for optimization or something
01:12:36 <jix> i'm wrong your right
01:12:53 <jix> pgimeno: i only check for read's and write's
01:13:19 <pgimeno> that's what valgrind does and it reports a problem on line 338
01:14:31 <jix> outch
01:14:33 <jix> i've an idea
01:14:35 <pgimeno> if that helps, moving line 340 at the top of that while seemed to fix the problem
01:14:52 <jix> does it still work?
01:15:03 <pgimeno> yes
01:15:18 <pgimeno> I haven't checked if the output is exactly the same though
01:15:32 <pgimeno> I mean moving line 30 to before line 337
01:15:37 <pgimeno> s/30/340/
01:16:17 <jix> ok
01:16:36 <pgimeno> now the same problem happens in line 702
01:16:55 <pgimeno> (and others)
01:17:01 <jix> i think i know how to fix it
01:17:27 <jix> i just noticed another bug that slows down(but isn't harmfull)
01:17:31 <jix> but i have to sleep now
01:17:46 <pgimeno> 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 <graue> hi BigZaphod
02:10:22 <BigZaphod> hey
02:12:06 -!- BigZaphod has quit (Client Quit).
02:57:19 <GregorR> That was a thrilling conversation 8-D
03:17:00 <GregorR> AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!
03:17:04 <GregorR> YES YES YES YES YES!!!!!!!!!!!!!!!!!!!
03:17:10 <GregorR> egobfc2m just ran mandelbrot!!!!!!!!!!1
03:17:35 <GregorR> Eat my DUST bff!!!!
03:17:36 <graue> compiles to machinecode?
03:17:39 <GregorR> Yup
03:18:01 <graue> congratulations
03:18:09 <graue> now you can make pa-risc and sparc64 versions :)
03:18:21 <GregorR> Actually, I set it up so that it would be relatively easy.
03:18:24 <GregorR> To port that is.
03:18:27 <graue> yes
03:18:58 <GregorR> 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 <GregorR> Damn, Lost Kingdom segfaults :(
03:20:50 <GregorR> Oh, hehe, I just didn't give it a big enough program buffer ... (/me remakes the resizing stuff)
03:23:08 <graue> what is PA-RISC used for?
03:23:51 <GregorR> People who are unwilling to give up their antiquated ways :)
03:24:02 <GregorR> They're on their way out for the most part.
03:24:13 <graue> oh, damn
03:24:26 <graue> what's a cool non-i386-like architecture that isn't on its way out?
03:24:52 <GregorR> cool implies non-i386-like :)
03:25:09 <GregorR> HPUX moved to IA64.
03:25:14 <graue> I disagree, AMD64 is non-i386-like, but somewhat cool
03:25:18 <graue> I mean
03:25:20 <graue> s/is/isn't/
03:26:36 <GregorR> Does Lost Kingdom use more than 30000 memory tiles?
03:28:35 <graue> probably
03:28:36 <graue> who knows?
03:28:53 <GregorR> Unfortunately, setting it to 300000 didn't help, so it's clearly my buggy code.
03:29:07 <graue> can't you fathom the idea that it may use more than 300000?
03:29:11 <graue> give it 2 GB
03:29:13 <graue> just to be safe
03:29:17 <GregorR> lol
03:29:22 <GregorR> Lots o' swapping :)
03:29:31 <graue> don't you have 4 GB of RAM?
03:29:37 <graue> all the cool kids have at least 4 GB of RAM
03:31:08 <GregorR> XD
03:31:15 <GregorR> Awww, Gregor isn't a cool kid.
03:32:55 <GregorR> Hmm, is it worth it to make the memory expand if it halves the speed :(
03:34:00 <graue> will it become that much slower?
03:36:11 <GregorR> 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 <GregorR> But also death.
03:39:08 <GregorR> OK, making a release though it's still unstable ...
03:46:58 <GregorR> http://gregorr.homelinux.org/egobf-0.5.tar.bz2
03:48:06 -!- int-e has joined.
04:11:45 <GregorR> Sorry to spam, but:
04:11:45 <GregorR> time ./egobfi/egobfc2m tests/mandelbrot.b > /dev/null
04:11:45 <GregorR> 4.81user 0.00system 0:04.82elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
04:11:45 <GregorR> time ./bfi/bff.bin tests/mandelbrot.b > /dev/null
04:11:45 <GregorR> 16.72user 0.01system 0:16.78elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
04:13:22 <int-e> hmm, is converting brainfuck to C and then using gcc considered fair?
04:13:44 <GregorR> egobfc2m doesn't do that.
04:13:54 <GregorR> It compiles directly into memory and runs it, like java.
04:14:20 <GregorR> And actually, many bf->C->bin alternatives are slower than interpreters when you consider compilation time.
04:15:19 <GregorR> (Thanks to other members of this channel for pointing that out to me btw :) )
04:17:10 <int-e> I know. But I get user 0m2.131s for (my) bf2c then gcc and user 0m19.108s for bff :)
04:17:46 <int-e> (using mandelbrot.bf. and producing the same output.)
04:19:51 <GregorR> But how much time did it take to compile with gcc?
04:23:02 <int-e> ok. 5.611s total using -O3. -O1 is fastest and uses 3.821s total (compilation + runtime)
04:23:58 <GregorR> Also, I'm still working on producing optimal machine code.
04:27:33 <int-e> 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 <GregorR> Incidentally, BF2C is quite nice.
04:28:30 <GregorR> But not quite insane enough for my taste ;)
04:28:37 <GregorR> (awib is a bit too insane for my taste)
04:33:12 <GregorR> WOOOH! Got mandelbrot down to 3sec!
04:34:03 <graue> can you get it down to 0.0 sec?
04:34:28 <GregorR> I'm workin on it ;)
04:34:34 <GregorR> 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 <graue> did you know "chino" was a word? I didn't!
04:36:55 <graue> it's a coarse, tough, twilled cotton fabric used for uniforms or sports clothes
04:38:18 <GregorR> That's quite an esoteric bit of knowledge, graue :)
04:39:29 <graue> I just learned it thanks to my wonderful word guessing game
04:39:35 <graue> which is written in an esoteric language, Perl
04:40:02 <lament> heh
04:40:06 <lament> perl, the original brainfuck
04:42:07 <graue> brb
04:42:15 <graue> 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 <GregorR> Down to 2.86 ...
04:51:32 <GregorR> {^Raven^}: You've foiled EgoBFC2M!!!! I can't get it to run LostKingdomBF :(
05:05:27 <GregorR> OH WAIT!!!!!!!!!!! Does it need 16-bit words?
05:05:37 <GregorR> No, no it doesn't >_<
05:11:36 <GregorR> *sob*
05:14:29 <GregorR> 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 <lindi-> jix: m<m_srt happens because of that REALLOC
05:18:12 <lindi-> (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 <GregorR> Are jix's speed tests posted?
05:46:56 -!- heatsink has quit ("Leaving").
06:08:00 <int-e> 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 <GregorR> If I'm not mistaking, I used offset from the beginning of the array, not an exact pointer.
06:09:45 <GregorR> pptr is an inaccurate name, it's an index into an array.
06:09:59 <GregorR> *mistaken
06:11:01 <int-e> the problem are the calls to the putchar and getchar wrappers together with the relative addressing of the call routines
06:11:02 <GregorR> OH, wait.
06:11:07 <GregorR> I'm sorry, I see what you're saying.
06:11:10 <GregorR> I was being dumb there.
06:11:13 <GregorR> Indeed you're right.
06:11:27 <int-e> internal jumps or calls are not an issue.
06:11:43 <GregorR> You are 100% correct, that is broken.
06:11:55 <GregorR> That could very well be the problem with Lost Kingdom :P
06:13:53 <int-e> 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 <int-e> uhm - that's what happens when I convert the lostkingdomsbf game
06:14:30 <GregorR> Well, watch Lost Kingdom run perfectly!
06:14:41 * GregorR shoots himself in the foot.
06:15:28 <int-e> (not to mention that the converter's runtime suffers from using O(n^2) algorithms)
06:16:26 <GregorR> Thank you for the suggestion of making them into multiple functions, that is exactly what I'll do.
06:16:31 <GregorR> Err, jumps rather.
06:44:15 <GregorR> YAY!
06:44:26 <GregorR> Thank you very much int-e! I don't know if I would have noticed that bug.
06:45:01 <int-e> :)
06:57:43 <GregorR> http://gregorr.homelinux.org/egobf-0.7.tar.bz2
06:58:25 <GregorR> There's only one problem ...
06:58:35 <GregorR> Now I can't find a BF program significant enough to challenge it :)
06:58:48 <lindi-> GregorR: mandelbrot.b
06:58:54 <GregorR> Hardly a challenge.
06:59:05 <GregorR> Lemme get a time output, just a sec.
06:59:21 <GregorR> time ./egobfi/egobfc2m ./tests/mandelbrot.b > /dev/null
06:59:21 <GregorR> 2.79user 0.00system 0:02.79elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
06:59:33 <GregorR> For comparison:
07:00:04 <GregorR> bff feels really slow now ...
07:00:15 <lindi-> yeah, but what about BF2C and gcc?
07:00:21 <GregorR> time ./bfi/bff.bin ./tests/mandelbrot.b > /dev/null
07:00:21 <GregorR> 16.28user 0.00system 0:16.29elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
07:00:28 <GregorR> Just a tick.
07:00:38 <GregorR> Plus compilation time? -O1?
07:00:58 <lindi-> yep
07:01:37 <GregorR> One moment.
07:02:26 <GregorR> 0.00user 0.00system + 1.59user 0.04system + 2.41user 0.00system
07:02:39 <GregorR> A bit slower than egobfc2m, but not by a lot.
07:02:54 <int-e> hmm, which bf2c is that?
07:03:16 <GregorR> http://www.esolangs.org/files/brainfuck/impl/BF2C.c\
07:03:23 <GregorR> Without the \...
07:03:37 <int-e> oh, another one
07:03:43 <int-e> http://bf2c.sourceforge.net/
07:03:48 <GregorR> Aha
07:03:55 <int-e> (crashes on mandelbrot.b)
07:04:14 <int-e> http://www.inf.tu-dresden.de/~bf3/brainfxxx/bf2c.hs -- my own one
07:04:15 <int-e> ;)
07:04:23 <lindi-> argh, somebody should make sure these interpreters are named uniquely
07:04:39 <int-e> it's not my fault, I chose that name in 2002 ;)
07:04:49 <GregorR> Hmm, a bit difficult to convince it to use -O2 >_>
07:05:52 <GregorR> *whew*
07:05:53 <lindi-> jix: m<m_srt is possible because line 47 does m+=-9;
07:05:54 <GregorR> That's mighty fast.
07:06:06 <GregorR> Oh wait, something borked >_>
07:06:30 <int-e> ok, BF2C is boring :)
07:06:39 <lindi-> you could optimize mandelbrot.c to just printf("correct output here....");
07:06:46 <int-e> right
07:06:55 <GregorR> Hmm, it's segfaulting for me ...
07:08:10 <int-e> 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 <GregorR> Yeah, I can't get it to not segfault
07:08:25 <GregorR> bf2c.sf
07:09:03 <int-e> you can remove one pass from bf2c.cc - pt->convertAbsoluteHeader();
07:09:08 <int-e> that's the one that segfaults
07:09:14 <GregorR> And it'll still work?
07:09:16 * int-e couldn't figure out what it does
07:09:18 <int-e> yes
07:09:24 <int-e> it
07:09:29 <int-e> it's an optimization
07:10:44 <GregorR> 0.00user 0.00system + 1.01user 0.03system + 2.29user 0.00system
07:10:49 <GregorR> Still slower than egobfc2m :)
07:12:10 <GregorR> MUAHAHAHAHAHA
07:12:18 <GregorR> Oh, sorry, got a little bit zealous there.
07:12:22 <int-e> http://www.inf.tu-dresden.de/~bf3/mandelbrot.c is what bf2c.hs produces (runtime 0.031s here)
07:12:38 <int-e> that's the runtime for the conversion
07:12:39 <GregorR> Where's bf2c.hs ?
07:12:50 <int-e> http://www.inf.tu-dresden.de/~bf3/brainfxxx/bf2c.hs
07:13:29 <GregorR> Not that it helps me without the appropriate compiler :P
07:13:30 <GregorR> OK, lesse.
07:13:31 <int-e> it's written in haskell, I compiled it using ghc, usage is bf2c < brainfuck-source > c-source. no options.
07:14:17 <GregorR> 0.92user 0.04system + 2.52user 0.00system
07:14:21 <GregorR> Still not quite :)
07:14:34 <int-e> yep, but not too bad either :)
07:14:45 <GregorR> No, it's great.
07:14:54 <GregorR> And the time of the compiled program is better.
07:15:32 <GregorR> 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 <int-e> hmm
07:15:48 <GregorR> (That isn't incidental at all, is it?)
07:16:43 <int-e> sun4u sparc SUNW,Ultra-250
07:16:47 <int-e> could try *g*
07:17:13 <GregorR> 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 <GregorR> It's basically just gcc -O0 -g test.c and objdump -S -t a.out
07:21:46 <int-e> hmm. now where did they hide objdump. grr. I hate SunOS.
07:21:55 <GregorR> gobjdump perhaps?
07:22:11 <GregorR> It's part of binutils, so it ought to be somewhere XD
07:22:17 <GregorR> (If you have gcc)
07:22:37 <int-e> gobjdump it is, and it's in /opt/sfw/bin where I also found the gcc.
07:22:46 <GregorR> Makes sense.
07:22:54 <int-e> (sfw is 'Sun Free Software', IIRC)
07:24:46 <GregorR> Hmm, sleepitime is soon.
07:24:53 <int-e> http://www.inf.tu-dresden.de/~bf3/dumps.tgz
07:24:58 <GregorR> Wooh :)
07:25:04 <int-e> -O0, -O1, -O2
07:25:20 <int-e> --> test0.dump, test1.dump, test2.dump
07:25:41 <int-e> good luck :)
07:25:50 <GregorR> Ahhhhhhhhh, RISC :)
07:26:07 <int-e> Sparc is a Risc architecture, right.
07:27:01 <int-e> and I believe it has delay slots, so beware.
07:27:23 <GregorR> Graa.
07:27:42 <GregorR> Like I said, sleepitime soon - I'll look at this port tomorrow.
07:27:44 <GregorR> Bye.
07:28:14 <int-e> 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 <jix> 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 <Gs30ng> hi
12:04:10 <Gs30ng> i've been interested about Esolang and tried to make one recently
12:05:22 <Gs30ng> it's a lauguage with bit variables
12:05:57 <Gs30ng> every characters that you can input are all variables
12:06:09 <Gs30ng> even space, tab, or newline
12:12:01 <Gs30ng> 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 <jix> and how is it possible to program in it?
12:13:17 <Gs30ng> in current specification, patterns of characters, especially repeatation of a specific character will be an instruction
12:14:55 <Gs30ng> all variables are called 'switch', which can be turned on or turned off.
12:15:16 <Gs30ng> to turn on switch 'A', the source code will be: A
12:16:56 <Gs30ng> 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 <Gs30ng> 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 <Gs30ng> so i thought i can assign an instruction to the repeatation of one character.
12:20:17 <Gs30ng> i'm not sure that people here can understand me, because of my humble English
12:20:49 <Gs30ng> so please feel free to ask or correct me when you can't get me
12:25:38 <Gs30ng> the instruction, started by repeatation of a character, will be bitwise NAND operation, i think.
12:26:18 <Gs30ng> so 'AABC' does NAND between B and C and put the result to A
12:27:01 <Gs30ng> ......could this be turing-complete?
12:28:58 <jix> no because memory is limited to 256bit
12:29:06 <Gs30ng> well
12:29:14 <Gs30ng> i think we can use UTF-8 in this language
12:29:57 <Gs30ng> ...still not infinite switches but i think it's enough
12:30:19 <fizzie> 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 <Gs30ng> aha
12:30:59 <Gs30ng> i agree with you
12:31:35 <Gs30ng> hmm... OISC is turing complete, right?
12:32:36 <Gs30ng> how can it do that? i think this language can follow that way
12:33:24 <fizzie> 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 <Gs30ng> so that 'branch' does something related to control flow?
12:35:46 <fizzie> It's a jump, basically.
12:36:43 <Gs30ng> then how about assigning 'NAND-and-branch-if-negative' to 'AABC'?
12:37:12 <fizzie> Uh.. you need to be able to tell it where in code to branch to.
12:37:40 <fizzie> But you could devote some of the registers to serve as the "destination address" field for that instruction.
12:37:54 <Gs30ng> then i need at least 5 letters to do that
12:38:03 <Gs30ng> like, 'AABCD'
12:38:16 <Gs30ng> AA will be instruction, and BCD is operand...
12:40:11 <fizzie> 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 <fizzie> (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 <Gs30ng> 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 <Gs30ng> like, when you make a source code and replace every 'A' to '#' and '#' to 'A', it will still work
12:42:09 <fizzie> 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 <jix> jumps could be realtive
12:42:57 <Gs30ng> i like that
12:43:07 <Gs30ng> there must be some labels
12:43:30 <Gs30ng> which indicates the place to jump
12:44:09 <fizzie> 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 <fizzie> That way for short jumps the instruction would be shorter.
12:44:36 <jix> you end the relative adress with two identical characters
12:44:44 <fizzie> Hm, that works too.
12:45:07 <jix> like AABCDEE would A=B nand C if true jump to DE
12:45:34 <Gs30ng> and why do i need 2 Es?
12:45:47 <jix> Gs30ng: because it says that the instruction ends
12:46:00 <fizzie> So you can use AABCDEFGG to jump to DEFG, then.
12:46:13 <Gs30ng> but i think we don't need that
12:46:24 <Gs30ng> like AABCD is enough
12:46:45 <Gs30ng> A=B nand C and if false jump to first D after this instruction
12:47:39 <Gs30ng> i don't want to assign a instruction-terminating instruction;;; there would be too much repeatation
12:47:42 <jix> whatif i want to jump backwards
12:48:20 <jix> idea: search the nearest D in both direction
12:48:48 <Gs30ng> maybe i can make a while() instruction
12:49:21 <jix> no if you search bidirectional there is no need for an extra instruction
12:49:52 * Gs30ng thinks
12:51:09 <Gs30ng> i can make 'if false jump backward and if true jump forward' with it, right?
12:51:18 <Gs30ng> although the source code will be complicated
12:51:18 <jix> Gs30ng: yes
12:51:34 <jix> that's true for many esolangs
12:52:02 <Gs30ng> still i'm considering whether to use AABCD or not
12:52:14 <Gs30ng> because i think it's too long for an esolang like this
12:52:31 <Gs30ng> i need more simple way to start an instruction...
12:54:48 <Gs30ng> hey, we have a space for one more instruction
12:55:22 <jix> yes?
12:55:30 <Gs30ng> when we 'AAAAD', A nand A = A is definitely same with just 'A'
12:55:47 <Gs30ng> so i think we can assign input/output to AAAA
12:56:39 <jix> AAAABCDEFGHI to output BCDEFGHI if A and intput to BCDEFGHI if not A?
12:56:39 <Gs30ng> at least 8 different switches should follow AAAA
12:56:59 <Gs30ng> jix, we should not do that
12:57:24 <Gs30ng> the condition of A is forbidden to affect the instruction
12:57:25 <jix> why not?
12:57:50 <Gs30ng> because it is, the programmer is to...
12:57:57 <Gs30ng> 1. turn off A.
12:58:03 <Gs30ng> 2. start the instruction
12:58:13 <Gs30ng> the source code will be like AAAAA
12:58:32 <Gs30ng> but first 4 A's will be identified
12:58:36 <Gs30ng> as an instruction
12:58:59 <Gs30ng> so the condition of A must not affect the instruction
12:59:21 <fizzie> Well, the programmed could always do AXAAAA...X, but perhaps it's not elegant.
12:59:36 <Gs30ng> yes
12:59:40 <Gs30ng> i don't like that X
12:59:50 <Gs30ng> it's not minimal
13:00:10 <Gs30ng> we need one more useless switch to do an operation
13:01:50 <jix> pgimeno: are you here?
13:02:42 <Gs30ng> whoa, anyway, i have a lot more progresses with this language. this is great. the freenode channel #esoteric helps.
13:04:08 <Gs30ng> thanks for all you guys helped me, and i'll make a prototype specification in english
13:04:12 <pgimeno> jix: hey
13:04:24 <jix> pgimeno: was a valgrind question
13:04:32 <jix> pgimeno: was a file-permission solution
13:05:03 <pgimeno> jix: the pointer one? I don't follow
13:05:16 <jix> no i had a question
13:05:33 <pgimeno> where?
13:05:44 <jix> 14:02:53<jix>pgimeno: are you here?
13:06:11 <jix> i didn't ask it because i noticed it was a wrong file permission setting
13:06:20 <pgimeno> aah
13:06:58 <pgimeno> next time you can note you're not going to ask by saying e.g. "never mind[...]"
13:07:21 <jix> k
13:08:13 <jix> i don't have much english irc experience;)
13:08:51 <pgimeno> sorry if I sounded picky, it was the result of my confusion :)
13:09:29 <jix> no you didn't sound picky (whatever picky is)
13:10:44 <Gs30ng> jix, how can you tell that if you don't know what is picky?
13:11:06 <Gs30ng> ..or am i misunderstanding a practical joke?
13:11:16 * Gs30ng kills himself
13:11:19 <jix> Gs30ng: because in that context it has to be something negative
13:11:27 <Gs30ng> aha.
13:12:13 <pgimeno> like, someone too worried about the details
13:13:00 <Gs30ng> like being fastidious?
13:13:31 <jix> nah i broke mandelbrot.b
13:13:44 <Gs30ng> then you totally didn't sound picky
13:14:01 <Gs30ng> ok sorry let's forget about this all picky stuffs
13:18:26 <jix> pgimeno: i reduced the REALLOC macro calls about 50%
13:18:37 <jix> if i decrement the pointer i don't have to check for overflows
13:20:06 <pgimeno> jix: nice
13:20:46 <jix> hmm and valgrind doesn't complain anymore
13:20:53 <jix> (in the first 6 lines)
13:20:57 <jix> 7
13:21:05 <jix> 8....
13:21:11 <jix> my linux box is slow
13:21:16 <lindi-> jix: 09:06:56 < lindi-> jix: m<m_srt is possible because line 47 does m+=-9;
13:21:17 <jix> with valgrind really slow
13:21:29 <lindi-> maybe you already fixed this, i was away
13:21:47 <jix> i have to move m around
13:21:58 <jix> [<] does this
13:22:07 <jix> and mandelbrot uses [<<<<<<<<<<] or something like that
13:22:52 <pgimeno> jix: I find it strange that now it doesn't complain... is the removal of REALLOC the only change?
13:23:13 <jix> pgimeno: no that's just a speedup because i had to work on that code anyway
13:23:50 <jix> i just added the maximum move-up+1 and maximum move-down+1 to the border space of the memory
13:24:42 <jix> is there a befunge mandelbrot?
13:25:47 <pgimeno> I have the feeling that there's something wrong with address (bottom - 9) being accessed anyway...
13:25:50 <Gs30ng> jix: i have a question
13:26:18 <Gs30ng> what if 'AAB' is 'A nand B and put the result to A'?
13:26:21 <jix> pgimeno: but i just do what mandelbrot.b tells
13:26:31 <jix> Gs30ng: that's shorter
13:26:43 <Gs30ng> the code will be shorter, but i'm not sure that still can do every operation
13:26:53 <lindi-> jix: i used the befunge fibonacci program in my benchmarks
13:27:22 <pgimeno> jix: google says there's a bef93 mandelbrot, yes
13:27:43 <pgimeno> http://quadium.net/funge/downloads/bef93src/mandel.bf
13:27:56 <jix> :(
13:28:11 <jix> i want to write a mandelbrot for some esolang
13:28:58 <pgimeno> "When Benoit is to iterate..."
13:29:06 <jix> lol
13:29:21 <jix> hey i have floats in ORK
13:30:02 <pgimeno> well, that was an idea
13:30:52 <pgimeno> btw, that bef93 mandelbrot uses g and p quite a lot
13:32:06 <Gs30ng> i can't decide the name of this esolang.
13:32:19 <jix> AAB
13:32:53 <Gs30ng> i'm looking up my hometown language dictionary, but there's no proper word refers to 'switch'..
13:33:58 <Gs30ng> AAB programming language... that code does nothing
13:35:10 <Gs30ng> A and AAB does same thing
13:35:14 <Gs30ng> :(
13:37:28 <Gs30ng> jix and fizzie helped me a lot so i could put those names into the name
13:37:32 <Gs30ng> ...this is not a good idea
13:37:51 <Gs30ng> ...Fizjix programming language?
13:38:06 <jix> lol
13:38:14 <jix> /away
13:39:27 <kipple> how about 'jiffy' ?
13:39:51 <Gs30ng> Jiffy programming language.
13:40:09 <kipple> anyway, it sounds interesting, but I don't really understand it
13:40:47 <kipple> your language I mean
13:40:57 <Gs30ng> kipple, i'll show you the prototype of specification in english ASAP.
13:41:38 <Gs30ng> i'm writing it now
14:31:58 <Gs30ng> Well
14:32:11 <Gs30ng> Gee, this is too difficult to read
14:32:19 <Gs30ng> I'm not a good english writer
14:32:38 <kipple> writing specs is hard
14:32:38 <Gs30ng> somebody correct this article to be read easily
14:32:42 <Gs30ng> http://gs30ng.exca.net/usg/CodenameSwitch
14:36:00 <Gs30ng> feel free to create an account since it's really easy
14:36:36 <kipple> how about using the Esolang wiki instead?
14:36:37 <kipple> http://www.esolangs.org/wiki/Main_Page
14:37:19 <Gs30ng> i'm a little bit nervous to do that...
14:37:33 <Gs30ng> this langauge is, right now, like stub
14:37:53 <kipple> that's not a problem
14:37:56 -!- int-e has joined.
14:39:25 <kipple> anyway, I think I get the language now. looks nice
14:39:35 <kipple> but storage is, of course, rather limited :)
14:41:35 <Gs30ng> thanks
14:41:50 <Gs30ng> of course we need UTF-8 charset to do something with this language
14:43:21 <Gs30ng> http://www.esolangs.org/wiki/Switch
14:45:11 -!- Aardwolf has joined.
14:47:16 <kipple> 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 <tokigun> hello
14:52:37 -!- int-e has quit ("Bye!").
14:52:40 -!- int-e has joined.
14:54:11 <Gs30ng> tokigun here
14:54:22 <tokigun> Gs30ng: ...
15:02:56 <Gs30ng> i didn't expected anyone i know at here
15:03:18 <jix> lol
15:03:23 <Gs30ng> you are truly esoteric, tokigun.
15:03:35 <tokigun> Gs30ng: ...
15:05:02 <tokigun> my notebook computer didn't work
15:05:41 <Gs30ng> and you work instead?
15:06:00 <Gs30ng> ...whatever
15:06:20 <tokigun> ...
15:06:21 <Gs30ng> did you see the spec of my new language?
15:06:30 <tokigun> didn't.
15:06:51 <Gs30ng> i'm writing input/output operation part and it sucks
15:08:36 <jix> bf2a version 0.2 is online at www.harderweb.de/jix/langs/brainfuck/bf2a.rb
15:13:47 <Gs30ng> i completed it
15:13:50 <Gs30ng> http://www.esolangs.org/wiki/Switch
15:15:18 <tokigun> good
15:16:00 <Gs30ng> now i'm gonna cook a ramen
15:17:29 <Gs30ng> after eating that, i'll try to make a Switch code which prints "Hello Wolrd!"
15:18:03 <Gs30ng> ...i think it'll be easier, compared to Aheui
15:18:24 <tokigun> Gs30ng: is there Switch interpreter?
15:20:23 <Gs30ng> tokigun: ...do we need it?
15:21:16 <Gs30ng> there's no Switch interpreter yet
15:21:42 <tokigun> hmm
15:53:34 -!- Keymaker has joined.
15:53:37 <Keymaker> i love it!
15:53:41 <Keymaker> i love it!
15:53:45 <Keymaker> SWITCH!!!!!!!!!!!
15:54:08 <Keymaker> please, someone make interpreter, quick!
15:54:54 <Gs30ng> ...excuse me but would you tell me who you are? where did you got info about Switch?
15:55:32 <Keymaker> well, my name is keymaker
15:55:39 <Keymaker> and i read #esoteric logs sometimes ;)
15:56:01 <Gs30ng> i feel pretty good that someone is interested of a langauge i suggested
15:56:02 <Keymaker> and check 'recent changes' in esolangs.org wiki daily
15:56:07 <Keymaker> :)
15:56:11 <Keymaker> yeah, it's really cool language
15:56:19 <Keymaker> i liked it immediately
15:56:25 <Gs30ng> but i didn't expected thing like this;;
15:56:45 <Gs30ng> like, fanatical response
15:56:54 <Keymaker> heh
15:57:12 <Gs30ng> tokigun, would you make an interpreter for him?
15:57:39 <tokigun> hmm
15:58:07 <Gs30ng> the spec is not settled so i think it's too fast to make an interpreter
15:58:16 <Gs30ng> but there's demand about it
15:58:25 <Keymaker> ok
15:58:34 <Keymaker> good -- i was just going to ask
15:58:39 <Keymaker> why UTF-8?
15:58:49 <Gs30ng> is there any mention about UTF-8?
15:58:53 <Keymaker> yes
15:58:58 <Gs30ng> well, if ASCII
15:59:03 <Keymaker> "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 <Gs30ng> we have 256bit of memory
15:59:23 <Keymaker> hmm
15:59:45 <Gs30ng> so i think we must use UTF-8 system to guarantee enough memory space
15:59:55 <Keymaker> hmm
16:00:09 <tokigun> it uses unicode... but it doesn't need to use utf-8 encoding
16:00:32 <Gs30ng> then i'll edit it to unicode
16:00:37 <Gs30ng> i always confuse
16:00:40 <Gs30ng> unicode and UTF-8.
16:00:41 <tokigun> yeah
16:01:50 <Keymaker> hm. limited 256bit lang would be better. but that's just me..
16:02:39 <Gs30ng> i agree with you but i also want it to be turing tarpit
16:02:52 <Keymaker> would unicode make it turing tarpit?
16:02:57 <Gs30ng> not yet
16:03:33 <Gs30ng> but there will be a system that enables to store infinite characters
16:03:45 <int-e> 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 <Gs30ng> then Switch will be turing complete. :(
16:03:53 <tokigun> Aardwolf: ah, hello! :)
16:03:57 <Keymaker> hmm
16:04:09 <tokigun> Gs30ng: hmm...
16:04:11 <Aardwolf> hi there
16:04:13 <Aardwolf> sup? :)
16:04:16 <int-e> in the current state, without infinite storage devices.
16:04:17 <Keymaker> hello
16:04:28 <tokigun> Aardwolf: are you an inventor of Gammaplex? :)
16:04:41 <Aardwolf> yes I am :)
16:04:59 <tokigun> i'm interested in it but its spec is somewhat... eh... anyway.
16:05:09 <jix> Gs30ng:no even with unlimited amount of switches switch is still not turing complete
16:05:33 <Gs30ng> then what more we need?
16:05:33 <tokigun> i couldn't understand some instructions.
16:05:44 <int-e> a way to address switches or a way to extend the program
16:05:51 <Aardwolf> Which one don't you understand?
16:05:57 <Aardwolf> then I can try to improve it
16:05:59 <tokigun> Aardwolf: hmm... eh...
16:06:03 <jix> because in a progrm of size n you can only use n switches
16:06:19 <Gs30ng> i got it
16:06:59 <Gs30ng> ...but is that a problem?
16:07:16 <tokigun> Gs30ng: if you wanna make turing tarpit.
16:07:28 <tokigun> Aardwolf: sorry, please wait a moment :)
16:07:31 <Aardwolf> tokigun: um... heh... :)
16:07:47 <Gs30ng> well, since OISC is turing complete, i thought i can mimic it...
16:07:58 <jix> tokigun: i think i'll try to write mandelbrot for versert
16:08:41 <tokigun> Aardwolf: i couldn't understand stack program.
16:08:57 <Gs30ng> surprised. there's people tries to make something in Versert.
16:09:12 <tokigun> Gs30ng: ...
16:09:16 <Gs30ng> good job, tokigun
16:09:34 <Aardwolf> tokigun: oh yes, stack programs aren't that important actually, I wonder why I included it
16:10:29 <tokigun> Aardwolf: if source code of interpreter were in public, i could make some code in Gammaplex and so on... :(
16:10:45 <Gs30ng> jix: do you have any idea to fix that problem?
16:11:19 <Gs30ng> and how does OISC overcome that kind of problem?
16:11:19 <jix> Gs30ng: another instruction
16:11:36 <jix> Gs30ng: oisc has adresses for memory access
16:11:46 <Aardwolf> tokigun: the source code is public, and someone managed to compile it for macintosh
16:11:58 <tokigun> eh?
16:12:04 -!- cmeme has joined.
16:12:14 <tokigun> where is the source code? :S
16:12:15 <Aardwolf> it's in the zip file in the folder "src"
16:12:23 -!- cmeme has quit (Remote closed the connection).
16:12:39 <Aardwolf> in this file: http://www.student.kuleuven.ac.be/~m0216922/gammaplex/gammaplex.zip
16:12:48 <int-e> nearest C - what happens if there is no nearest C?
16:12:57 <jix> Aardwolf: /me managed it
16:12:58 <Gs30ng> terminates
16:13:09 <Gs30ng> that's the way to terminate the program
16:13:13 <Gs30ng> oops i missed it
16:13:15 -!- cmeme has joined.
16:13:21 <tokigun> Aardwolf: oops... why i couldn't see it?
16:13:21 <Gs30ng> i'll add that on wiki
16:13:24 <tokigun> i see.
16:13:26 <Aardwolf> jix: yes indeed
16:13:48 <Aardwolf> tokigun: it's only in there for a few weeks, maybe you had an older version?
16:14:06 <Aardwolf> tokigun: I also updated the spec when I added the src, maybe the new one is a bit clearer? :)
16:14:16 <tokigun> ah...
16:14:29 <tokigun> i downloaded it months ago.
16:14:41 <Aardwolf> all the colors and stuff are now gone from the page :)
16:14:47 <tokigun> ;)
16:15:48 <Aardwolf> I don't know why, but I feel like writing a mandelbrot program in gammaplex :)
16:15:51 <Aardwolf> me gonna try it :)
16:16:19 <Gs30ng> in Switch we have addresses of each switch... isn't that enough? this obfuscates me...
16:18:34 <int-e> and I/O needs to specify which bit is the LSB
16:19:03 <jix> Gs30ng: yes but in oisc you can always adress another switch by incrementing the adress of an instrucion
16:19:33 <Gs30ng> int-e: i'm sorry but what is LSB?
16:19:46 <int-e> least significant bit
16:20:31 <Gs30ng> ...i should look up wikipedia
16:20:35 <int-e> I suppose your Q has value 1 and the A has value 32768
16:21:02 <int-e> but it's not really clear from your specification
16:22:25 <Gs30ng> well you mean the order of bits?
16:22:28 <int-e> yes
16:22:32 <Gs30ng> which one do you prefer to be LSB?
16:22:39 <Gs30ng> first one? last one?
16:22:50 <int-e> I'd take the last one.
16:23:17 <Keymaker> Gs30ng: would you mind if I make an esolang based on the idea of switch? i'll naturally credit you
16:23:34 <tokigun> Aardwolf: i'm looking your interpreter. maybe i can make obfuscated Gammaplex interpreter now :)
16:24:24 <int-e> hehe, and it's not specified what the input operation does (although it's easy to guess the intention)
16:24:43 <Gs30ng> Keymaker: why don't you just do it in Switch? the language is opened for every opinion
16:25:06 <Keymaker> well, i'll write down the ideas/plan i have
16:25:14 <Keymaker> i'll let you see it when it's done
16:25:37 <Gs30ng> int-e: actually a GUI window will appear and force user to turn on or off 16 switches manually
16:25:43 <Gs30ng> :(
16:26:26 <Gs30ng> Keymaker: i really appreciate it
16:27:20 <Aardwolf> tokigun: hehe make one in bf :)
16:27:26 <tokigun> Aardwolf: ;)
16:27:30 <Gs30ng> int-e: i'm gonna make an example code that prints 'A'. then things will be clear, i think
16:28:18 <tokigun> i've make several obfuscated interpreter of whitespace and whirl in c... i like esoteric programming, but also obfuscated programming.
16:28:38 <Aardwolf> 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 <int-e> 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 <int-e> I hope there are no bugs (untested code, yay!)
16:29:53 <tokigun> Aardwolf: that's Gammaplex2? or... why not Deltaplex? :)
16:30:00 <Aardwolf> Deltaplex indeed :)
16:30:00 <Gs30ng> i have nothing to do but make specification... Jesus, how is it possible that interpreter is already made?
16:30:51 <Gs30ng> is there anyone make a Switch interpreter in python? i have no C interpreter
16:31:05 <int-e> hmm. funny
16:31:34 <tokigun> Gs30ng: how about using Dev-C++?
16:32:23 <Gs30ng> tokigun: give me that
16:32:26 <int-e> BAAAAAAAAAAABAAAAAB prints a single A :)
16:32:41 <tokigun> Gs30ng: http://www.bloodshed.net/devcpp.html
16:34:07 <Gs30ng> int-e: it is forbidden to use same characters in one i/o operation
16:34:22 <Gs30ng> think about input operation and all characters are A
16:34:44 <int-e> so? undefined result, what's the problem?
16:34:49 * int-e shrugs
16:35:05 <Gs30ng> well...
16:35:13 <int-e> even 'serious' languages like C++ have no problem with undefined results :P
16:35:28 <tokigun> Aardwolf: how about many surfaces?
16:36:07 <Aardwolf> do you mean SDL surfaces?
16:36:10 <tokigun> yes
16:36:17 <Aardwolf> why?
16:36:28 <tokigun> hmm
16:36:46 <tokigun> i don't like 8 by 8 font :)
16:37:04 <Aardwolf> it's better than dull console output :)
16:37:08 <Gs30ng> int-e: would there be no problem? are you sure? ok then i'll allow it
16:38:14 <tokigun> i thought how not to use font... and i thought bliting surface.
16:38:18 <int-e> 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 <tokigun> s/thought/found/
16:39:25 <Aardwolf> ?
16:39:34 <tokigun> eh...
16:40:15 <Gs30ng> i want it to be turing complete! is there no way to do that without adding an instruction?
16:40:38 <tokigun> i mean if we didn't use internal font, we have to blit in order to print some string.
16:40:41 <int-e> allow infinte programs and use an infinite character set.
16:40:53 <Gs30ng> then it is turing complete?
16:41:11 <int-e> I'd expect it would be, but it wouldn't be practical.
16:41:17 <Aardwolf> in my recent projects I use opengl to draw bitmap fonts :)
16:41:29 <Keymaker> int-e: btw, nice to see another fellow brainfuck fan here. ;)
16:41:34 <tokigun> Aardwolf: hmm...
16:42:06 <Aardwolf> imagine, Deltaplex, allowing you to draw 3D opengl shapes...
16:42:14 <Keymaker> woah
16:42:22 <tokigun> sounds good... :)
16:42:40 <Aardwolf> maybe I should give it a go :)
16:42:44 <Keymaker> i can see shapes..
16:42:49 <Keymaker> yes
16:42:53 <Keymaker> you must go!!!!
16:43:02 <Keymaker> i mean
16:43:05 <Keymaker> give it a go
16:43:08 <Aardwolf> ok *leaves*
16:43:12 <Aardwolf> :)
16:43:12 <Keymaker> :)
16:43:16 <tokigun> :)
16:43:45 <Keymaker> that'd be something never seen before..
16:43:48 -!- GregorR-W has joined.
16:43:53 <GregorR-W> My home network is down >_<
16:43:56 <Keymaker> like esolang that uses 3d shapes as "output"
16:44:01 <Keymaker> :(
16:44:06 <Keymaker> then where are you?
16:44:09 <Keymaker> "work"?
16:44:10 <GregorR-W> At work.
16:44:11 <GregorR-W> Yeah
16:44:17 <Keymaker> :)
16:44:29 <int-e> piet 3D?
16:44:31 <GregorR-W> And unfortunately, since my home network is down, I can't send you egobf-0.7 :(
16:44:35 <Gs30ng> Keymaker: still writin' things down? i'm really interested
16:44:40 <Keymaker> yeah
16:44:43 <Keymaker> wait a bit
16:44:45 <Aardwolf> piet is the best :D
16:44:50 <Keymaker> :p
16:45:04 <GregorR-W> Umm, wouldn't Piet 3D take 3D /input/?
16:45:05 <int-e> hmm, it suffers from underspecification at one point.
16:45:14 <int-e> so there are incompatible interpreters :(
16:45:24 <Gs30ng> what's that
16:46:12 <int-e> what's what?
16:46:40 <Gs30ng> tell me more about it
16:46:47 <Gs30ng> that underspecification thing
16:47:23 <jix> Aardwolf: is there an instruction for accessing the nth stack item?
16:47:31 <int-e> 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 <Gs30ng> i'm aware of only one problem
16:48:26 <Gs30ng> about nearest C
16:48:36 <int-e> 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 <int-e> you said the next nearest C takes precedence
16:48:52 <int-e> or wrote
16:49:06 <Gs30ng> no i mean
16:49:16 <Gs30ng> when a control is transfered to C
16:49:17 <tokigun> int-e: that's why is there no division instruction in Versert.
16:49:31 <Gs30ng> should we 'switch' C?
16:50:02 <Gs30ng> or not, considering it as a label?
16:50:38 <Keymaker> Gs30ng: takes a bit more time, i'll thing some stuff again.
16:50:44 <Keymaker> *think
16:50:52 <Gs30ng> Keymaker: take your time
16:51:07 <Keymaker> ok.. see you in 30 years :)
16:51:41 * Gs30ng walks into the refridgerator
16:51:42 <int-e> right now my implementation would toggle C (assuming it's not actually part of a NAND or I/O instruction)
16:51:49 <jix> does anyone here now how to do an intersection test on a 4 dimensional fractal ?
16:51:59 <int-e> but yes, that's not really clear either and should be specified.
16:52:53 <Keymaker> grhh. i can't concentrate when listening trance. better listen some schranz.
16:53:07 <Gs30ng> i think we should not switch it... it's a label.
16:53:17 <GregorR-W> jix: BTW, are your benchmarking results posted somewhere?
16:54:10 <Gs30ng> but the backward C must be toggle at least once...
16:54:14 <Gs30ng> s/toggle/toggled
16:54:29 <Gs30ng> it really obfuscates me
16:56:26 <int-e> it's your language. try '[...] will jump to the operation immediately following the nearest C'
16:57:47 <Gs30ng> it collides with my design goal of Switch
16:58:07 <Gs30ng> i want all switches be impartial
16:58:20 <Gs30ng> like, you write a code
16:58:31 <Gs30ng> and replace all A to B and B to A
16:58:35 <Gs30ng> it'll still work
16:59:03 * int-e does not see why that's a problem here.
16:59:26 <Gs30ng> sorry i think i misread you
17:00:08 <Gs30ng> 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 <Gs30ng> :(
17:03:09 <GregorR-W> I clearly joined this conversation too late, the logs are completely not helping me understand this language.
17:03:35 <Gs30ng> and wiki isn't, either?
17:03:55 <GregorR-W> Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
17:03:56 <GregorR-W> Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
17:04:03 <Gs30ng> oh i see that too
17:04:13 <GregorR-W> So no, it isn't helping much ;)
17:04:46 <GregorR-W> Hmm ... chatzilla has a really strange ;) icon .... is that his eyebrow or a tiny beret?
17:05:56 <Gs30ng> well... can you point the thing that you can't understand or you don't get the language wholly?
17:06:22 <GregorR-W> 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 <Gs30ng> then you can re-check the wiki later
17:07:10 <jix> GregorR-W: yes on http://www.harderweb.de/jix/langs/brainfuck/result2.txt but they are 2 days old
17:07:49 <GregorR-W> Heheh, need to add egobfc2m, it will rox0r their s0x0rzzzz.
17:08:14 <jix> hehe but i have bf2a
17:08:26 <Gs30ng> actually i'm too tired to explain the spec
17:08:37 <GregorR-W> However, I find it a bit strange that my times for egobfi-vs-everybody-else are significantly different ...
17:08:46 <Keymaker> you gotta chill out gregor! "all work and no play makes Gregor a dull boy"
17:08:54 <GregorR-W> lol
17:09:01 * GregorR-W drinks more coffee.
17:09:04 -!- graue has joined.
17:09:06 <Keymaker> :)
17:09:06 <GregorR-W> NO CHILL FOR GREGOR!!!!
17:09:56 <jix> GregorR-W: its 0.2 not 0.3 in the test
17:10:05 <GregorR-W> Ohhhhhhhhhhhhhhhhhh
17:10:09 <Aardwolf> jix: appearantly not, there's one to roll down the nth value, but then it's removed form it's position
17:10:28 <jix> ok
17:10:47 <Aardwolf> I will think about this if I ever make deltaplex :)
17:12:05 <Gs30ng> ok here's the problem
17:12:11 <Gs30ng> a program like this
17:12:20 <Gs30ng> user inputs values
17:12:29 <Gs30ng> computer records it
17:12:31 <Gs30ng> user inputs values again
17:12:34 <Gs30ng> computer records it again
17:12:42 <Gs30ng> repeat until user inputs 0
17:13:40 <Gs30ng> ...this is impossible in Switch, unless infinite switches are wrote in the code
17:13:57 <graue> Switch?
17:13:59 <int-e> right.
17:14:08 <Gs30ng> and maybe this is related to the problem that jix told me
17:14:48 <int-e> having unlimited storage is a weaker requirement than turing completeness.
17:15:11 <Gs30ng> well...
17:15:38 <Gs30ng> you're right
17:15:42 <int-e> and necessary to achieve turing completeness, so that's part of the problem.
17:16:18 <Gs30ng> i thought some solutions but no good and minmal one is among them
17:18:00 <Gs30ng> graue, it's an esolang being developed my me and people here
17:18:17 <Gs30ng> s/my/by
17:19:54 <graue> cool
17:20:05 <int-e> 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 <graue> like, just today?
17:20:59 <Gs30ng> well i thought about it alone for about 2 weeks
17:21:17 <Gs30ng> and told people here about it today
17:21:28 <int-e> that's an idea but I admit that it changes the language in a fundamental way.
17:21:39 <int-e> so I'm not sure if I like it.
17:22:21 <Gs30ng> you're right
17:22:29 <Gs30ng> and i don't want any stack or something
17:22:38 <int-e> the infinite stack idea isn't new either, it was used in ... hmm ... what's that reversible calculation language again, kayak?
17:22:57 <Gs30ng> i want only switches to be the storage
17:23:25 <int-e> but you need a way to access arbitrarily many switches. :(
17:23:29 <Aardwolf> Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
17:23:48 <Gs30ng> if it's not, it's not the Switch programming language that i invented. it'll be like... Switchoid or something
17:24:45 <Gs30ng> what about this
17:24:46 <int-e> 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 <Gs30ng> each character has a numeric value in unicode, right?
17:26:04 <int-e> yes
17:26:09 <Gs30ng> 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 <int-e> I'll remember that, GregorR-W.
17:27:12 <int-e> Gs30ng: yes
17:27:26 <Gs30ng> so adding instruction that takes several letters(probably 8 or 16 letters) and toggling the switch that 16 letters point
17:27:35 <Gs30ng> will solve this problem...
17:27:37 <Gs30ng> ...right?
17:29:11 <Gs30ng> s/toggling/toggles
17:29:35 <int-e> 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 <int-e> (keep in mind that from a theoretical point of view, every existing computer is basically a very big finite state machine)
17:31:05 <int-e> unless you're a theoretical physicist. hehe ...
17:33:04 <Gs30ng> i remember that to be turing complete FSM needs 2 stacks
17:33:31 <int-e> yes
17:33:33 <graue> or one queue, if it has the proper facilities to handle it
17:33:42 <int-e> or that
17:33:47 <Gs30ng> and there's one more way.... 2 something enables FSM to be turing complete...
17:33:59 <int-e> unlimited integers
17:34:03 <graue> two memory cells with bignums
17:34:14 <int-e> although that construction is quite evil
17:34:36 <GregorR-W> It would be mind-bogglingly difficult to actually DO anything, but yeah, that's turing complete XD
17:34:55 <graue> you can have a Turing-complete machine with one register of unlimited integers
17:34:56 <int-e> use a bignum to represent 3 bignums in the form 2^a*3^b*5^c ...
17:35:02 <jix> graue: one memory cell with bugnum und mul + div + divtest
17:35:06 <graue> yes
17:35:31 <int-e> well, the usual computational basis is inc and dec+test
17:35:45 <Gs30ng> wiki works now
17:35:52 <int-e> then you need 2 bignums to implement div+divtest+mul on top of that
17:35:55 <Gs30ng> graue, http://www.esolangs.org/wiki/Switch
17:36:46 <Gs30ng> oh
17:37:01 <Gs30ng> you're already participating
17:37:02 <Gs30ng> thx
17:41:27 <Gs30ng> 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 <Gs30ng> int-e, your interpreter in C takes 8 letters when I/O?
17:55:29 <int-e> no, 16
17:55:39 <int-e> I was faithful to the specification in that respect
17:55:57 <int-e> but it just truncates the characters to 8 bit for output
17:56:23 <Gs30ng> and LSB is still last one of 16 letters?
17:56:26 <Gs30ng> or 8th letter?
17:56:27 <int-e> yes
17:56:29 <int-e> 16
17:56:32 <Gs30ng> ok
17:56:48 <Gs30ng> then first 8 letters are ignored?
17:56:53 <int-e> indeed
17:56:57 <Gs30ng> i got it
17:57:15 <int-e> well, almost
17:57:44 <int-e> I test the whole 16 bits for 0 to check for the input operation
17:58:03 <int-e> and the input operation sets the corresponding switches to 0 (well, ok, that's a no-op)
17:59:46 <Gs30ng> i don't understand it
18:00:21 <Gs30ng> Gee, my humble english... :(
18:01:22 <int-e> My code converts the whole 16 bits to a number
18:01:40 <Gs30ng> decimal?
18:01:46 <int-e> 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 <Gs30ng> and if zero?
18:02:18 <int-e> if it is zero, it inputs a (8 bit) character and converts its value back to 16 bits
18:02:58 <Gs30ng> still we don't have unicode here but useful enough to test
18:03:08 <int-e> yes, that was the idea
18:03:29 <Gs30ng> shoot me that A-priting-switch-code again
18:03:34 <int-e> it wasn't meant to be a full-fledged implementation
18:03:56 <Gs30ng> s/priting/printing
18:04:14 <int-e> BAAAAAAAAAAABAAAAAB
18:06:09 <Gs30ng> well
18:06:21 <Gs30ng> that code receives only 15 characters
18:06:33 <Gs30ng> 16 characters after AAA is needed
18:10:39 <int-e> oh, didn't count correctly. my thought was that A could as well serve as the first of those 16 bits
18:12:06 <int-e> so AAABCDEFGHIJKLMNOP would print character ABCDEFGHIJKLMNOP (read as a binary number) ... anyway I can change my program easily
18:12:22 <Gs30ng> yeah, but that kind of operation is something forbidden in Switch. suppose this:
18:12:51 <Gs30ng> 1. A affects the result of operation, so the programmer want to do this before starting operation: turing on A.
18:13:12 <Gs30ng> 2. Now the programmer tries to start input operation: AAA and something
18:13:22 <Gs30ng> the code will be like AAAA and something
18:13:31 <int-e> well, insert a dummy character
18:13:33 <int-e> A AAA
18:13:49 <Gs30ng> that's an idea but i don't want there a trash characters in source code
18:14:28 <int-e> anyway I really counted the letters on that line wrong, I'll change my program
18:14:38 <Gs30ng> i appreciate that
18:15:04 <Keymaker> i haven't followed your discussions, but the version i'm thinking will be probably a lot different
18:15:06 <int-e> done :)
18:16:29 <int-e> I
18:16:31 <Gs30ng> 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 <int-e> I'll be idle for a bit, I'll read and answer that in a few minutes
18:17:23 <Gs30ng> ...OMG
18:17:45 <Gs30ng> in AA(nandnp) the value of A affects the operation!
18:17:50 <Gs30ng> i should change it
18:17:55 <Gs30ng> AABC -> AABCD
18:18:01 <Gs30ng> A=B nand C
18:18:17 <Gs30ng> and D is the target place to jump when 0
18:22:25 <Gs30ng> ...or like this
18:22:28 <Gs30ng> AABCD
18:22:36 <Gs30ng> AA -> just starts nandnp
18:22:44 <Gs30ng> BC -> B=B nand C.
18:22:54 <Gs30ng> D -> if B nand C is 0 then jump to D.
18:27:10 <Gs30ng> ...this is too major change
18:29:47 -!- grimace_ has left (?).
18:30:54 <Gs30ng> int-e, i'm sorry to bother you but you should change your code
18:31:06 <Gs30ng> there's a major change in spec
18:33:32 -!- kipple_ has joined.
18:33:35 <graue> hey kipple_
18:33:57 <Keymaker> 'ello
18:34:30 -!- kipple has quit (Read error: 104 (Connection reset by peer)).
18:44:31 <Gs30ng> and i still cannot decide the name of this language
18:44:43 <Gs30ng> i don't like the name Switch
18:49:30 <int-e> toggle :P
18:50:31 <Keymaker> yeag
18:50:35 <Keymaker> *yeah
18:50:38 <Keymaker> toggle is a lot better
18:50:44 <Keymaker> i don't like 'switch' either
18:51:08 <Keymaker> i selected 'trigger' for my language
18:51:08 <Gs30ng> i like switch more than toggle. :(
18:51:14 <Keymaker> :\
18:51:40 <Keymaker> Gs30ng: i'll make it a new language..
18:51:42 <int-e> flip
18:52:21 <Gs30ng> Keymaker: Sure you can, but can't you still show me about it?
18:52:28 <Keymaker> yeah
18:52:34 <Gs30ng> flip is an idea
18:52:41 <Keymaker> i'll naturally make it public when it's ready :)
18:52:46 <Keymaker> yeah, flip's fine
18:52:57 <Gs30ng> but i'd rather use my hometown language
18:56:34 <jix> there is a flip lang afaik
18:56:53 <jix> http://esolangs.org/wiki/Flip
18:57:29 <int-e> ah, didn't know that
18:59:04 <GregorR-W> Call it BreinFuck
18:59:08 <GregorR-W> That won't confuse anybody.
19:02:28 <Gs30ng> it doesn't f*ck brein. :(
19:04:15 <GregorR-W> Sure it does, Brein isn't a real word, so it can mean whatever you want it to.
19:04:22 <Gs30ng> ok i decided it
19:06:30 <int-e> any changes besides the NAND one?
19:07:00 <Gs30ng> input
19:07:07 <Gs30ng> i mean, I/O
19:07:12 <Gs30ng> starts with AAAA
19:07:15 <Gs30ng> not AAA
19:07:40 <int-e> oh
19:08:11 <GregorR-W> 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 <Gs30ng> former
19:08:37 <GregorR-W> Same with nearest-C?
19:08:56 <int-e> any four of the same letter
19:08:57 <Gs30ng> if a letter repeated for 4 times
19:09:13 <Gs30ng> I/O operation will be started
19:09:53 <int-e> I updated my switch interpreter and fixed a bug as well.
19:11:16 <Gs30ng> thx
19:11:28 <Gs30ng> the name of this language is now Udage.
19:11:53 <Gs30ng> i think you'll wonder what's that
19:11:56 <Gs30ng> see http://esoteric.voxelperfect.net/wiki/Udage#Udage
19:17:05 <Gs30ng> new code that prints single A is like BAAAAAAAAAAAAABAAAAAB
19:17:29 <Gs30ng> add commas to read easy: B,AAAA,AAAA,AAAA,ABAA,AAAB
19:17:38 <Gs30ng> B turns on the switch
19:17:45 <Gs30ng> AAAA starts the I/O operation
19:17:49 <Gs30ng> and... so on
19:17:53 <Gs30ng> right?
19:17:59 <int-e> yes
19:18:34 <int-e> XYYYYYYYYYYYYYXYYYYYX works too :)
19:21:46 <Gs30ng> before trying to make a code prints "Hello, World!", we need an interpreter with unicode
19:22:01 <int-e> why?
19:22:31 <Gs30ng> ...unicode "Hello, World!" and ascii "Hello, World!" have same numeric value?
19:22:48 <int-e> these are all ascii characters
19:23:16 <int-e> and the first 128 Unicode values are mapped to ASCII
19:23:46 <Gs30ng> really?
19:23:59 <GregorR-W> Yes, Unicode is 100% backwards-compatible to ASCII
19:24:14 <int-e> really. that's no accident, it's designed that way
19:24:22 <Gs30ng> ...why have i been thought they aren't? :(
19:24:32 <int-e> and UTF8 was designed in a way that allows to use ASCII without modifications.
19:24:51 <Gs30ng> then i'll try hello world
19:25:26 <Gs30ng> ...or there one among you guys is already trying?
19:25:53 <int-e> no. I'm not sure how to feed perl's unpack() to generate that code.
19:25:55 <int-e> ;)
19:26:09 <GregorR-W> Pff, just write a quick C hack to do it.
19:26:16 <int-e> no way
19:26:55 <GregorR-W> for (i = 7; i >= 0; i--) if (inp & (1 << i)) putchar("A") else putchar("B");
19:27:15 <int-e> no, you need to start at 15
19:27:19 <GregorR-W> Whoops, putchar('A') and putchar('B')
19:27:25 <GregorR-W> This is assuming you just outputted "BBBBBBBB"
19:27:29 <GregorR-W> What with the ASCII :P
19:27:36 <GregorR-W> AKA I'm cheating.
19:27:51 <int-e> actually putchar("A") and putchar("B") are very likely to produce a program that does what you want ;)
19:31:38 <GregorR-W> BAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAABBAABABAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABABABBBAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAABBBAABAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBAABAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAABABA
19:31:45 <GregorR-W> May or may not be correct *shrugs*
19:32:13 <int-e> works
19:32:48 <Gs30ng> it just seems like a whirl code
19:32:55 <int-e> well it's missing a comma ;)
19:33:21 <Keymaker> here's hello world in Trigger:
19:33:22 <Keymaker> HHHeeellllllooo wwwooorrrlllddd!!!
19:33:31 <Keymaker> oops
19:33:37 <Keymaker> HHHeeelll lllooo wwwooorrrlllddd!!!
19:33:55 <GregorR-W> Three flips = putchar?
19:33:59 <Keymaker> yes
19:34:26 <int-e> `r`.!`.d`.l`.r`.o`.w`. `.,`.o`.l`.l`.e`.Hi
19:34:27 <Keymaker> if there's three same character in row, then putchar(that character)
19:35:10 <Keymaker> what do you say:
19:35:29 <Keymaker> should the instruction pointer be able to go left and right
19:35:33 <Keymaker> or only right
19:36:03 <Gs30ng> it must be possible to make a loop
19:36:08 <Keymaker> it is
19:36:20 <Keymaker> this uses the way original switch used (iirc)
19:36:22 <Keymaker> aab
19:36:26 -!- BigZaphod has joined.
19:36:56 <Keymaker> 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 <Gs30ng> if you have a while() thing, it's ok for instruction poiter to go just right
19:37:19 <Keymaker> no, not while()
19:37:27 <Keymaker> jumps
19:38:14 <Gs30ng> if you don't have anything like while(), you need the pointer to jump backward
19:38:15 <GregorR-W> While = if-jump-back, so if that jump is conditional, then it is while() ;)
19:38:58 <Keymaker> doh
19:39:03 <Keymaker> well, then there's while :)
19:39:18 <Gs30ng> Keymaker, i don't get your lang :(
19:39:32 <Keymaker> well, i'll tell it shortly:
19:39:50 <Keymaker> A = NOT(A) the 'A' trigger
19:40:11 <Keymaker> AAB = if A is 1 then search for nearest B left or right
19:40:22 <Keymaker> if A is 0 then just go on and do nothing
19:40:45 <GregorR-W> So how do you do binary (that is, two operands) logical operations?
19:40:48 <Keymaker> after jumping from some place to another, the trigger isn't flipped
19:41:02 <Keymaker> wait
19:41:05 -!- fungebob has quit ("Today is a good day to chat.").
19:41:16 <Keymaker> and when there's three same, like EEE, then print 'E'
19:41:25 <GregorR-W> If today is such a good day to chat, why are you leaving?
19:41:32 <Gs30ng> GregorR-W, late
19:41:32 <Keymaker> and if there's four same, like BBBB then make it remove BBBB from code when executed
19:41:35 <int-e> AACBC <- toggle B if not A
19:41:48 <Keymaker> yeah
19:41:59 <Keymaker> i was just going to say something like that
19:42:10 <GregorR-W> Hmmmmmm .........
19:42:17 <Gs30ng> i don't get your language
19:42:19 <Keymaker> and there is it
19:42:19 <GregorR-W> I don't think toggle-b-if-not-a is powerful enough ...
19:42:20 <Keymaker> :)
19:42:27 <Keymaker> well, who cares
19:42:32 <Keymaker> this isn't a tar-pit
19:42:34 <GregorR-W> Turing, that's who!
19:42:35 <GregorR-W> :P
19:42:38 <Gs30ng> when AAB
19:42:42 <int-e> hmm. it
19:42:47 <Gs30ng> the value of A affects the operation
19:42:48 <Keymaker> :)
19:42:49 <int-e> it's basically an xor, right
19:42:52 <Keymaker> cheers int-e
19:43:12 <Keymaker> the value of A affects to AAB operation
19:43:21 <Keymaker> if A is 0 that thing will be skipped
19:43:33 <Gs30ng> spaces are ignored?
19:43:37 <Keymaker> no
19:43:41 <Gs30ng> or identified?
19:43:45 <Gs30ng> then...
19:43:46 <Keymaker> yes
19:43:47 <int-e> but AAXBBYCXY basically toggles C if not A and not B ... we need a way to set some value to 0
19:43:53 <Keymaker> space is just another trigger
19:43:57 <int-e> AAXAXA ... like this
19:44:36 <Gs30ng> the programmer will try to set A before trying AAB, because it affects the operation
19:44:43 <Gs30ng> then the code will be like AAAB
19:44:52 <Keymaker> that would print 'A'
19:44:58 <Gs30ng> that's the problem
19:44:59 <Keymaker> you need to do A.AAB
19:45:01 <Keymaker> for example
19:45:06 <Gs30ng> that dot is trash
19:45:08 <Keymaker> add some other character between
19:45:09 <Keymaker> yes
19:45:17 <Gs30ng> we need a lot of trash in this language
19:45:20 <Keymaker> it's just another trigger that isn't used in the code
19:45:21 <Keymaker> yes
19:45:34 <int-e> no, one trash character is enough, and a few for labels
19:45:45 <Keymaker> ah
19:45:49 <int-e> labels are the real issue actually
19:45:50 <Gs30ng> int-e, that one trash character will appear a lot
19:46:01 <Keymaker> who cares?
19:46:05 <Keymaker> i like this :)
19:46:19 <Keymaker> and besides, you can use new-line as a trash character
19:46:25 <Keymaker> it doesn't make the code look too bad
19:46:37 <Keymaker> A
19:46:38 <Keymaker> AAC
19:46:41 <Keymaker> etc..
19:46:42 <Gs30ng> i don't thinks so
19:47:16 <Gs30ng> s/thinks/think
19:47:17 <int-e> you can just comment your code, I like that
19:47:30 <int-e> > ./a.out hello.sw
19:47:31 <int-e> Hello World!
19:47:31 <int-e> > cat hello.sw
19:47:31 <int-e> Hello, world!
19:47:31 <int-e> BAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAABBAABABAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABABABBBAAAAAAAAAAAAABBABBBBAAAAAAAAAAAAABBBAABAAAAAAAAAAAAAABBABBAAAAAAAAAAAAAAABBAABAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAABABA
19:47:38 <Gs30ng> some operations that deeply related to each other will be divided in 2 line
19:47:45 <int-e> (ignore the missing ,)
19:47:49 <Keymaker> hmm.
19:47:58 <Keymaker> didn't get your commenting stuff int-e
19:48:06 <Gs30ng> and another operations that has no relation will be stuck
19:48:12 <int-e> just add some comment in the middle of your code
19:48:21 <int-e> like the Hello, world! line at the start of hello.sw
19:48:22 <int-e> ;)
19:48:24 <Keymaker> you mean like a.aa# This code is written by me. #
19:48:46 <Gs30ng> That's something same with Udage
19:49:18 <Keymaker> int-e: do you think self-removing sequence FFFF is necessary?
19:49:26 <Keymaker> should i keep it there?
19:49:32 <Gs30ng> what's that
19:49:42 <Gs30ng> it's like...
19:49:46 <Gs30ng> AAB operation?
19:49:49 <Keymaker> here's example:
19:50:10 <Keymaker> (wait, takes a bit time to make it up)
19:50:16 <Gs30ng> FFFF, then do an operation between F and F, then the result is always 0
19:50:27 <Gs30ng> then it goes to F
19:50:29 <Keymaker> no
19:50:34 <Keymaker> this language doesn't work that way
19:50:52 <Keymaker> if there is only one character F, it does the flip
19:51:01 <Gs30ng> then why do we need self-removing FFFF
19:51:05 <Keymaker> before that the interpreter checks if there's two F's in a row
19:51:10 <Keymaker> or perhaps three or fours
19:51:25 <Keymaker> i think it's handy
19:51:41 <Keymaker> but that's why i asked int-e if he thinks it's necessary
19:51:51 <Gs30ng> why do we need self-removing FFFF?
19:51:54 <Keymaker> wait
19:52:01 <Keymaker> i'll write an example :)
19:52:03 <int-e> i need a quick summary. F toggles, FFL is a conditional jump, what else was there?
19:52:19 <Keymaker> DDD prints 'D'
19:52:26 <int-e> ah.
19:52:33 <Keymaker> and EEEE would remove 'EEEE' from the program
19:52:34 <Gs30ng> Keymaker, what about input
19:52:38 <Keymaker> none yet
19:52:48 <Keymaker> that's a question i was going to ask here soon
19:52:49 * int-e thinks
19:52:57 <Keymaker> good, saves me from thinkin' ;)
19:53:00 * Gs30ng thinks
19:53:04 <Keymaker> :)
19:53:08 <int-e> I don't see why you'd need that
19:53:13 <Keymaker> yeah
19:53:15 <Gs30ng> me too
19:53:22 <Keymaker> i've thought that as option as well
19:53:39 <Keymaker> in fact, when i started working on the language i thought i'll make it non-input one
19:53:59 <Keymaker> perhaps that's what i'll do, i can't find any elegant way storing input
19:54:16 <int-e> you can always introduce a special switch that reads a bit from input
19:54:19 <int-e> if you really need it
19:54:23 <Keymaker> no
19:55:00 <Keymaker> one way could be to make for example EEEEE to store a bit from input to E
19:55:26 <int-e> or that
19:55:32 <Gs30ng> i can't like this language because of trash letters, but it could be more handy than Udage
19:55:51 <Keymaker> well, everyone's got their own opinions :)
19:55:56 <Keymaker> i have never heard of udage
19:56:04 <int-e> well, you have trash letters anyway in the moment that you introduced labels.
19:56:11 <Gs30ng> new name of Switch
19:56:13 <Gs30ng> Udage is
19:56:16 <Keymaker> ah
19:56:40 <Keymaker> int-e: me?
19:56:50 <int-e> Keymaker: no, Gs30ng
19:56:51 <Keymaker> ah
19:57:00 <Gs30ng> you can get more info about the name at http://www.esolangs.org/wiki/Udage#Udage
19:57:11 <Keymaker> ok
19:57:22 <int-e> I'm not worried about trash letters
19:57:43 <Keymaker> me neither
19:57:52 <Gs30ng> then aren't trash yet
19:58:17 <Gs30ng> but in real coding in Udage they probably would be trash
19:58:27 <int-e> well, leave eliminating trash letters as an exercise to the coder then.
19:58:54 <int-e> noone codes in esolangs because it's simple.
19:58:56 <Gs30ng> instead of trash letters, what about this
19:58:56 <Keymaker> int-e: so, do you think FFFF would be useful?
19:59:17 <int-e> no. it's weird, and it's not reversible.
19:59:21 <Gs30ng> interpreter interprets 4 letters in a time
19:59:22 <Keymaker> yes
19:59:26 <Keymaker> ok
19:59:28 <Gs30ng> or 3 letters or something
19:59:42 <Keymaker> int-e: do you think that should be replaced by "get one bit from input"?
19:59:43 <int-e> I think not being reversible is the real issue. it won't be useful in a loop.
20:00:00 <int-e> that would certainly be more useful
20:00:04 <Keymaker> ok
20:00:12 <Keymaker> the language is done, then
20:00:26 <Gs30ng> it's not done
20:00:33 <Gs30ng> since Udage isn't done
20:00:39 <int-e> it's not Udage
20:00:41 <Keymaker> well, this is done
20:00:43 <Keymaker> yeah
20:00:44 <Gs30ng> suppose this
20:00:45 <Keymaker> it's Trigger
20:00:48 <int-e> it's more like brother-of-Udage.
20:00:52 <Gs30ng> user inputs
20:00:55 <Gs30ng> computer records
20:01:03 <Gs30ng> repeat until user inputs 0
20:01:21 <Keymaker> not many esolangs can access hard drive (thanks heaven)
20:01:27 <Keymaker> this won't be able to do that either
20:01:35 <Keymaker> this has user inputs and repeat until user inputs 0..
20:01:36 <Gs30ng> i haven't mentioned hard drive
20:01:39 <Keymaker> ok
20:01:41 <int-e> Trigger is not supposed to support infinite storage or be turing complete
20:01:45 <int-e> I think
20:01:46 <Keymaker> yes
20:01:49 <Keymaker> you're right
20:02:11 <Gs30ng> if you are to repeat
20:02:28 <Gs30ng> you need a switch(right? or trigger) for a time
20:02:43 <Gs30ng> 32 times repeat, 32 triggers are needed
20:03:00 <Keymaker> yes, probably
20:03:51 <Keymaker> but notice, this language is not meant to be a turing-complete
20:03:59 <Gs30ng> of course it isn't
20:04:10 <Keymaker> therefore i don't really care if repeating needs so much work
20:04:13 <Keymaker> etc..
20:04:36 <Gs30ng> but with a little addition it can do that, i think, although i don't know how
20:05:41 <Keymaker> i think it would require changes in the data storage stuff
20:05:42 <Keymaker> not sure
20:06:26 <Keymaker> 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 <Keymaker> so, there's small in-built randomness if user wants that
20:06:42 <Gs30ng> whoa
20:06:52 <Gs30ng> that's an idea
20:07:12 <Keymaker> what i meant to say there as well, is that
20:07:24 <Keymaker> that only happens if both the triggers are as far from
20:07:37 <Keymaker> the instruction sequence (for example "AAB")
20:07:42 <Gs30ng> it can be adopted into Udage
20:07:49 <Gs30ng> random choice
20:07:53 <Keymaker> feel free
20:07:59 <Keymaker> i like random in languages
20:08:12 <Gs30ng> Keymaker, how can you get that kind of splendid idea?
20:08:23 <Keymaker> well, no idea
20:08:34 <Keymaker> probably because i was thinking "should it go left or right"
20:08:54 <Keymaker> then "i can't decide".. "hey, i'll just make it random so i don't need to decide!"
20:09:13 <Gs30ng> well i'm thinking
20:09:29 <Keymaker> [although deciding it to be random was itself a decision]
20:09:59 <Gs30ng> i can apply that to nearest D toggle problem
20:10:19 <int-e> yes
20:10:26 <Keymaker> yeah
20:10:44 <Gs30ng> and esolang wiki's dead again
20:10:44 <Gs30ng> :(
20:10:48 <Keymaker> :(
20:10:59 <Keymaker> int-e: you have time to write an interpreter..? ;)
20:11:28 <Keymaker> i would do that myself but i can't really
20:11:40 <Gs30ng> Keymaker, before that why don't you confirm a specification and unveil it
20:11:53 <Keymaker> yeah, that's what i should do
20:12:02 <int-e> I was going to say: Gimme a spec. :)
20:12:05 <Keymaker> ok
20:12:10 <Keymaker> i'll write the spec first
20:12:13 <Keymaker> :o)
20:15:17 <Gs30ng> Udage will take a lot more time to decide the spec, because of my desire to be turing complete
20:15:23 <Gs30ng> but Trigger doesn't, right?
20:15:58 <Gs30ng> so Trigger will make it's spec earlier than Udage
20:16:06 <Gs30ng> this is fun
20:17:46 <Gs30ng> original comes after one originated from it
20:17:58 <Keymaker> :)
20:18:05 <Keymaker> yes
20:18:07 <Gs30ng> :)
20:18:25 <Gs30ng> oops
20:18:29 <Keymaker> do you want the name 'Gs30ng' to be credited or want me to use some other name?
20:18:55 <Gs30ng> as you wish
20:18:59 <Gs30ng> sorry i gotta go
20:19:00 <Keymaker> ok
20:19:04 <Keymaker> bye
20:19:19 <Gs30ng> it was amazing conversation
20:19:25 <Gs30ng> all you guys really helped me
20:19:25 <int-e> bye Gs30ng
20:19:32 <Gs30ng> thanks a lot again
20:19:34 <Keymaker> 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 <GregorR-W> 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 <GregorR-W> (Then the only hard part is ... well, writing the interpreter in BF)
21:26:56 <int-e> right
21:27:28 <GregorR-W> But heck, compared to s/char/wchar/, that's easy :P
21:30:11 <GregorR-W> 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 <int-e> I think I do
21:31:34 <GregorR-W> Could you email it to AKAQuinn@hotmail.com ?
21:32:18 <int-e> get it at http://www.inf.tu-dresden.de/~bf3/egobf-0.7.tar.bz2
21:32:29 <int-e> I'll remove it afterwards
21:32:30 <GregorR-W> Ah, that works - rescue #3, you rock :)
21:32:54 <GregorR-W> Got it.
21:35:34 <GregorR-W> http://www.codu.org/egobf-0.7.tar.bz2
21:41:00 -!- calamari has joined.
21:41:14 <calamari> hi
21:42:22 <GregorR-W> Hoi calamari
21:43:31 <calamari> how's it going hat-fiend? :)
21:43:54 <GregorR-W> 11 now.
21:44:01 <GregorR-W> Oh, I still haven't posted a picture of me in the fez.
21:44:07 <GregorR-W> Thank you for reminding me ;)
21:44:12 <calamari> haha
21:44:28 <GregorR-W> My randomizer told me to wear the fez tomorrow, so I'll have the opportunity.
21:46:09 <Keymaker> :)
21:46:18 <Keymaker> yeah, i noted you about that in your guestbook
21:46:29 <Keymaker> (that you should update your hat gallery)
21:46:42 <GregorR-W> Not that I ever read my guestbook :P
21:47:46 <GregorR-W> 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 <calamari> yeah, I need to overhaul my webpages too.. not standard compliant
21:48:49 <GregorR-W> My main page is actually finally 100% compliant, just fixed it recently.
21:48:57 <calamari> I keep waiting until I write a program that will build the pages for me..
21:49:07 <Keymaker> hehe
21:49:13 <calamari> other projects always seem like more fun than that ;)
21:49:48 <GregorR-W> The lazier I get the more pages I make run Giki.
21:50:18 <GregorR-W> Even if I don't let other people edit, it's still quicker than muddling with the HTML/PHP/CSS/etc.
21:58:30 <calamari> that's actaully not a bad idea
21:58:54 <calamari> perhaps a giki where the editing isn't visible without a special tag
21:59:44 <calamari> one of the things I've wanted is an auto site-map builder
22:07:58 * GregorR-W smells a GikiPlugin ;)
22:16:52 <calamari> plugins must be very powerful if such a thing is possible via a plugin
22:17:17 -!- Aardwolf has quit ("Leaving").
22:17:34 <GregorR-W> It is.
22:17:39 <GregorR-W> GikiPlugins are super-powerful.
22:17:43 <GregorR-W> RecentChanges is a plugin.
22:17:59 <GregorR-W> Plugins switch between HTML, WikiSyntax and BBCode ...
22:18:45 <GregorR-W> FCKeditor is in a plugin.
22:18:55 * GregorR-W is searching for all the particularly powerful plugins :P
22:21:24 <calamari> http://giki.sourceforge.net/edit.php?title=Downloads#
22:22:11 <GregorR-W> Yes, the SourceForge element is a plugin too, but not particularly powerful :P
22:22:17 <calamari> clicking WikiSyntax shows a help page, but it doesn't seem to render correctly.. is this a bug?
22:22:34 <GregorR-W> Yes it is, however it's a known bug.
22:22:47 <GregorR-W> I switched the page to CSS instead of tables, and that got screwy.
22:23:09 <calamari> oic..
22:23:44 <GregorR-W> However, I switched the default template too, so the default template is broken 8-D
22:26:02 <GregorR-W> (Only if you have the Subwindow rendering plugin)
22:41:51 <Keymaker> phew.. i'm almost ready with trigger specs
22:41:52 <Keymaker> i think
22:44:32 <int-e> o_O
22:47:22 <Keymaker> :)
22:47:32 <Keymaker> now i'm trying to find some good quote
22:47:42 <GregorR-W> Come ooooooooooooon, write an interpreter in BF :)
22:47:54 <GregorR-W> All the cool kids write their interpreters in BF.
22:47:59 <Keymaker> yes
22:48:04 <Keymaker> but i never was kool kid
22:48:10 <GregorR-W> lol
22:48:31 <Keymaker> :)
22:48:51 <Keymaker> actually bf interpreter for this language wouldn't be that hard
22:53:08 * Keymaker goes to brush teeth
22:57:18 <int-e> 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 <Keymaker> ok
22:58:39 <Keymaker> i'll post the link here
22:58:45 <Keymaker> nite
22:59:04 <int-e> bye
22:59:05 -!- int-e has left (?).
23:02:49 -!- graue has joined.
23:21:00 <Keymaker> TRIGGER SPECS (capitalized so int-e can notice them more easily)
23:21:01 <Keymaker> http://koti.mbnet.fi/yiap/trigger/trigger.html
23:21:10 <graue> Trigger?
23:21:15 <Keymaker> feel free to ask questions and point out the flaws
23:21:20 <Keymaker> a new esolangs
23:21:33 <Keymaker> read
23:33:13 <Keymaker> graue: read?
23:34:08 <GregorR-W> 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 <Keymaker> ?
23:39:38 <Keymaker> 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 <Keymaker> 'nite
23:39:48 <graue> bye
23:39:55 <Keymaker> bye
23:39:57 -!- Keymaker has quit ("Funkadelic!").
23:42:35 * pgimeno catches up with the backlog and goes phewwww!
23:43:35 <graue> the backlog is smelly?
23:43:59 <pgimeno> like: phew! I did it
23:44:16 <pgimeno> maybe I should have used a different exclamation
23:47:34 <calamari> whew!
23:48:49 <calamari> thought I had the item logic worked out for my game.. not good enough tho!
23:50:04 <kipple_> 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 <calamari> no :(
23:50:47 <calamari> working on my 2k adventure game entry
23:50:47 <kipple> too bad ;)
23:50:51 <kipple> ah yes
23:51:11 <graue> kipple would be a fun language for programming games in IF ONLY it had interactive I/O
23:51:29 <kipple> well, in time it will
23:51:41 <graue> or, alternately, if a program could call itself again
23:51:53 <graue> with the current o stack as the program's i stack next time
23:52:04 <graue> wait, that wouldn't work
23:52:10 <kipple> now THAT is an interesting suggestion...
23:52:11 <graue> I don't know, something like that
23:52:21 <kipple> why wouldn't it work?
23:52:28 <graue> how would you do actual output to the user? or get actual input from the user?
23:52:41 <graue> if you could, say, preserve the r stack between executions, that might be something
23:52:48 <kipple> hmm
23:53:15 <kipple> anyway, it will all be solved with the next version of Kipple (whenever that will be done.....)
23:54:29 <kipple> so, calamari, what are you coding the game in? assembler?
23:54:41 <calamari> yeah 8088 asm
23:54:59 <calamari> using ms-dos int calls
23:55:14 <kipple> is the 2k limit on the source code or the binary or both?
23:56:04 <calamari> for interpreted languages there is a different limit, I think it's 2899 bytes of source
23:56:18 <calamari> the source doesn't matter for compiled/assembled languages
23:56:42 <calamari> I can't remember the max binary size, but iirc more than 2048 bytes (which makes no sense)
23:57:17 <calamari> and you also get an 8k data file
23:58:19 <calamari> ahh here is the binary number, 2799 bytes
23:59:21 <calamari> then also, if you really want, you can use 2929 bytes for an interpreted source :)
23:59:45 <calamari> the rules of the contest are esoteric, at least.. hehe
2005-07-27
00:01:17 <kipple> haah
00:03:09 <GregorR-W> So.
00:03:31 <GregorR-W> This channel is always alive and active, isn't it.
00:03:37 -!- BigZaphod has quit.
00:03:38 <GregorR-W> (Or totally dead)
00:09:46 <lament> 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 <GregorR-W> CPU0: Temperature over threshold, switching to a lower frequency
00:36:27 <jix> is there a brainfuck hexdump?
00:36:39 <GregorR-W> Ooooh, that would be fun.
00:36:48 <GregorR-W> And by "fun", I mean "death", but still fun.
00:37:01 <jix> or an bf snipped for output a number as hex?
00:37:18 <GregorR-W> I haven't heard of one.
00:38:10 <jix> grml so i've to write one on my own
00:38:42 <jix> calamari: thanks for the brainfuck algorithms
00:39:02 <jix> i'm writing a adler32 checksum in brainfuck
00:42:24 <GregorR-W> Cool
00:44:12 <jix> i'm done with the checksum
00:44:16 <jix> but i need hex output
00:44:29 -!- GregorR-W has quit (Remote closed the connection).
01:03:39 <jix> i need help
01:03:51 <jix> i'm too stupid for outputing a cell as hex
01:04:58 <jix> calamari: do you have an algorithm for that?
01:05:38 <pgimeno> GregorR posted recently a division/reminder algorithm
01:06:12 <jix> that's an universal algorithm
01:06:18 <jix> i need one for /%16
01:06:27 <jix> that's shorter and fits better
01:07:06 <pgimeno> well, for nonwrapping a generic divide-by-constant will be needed, I guess
01:07:23 <jix> and for wrapping?
01:07:33 <pgimeno> not sure
01:08:11 <pgimeno> is efficiency a concern?
01:08:26 <jix> uhm shouldn't be too slow
01:09:47 <pgimeno> I was thinking about 4 chained tests for parity but that's probably too long anyway
01:11:53 <pgimeno> actually a mul-by-16 would isolate the reminder quickly, then you need div-by-16
01:11:58 <pgimeno> (for wrapping)
01:12:09 <jix> hah thank you
01:12:24 -!- GregorR-W has joined.
01:12:29 <pgimeno> s/reminder/remainder/
01:13:02 <pgimeno> then you subtract the remainder from the original number and do a div-by-16 again
01:13:42 <pgimeno> divexact is often faster than div, especially when you know the divisor beforehand, I think
01:14:34 <pgimeno> oh, I'm being dumb... a [---------------->+<] would do
01:15:58 <jix> [->+>+<<]>>[->++++++++++++++++<]>[----------------<+>]<[->+<<<+>>]<<[->-<]>[---------------->+<] reads number from cell 0 puts div16 into cell 2 and mod16 into cell 3
01:15:59 <GregorR-W> 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 <jix> lol
01:17:01 <pgimeno> nice, jix
01:17:09 <jix> but that's a bit long
01:18:30 <pgimeno> maybe you can do *16 as *4*4
01:18:46 <pgimeno> not sure if it's any gain though
01:20:15 <pgimeno> anyway that looks smaller than a generic division
01:21:41 <jix> [->+>+<<]>>[->>++++[-<++++>]<<]>[>++++[-<---->]<<+>]<[->+<<<+>>]<<[->-<]>[<++++[->----<]>>+<]
01:21:48 <jix> a few byte shorter
01:22:25 <jix> the problem is 0123456789abcdef are not in a row
01:22:58 <pgimeno> oh, right, I forgot
01:23:52 <pgimeno> x += (x > 9) * 7
01:28:22 -!- calamari has quit ("Leaving").
01:28:45 <jix> pgimeno: how
01:28:52 <pgimeno> with this: b[-]+++++++++a[b-a-] b = 0 if a < 9
01:29:23 <jix> ah
01:29:31 <pgimeno> er, no
01:30:15 <pgimeno> sorry, that's a mistake
01:30:25 <jix> hmm
01:31:59 <pgimeno> maybe b[-]++++++++++[a-b-]a[b+a+]
01:32:59 <jix> no
01:33:31 <pgimeno> sorry, that's off the top of my head
01:33:35 <pgimeno> but I'm a bit sleepy
01:34:36 <pgimeno> so I'd better leave and have some rest before going on with these attempts
01:35:00 <jix> naaah
01:35:06 <pgimeno> good night all
01:35:07 <jix> i wan't to finish this program
01:35:10 <jix> good night pgimeno
01:40:35 <jix> hah i have a solution (i think so)
01:40:37 <jix> 316 byte but it works
01:55:02 <jix> NOOO
01:55:37 <jix> jix: READ THE SPECS CAREFULLY!!!
01:56:18 <jix> anyway the hexprint is cool
01:58:42 <jix> gn8
02:00:04 <jix> hey it's Fletcher's checksum i implemented
02:00:30 <jix> ah no
02:00:52 <jix> :(
02:01:05 <graue> :(
02:01:22 <jix> maybe i can make it fletcher's checksum
02:01:29 <jix> that's simpler than adler32
02:01:39 <graue> wait, I thought it was already Fletcher's checksum
02:02:07 <jix> 03:01:33<jix>ah no
02:02:23 <jix> the modulo is wrong by 1 for adler it's wrong by 15
02:02:28 <jix> but that's a fixable problem
02:03:34 -!- kipple has quit (Read error: 60 (Operation timed out)).
02:09:02 <graue> brainfuck is kind of useless for binary files, isn't it?
02:14:33 <jix> graue: yes it is
02:14:41 <jix> n8
02:14:56 <jix> i'm too sleepy for fixing my feltcher/adler32
02:15:51 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
02:45:25 <lament> brainfuck is kind of useless
02:47:45 <graue> not for text
02:48:09 <graue> brainfuck is useless for binary files because one of the possible byte values has to also mean EOF
02:48:21 <graue> that isn't a problem with text
02:51:50 -!- BigZaphod has joined.
02:52:30 <lament> well, no, brainfuck is still kind of useless :)
02:57:08 -!- calamari has joined.
02:57:11 <calamari> 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 <GregorR> Stupid network.
03:39:18 -!- GregorR has quit (Client Quit).
03:40:04 -!- GregorR has joined.
03:40:12 <GregorR> Stupid network.
03:45:27 <GregorR> BTW, SPARC is nasty even for RISC.
03:45:41 <GregorR> 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 <GregorR> *WHEW*
04:39:24 <GregorR> Got add implemented!
04:56:13 -!- cmeme has quit (No route to host).
05:01:17 <GregorR> Gah, I just realized why this doesn't work, I'm using big-endian constructs on a little-endian system :P
05:33:25 <GregorR> Hey, I have a sparc cross compiler! How bizarre!
05:44:20 <GregorR> 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 <GregorR> Hoi
06:20:30 <GregorR> 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 <calamari_> yeah.. then my inet connection cut off (4 hour dialup limit)
07:04:37 <calamari_> the original bitchanger had a really dumb view of i/o
07:05:04 <calamari_> it was probably unworkable.. i didn't really know how to do it correctly.. still not sure that I do
07:06:32 <calamari_> it was going to be memory mapped, 8 bits contiguous
07:07:05 <calamari_> how does memory mapping usually work?
07:07:32 <calamari_> output seems easy enough, like set the bits and then set another bit to indicate a send
07:07:33 <GregorR> 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 <GregorR> 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 <calamari_> yeah, just thinking the same :)
07:08:30 <calamari_> because bit 0 can't really be set.. oops :)
07:08:41 <GregorR> *shrugs*
07:08:45 <GregorR> Is little matter.
07:09:14 <GregorR> 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 <GregorR> 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 <calamari_> 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 <GregorR> Heheh
07:11:10 <GregorR> For every purpose besides super-optimization, I concur.
07:11:11 <GregorR> However, when egobfc2m becomes the fastest complinterpreter on both i386 AND SPARC, I will feel quite ... well, egotistical.
07:11:20 <calamari_> 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 <GregorR> 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 <calamari_> 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 <calamari_> been burnt too many times
07:13:52 <GregorR> That reminds me, can I borrow your book on ... ;)
07:14:17 <calamari_> no.. check half.com ;)
07:14:42 <GregorR> Ahahaha
07:17:38 <calamari_> anyhow.. implement i/o however you like
07:18:15 <GregorR> Caaaaaaaaaan do!
07:18:33 <calamari_> then write it up on the wiki and I'll call that the standard :)
07:19:01 <GregorR> Nooooooooooooo!
07:19:08 <calamari_> or tell me how you did it and I'll write it up
07:19:41 <GregorR> Horrible explosion :(
07:19:41 <GregorR> 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 <calamari> your machine just blew up?
07:20:59 <GregorR> lol, no, egobfc2m for sparc blows up if you try to output :P
07:21:19 <calamari> oh.. hahaha
07:22:08 <GregorR> +-<> all work however 8-D
07:23:13 <calamari> I forced myself not to learn the asm of my hp48, because I'd have a portable goof-off machine.
07:23:46 <lament> AWWW
07:23:52 <lament> i mean aww
07:23:55 <lament> hp48 though...
07:24:42 <calamari> yeah.. 64bit cpu. pretty neat
07:31:04 <GregorR> YES!!!!!!!!!!!!!!!!!!
07:31:07 <GregorR> AHAHAHAHAHAHAHAHAHAHAHAH!!!!!!!!!!!!!!!!!!
07:31:11 <GregorR> I AM THE CHAMPION!!!!!!!!!!!!!!
07:31:19 <GregorR> 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 <GregorR> YESSS!
07:53:13 <GregorR> 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 <calamari> 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 <grimace_> 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 <Gs30ng> hi
11:11:33 <Gs30ng> i'm back here
11:19:46 <int-e> hi Gs30ng
11:22:45 <Gs30ng> i'm working on making xml pages for udage. i think there would rather be some official pages for this
11:25:06 <Gs30ng> 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 <Keymaker> hello
11:39:17 <Gs30ng> hi
11:39:28 <Gs30ng> congratulations Keymaker
11:39:37 <Gs30ng> for your new esolang
11:42:55 <Keymaker> thanks
11:44:04 <Gs30ng> you mentioned about turing-completeness in your spec but i'm afraid that Udage will be turing incomplete too :(
11:45:00 <Keymaker> i mentioned my language is NOT turing complete
11:45:16 <Gs30ng> and Udage will be turing complete, you said
11:45:29 <Gs30ng> ...right? or something like that, whatever
11:45:47 <Keymaker> yeah, probably
11:45:55 <Keymaker> as i thought it will be turing complete
11:46:06 <Gs30ng> maybe... you're right in that point. it's really hard to make it turing complete without any specific instructions.
11:46:14 <Gs30ng> i need a lot of repeatation
11:47:30 <Gs30ng> maybe your language is worth more as a marvelous toy
11:47:47 <Keymaker> yes, it's just a toy
11:47:56 <Gs30ng> i'm obfuscated. i may give up turing completeness
11:48:00 -!- jix has joined.
11:48:24 <jix> moin moin
11:48:32 <Keymaker> yo
11:48:42 <Gs30ng> niom niom
11:50:05 <jix> Gs30ng: niom?
11:50:15 <jix> moin!
11:50:24 <Gs30ng> uhm
11:50:29 <Gs30ng> pandemoniOm?
11:50:41 <Gs30ng> ok
11:50:42 <Gs30ng> moin
11:50:45 <Gs30ng> what's moin?
11:51:02 <Gs30ng> i heard about an wikiwiki system named moinmoin
11:51:28 <jix> moin (plattdeutsch (german diakect)) is short for mojen tach => guten tag (german) => good day (english)
11:52:32 <Gs30ng> oh
11:53:10 <Gs30ng> moin
12:08:59 -!- yrz\werk1 has changed nick to fede.
12:09:14 -!- fede has changed nick to Fedo1a.
12:09:39 <jix> +[++[->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<]+] add cell 0 to cell 1 if cell 1 overflows add 1 to cell 2. cell 3 is temp
12:09:43 <jix> not tested but should work
12:09:54 <jix> much shorter than my old implementation...
12:10:01 <jix> aahh wrong snippet
12:10:08 <jix> [->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<]
12:10:11 <jix> only this part
12:12:32 <Keymaker> hmmm. does this assume wrapping cells?
12:26:29 <jix> yes
12:28:41 <jix> but works with any cell size
12:28:50 <int-e> ugh
12:29:00 <jix> int-e: ?
12:29:54 <int-e> 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 <jix> have to go now...
12:30:35 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
12:31:11 <int-e> 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 <int-e> :)
12:31:23 <Gs30ng> well
12:31:29 <Gs30ng> thanks
12:31:39 <Gs30ng> but still there would be a lot of changes in spec, i think
12:31:45 <Gs30ng> to make it turing complete
12:32:06 <int-e> yes. there's a reason that I don't call it udage.c, say ;)
12:32:57 <Gs30ng> so if you are tired of fixing things again and again, just wait for settled spec
12:33:22 <Gs30ng> i feel sorry to bother you every time i change the spec
12:33:30 <int-e> it was a side effect of making a trigger interpreter
12:34:23 <Gs30ng> currently we have 3 operations in udage
12:34:30 <int-e> (http://www.inf.tu-dresden.de/~bf3/trigger.c)
12:34:36 <Gs30ng> NOT ( 1 time udage )
12:34:44 <Gs30ng> NANDNP ( 2 times udage )
12:34:53 <Gs30ng> I/O ( 4 times udage )
12:35:08 <Gs30ng> and i found that i can make 3 times udage operation
12:35:22 <Gs30ng> because AAABC and AABAC does exactly same thing
12:35:49 <Gs30ng> so one of them are not necessary
12:36:06 <Gs30ng> which means i can assign an operation to AAA(blah blah)
12:36:08 <int-e> not quite correct - a different switch is changed by the two instructions
12:36:27 <Gs30ng> uhm
12:36:37 <Gs30ng> i beg your pardon?
12:36:56 <int-e> AAABC changes the A switch, AABAC the B switch, or did I miss another change there?
12:37:44 <Gs30ng> well
12:37:47 <Gs30ng> in current spec
12:37:48 <Gs30ng> AABCD performs B NAND C and put the result to A(B and C has no change),
12:38:08 <int-e> but of course, AAABC and BBABC and CCABC all do the same thing
12:38:29 <int-e> to A? ah! that's my mistake then
12:39:13 <int-e> ok, thanks
12:39:13 <Gs30ng> maybe you misread it because of a lot of spec changes. i feel sorry for that
12:39:25 <int-e> I didn't actually read the spec change for NAND
12:39:45 <int-e> and don't feel sorry, it's my fault that I try to keep that interpreter up to date.
12:39:56 <int-e> I could stop any moment :)
12:40:37 <Gs30ng> ok then i'm gonna assign something to 3 times udage operation
12:40:48 <Gs30ng> this time it'll be turing complete, i hope
12:45:01 <Gs30ng> int-e, what do you think about this
12:45:20 <Gs30ng> i think the first operand and instruction must be different
12:45:47 <Gs30ng> they could be misread as some more repeatation
12:51:20 <int-e> Well, right now the longest matching pattern wins, which has that effect except for the I/O operation.
12:51:46 <Gs30ng> that's right but i may add 5 times udage operation
12:52:01 <Gs30ng> i thought about way like this:
12:52:11 <Gs30ng> AAA or AAAA starts the instruction
12:52:16 <Gs30ng> and get some operands
12:52:23 <Gs30ng> until A appears again
12:52:58 <int-e> that's certainly possible
12:53:11 <Gs30ng> 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 <Gs30ng> but AAAA operation, and maybe AAA operation needs
12:54:00 <int-e> 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 <Gs30ng> ok then i'll add it in my new spec
13:06:06 <Gs30ng> and int-e, you know that if we do that then a code like BAAAAAAAA...(Hello, World! code) woudn't work
13:06:51 <Gs30ng> to print something we need at least 3 characters(0, 1, instruction) then
13:08:20 <int-e> I know
13:09:01 <Gs30ng> ok, i was just too nervous
13:11:02 <int-e> but the hello world would become shorter, too
13:14:34 <int-e> something like BCCCCBAABAAACCCCCBBAABABCCCCCBBABBAACCCCCBBABBAACCCCCBBABBBBCCCCCBABBAACCCCCBAAAAACCCCCBBBABBBCCCCCBBABBBBCCCCCBBBAABACCCCCBBABBAACCCCCBBAABAACCCCCBAAAABCCCCCBABAC
13:18:58 <Gs30ng> nice
13:49:00 <Keymaker> 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 <Gs30ng> because of Nearest D thing, some trash characters are necessary to control the length to D
14:16:04 <Gs30ng> i don't like this and now i got an idea
14:16:13 <Gs30ng> i'll make it value-of-D-dependant
14:16:21 <GregorR> 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 <Gs30ng> if D is 0 then jump to forward D
14:16:35 <Gs30ng> if D is 1 then jump to backward D
14:17:16 <GregorR> And if D is 0 and there isn't a forward?
14:17:33 <Gs30ng> terminates
14:17:46 <Gs30ng> just like we've been did
14:17:59 <Gs30ng> s/did/doing
14:18:31 <GregorR> Ah, makes sense
14:18:43 <Gs30ng> same rule for when D is 1 and no backward D
14:19:29 <Gs30ng> now there would be less trash codes (i'm not sure 'no' trash codes would be there)
14:22:42 <Gs30ng> 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 <Gs30ng> what's this
14:57:36 <Gs30ng> why do i have so many already-known people here
14:57:38 <Gs30ng> -_-;
14:58:00 <klutzy> who you know?
14:58:12 <Gs30ng> you
14:58:19 <klutzy> really?
15:04:12 -!- ditto has quit (Client Quit).
15:09:31 <Aardwolf> hey, does anyone know the difference between the BSD license and the GPL license?
15:10:32 -!- graue has joined.
15:13:08 <int-e> *the* difference?
15:14:00 <int-e> 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 <Gs30ng> so BSD is something like LGPL?
15:15:20 <Aardwolf> I licenced something under BSD instead of GPL because I found GPL so long
15:15:28 <Aardwolf> I don't think I'd make a good lawyer, would I? :D
15:15:32 <klutzy> ..
15:16:18 <int-e> 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 <lindi-> Aardwolf: which BSD license are you talknig about btw?
15:17:14 <int-e> in short, Microsoft loves BSD code and despises GPL and LGPL.
15:17:20 <Aardwolf> Hmm good question, let me try to find out
15:17:34 <int-e> the old one (with advertising clause) or the new one? hehe
15:18:44 <Aardwolf> I took the one with advertising clause, and removed the advertising part :D
15:18:48 <Gs30ng> why do i have more difficulty on writing udage spec in Korean than English?
15:19:13 <int-e> hmm, that
15:19:17 <int-e> is interesting
15:19:22 <Aardwolf> 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 <int-e> http://www.opensource.org/licenses/bsd-license.php ... that site has also many other open source software licenses.
15:20:58 <Aardwolf> 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 <Keymaker> what's the point of using licenses?
15:21:08 <Aardwolf> *I mean, what THEY want
15:21:16 <klutzy> ..
15:21:19 <int-e> without licenses, noone has the right to use your code in any way, technically.
15:21:26 <Keymaker> yes.
15:21:38 <Keymaker> but if someone uses, there's no way to find it out
15:21:44 <Keymaker> especially if the product is compiled
15:22:11 <int-e> well, it's usually possible to find out, if the software wasn't trivial
15:22:22 <int-e> it'll be harder to convince a court of this though.
15:22:29 <Gs30ng> and that's why we are to write all codes in... like... befunge?
15:22:36 <Keymaker> :)
15:22:53 <Keymaker> esoteric languages are good choice for protecting the software you've written
15:23:08 <Keymaker> often it's extremely hard to borrow parts of esoteric language programs
15:23:10 <klutzy> and making bugs
15:23:23 <int-e> (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 <int-e> the same goes for the algorithms that are being used.
15:23:52 <Keymaker> but well, changing them all a bit is easy
15:24:17 <Gs30ng> ...should i make udage so hard to compile?
15:24:28 <Keymaker> no
15:24:33 <Keymaker> there's no point
15:24:34 <Gs30ng> why
15:24:45 <Keymaker> if someone really wants to use other's code without permission
15:24:45 <Gs30ng> like, self-modifying codes?
15:24:50 <Keymaker> they can do it
15:24:57 <Keymaker> and nobody can't prevent it
15:25:11 <klutzy> ...
15:25:14 <Gs30ng> you mean nobody *can* ?
15:25:17 <int-e> Keymaker, just keep your code to yourself ;)
15:25:21 <Keymaker> :p
15:25:26 <int-e> noone will steal it then.
15:25:30 <Keymaker> no
15:25:36 <Keymaker> i don't care if someone rips my code
15:25:42 <Keymaker> it's just not fun
15:25:46 <Keymaker> i have code released in web
15:25:52 <Keymaker> (see bf-hacks.org for example)
15:25:57 <Keymaker> btw, been there int-e?
15:26:09 <Gs30ng> Keymaker license is enough for me
15:26:17 <Keymaker> :)
15:26:23 <int-e> 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 <Gs30ng> just telling me, "i want to use your idea"
15:26:50 <Gs30ng> 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 <Keymaker> what if i license #include <stdio.h>
15:27:24 <Keymaker> int main(){printf("Hello world!");}
15:27:34 <Keymaker> someone else has done it before me
15:27:41 <Keymaker> and probably licensed
15:27:48 <Keymaker> can they sue me then?
15:27:51 <int-e> well, you'll have to prove that it was copied from *you*
15:28:01 <Gs30ng> there's already a lot of precedents, Keymaker
15:28:12 <Keymaker> yes
15:28:15 <int-e> 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 <Keymaker> no
15:28:30 <Keymaker> i don't
15:28:59 <Keymaker> but how can i be sure that nobody hasn't made the exactly same piece of code before and licensed it?
15:29:13 <Keymaker> i need to go through every released code..
15:29:30 <Gs30ng> you can search some precedents to make sure what kind of codes are possible to be proved that it's copied
15:29:31 <int-e> nah. it doesn't work that way
15:29:42 <int-e> the other side has to prove that you copied their code.
15:29:46 <Keymaker> ah
15:30:35 <Keymaker> well, i'm not using any licenses, still :)
15:30:36 <int-e> (this is different from patent law where you can unknowingly infringe a patent)
15:30:49 <Keymaker> 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 <klutzy> ouch
15:50:42 <Keymaker> :9
15:50:47 <Gs30ng> ...now THIS is esoteric.
15:51:04 <Keymaker> 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 <int-e> :P
15:52:03 <Keymaker> :)
15:52:09 <klutzy> (:
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 <Keymaker> doh
15:54:12 <Keymaker> the nick didn't change to 'Just'
15:54:12 <Keymaker> :p
15:54:21 <Keymaker> i'll just disappear..
15:54:26 * Keymaker disappears
15:54:27 <int-e> do you know programming languages where (: and :) are language tokens?
15:54:37 <int-e> I know they are in LPC.
15:54:46 <Keymaker> probably that emoticon language
15:54:50 <Keymaker> never tried it though
15:58:38 <Gs30ng> who can handle that ChanServ?
15:59:33 <fizzie> What about chanserv?
16:00:07 <graue> GregorR: yes, I know Brainfuck with >8 bit cells is potentially non-useless
16:01:11 <fizzie> "Keymaker for fun" sounds interesting. :p
16:01:48 <Keymaker> :p
16:02:28 <Keymaker> 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 <Gs30ng> q:
16:02:43 <Gs30ng> who uses the nickname 'just'?
16:02:49 <Gs30ng> oops
16:03:04 <Gs30ng> he(she?) seems joining no channel
16:03:28 <Keymaker> yes
16:03:29 <int-e> well, it could be a secret channel
16:03:41 <Keymaker> there are secret channels too?
16:03:42 <klutzy> maybe "she" is a man
16:03:43 <klutzy> or not
16:04:09 <fizzie> Channels with the mode +s don't show in whois.
16:05:00 <Keymaker> ok
16:05:56 -!- Fedo1a has quit (Read error: 110 (Connection timed out)).
16:09:09 -!- Fedo1a has joined.
16:53:50 <GregorR> Keymaker: You really really REALLY ought to license your code.
16:54:18 <GregorR> 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 <Gs30ng> really?
16:55:39 <GregorR> Code without a license cannot be redistributed or modified legally.
16:56:01 <Gs30ng> do we need that? i mean, if we don't note it, doesn't it automatically preserved by law?
16:56:11 <lindi-> it can be modified but you can't distribute the modifications :)
16:56:27 <GregorR> Err, yes, lindi- is correct.
16:56:50 <int-e> 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 <GregorR> 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 <GregorR> int-e: True ;)
16:57:53 <int-e> 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 <GregorR> (Actually, with snippets of code "fair use" comes in and then it's sort of nebulous)
16:59:57 <GregorR> Furthermore, if the author did take action, I think they'd be laughed out of court ;)
17:00:30 <graue> I think that at least particularly long programs, and/or implementations of languages, should have an explicit license
17:01:08 <GregorR> I 100% agree.
17:03:33 <Gs30ng> 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 <graue> interpreters or compilers
17:04:12 <Gs30ng> aha
17:07:58 <Keymaker> this trigger program, "# You can freely modificate this source and distribute it."
17:08:24 <Keymaker> looks like it's a comment, but it really just changes flips some triggers and tries to do some jumps
17:09:02 <Keymaker> so, don't believe everything there reads in program :)
17:09:17 <GregorR> It also doesn't help that "modificate" isn't a word :P
17:09:28 <Keymaker> :)
17:09:34 <Keymaker> yes it is!
17:10:00 <int-e> but it's not in the dictionary
17:10:10 <Keymaker> who cares!
17:10:14 <Keymaker> (i was joking)
17:17:39 <GregorR> Anybody have a PowerPC or AMD64/EM64T?
17:18:26 -!- BigZaphod has quit.
17:18:28 <fizzie> "Yes."
17:18:39 <graue> yes, someone somewhere does
17:19:01 <GregorR> OK, good to know :P
17:19:02 <fizzie> I have a G4-iBook (that's PPC) and at work one amd64 box I can ssh to.
17:20:08 <fizzie> fis@erottaja:~$ cat > test.c
17:20:08 <fizzie> int main(void) { printf("%d\n", sizeof(long)); return 0; }
17:20:08 <fizzie> fis@erottaja:~$ gcc -o test test.c ; ./test
17:20:08 <fizzie> 8
17:20:10 <fizzie> See.
17:20:25 <GregorR> lol
17:20:36 <GregorR> I wasn't doubtful :P
17:20:37 <fizzie> "It must be an AMD64, sizeof(long) == 8."
17:21:19 <GregorR> You could cat /proc/cpuinfo
17:21:52 <GregorR> But anyway, could you compile a test program and give me an ASM/hex dump so I can port egobfc2m?
17:22:01 <GregorR> To PPC
17:22:34 <fizzie> Uh, sure.
17:22:57 <GregorR> http://gregorr.homelinux.org/egobf-0.7.tar.bz2 < the instructions are in the "PORTING" file.
17:23:19 <graue> is that a releasE?
17:23:33 <GregorR> Yeah.
17:24:18 <GregorR> 0.8 will have SPARC and (hopefully) PPC support 8-D
17:26:33 <fizzie> 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 <GregorR> Oh, my fault >_>
17:26:47 <GregorR> One sec.
17:26:57 <fizzie> It's already been 10 secs.
17:27:17 <GregorR> Har har.
17:27:18 <GregorR> It's back.
17:27:35 <GregorR> I forgot to reenable port forwarding when my network went screwy ...
17:27:51 -!- calamari has joined.
17:27:54 <graue> too bad you can't use UPnP or whatever
17:27:57 <calamari> hi
17:28:01 <graue> hi
17:28:07 <GregorR> Hully calamari
17:28:20 <GregorR> OK, hully works, hullo might have been more logical :P
17:29:52 <calamari> hi gregor
17:31:17 <GregorR> 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 <GregorR> That way, I don't have to have an extra bit floating around, since I wasted 7 in padding :P
17:32:40 <calamari> sounds fine
17:32:52 <calamari> how do you tell i from o?
17:33:16 <GregorR> 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 <GregorR> 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 <calamari> hey, EOF bit.. that's cool :)
17:34:50 <calamari> that sounds even better
17:35:03 * GregorR makes a mental note.
17:37:18 <fizzie> 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 <GregorR> The OS is actually unimportant.
17:39:17 <GregorR> I don't do any OS-specific code.
17:40:16 <GregorR> Wooh, thanks for that 8-D
17:40:22 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
17:40:23 <fizzie> Well, the executable/object-file format is OS-specific.
17:40:35 <fizzie> If those are what you create.
17:40:47 -!- CXI has joined.
17:41:17 <GregorR> fizzie: They aren't, I just create raw machine code in memory.
17:41:26 <GregorR> fizzie: That is, they aren't what I create.
17:42:35 <fizzie> Ah, right.
17:48:02 <calamari> Gregor: http://esolangs.org/wiki/BitChanger :)
17:50:07 <calamari> fixed it up a little more
17:50:44 <GregorR> El the w00t.
17:50:56 <GregorR> I'll work on that this evening.
17:51:08 <GregorR> Ought to be able to bang out a non-optimizing compiler relatively quick *shrugs*
17:51:28 <graue> why are bits 0-4 unused?
17:51:28 <calamari> no rush
17:51:48 <calamari> graue: jutst so the pointer starts on an even byte, I'd assume
17:52:11 <GregorR> Yeah, pure Gregorian lazyness.
17:52:34 <GregorR> From a programmatical standpoint, it's no different, but from an implementation standpoint it's far easier.
17:52:59 <graue> 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 <calamari> wish I defined } as @> instead of >@.. oh well
17:54:57 <graue> you can change it
17:55:08 <graue> not like there's a bunch of legacy BitChanger code out there
17:55:23 <GregorR> I've implemented nothing yet, so feel free calamari
17:56:10 <graue> what happened with that Brainfuck frontend for gcc that someone was going to do?
17:58:12 <calamari> well, the original was >@ .. it feels dishonest to change it 5 years laterg
17:58:22 <calamari> brb.. connection way slow
17:58:25 -!- calamari has quit ("Leaving").
18:03:52 -!- calamari has joined.
18:03:56 <calamari> that's better
18:04:20 <calamari> wonder if my shell providere was beign attacked or something
18:04:38 <lament> i'm stealing their servers one by one
18:05:03 <calamari> save one for me so I can check my e-mail ;)
18:25:08 <calamari> bbl
18:25:09 -!- calamari has quit ("Leaving").
18:31:19 <fizzie> Phew.
18:31:21 <fizzie> http://www.befunge.org/~fis/test_ppc_osx.s
18:31:54 <fizzie> 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 <graue> moin jix
20:05:42 <jix> 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 <calamari> hi
20:51:36 <GregorR> Gaaah, my connection sucks so much.
20:51:38 <GregorR> Hi calamari
20:51:46 <calamari> hi gregor
20:52:11 <calamari> what are you complaining about cable boy?
20:52:32 <GregorR> I keep getting discon--ohh, 56k AHAHAHAHAHAHAHA
20:52:33 <GregorR> ;)
20:55:33 <calamari> channel log isn't up to date.. weird
20:58:08 <GregorR> Who's clog? cmeme does the logging, right?
20:59:47 <calamari> http://tunes.org/~nef/logs/esoteric/05.07.27
21:04:19 <graue> clog and cmeme both do the logging
21:04:26 <graue> otherwise, how would we know when one of them disconnected?
21:04:39 <GregorR> 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 <GregorR> graue: I guess that makes sense ....
21:05:03 <graue> clog looks up to date to me
21:05:19 <int-e> GregorR: I can try
21:05:35 <GregorR> No worries either way, it's just a luxury :)
21:05:48 <GregorR> After all, anybody with sparc64 can run sparc32 code.
21:07:39 <graue> is that why you aren't rushing to implement an AMD64 version, as well?
21:07:51 <int-e> cc1: -m64 is not supported by this configuration
21:08:06 <int-e> oh it's a good old gcc 2.95.3
21:08:07 <int-e> hehe
21:08:28 <GregorR> XD
21:08:31 <GregorR> No worries.
21:09:38 <GregorR> 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 <int-e> oh found another sun with gcc 3.4.2 :)
21:09:56 <int-e> let me try it there
21:10:00 <GregorR> How do you have so many SPARCs floating about?
21:10:17 <int-e> account at the university
21:10:34 <GregorR> Ahhhhhhhhhhhhhhhhhhhhh.
21:14:48 <int-e> but this one has a stupid tar. tar: z: unknown function modifier
21:15:22 <GregorR> tar cf - ... | gzip -c
21:15:25 <int-e> I know :)
21:15:31 <GregorR> OK, good.
21:15:34 <GregorR> :)
21:15:54 <GregorR> Or better yet, ar rc - ... | compress -c
21:15:57 <GregorR> Because standards are for the weak.
21:16:27 <int-e> interestingly, cpio exists
21:17:06 <int-e> http://www.inf.tu-dresden.de/~bf3/test_sparc64.tar.gz
21:17:16 <GregorR> Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaay ^_^ You rock x4
21:17:39 <int-e> and test64.0: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available
21:17:42 <int-e> :)
21:18:26 <int-e> 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 <int-e> uh, let me do that again
21:21:05 <int-e> I forgot -g
21:21:20 <GregorR> Hmm, it seems to have that information in here.
21:21:30 <int-e> really?
21:21:32 <GregorR> No wait.
21:21:37 <GregorR> I'm just dumb.
21:21:42 <GregorR> It indeed does not.
21:22:30 <int-e> ok, please download that file again
21:22:34 -!- miraage has joined.
21:23:15 -!- miraage has left (?).
21:24:00 <int-e> ah I see why -O2 is not really useful. hehe.
21:24:01 <GregorR> OK, that's good.
21:24:55 <GregorR> -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 <int-e> yes, I just saw that it combined a whole bunch of additions
21:25:27 <int-e> well doesn't hurt either
21:25:54 <GregorR> Ahh, RISC. On SPARC32, it took two instructions to put an address in a register, on SPARC64 it takes three XD
21:26:29 <GregorR> (On CISCy i386 it's not even necessary since you can just load the value at the address into a register)
21:31:42 <int-e> 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 <GregorR> Quite extreme :)
21:35:15 <int-e> I know 386 assembly quite well and I've done a little MIPS coding (well, for the SPIM MIPS simulator, actually.)
21:35:19 <int-e> btw
21:35:50 <int-e> Sparc seems to be close to MIPS.
21:38:20 <GregorR> I try to stay away from ASM in RISC whenever possible, but I've done i386 and ia64 coding.
21:38:32 <GregorR> That ", but" should be ";"
21:39:16 <fizzie> I sorta liked writing for SPIM.
21:39:29 <fizzie> At least you can remember the instruction set, unlike x86.
21:39:59 <fizzie> And it doesn't have any funny rules. "Hey, you can only input/output from the register C."
21:40:58 <GregorR> I'm just afraid of taking RISCs (pardon my terrible pun)
21:41:14 <GregorR> Not that I have anything against RISC, for RISC is excellent.
21:41:53 * {^Raven^} prefers RISC
21:43:01 <GregorR> {^Raven^}: For programming in or general use?
21:43:50 <calamari> 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 <int-e> imho usability has nothing to do with the architecture
22:49:36 <GregorR> If BF was the machine code for an architecture, would it be CISC or RISC :))
22:50:10 <GregorR> (Note that rather than relative or absolute addressing, said architecture would use magic addressing :P )
22:51:01 <fizzie> I still want to see a 2d-language processor. Befunge, for example.
22:51:35 <GregorR> Or 2L *Gregor collects his shameless plug points*
22:52:26 <fizzie> Did you see my link for the ppc output? You dropped soon after, so I can't be sure.
22:53:35 <calamari> is wierd the only 2d tarpit?
22:54:28 <GregorR> calamari: 2L is definitely a tarpit
22:54:37 * calamari checks it out
22:54:39 <GregorR> fizzie: Hmm, I don't think I did actually.
22:55:31 <calamari> awesome! :)
22:55:37 <fizzie> http://www.befunge.org/~fis/test_ppc_osx.s
22:55:56 <GregorR> calamari: Why thank you 8-D
22:56:16 <calamari> no i/o?
22:56:25 <calamari> oops
22:56:33 * calamari needs to learn how to read again
22:56:37 <GregorR> Painful I/O :)
22:59:13 <calamari> is there a standard for what happens on non-*+ ?
22:59:22 <GregorR> It's nop (hence I'm cheating)
22:59:54 <calamari> yeah.. so it's three chars.. but still cool. much like wierd actually
23:00:32 <GregorR> Actually, there are two inaccuracies on that page.
23:00:46 <GregorR> It starts going down, not right. If it was going right you couldn't turn away from the edge.
23:00:47 <calamari> hmm, I guess 4 chars including the newline
23:01:10 <GregorR> I think the newline can be ignored as an encoding entity.
23:01:48 <calamari> if playfield width is specified, sure
23:04:49 <GregorR> 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 <calamari> hard disks are one dimensional?
23:05:50 <calamari> I thought they were 3-d :(
23:05:51 <fizzie> "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 <fizzie> Heh, two-dimensional disks and rectangular files -- would be, uh, "nice" to write a file-system for that.
23:06:19 <GregorR> lol
23:06:21 -!- jix has joined.
23:06:21 -!- pgimeno has joined.
23:06:21 <calamari> hehe
23:08:15 <GregorR> defragmenting would be fun :P
23:08:34 <GregorR> Assuming the file-system even allowed fragmentation.
23:08:48 <fizzie> At least you could have nifty graphical effects when defragmenting.
23:08:56 <fizzie> "Oooh, files are flying everywhere."
23:10:09 <GregorR> XD
23:10:28 <int-e> hmm, there could be circular files, wiggly files ...
23:10:28 <GregorR> Assuming you didn't die of old age while writing the defragmenter itself.
23:10:32 <int-e> the possibilities!
23:10:37 <jix> back
23:11:11 <GregorR> 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 <GregorR> If I knew PPC ASM, I could use ppc-elf-as to figure it out ... but I don't.
23:11:43 <fizzie> Hm? (I didn't really look at the dump.)
23:12:03 <GregorR> It doesn't divide it into functions or show what corresponds to what code.
23:12:26 <GregorR> So it's just a huge chunk of unlabeled assembly in a language I don't know.
23:12:47 <jix> ppc asm?
23:12:49 <fizzie> I can compile-and-objdump it in linux. ELF objects might behave better than "mach-o-be" objects.
23:13:02 <GregorR> jix: Yeah.
23:13:15 <jix> what do you want to do with ppc asm?
23:13:18 <GregorR> fizzie: That makes sense, since objdump was designed (I think?) for ELFs originally.
23:13:18 <fizzie> "I needed to fix that dual-boot setup anyway." (Installing Tiger overwrote the linux booter.)
23:13:33 <GregorR> jix: I'm porting egobfc2m to numerous platforms.
23:14:12 <GregorR> I've only got i386 and SPARC so far, but I've big plans :P
23:14:34 <jix> creates egobfc2m binaries? or does it "jit" compiling?
23:14:48 <GregorR> egobfc2m is jit-ish.
23:14:54 <jix> ah
23:15:09 <GregorR> Have you not run egobfc2m?? It's faster than every interpreter and most compilers (when compilation time is included)
23:15:31 <fizzie> 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 <fizzie> Mainly, it doesn't show the bytes corresponding to the instructions.
23:15:54 <GregorR> fizzie: Making it worthless for my purposes, sadly.
23:16:12 <GregorR> Well, not quite worthless.
23:16:14 <GregorR> But nearly.
23:16:21 <int-e> GregorR: re: Sparc, is that ready to be tested?
23:16:34 <fizzie> Well, it does show the addresses, and it can dump a undisassembled hexdump, so you can cross-reference. :p
23:16:45 <jix> GregorR: are you porting it to ppc atm?
23:16:52 <GregorR> int-e: Yeah, just a sec.
23:16:55 <GregorR> jix: Thinking about it.
23:17:24 <int-e> jix, gregor said something about that just 6 minutes ago
23:17:41 <int-e> just after you said 'back'
23:17:50 <jix> oh
23:18:12 <GregorR> int-e: http://gregorr.homelinux.org/egobf-0.7.1.tar.bz2
23:18:31 <GregorR> 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 <int-e> -bash: wget: command not found
23:18:43 <int-e> AAAAAAAAAAARGH :)
23:18:48 <GregorR> int-e: That works under qemu-sparc, so it SHOULD work.
23:18:50 <GregorR> XD
23:18:59 <GregorR> curl? lynx?
23:19:08 <int-e> /usr/sfw/bin this time
23:19:11 <int-e> I should really set PATH
23:19:26 <jix> what optimizations does egobf?
23:20:42 <int-e> well, I had to set PATH - configure didn't find gcc ;)
23:21:10 <GregorR> jix: egobfi has a few, egobfc2m just compiles >>><<>>>> and+++-- into single commands and [-] into 0s.
23:21:53 <int-e> and make is called gmake *clicketyclick*
23:22:10 <int-e> (had to change MAKE variable in Makefile for that)
23:22:40 <GregorR> I think MAKE=gmake ./configure ... would have had the same effect.
23:23:13 <jix> export MAKE=gmake ; ./configure should work
23:24:53 <jix> 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 <GregorR> I'm in a meeting, I'll have to continue discussion in a whiel.
23:25:39 <graue> what's this crack about 2L's IP going down to begin with?
23:26:01 <graue> I implemented an entire interpreter and a test program thinking it started going right :(
23:26:18 <calamari> transpose ? :)
23:26:41 <graue> it be 3 columns wide and 70-some lines long
23:26:47 <graue> s/it/the program would/
23:27:16 <fizzie> 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 <graue> I wish my worries were that easily solved, fizzie! (go to the store and buy one)
23:28:06 <calamari> floppies?
23:28:20 <fizzie> 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 <fizzie> I doubt it has even seen a floppy drive.
23:28:52 <calamari> mac.. well.. theres your problem!
23:29:09 <fizzie> For a laptop it's surprisingly nice.
23:29:24 <fizzie> For the essentials (read: irc) during lectures.
23:29:30 <GregorR> graue: Does that actually run things? I may be thinking backwards...
23:30:44 <graue> GregorR, my interpreter actually runs programs, yes
23:30:56 <GregorR> OK, lemme check if I'm just an idiot.
23:31:33 <fizzie> 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 <GregorR> Actually, lemme check when I'm out of my meeting :P
23:32:44 <graue> 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 <fizzie> 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 <graue> it's 3:30 pm there
23:33:50 <jix> fizzie: 0:30am here
23:33:51 <graue> since when are time zones "weird"?
23:34:13 <fizzie> Obviously some time-zones are more weirdidic than others.
23:34:29 <fizzie> I assume there's an uncomplicated formula for the weirdness.
23:34:58 <calamari> it's 3:30pm here as well
23:35:05 <GregorR> Prince Edwards island.
23:35:09 <fizzie> Something like W = difference-from-UTC.
23:35:10 <GregorR> Is a weird one.
23:39:00 <GregorR> graue: Does your interpreter run my Hello World ...?
23:39:22 <graue> haven't tried
23:39:43 <graue> where is it? I'll add it to the esolangs file archive
23:39:57 <GregorR> Heheh. I think you should have read my spec instead of the wiki page.
23:40:00 <GregorR> One sec.
23:40:51 <GregorR> wget http://www.befunge.org/fyb/2l/exa/HelloWorld.2l
23:40:59 <graue> befunge.org was down at the time
23:41:02 <GregorR> Hmm, #esoteric is not a shell, Gregor.
23:41:04 <graue> and you wrote the wiki page
23:41:12 <GregorR> *cough*
23:41:27 <graue> it runs it but just does nothing
23:41:28 * GregorR slinks off.
23:42:21 <graue> it's turning left at the very beginning of the program, at the first +
23:42:24 <graue> since it starts going right
23:44:01 <graue> fixed it, now your hello world freezes, unless it's just very, very slow
23:44:40 <graue> seems to have hung
23:47:54 <jix> i want to write some cool brainfuck app
23:48:01 <jix> any ideas?
23:48:13 <graue> implement SHA-256 or TIGER or WHIRLPOOL
23:48:23 <jix> haha
23:48:32 <graue> or make a program that sorts strings separated by newlines
23:48:34 <jix> no nothing that needs binary files
23:48:42 <graue> or make a program that creates a uniform random permutation of strings separated by newlines
23:48:51 -!- ditto has joined.
23:49:02 <jix> graue: hmm sorting strings seperated by newlines...
23:49:14 <jix> is bubblesort ok?
23:49:23 <graue> it's not very fun
23:49:28 <graue> how about cocktail shaker sort?
23:49:38 <graue> http://en.wikipedia.org/wiki/Cocktail_sort
23:49:39 <jix> cocktail shaker sort?
23:50:04 <graue> there's something on that article's talk page about speeding up the algorithm, as well
23:50:57 <jix> hmm something easier than sort
23:51:33 <graue> finding order statistics?
23:51:39 <jix> hmm bogosort ^^
23:51:46 <graue> sorting numbers?
23:51:55 <jix> http://en.wikipedia.org/wiki/Bogosort
23:52:00 <graue> yeah, I've seen that
23:52:16 -!- Gs30ng has joined.
23:52:29 <Gs30ng> i completed new version of Udage spec
23:52:35 <Gs30ng> http://gs30ng.exca.net/udage/spec-en.xml
23:53:26 <Gs30ng> i should edit esolang wiki page to link this page
23:54:13 <graue> I wonder if there are any patents easy enough that you could violate them with a Brainfuck program
23:54:32 <jix> graue: isn't css patented?
23:54:42 <jix> content-scrambling-system or something like that
23:54:54 <graue> no, that was a DMCA (copyright law) issue
23:54:54 <jix> the dvd encryption...
23:54:58 <jix> oh
23:55:01 <graue> MPEG2 is patented, though
23:55:03 <jix> it's implemented in brainfuck
23:55:06 <graue> yes
23:55:08 <jix> not mpeg2
23:55:26 <jix> Gs30ng: your spec doesn't work with safari
23:56:12 <Gs30ng> oops
23:56:13 <graue> oh wow, I was just reading about that (xhtml files sent as text/html)
23:56:47 <Gs30ng> can safari parse XML?
23:56:50 <graue> http://www.hixie.ch/advocacy/xhtml
23:57:04 <graue> Gs30ng: you should make sure your server sends the page as application/xhtml+xml
23:57:39 <jix> graue: the problem is it uses xslt and i think safari doesn't support that
23:57:49 <Gs30ng> oops
23:57:58 <Gs30ng> SAFARI DOES NOT SUPPORT XSLT?!?!
23:58:15 <graue> I don't even know what XSLT is :)
23:58:31 <jix> graue: xml style sheet or something like that
23:58:31 <Gs30ng> then i need a parsed html page
23:58:32 <graue> can you implement an XSLT extension to safari in brainfuck?
23:58:38 <jix> haha
23:59:09 <Gs30ng> anyone here have XML+XSLT=HTML parser?
2005-07-28
00:01:14 <jix> hmm safari should support xslt
00:01:40 <Gs30ng> i think it does
00:01:45 <jix> maybe it has problems with utf8 characters as xml tags
00:02:07 <Gs30ng> hmm... that makes sense
00:02:16 <Gs30ng> ok i'll change every xml tags to ascii
00:03:08 <Gs30ng> ...it is currently impossible
00:06:01 <Gs30ng> does it work now?
00:06:25 <Gs30ng> oops
00:06:37 <jix> no :(
00:06:57 <Gs30ng> now there's no utf8 character on xml file
00:07:30 <Gs30ng> 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 <jix> don't know why it doesn't work
00:07:50 <Gs30ng> have no choice but safari?
00:08:03 <jix> i have camino (gecko based) it works there
00:08:04 <Gs30ng> like, firefox?
00:08:26 <jix> firefox' interface laggs..
00:10:48 <Gs30ng> i have no idea about this
00:10:55 <Gs30ng> they are all UTF-8
00:11:02 <Gs30ng> and server is utf8 too
00:11:21 <Gs30ng> there should be no error from encoding/decoding
00:11:47 <Gs30ng> http://gs30ng.exca.net/udage/spec-en.xml
00:11:50 <Gs30ng> http://gs30ng.exca.net/udage/spec-ko.xml
00:11:55 <Gs30ng> both page doesn't work?
00:12:07 <jix> yes
00:12:45 <Gs30ng> no way
00:12:59 <Gs30ng> it must be a bug of safari
00:24:23 <Gs30ng> you can just view-source it
00:24:52 <Gs30ng> i structurized it easy to read
00:25:49 <Gs30ng> int-e should be noticed about this for his udage interpreter in c
00:25:58 <fizzie> "xsltproc" is good.
00:26:07 <Gs30ng> parser?
00:26:16 <fizzie> XSL style sheet parser thingie.
00:26:40 <Gs30ng> where can i get one
00:26:58 <fizzie> 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 <fizzie> Debian has a "xsltproc" package.
00:27:47 <fizzie> I guess it _was_ xsltproc I used, hmm.
00:28:05 <fizzie> Yes, it was. Part of Gnome's XSLT lib.
00:28:21 <jix> lol
00:28:26 <jix> idea for a language
00:28:44 <jix> all non-alphanumeric characters are ignored
00:29:07 <Gs30ng> well
00:29:09 <Gs30ng> is it?
00:29:29 <jix> and the angle of two keys on the german keyboard decides about the instruction
00:30:03 <Gs30ng> this language is character-independant because one of design goal was that
00:30:04 <jix> hmmm ü+öä#<,.- are allowed too
00:30:30 <Gs30ng> in my client the words are broken
00:30:42 <jix> Gs30ng: encoding?
00:30:43 <int-e> Gs30ng: I saw that
00:31:07 <Gs30ng> jix: yes
00:31:13 <Gs30ng> int-e: how do you feel
00:31:20 <int-e> tired :P
00:32:01 <Gs30ng> jix: you still cannot read the spec page?
00:32:22 <jix> Gs30ng: yep
00:32:32 <Gs30ng> cannot view-source it?
00:32:36 <jix> using safari i can't using camino i can
00:33:03 <jix> 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 <Gs30ng> i want it work with safari
00:33:27 <Gs30ng> thx
00:33:51 <Gs30ng> i'll find out some ways to fix it
00:35:24 <int-e> oh, you added inderection and a very big address space, interesting
00:35:30 <int-e> indirection
00:35:34 -!- ditto has quit ("Leaving").
00:35:44 <Gs30ng> copying OISC
00:35:52 <Gs30ng> i intended turing completeness
00:36:04 <Gs30ng> yes, very big address space
00:36:28 <Gs30ng> and now operations like this is possible with limited code:
00:36:31 <Gs30ng> user inputs.
00:36:35 <Gs30ng> computer records.
00:36:41 <Gs30ng> repeat until user inputs 0.
00:37:19 <int-e> it's not turing complete but it will be possible to represent any practical computation.
00:37:30 <Gs30ng> still not turing complete?
00:37:47 <int-e> hmm
00:38:21 <Gs30ng> i think i chose same method of OISC so it's turing complete
00:38:33 <int-e> 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 <int-e> it's enough for all practical purposes though
00:39:00 <int-e> so I'd not worry about this.
00:39:07 <Gs30ng> oh you meant that way
00:39:23 <Gs30ng> it is unable for other languages too
00:39:43 <Gs30ng> like, 1 variable cannot carry too big number or something
00:40:00 <int-e> well, in brainfuck the theoretically unbounded memory is the tape
00:40:05 <jix> it's possible to address more than 2^(2^16) adressess .. 2^256 is enough for everything
00:40:15 <int-e> yes.
00:40:26 <int-e> enough for all practical purposes, as I said :)
00:40:29 <jix> there isn't enough energy in the universe for running ram modules that store 2^256 bytes
00:40:33 <jix> or something like that
00:40:45 <int-e> very likely.
00:40:47 <jix> with 2^512 it's possible to adress every molecule in the universe...
00:40:56 <jix> or 2^256
00:41:19 <int-e> you have to keep in mind that the Turing machine is an entirely theoretic construct.
00:41:30 <graue> I read that the number of atoms in the observable universe is 10^80
00:41:33 <graue> which is greater than 2^64
00:41:48 <graue> wait, I'm wrong, disregard that
00:42:14 <int-e> 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 <int-e> graue, but 2^256 is close to that :)
00:42:34 -!- kipple has quit (Read error: 110 (Connection timed out)).
00:42:59 <Gs30ng> well
00:43:06 <Gs30ng> now i understand what int-e is talking
00:43:11 <lament> no, if a language is turing-complete that means you can simulate any turing machine on it.
00:43:19 <lament> hardware never ever comes into consideration.
00:43:32 <jix> 2^(2^# of unicode chars)) should be enough for everything
00:43:34 <Gs30ng> a limited source code can only use a limited memory space
00:43:42 <jix> Gs30ng: wrong
00:43:46 <lament> Gs30ng: why?
00:43:52 <Gs30ng> ...in my lang
00:43:57 <lament> oh
00:43:59 <jix> right
00:44:04 <int-e> lament: the hardware comes in at the point where I want to give the semantics of the language
00:44:05 <lament> then your language is not turing-complete
00:44:10 <Gs30ng> lament: yes
00:44:17 <lament> unless you have bignums or something
00:44:37 <Gs30ng> but can do anything that turing machine can do, currently
00:45:01 <jix> Gs30ng: wrong you can do anything that real machines can do
00:45:01 <lament> if there's some way to cram infinite amount of data into a single memory cell, you could have TC
00:45:07 <int-e> 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 <int-e> just to clarify what I meant by 'hardware'.
00:45:54 <Gs30ng> anybody have an idea to make this lang TC?
00:46:28 <lament> why do you copy oisc anyhow?
00:46:31 <lament> it exists
00:47:08 <Gs30ng> well
00:47:10 <Gs30ng> lack of idea?
00:47:14 <int-e> you could use relative addressing, relative to the last address used
00:47:32 <int-e> that's similar to a tape and you need a way to specify negative offsets
00:47:49 <Gs30ng> relative addressing
00:47:57 <int-e> but it will be possible to simulate brainfuck then and your language would be turing complete.
00:48:14 <Gs30ng> ok i'm gonna change all memory cells to stack
00:48:21 <Gs30ng> ...this is not good
00:48:29 <jix> not stacks
00:48:42 <jix> relative addressing is good
00:48:53 <Gs30ng> i don't actually get the idea
00:48:58 <Gs30ng> 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<number of bits of the number><bits of the number>) and indirect addressing.
00:50:32 <int-e> err
00:50:37 <int-e> 0 is represented as 0 :)
00:50:42 <int-e> and it's number of bits-1
00:50:49 <int-e> but the basic idea is exactly that.
00:51:20 <Gs30ng> ...
00:51:24 <lament> how do you know the number of bits of the number of bits?
00:51:26 <int-e> 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 <int-e> lament: recursively apply the construction
00:52:02 <lament> then how do you know when to stop? :)
00:52:15 <int-e> when I find a 0
00:52:27 <lament> ah
00:52:56 <lament> so 2 would be 1 1 10 0 ?
00:52:57 <int-e> parse = if getbit=0 then 0 else bits=parse; num=get_n_bits(bits)
00:53:49 <Gs30ng> i do not understand
00:54:43 <int-e> 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 <GregorR> That meeting drug on for WAY too damn long >:(
00:55:25 <int-e> this means: 0 is 0. 1 is a 1-bit number, encoded as 1 <representation of 0> <no bits>, that is 10.
00:55:55 <int-e> 2 is a 2-bit number (10), and represented as 1 <representation of 1> 0, that is 1100
00:56:03 <int-e> 3 is 1101
00:56:24 <lament> this is too complicated. I prefer unary :)
00:56:29 <int-e> 4 is a 3-bit number (100) and represented as 1 <2> 00, that is 110000
00:56:34 <int-e> unary works, too
00:56:53 <GregorR> graue: Could you give me a link to your 2L interpreter so I can debug?
00:57:04 <int-e> and another easy way is to use 10 for 0, 11 for 1 and 00 for a stop symbol.
00:57:12 <lament> also, this format can't even handle transfinite numbers :)
00:57:19 <int-e> you could even go ternary with this approach ;)
00:57:26 <Gs30ng> so why 4 is represented as something different
00:57:38 <int-e> transfinite numbers are not necessary to achieve turing completeness
00:57:58 <lament> neither are big ones
00:58:07 <lament> very little is needed for TC :)
00:58:10 <int-e> right
00:58:30 <lament> just an infinity somewhere
00:58:43 <int-e> but if the idea for implementing an infinite memory is to address each cell individually, you need big numbers.
00:58:48 <Gs30ng> i really want turing himself here
00:58:58 -!- GregorR has changed nick to Turing.
00:59:08 <Turing> Hi!
00:59:21 -!- Turing has changed nick to GregorR.
00:59:25 <Gs30ng> oops
00:59:29 <Gs30ng> he's gone again
00:59:46 <GregorR> Heheh :P
00:59:57 * Gs30ng mourns
01:00:40 <Gs30ng> there should be another way to access a memory cell...
01:01:09 <lament> both relative addressing and unbounded addressing work
01:01:12 -!- Aardwolf has quit ("Leaving").
01:01:26 <Gs30ng> so what the hell is relative addressing
01:02:00 <GregorR> 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 <Gs30ng> ...got it
01:02:46 <lament> where "here" could be the code pointer, or some memory pointer like in brainfuck
01:03:16 <Gs30ng> that was something i have thought! why didn't i re-get that?
01:03:52 <GregorR> 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 <Gs30ng> ok let me think about this idea more...
01:04:21 <int-e> GregorR: yes I think so, too
01:04:37 <lament> GregorR: not if code is in your memory, you can modify it, and you have GOTO
01:04:48 <lament> (i.e. like on all computers)
01:05:00 <int-e> nah, not all computers
01:05:07 <GregorR> Ahh yes, being able to modify it does rectify that, doesn't it ...
01:05:07 <int-e> it's von Neumann computers only.
01:05:10 <fizzie> http://www.befunge.org/~fis/test_ppc_gnuWlinux.s
01:05:30 <Gs30ng> this is hard to make decision. current spec is already enough do everything that we can currently do.
01:05:46 <int-e> there are computers with separated code and data memory. granted, the only example I can think of are DSPs.
01:05:49 <lament> Gs30ng: turing-completeness is not that important, really.
01:05:59 <GregorR> Hey now jix, that's a bright ray o' light 8-D
01:06:04 <Gs30ng> lament: i'm realizing that
01:06:32 <GregorR> The usual good-enough is "Turing-complete with the exception of finite storage space"
01:06:50 <GregorR> (So long as that finite space is enough to actually do anything)
01:07:15 <lament> SMETANA also bounds memory size by code size
01:08:00 <Gs30ng> i need something to eat now
01:08:07 <Gs30ng> somebody give me
01:08:10 <int-e> I think Udage with memory retargeting is good enough
01:08:20 <int-e> (as it is right now)
01:08:23 * GregorR gives Gs30ng poison^H^H^H^H^H^H candy.
01:08:39 <Gs30ng> !google ^H
01:08:44 <int-e> Udage without the memory retargeting operation felt very much like Smetana and thus insufficient.
01:08:57 <int-e> (for me)
01:09:15 <lament> but smetana is cool :(
01:09:23 <Gs30ng> in my point of view
01:09:27 <GregorR> Gs30ng: Olde UNIX joke - if yoshell doesn't allow you to delete, backspace becomes ^H
01:09:35 <GregorR> s/yoshell/your shell/
01:09:55 <Gs30ng> a machine should do this:
01:10:09 <Gs30ng> user inputs, computer records, repead until user inputs 0
01:10:10 <lament> GregorR: and if it does, ^H becomes backspace
01:10:14 <int-e> a machine should not run esolangs for any serious work :)
01:10:29 <GregorR> lament: Indeed.
01:10:41 <Gs30ng> in my point of view it is perfect
01:10:45 <lament> int-e: I agree. Perl included.
01:10:49 <Gs30ng> like... Gs30ng complete?
01:10:54 <int-e> ok, and then do what with its input?
01:11:05 <Gs30ng> what input
01:11:09 <int-e> Perl is a neat write-only language if you need to do some string or text processing.
01:11:11 <int-e> ;)
01:11:32 <lament> Perl is not considered an esoteric language for purely historical reasons
01:11:34 <int-e> personally I much prefer Python
01:11:38 <Gs30ng> Gs30ng machine input or Udage input?
01:12:04 <int-e> you started to descibe a computer that takes some input until the user inputs 0
01:12:09 <graue> GregorR: YOU want to debug MY 2L interpreter?!
01:12:15 <Gs30ng> yes i did
01:12:17 <int-e> if you just want to do that, you need no more than a finite state machine
01:12:28 <int-e> smetana can do that
01:12:30 <Gs30ng> i'm aware of it too
01:12:35 <int-e> or could if it supported input ;)
01:12:42 <Gs30ng> ...wait
01:12:46 <Gs30ng> Udage can't do that
01:12:55 <Gs30ng> infinite input and recording all of them
01:13:08 <int-e> why would you record it?
01:13:18 <Gs30ng> because it is gs30ng machine
01:13:21 <lament> consider the following problem:
01:13:29 <lament> read input until EOF.
01:13:32 <lament> Print input backwards.
01:13:50 <int-e> yes. that requires infinite storage
01:14:02 <lament> exactly.
01:14:15 <int-e> although it can be done on a stack machine that isn't turing complete
01:14:45 <GregorR> graue: Umm ... yes?
01:14:53 <Gs30ng> relative addressing... i can't find proper method to do it
01:15:04 <GregorR> Merely because my entry on esolangs.org was borked, so I feel responsible.
01:15:12 <Gs30ng> like, if AAAxxxA then move the pointer xxx cells left?
01:15:42 <int-e> yes
01:15:47 <int-e> and retarget AAA to that location
01:15:53 <int-e> err the switch A
01:16:07 <Gs30ng> or right? how can i decide the way? before that, does it need xxx cells?
01:16:10 <lament> esolangs with addressing are boring :)
01:16:14 <GregorR> The wiki page was never intended to be a spec by the way, it also doesn't fully explain +-turning.
01:16:15 <lament> too much like real assembly
01:16:20 <int-e> actually you should do AAAdxxxA where d specifies the direction
01:16:36 <Gs30ng> i can just to AAAdx
01:16:57 <int-e> you can just do AAAd and specify that the offset is always 1
01:16:57 <Gs30ng> d decides the direction and x decides the cells to move
01:17:15 <int-e> but that feels very brainfuck-ish
01:17:28 <int-e> larger offsets make it less brainfuckish.
01:17:28 <Gs30ng> then what about AAAA operation
01:17:42 <Gs30ng> now it isn't useless
01:18:00 <int-e> why?
01:18:04 <Gs30ng> somebody can make a source code like AAAA
01:18:13 <Gs30ng> but it is I/O operation
01:18:24 <Gs30ng> and that's something i really don't want to be there in my lang
01:18:53 <Gs30ng> AAAA must be a useless operation to be some another operation
01:19:07 <Gs30ng> that's my design goal of the lang
01:19:49 <int-e> well AAAA can be represented as BBBA with that semantics ...
01:19:59 <graue> GregorR, okay, hang on
01:20:47 <graue> am sending through DCC, can you receive those?
01:20:57 <GregorR> Who knows 8-D
01:21:05 <GregorR> I don't think so, I'm behind a firewall.
01:21:24 <GregorR> 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 <Gs30ng> it's ridiculously hot here in Korean
01:21:30 <Gs30ng> oops
01:21:33 <Gs30ng> s/Korean/Korea
01:21:45 <GregorR> It didn't explain how the turn worked, and the intuitive way is not the correct way.
01:22:00 <graue> http://www.oceanbase.org/graue/junk/2l.c
01:22:10 <Gs30ng> my friend wonders
01:22:14 <graue> 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 <Gs30ng> is befunge from the word fungi?
01:22:47 <Gs30ng> which means mushroom or something like that?
01:23:12 <GregorR> Well, the turns are right anyway, that's good since I didn't explain them :P
01:23:19 <Gs30ng> my friend designed a fungeoid named Versert
01:23:21 <graue> fungi does not mean mushroom, http://en.wikipedia.org/wiki/Fungus
01:23:32 <Gs30ng> oh whatever
01:23:40 <Gs30ng> is it from fungi?
01:23:43 <graue> a mushroom would be an example of a fungus
01:23:55 <graue> fungi is plural: two or more of the thing called a "fungus"
01:24:12 <Gs30ng> that's why i said mushroom "or something like that"
01:25:23 <Gs30ng> anyway befunge is named after it, right? or is it not clear?
01:25:30 <graue> I do not know
01:25:57 <Gs30ng> well
01:26:07 <graue> 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 <Gs30ng> a friend of mine made a fungeoid
01:26:19 <Gs30ng> and i gave him the name versert
01:26:22 <graue> Archway2 works the same way
01:26:41 <Gs30ng> beoseot means a mushroom in Korean
01:27:26 <graue> cool
01:27:34 <Gs30ng> Versert is named after it, so i wonder if befunge is really from fungi or not
01:27:48 <lament> ask cpressey
01:28:00 <lament> cpressey: why befunge is called that?
01:28:04 <Gs30ng> of course it doesn't matter that much wheter befunge is or isn't
01:28:15 <Gs30ng> oops there's cpressey here
01:28:22 <lament> hehe
01:28:39 <graue> maybe it's named after John Funge, AI pioneer: http://www.dgp.toronto.edu/~funge/
01:28:49 <Gs30ng> oh
01:29:01 <Gs30ng> john mushroom doesn't make any sense
01:29:05 <graue> I doubt it, though
01:29:58 <Gs30ng> terrible weather
01:30:02 <Gs30ng> raining, but hot
01:30:19 <Gs30ng> hot water is falling
01:30:37 <Gs30ng> how is this possible?
01:31:45 <lament> magic
01:32:28 <Gs30ng> you did it, lament
01:32:44 <int-e> could be air friction
01:32:44 <int-e> hehe
01:32:48 <Gs30ng> Hot Rain. what an idea
01:33:32 <Gs30ng> relative addressing idea is good but too brainfuck-ish
01:33:54 <int-e> 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 <Gs30ng> that's right
01:34:37 <Gs30ng> Korean summer is with really high humidity
01:34:58 <Gs30ng> hot and humid summer
01:35:03 <Gs30ng> worst
01:35:10 * int-e suggests 'has' in place of 'is with'
01:35:22 <Gs30ng> oops
01:35:28 <Gs30ng> that makes more sense
01:36:29 <int-e> or maybe 'comes with' which sounds good to me, too.
01:37:38 <cpressey> lament: read the wiki entry
01:37:38 <Gs30ng> since turing completeness is not that important currently with my lang, i'll reserve it for someday
01:38:04 <Gs30ng> RTFM thing
01:39:52 <Gs30ng> 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 <Gs30ng> aw
01:41:46 <int-e> 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 <int-e> k, though.
01:42:38 <int-e> it's certainly food for thought
01:45:47 <int-e> GregorR: ah that should have been targeted for lament.
01:45:53 <int-e> err at
01:46:25 <Gs30ng> should conversation be esoteric too?
01:47:58 * int-e doesn't know that.
01:49:16 <Gs30ng> syntax highlighting of this lang would be easy
01:50:15 <Gs30ng> actually i thought about 'udage list' concepts or something
01:50:19 <Gs30ng> to make it TC
01:52:10 <Gs30ng> hmm
01:52:19 <Gs30ng> i can make an operation in an operation
01:52:34 <Gs30ng> like, AAA starts, then A concludes
01:52:49 <Gs30ng> between them all kind of udages can come
01:53:35 <Gs30ng> operation could come
01:54:31 <graue> jix: what happened to XUML?
01:54:47 <Gs30ng> so, between AAA and A, a loop operation could come
01:55:33 <jix> 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 <Gs30ng> 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 <graue> jix: that sucks
01:56:23 <graue> jix: ever plan to come back to it, or release what you have?
01:56:28 <jix> no
01:56:32 <graue> !@#
01:56:39 <jix> because nothing works as it should
01:57:04 <Gs30ng> so we can make it to indicate no. infinite memory cell
01:57:17 <graue> 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 <graue> GregorR: or is no extending of lines done?
01:57:25 <Gs30ng> ...this is interesting
01:59:20 <Gs30ng> so operation can be between AAA and A
01:59:27 <graue> 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 <graue> GregorR: does it work in your interpreter if you do that?
01:59:35 <Gs30ng> and if operation changes some value
01:59:45 <Gs30ng> then original values are stored first
01:59:59 <Gs30ng> and then modified values are stored right next to it
02:00:27 <Gs30ng> int-e, what do you think about this
02:00:52 <Gs30ng> with this Udage is TC, also
02:02:13 <int-e> I don't understand what you're trying to do. what would AAABCA do?
02:02:34 <Gs30ng> same thing it have been doing
02:03:17 <Gs30ng> i mean a code like this: FAAAFBCCDEFA
02:03:33 <Gs30ng> CCDEF is identified as an operation
02:04:28 <Gs30ng> (FB isn't)
02:04:48 <graue> GregorR: oh, it's waiting for a character for some reason
02:04:50 <Gs30ng> so it will jump to backward F again and again
02:04:57 <graue> GregorR: your helloworld.2l changes TL1 when TL0 is 0
02:05:14 <Gs30ng> oops
02:05:19 <Gs30ng> my mistake
02:05:36 <Gs30ng> the code should be like FDEAAAFBCDEFA
02:05:42 <Gs30ng> D and E should be 1
02:06:39 <graue> 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 <Gs30ng> oops
02:06:48 <Gs30ng> mistake again
02:06:55 <Gs30ng> FDEAAAFBCCDEFA
02:07:09 <lament> where can i read about udage?
02:07:20 <Gs30ng> see wiki
02:07:26 <Gs30ng> there's url
02:07:29 <graue> 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 <int-e> lament: http://gs30ng.exca.net/udage/spec-en.xml
02:07:54 <Gs30ng> anyway it jumps again and again, A will indicate no. 10(because of F and B)0000000000000000000000...(C gets 0 endlessly)
02:08:32 <graue> GregorR: trace of execution of
02:08:44 <graue> GregorR: HelloWorld.2l is at http://www.oceanbase.org/graue/junk/errors.txt
02:10:44 <graue> GregorR: I got that by running this and redirecting stderr: http://www.oceanbase.org/graue/junk/2ldebug.c
02:10:53 <pgimeno> Gs30ng: Udage is a bounded-storage machine; see http://www.esolangs.org/wiki/Bounded-storage_machine (just like C, apparently)
02:11:17 <Gs30ng> yes
02:11:23 <Gs30ng> but it is big enough, i think
02:11:38 <pgimeno> 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 <Gs30ng> there could be some attempts to make this lang TC
02:12:36 <Gs30ng> like, Udageoid?
02:13:12 <pgimeno> 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 <Gs30ng> but right now i don't feel any necessity to change the spec
02:13:35 <Gs30ng> i love the Turing tarpit
02:13:48 <Gs30ng> one of Udage design goal was that
02:14:58 <pgimeno> the problem with Udage is that absolute addressing makes it impossible
02:15:19 <Gs30ng> but i gave up that because all good turing tarpits are already there
02:15:23 <Gs30ng> pgimeno: right
02:16:44 <Gs30ng> is there any wiki space for sample Udage codes?
02:17:09 <pgimeno> it's outside the wiki itself, see http://www.esolangs.org/files/
02:17:28 <Gs30ng> pgimeno: but still you can handle more than 2^256 bits
02:17:53 <Gs30ng> although it's really hard to do so :(
02:18:12 <pgimeno> 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 <int-e> re
02:21:04 <Gs30ng> er
02:23:57 <lament> hm
02:24:02 <lament> how come there's no Trigger implementation?
02:24:09 <int-e> there is ;)
02:24:44 <int-e> 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 <Gs30ng> i think i should make an interpreter of Udage by myself
02:25:56 <Gs30ng> it sounds ridiculous that i can design a lang but cannot make an interpreter for it
02:29:45 <int-e> 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 <Gs30ng> is it dangerous?
02:31:14 <int-e> no
02:31:54 <int-e> But it's hard to handle this gracefully instead of just failing to execute such a program.
02:32:24 <Gs30ng> for easy coding we can use cells like
02:32:33 <Gs30ng> 1, 2, 4, 8, 16, ...
02:33:15 <Gs30ng> and cells like 3, 5, 6, 7 are empty forever
02:33:16 <Gs30ng> :(
02:34:18 <Gs30ng> ok int-e, question again
02:34:27 <Gs30ng> if i make AAA operation like this:
02:35:11 <Gs30ng> 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 <Gs30ng> then Udage is TC?
02:36:45 -!- int-e has quit ("Bye!").
02:36:46 -!- int-e has joined.
02:36:52 <jix> g'nite
02:36:58 <int-e> grr. my network is flaky, stupid ISP :(
02:37:03 <Gs30ng> good night
02:37:12 <int-e> jix is up early (like me)
02:37:16 <Gs30ng> int-e, then did you saw my question?
02:37:37 <int-e> no, last I saw was [03:33:57] <Gs30ng> for easy coding we can use cells like
02:37:40 <Gs30ng> at here it's 10 o'clock AM
02:37:49 <Gs30ng> [10:33:29] <Gs30ng> for easy coding we can use cells like
02:37:49 <Gs30ng> [10:33:38] <Gs30ng> 1, 2, 4, 8, 16, ...
02:37:49 <Gs30ng> [10:34:20] <Gs30ng> and cells like 3, 5, 6, 7 are empty forever
02:37:49 <Gs30ng> [10:34:21] <Gs30ng> :(
02:37:49 <Gs30ng> [10:35:22] <Gs30ng> ok int-e, question again
02:37:49 <Gs30ng> [10:35:32] <Gs30ng> if i make AAA operation like this:
02:37:51 <Gs30ng> [10:36:16] <Gs30ng> 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 <Gs30ng> [10:36:37] <Gs30ng> then Udage is TC?
02:38:31 <int-e> if AAAd also changes cur (to cur+1 or cur-1), then yes. if it doesn't change cur, then no
02:39:10 <Gs30ng> cur is it's own cur
02:39:13 <Gs30ng> A's own cur
02:39:43 <Gs30ng> A indicates 1, and AAAd, if d is 0, now A indicates 2
02:39:46 <Gs30ng> A indicates 2, and AAAd, if d is 0, now A indicates 3
02:39:56 <int-e> oh
02:40:10 <int-e> that's another possibility.
02:40:25 <int-e> that means you have a tape and 65536 independent pointers to it
02:40:44 <int-e> that makes it turing complete as well.
02:40:58 <Gs30ng> actually i don't like tapes
02:41:19 <Gs30ng> and int-e, then what was your plan
02:41:34 <Gs30ng> you supposed only one pointer?
02:42:00 <int-e> I actually like your idea better because it's less like brainfuck
02:42:16 -!- jix has left (?).
02:42:16 <Gs30ng> oh thanks
02:44:05 <Gs30ng> what if a udage points 0 (itself) and i do (cur-1)
02:44:24 <Gs30ng> should i suppose no. negative memory cells?
02:44:39 <Gs30ng> or can i do something different?
02:51:02 <Gs30ng> and BTW, does this lang deserves to be on topic of this channel?
02:51:02 <int-e> that's up to you
02:51:26 <Gs30ng> then i'll make it to choose random memory cell
02:51:43 <Gs30ng> ...wait. the range is infinite. it's impossible
02:51:46 <int-e> it's an esoteric programming languages channel, of course it's on topic
02:51:51 <int-e> na, it's possible
02:52:01 <int-e> there just isn't a uniform distribution
02:52:28 <int-e> 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 <Gs30ng> ok then
02:53:28 <Gs30ng> i'll make it to choose random udage and have same indication value
02:54:23 <Gs30ng> then the range is finite and uniform distribution is possible
02:54:34 * GregorR begins work on egobch.
02:54:47 <Gs30ng> ..still 0 has priority in many case
02:55:50 <Gs30ng> i think there could be no. negative memory cells but they are not necessary....
02:56:18 <Gs30ng> i can add something really advances all things...
02:58:48 <lament> too bad languages working with bits are such a pain to actually write programs in
02:59:54 <Gs30ng> it's true but i love bits
03:03:41 <lament> even kayak, which had such an awesome concept, lies unused
03:04:20 <lament> 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 <int-e> lament: I did a merge sort in Kayak once
03:31:45 <int-e> http://www.inf.tu-dresden.de/~bf3/sort3.kayak
03:32:08 <int-e> good night
03:37:50 -!- int-e has quit ("Bye!").
03:48:07 <GregorR> Yay, I just wrote a program that outputs 'a' in BitChanger 8-D
03:48:21 <GregorR> More importantly, I wrote a bitchanger interpreter :P
04:03:22 <graue> feel like writing a program in an esolang that violates US patent #4,872,009?
04:03:34 <graue> (see http://www.faqs.org/faqs/compression-faq/part1/section-7.html)
04:10:00 <GregorR> 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 <graue> GregorR: "If it was going right you couldn't turn away from the edge." is not true, look at a.2l
04:30:15 <graue> GregorR: also, look at my comments on HelloWorld.2l earlier
04:30:20 -!- graue has left (?).
04:30:24 <GregorR> Yeah, y------.
04:30:26 <GregorR> Hmm.
04:56:26 -!- BigZaphod has joined.
05:12:42 <GregorR> graue: I'm apparently the worst spec-writer ever.
05:12:59 <GregorR> graue: My implementation had up as < and down as >
06:03:49 -!- graue has joined.
06:04:03 <graue> GregorR, I demand that you change your implementation and your hello world program so I don't have to do anything
06:04:15 <graue> good evening
06:04:16 -!- graue has quit (Client Quit).
06:04:26 <GregorR> Gah, why does graue do that XD
06:04:38 <GregorR> Sadly, that's not even a totally unreasonable request XD
06:06:20 -!- graue has joined.
06:06:29 <graue> 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 <GregorR> Fixed. Thanks for pointing that out.
06:39:49 -!- BigZaphod has quit.
07:01:56 <fizzie> 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 <jix> moin
13:09:31 <fizzie> 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 <int-e> moin
14:30:49 <Aardwolf> 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 <GregorR> Hey, cmeme is back.
16:32:32 <GregorR> 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 <lindi-> url?
17:27:31 -!- BigZaphod has quit.
17:34:33 <jix> lindi-: http://www.geocities.com/dunric/advcomp.html
17:36:59 <GregorR> Who wrote the BF->BitChanger conversions on the wiki?
18:04:22 <cpressey> {^Raven^}: i don't see what's changed?
18:04:30 <cpressey> GregorR: probably calamari
18:10:32 <GregorR> I think there might be something wrong with the insanely complex [.
18:10:38 <GregorR> (Or my BChI)
18:11:08 -!- BigZaphod has joined.
18:15:06 <int-e> GregorR: where's that conversion?
18:26:33 -!- Aardwolf has quit ("Leaving").
18:31:52 <int-e> Oh, found it.
18:41:52 <int-e> yep, that [ implementation smells fishy
18:50:14 <GregorR> Maybe I should publish EgoBCh without EgoBF2BCh
19:08:24 -!- calamari has joined.
19:08:29 <calamari> hi
19:09:04 -!- int-e has quit ("Client exiting").
19:09:59 <GregorR> calamari, is that your [ in the BF->BitChanger conversion chart on the wiki?
19:11:05 -!- int-e has joined.
19:11:30 <calamari> GregorR: I think I write the conversions, yeah.. but I had no interpreter to tets them with
19:11:39 <calamari> are they messed up?
19:11:45 <GregorR> Everything works except for [
19:11:58 <int-e> I'm working on that
19:12:06 <GregorR> So overall, good job, but egobf2bch doesn't work ;)
19:12:15 <calamari> hehe
19:12:28 <calamari> I've seen better versions of [ online anyhow
19:13:32 <GregorR> int-e quite nearly got one, but it turned into if.
19:14:01 <int-e> yep, because translating ] into ] cannot work
19:14:35 <calamari> yeah.. not quite sure what I was thinking with that
19:14:47 <calamari> actually wait.. yeah
19:15:04 <calamari> ]=] should be fine..
19:15:14 <calamari> it just makes [ more complicated
19:15:50 <calamari> but, I use the ] = jmp.. rather that some impl that do a conditional at most ends
19:16:04 <calamari> both ends
19:16:24 <calamari> blah.. can't form coherent sentences this morning, sorry
19:16:33 <int-e> it still jumps to the wrong point with your code ;)
19:17:04 <calamari> hehe, I wouldn't doubt it
19:17:20 <calamari> I can put it on the debugger and fix it
19:18:50 <calamari> hahaha.. that code scares me, and I wrote it! :(
19:19:07 <int-e> it's not too difficult
19:19:09 <int-e> hehe
19:20:31 <int-e> and I can see how to shorten it quite a bit. but let me get that version to work first.
19:29:41 <GregorR> Here's the moment you've all been waiting for ...
19:29:48 <GregorR> The first implementation of BitChanger ...
19:29:59 <GregorR> The thing that lets us switch the category ...
19:30:07 <GregorR> http://www.codu.org/egobch-0.1.tar.bz2
19:30:27 <GregorR> Totally unoptimizing btw.
19:31:42 <GregorR> graue: Could you add that to the files archive at some point? Thanks :)
19:33:42 <int-e> ok, updated the wiki (BF_instruction_minimalization)
19:34:08 <int-e> now for that short version.
19:38:23 -!- kipple has joined.
20:05:05 <int-e> I've added that short version to the wiki.
20:05:30 <int-e> hi kipple
20:05:46 <calamari> cool!
20:05:49 * calamari tests it :)
20:07:48 <calamari> something seems wrong
20:08:03 <calamari> doesn't enter the loop
20:08:11 <calamari> I had the cell=5 (101)
20:08:39 <int-e> works for me .. let me compare the code I put into the wiki with the one I actually use
20:10:12 <calamari> this is the one I'm testing @[>>>>>>>>@[<@]>[>]<<<<<<<<<[@]>>>>>>>>[<]@>[@>]<<<<<<<<<@[@
20:11:40 <int-e> yes
20:11:46 <int-e> that is correct
20:12:16 <calamari> I apologize, it was my error
20:12:28 <calamari> was running in 8-bit mode
20:12:29 <int-e> I have a typo in the bitchanger ] code - missing the first character
20:14:01 <int-e> fixed, too
20:20:48 <calamari> anyone remember the name of the bf-like language that uses ; ?
20:21:24 <calamari> aha.. boolF...
20:25:33 <calamari> any reason to keep the large versions? gonna scrap those
20:26:44 <int-e> I don't care
20:27:59 <calamari> done
20:28:07 <calamari> 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 <calamari> 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 <GregorR> if (msg[0] == 'R' && msg[1] == 'E') exit(1);
21:32:15 <calamari> re's = regards :)
21:32:31 <int-e> re
21:32:32 <calamari> but also, re-hello
21:32:34 <int-e> :P
21:32:48 <calamari> so "hello again" :)
21:33:28 <GregorR> I was REciprocating your REgards.
21:33:34 <calamari> ;)
22:27:25 <GregorR> So jix, are you going to update those benchmarks at any point?
22:27:34 <GregorR> (Or have you already and I just haven't seen the new results)
22:58:00 <jix> i'm going to update them tomorrow
23:17:48 <GregorR> Muahahahaha ... BWAHAHAHAHA ... GAAAAAAAAAAAHAHAHAHAHAHAHAHAH!!!!!!!!!!!!
23:18:30 <GregorR> 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 <calamari> BF debugger 1.30 released.. http://kidsquid.com/programs/bf
23:19:49 <calamari> bunch of new features, bugfixes, added 1-bit and EOF modes
23:19:55 <jix> GregorR: they are arranged by runtime
23:25:54 <GregorR> Aww, then egobfc2m will be a bit below some compilers.
23:29:43 <jix> below bf2a?
23:30:01 <GregorR> Idonno, let's give it a shot. One sec.
23:30:32 <jix> i don't sort by compiletime + run time because some compilers depend on external tools like gcc
23:40:10 <GregorR> 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 <GregorR> Hmm, I can't find bf2a ...
23:41:41 <jix> www.harderweb.de/jix/langs/brainfuck/bf2a.rb should work
23:41:54 <jix> generates c file
23:43:45 <pgimeno> 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 <GregorR> 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 <pgimeno> in that case a BF frontend for gcc would be the proper test IMO
23:46:49 <jix> but than you can't compare interpreters with compilers
23:49:05 <pgimeno> anyway, GregorR, I was just kidding; I like the idea of having a kind-of-JIT for BF
23:50:34 <pgimeno> there was a C (or similar language) compiler which did something alike, what was the name?
23:52:29 <GregorR> bf2a compiled binaries are slightly faster, but with compilation time it loses.
23:52:44 <pgimeno> ah, TCC was it by Fabrice Bellard, http://fabrice.bellard.free.fr/
23:53:12 <GregorR> Ah yes, TCC = excellent
23:53:24 <GregorR> TCCBOOT = awesome for stupid Gentoo users :P
23:53:31 <jix> GregorR: it's because gcc is slow
23:53:45 <GregorR> jix: Yes, yes it is >:)
23:53:59 <jix> i'd like to combine my optimizations with your jit-a-like interpreter
23:54:31 <GregorR> ruby BF->C optimizations ported to a C BF->machine code compiler.
23:54:37 <GregorR> That sounds sort of like dying.
23:54:40 <GregorR> :P
23:55:21 <jix> it's a ruby BF->Intermediate-language-suitable-for-direct-compiling and a Intemediata-language->C converter
23:55:56 <GregorR> Ahhhhhhhhhhhhhhhh
23:56:05 <pgimeno> q: what about using TCC for the test?
23:56:16 <GregorR> Well, the only optimizations I've got are >>>>>>>>>>>>>>>>>><>>>>>>> ++++++++++-------+++ and [-]
23:56:57 <jix> no [--------->+<] *g*?
23:57:12 <GregorR> Not in egobfc2m
23:57:30 <jix> i'm using my ultra-cool^^ lookuptables for that kind of loops
23:58:56 <GregorR> Maybe I'll make the worlds slowest-without-just-cheating interpreter.
23:59:38 <GregorR> BF->intermediate language BitChanger->interpreted intermediate language->C->gcc->run
2005-07-29
00:00:04 <GregorR> mandelbrot.b: 1 hr 25 min 33.27 sec
00:00:10 <GregorR> :P
00:04:10 <int-e> wee
00:04:15 <int-e> well at least it works :)
00:04:57 <GregorR> Oh, and I would represent bits as uint64_t's.
00:05:11 <jix> no use gmp's bignums
00:05:29 <jix> and use dynamic linking (for gmp)
00:06:12 <int-e> hmm, they are hard to use, I prefer gmpxx and their mpz_class
00:06:14 <GregorR> Runtime dynamic linking.
00:06:22 <jix> ohohoh! use gmp'floats
00:06:45 <jix> with 1 bit sign, 100 bit exponent and 200bit value
00:06:49 <int-e> well, use Javas bignum through JNI ... err. sorry.
00:06:56 <pgimeno> I find mpz's quite comfortable though
00:07:09 <jix> use ruby!
00:07:20 <jix> the overhead for a method call is big
00:07:24 <int-e> (it's called BigInteger and they implement it completely in Java.)
00:07:26 <GregorR> Awesome.
00:07:40 <pgimeno> I've been thinking about writing a BF interpreter with unlimited cell size
00:07:51 <jix> because ruby has to lookup the + method of Integer with every call because one can redefine the + method of Integer
00:07:55 <GregorR> pgimeno: Choose-at-runtime or bignum?
00:08:02 <pgimeno> bignum
00:08:38 <int-e> jix: they don't implement any cache and invalidate scheme there?
00:08:58 <jix> int-e: dunno.. ruby is fast enough for many things
00:09:14 <GregorR> (I don't know ruby, so work with me for this joke:)
00:09:23 <GregorR> int operator+(int a, int b) return a + b;
00:10:32 <int-e> hmm. that's an infinite loop if your compiler does tail call elimination ...
00:11:06 <int-e> or that's how I'd read it
00:11:15 <int-e> I'm not sure what language that is.
00:13:57 <{^Raven^}> jix: nice proggy
00:14:06 -!- BigZaphod has quit.
00:22:29 <GregorR> int-e: Yeah, and it's pseudo-C++ish, though proper C++ would look like so:
00:22:47 <GregorR> int operator+(int b) { return val + b.val; }
00:22:50 <GregorR> Or somesuch.
00:27:09 <int-e> nah. int operator+(int a, int b) { return a+b; } ... if that were possible.
00:27:40 <int-e> foo.cc:1: error: `int operator+(int, int)' must have an argument of class or
00:27:40 <int-e> enumerated type
00:27:41 <int-e> ;)
00:28:13 <int-e> (that is, a user defined type must be used in overloaded operators)
00:29:15 <int-e> as an argument. but there's no requirement to make the overloaded operator a member of a class.
00:29:42 <int-e> grrr. http://www.math.umd.edu/%7Edcarrera/ruby/0.3/chp_02/tips.html
00:30:09 <int-e> even more important than commenting your code is that the comments are actually correct.
00:30:42 <int-e> And the code *actually* finds the smallest power of 2 larger or equal to 10_000.
00:38:56 <int-e> Ruby is an interesting mix, it borrows features from Perl, a bit Pascal, and SmallTalk ...
00:39:16 <int-e> and probably others but these I recognized.
00:45:24 <jix> ruby is cool
00:46:00 <GregorR> Yes, of course you can't override int XD
00:50:10 <GregorR> I haven't overloaded operators in C++ in a while, didn't remember quite what it looked like *shrugs*
00:50:10 <int-e> struct t { };
00:50:10 <int-e> t operator+(t a, t b) { return a+b; }
00:50:10 <int-e> main() { t a, b; a+b; }
00:50:13 <int-e> is valid :)
00:50:34 <GregorR> struct == class in C++
00:50:40 <int-e> I know
00:51:00 <GregorR> What would that return :P
00:51:02 <int-e> and the program produces a stack overflow, as expected.
00:51:07 <GregorR> Of course.
00:51:34 <GregorR> 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 <int-e> 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 <int-e> re
01:49:24 <graue> re
02:08:38 -!- calamari has joined.
02:08:51 <calamari> hi
02:24:55 <graue> good day calamari
02:25:01 <graue> bfdebug was updated recently, you say?
02:25:05 <graue> what's new with this version?
02:25:49 -!- {^Raven^} has quit (Read error: 110 (Connection timed out)).
02:31:14 <calamari> graue: a few things, about to release 1.40 too, added a couple more features
02:31:34 <calamari> I can paste the changelogs to you in private message if you'd like
02:35:28 <calamari> okay, 1.40 is up
02:37:43 -!- Gs30ng has joined.
02:37:59 <calamari> 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 <calamari> and bugfixes :)
02:48:41 -!- Gs30ng_ has joined.
02:51:51 <GregorR> graue: Would you mind adding EgoBCh to the files archive? ( http://www.codu.org/egobch-0.1.tar.bz2 )
02:52:43 <GregorR> Hmm, and also, 0.7.1 was a development release, probably shouldn't be in the archive.
02:53:49 <graue> GregorR: I did
02:54:06 <GregorR> graue: There doesn't seem to be a bitchanger directory ...
02:54:24 <GregorR> Oh, there it is.
02:54:27 <GregorR> Refresh, Gregor.
02:54:36 <GregorR> Coolio, thanks.
02:55:25 <graue> 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 <puzzlet> oh, not that + and - signs again
12:12:39 <int-e> puzzlet: you don't like brainfuck?
12:12:53 <puzzlet> no, it's about IRC proxy
12:13:19 <puzzlet> when anyone other than me talks, + and - signs appear
12:13:23 <puzzlet> like <int-e> +puzzlet: you don't like brainfuck?
12:13:39 <puzzlet> <somebody> -<CTCP>ACTION blah
12:13:57 <int-e> oh. that's nasty, right, it destroys CTCP messages.
12:38:39 <tokigun> int-e: if there is "\x01...\x01" block, it will be CTCP message always. + and - sign doesn't affect the message.
12:40:47 <puzzlet> tokigun, CTCP me
12:41:00 <tokigun> hmm
12:41:04 <int-e> tokigun: oops. thank you for the correction
12:41:14 * tokigun blahblah
12:41:19 <puzzlet> <tokigun> +<CTCP>ACTION blahblah<CTCP>
12:41:24 <tokigun> int-e: :)
12:41:32 <tokigun> puzzlet: wait a moment...
12:42:08 <puzzlet> yeah, CTCP woks fine
12:42:14 <tokigun> :S
12:42:35 <puzzlet> <tokigun> +:S
12:42:41 <puzzlet> emoticons don't work
12:42:48 <tokigun> hmm
12:42:58 <int-e> :-)
12:42:59 <int-e> :-(
12:43:01 <int-e> ;)
12:44:31 <tokigun> puzzlet: are you using irssi proxy?
12:45:08 <puzzlet> yes
12:45:47 <tokigun> both freenode and hanirc?
12:46:07 <puzzlet> yes
12:46:27 <tokigun> then... hanirc proxy works well?
12:46:48 <puzzlet> yes
12:46:55 <tokigun> ... :S
12:47:18 -!- grimace_ has joined.
13:12:12 <Gs30ng> somebody decided to make an Udage interpreter in Befunge
13:12:52 <Gs30ng> s/an/a (Udage: ju-)
13:23:01 -!- jix has joined.
14:04:08 <grimace_> impressive
14:05:48 <jix> moin
14:07:28 <mtve> Gs30ng: sorry, i missed it. any url?
14:15:19 <Gs30ng> mtve: tokigun told me to do that, and currently nothing's unveiled.
14:15:30 <mtve> ah :)
14:17:32 <puzzlet> actually, tokigun told him *tokigun* is going to do that
14:18:07 <tokigun> eh?
14:24:36 <Gs30ng> oops
14:24:39 <Gs30ng> stupid mistake
14:25:27 <Gs30ng> ok i don't even heard about befunge
14:25:41 <Gs30ng> well, actually i have heard about it but don't know what it is
14:25:49 <puzzlet> you know aheui
14:25:58 <Gs30ng> ...ok, i know how it work but i can't make any code with it
14:26:29 <Gs30ng> ...fine, i have made a code in befunge
14:26:38 <Gs30ng> ......i made an OS in funge-98
14:27:38 * puzzlet tries to escape from Gs30ng
14:28:07 <Gs30ng> tokigun is working on his Udage interpreter in Befunge
14:28:15 <tokigun> ...
14:28:17 <tokigun> it's not true
14:28:35 <Gs30ng> let's give him a big trout to eat
14:28:54 <Gs30ng> tokigun: you lied?!
14:29:03 <puzzlet> he doesn't like fish
14:29:14 <puzzlet> Gs30ng, that's what you have to know
14:29:15 <Gs30ng> that's why we give him it
14:29:16 <puzzlet> about him
14:29:30 <Gs30ng> do i?
14:29:32 <Gs30ng> why?
14:29:56 <Gs30ng> why should i know what he hates?
14:30:11 <puzzlet> it was a joke
14:30:29 <Gs30ng> it's not true
14:31:11 <Gs30ng> puzzlet, you want me to marry him, right?
14:31:21 <Gs30ng> i know the truth
14:32:10 <puzzlet> 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 <calamari> 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 <graue> 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 <graue> it prints 'H', 173, 25, 133, 244, then freezes
20:19:08 -!- {^Raven^} has joined.
20:19:15 <{^Raven^}> hi peeps
20:20:31 <calamari> 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 <calamari> 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 <calamari> yeah, me too
21:34:53 <{^Raven^}> how's your game coming?
21:35:34 <calamari> 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 <calamari> 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 <GregorR> If I could join the contest without writing any story, I would :P
21:37:33 <GregorR> 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 <calamari> 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 <calamari> 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 <GregorR> What languages are yours' in?
21:41:24 <calamari> 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 <GregorR> Hum
21:42:58 <GregorR> If anybody wants music for their game which is too small to possibly support music ... look me up :P
21:43:05 <jix> ot: me is learning how to use rails now...
21:43:41 <calamari> external code would be cheating anyways, right?
21:44:06 * GregorR links to libGenericGameEngine
21:44:22 <jix> if you just do it and tell noone about it no one would note it...
21:44:35 <jix> 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 <calamari> 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 <GregorR> Write it as an OS kernel >:)
21:45:42 <GregorR> (minus the OS, really)
21:45:47 <calamari> not a problem
21:45:54 <{^Raven^}> i would use the BIOS functions if I was writing in ASM
21:46:47 <calamari> 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 <jix> rom space?
21:47:10 <calamari> might as well keep a pointer into screen memory, it'd be smaller
21:47:19 <jix> ROM space?
21:47:30 * calamari says something else, just to annoy jix
21:48:07 <calamari> :) rom.. program size, game size, etc
21:48:16 <GregorR> 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 <GregorR> Shortest console game: G
21:48:55 <GregorR> 1 byte, woooh!
21:49:23 <jix> 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 <calamari> hq9+ already does that ;)
21:49:49 <calamari> jix: nope
21:49:52 <jix> hmm
21:49:57 <jix> 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 <calamari> 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 <calamari> raven: yeah, exactly
21:51:01 <calamari> 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 <calamari> everything seemed the same to me
21:51:37 <jix> to mee too
21:51:45 <calamari> 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 <jix> 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 <jix> oh that arn't
21:52:58 <{^Raven^}> jix: made two days ago, the last one at my request
21:53:05 <calamari> I don't have the page here at school.. is it still 2799 and 2899 ?
21:53:16 <{^Raven^}> yeah
21:53:18 <calamari> ok
21:53:49 <calamari> 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 <jix> 2899 and 2899
21:54:05 <jix> i wan't to write a game in assembly too
21:54:17 <jix> 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 <jix> SI? factor 1000 instead of 1024?
21:55:07 <GregorR> Rather than 8KiB or just 8K?
21:55:14 <{^Raven^}> jix: yeah
21:55:24 <GregorR> jix: SI sez: Kilibits is factor of 1024, kilobits is factor of 1000
21:55:26 <calamari> well, the guy has serious issues.. but I'm having fun writing this game anyhow, so it doesn't matter much
21:55:32 <int-e> hmm maybe he works for a hard disk drive manufacturer
21:55:37 <int-e> muhahaha
21:55:45 <GregorR> int-e: AHAHAHAHAHAHAHA XD
21:55:51 <jix> windows uses factor 1000
21:56:01 <GregorR> Why is my 200gig hard disk only 189gig?!
21:56:05 <jix> afaol
21:56:06 <int-e> windows is written for clueless people
21:56:08 <jix> afaik
21:57:02 <{^Raven^}> Windows only makes up for 1/3 of my computing
21:57:25 <int-e> 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 <jix> i don't use windows at all
21:57:49 <int-e> 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 <jix> i'm using 2 OSs debian(server) and osx
21:58:52 <jix> my first computer was an apple macintosh classic II
21:59:14 <jix> got it in grade 2 or 3
22:00:07 <jix> hmm my current mac is the 4th mac i own
22:00:14 <calamari> 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 <jix> classicII IIsi iMac powermacg4
22:00:45 <jix> there was no me 20 years ago
22:01:16 <GregorR> 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 <jix> 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 <GregorR> XD
22:02:48 <jix> i used to be admin at the mac-room but it's unused
22:02:51 <GregorR> Do they have OpenOffice or similar?
22:02:53 <calamari> openoffice isn't very good.. m$'s is better
22:02:54 <jix> yes
22:03:00 * GregorR slaughters calamari.
22:03:14 <int-e> LaTeX rules the world.
22:03:35 <jix> 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 <jix> and the admins are stupid
22:03:52 <calamari> 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 <jix> they block ssh but allow irc....
22:04:45 <jix> 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 <GregorR> XD
22:05:00 <GregorR> Genius
22:05:06 <calamari> lol
22:05:17 <int-e> 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 <int-e> jix: do they allow telnet?
22:05:33 <GregorR> int-e: DING DING DING!!!!
22:05:34 <int-e> jix: or ftp?
22:05:47 <jix> 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 <jix> that's the most stupid network setup i ever seen
22:06:13 <int-e> ah, right, encryption is illegal - make a base64 proxy ;)
22:06:19 <jix> haha
22:06:29 <jix> encryption is not illegal?
22:06:31 <jix> !
22:06:36 <int-e> I know it isn't
22:06:44 <jix> aahhhh rot13 is illegal
22:06:50 * GregorR hauls jix off to MicroSoft Prison [tm] [patent #543542354234]
22:07:03 <int-e> We'll have to wait a few more years, maybe even decades for that to happen.
22:07:20 <int-e> (in fact we'll outlaw random data)
22:07:38 <GregorR> Microsoft has a patent on random data.
22:07:42 <GregorR> They invented randomness.
22:07:50 <jix> nah i wan't the improved [tm] Microsoft [tm] Prison [tm] 2006 [tm] because it has prisoner [tm] leaks
22:07:54 <int-e> I thought Shannon pretty much did that.
22:08:17 <int-e> ;)
22:08:24 <GregorR> 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 <jix> random: http://www.fourmilab.ch/hotbits/
22:09:00 <pgimeno> Intel is the winner in the [tm] field, methinks
22:09:09 <int-e> I bet breathing air is a patentable technical process.
22:09:21 <calamari> a final thought before I leave.. http://lilly.csoft.net/~jeffryj/misc/msprayer.txt
22:09:49 <calamari> 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 <jix> oops
22:10:19 <GregorR> 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 <int-e> GregorR, yes, just like Microsoft went forth and invented the Internet 5 years ago.
22:11:13 <GregorR> Exactly!
22:11:15 <pgimeno> me is looking for an Intel document for the 386...
22:11:37 <int-e> pgimeno: why?
22:11:42 <GregorR> Look in the archives from 30 years ago XD
22:11:53 <GregorR> Because Intel makes /modern/ processors.
22:11:55 <int-e> whose archives? google's or Microsoft's?
22:12:14 <int-e> "He who controls the past, controls the future."
22:12:16 <graue> I have a huge text file called "INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986"
22:12:33 <GregorR> OK, I have to stop berading Intel while at work ... at Intel :P .. back to work with me.
22:12:48 <int-e> is MS bashing ok?
22:13:10 <pgimeno> http://web.tiscali.it/luigisgro/itdisc1.html
22:13:57 <GregorR> It's awesome that "i" is a trademark of Intel :P
22:14:11 <pgimeno> yup
22:14:12 <int-e> "He who controls the present, controls the past."
22:14:23 <int-e> Now I know why that quote felt incomplete to me.
22:14:32 <pgimeno> I have the original document with that trademark note
22:15:39 <GregorR> 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 <jix> .
23:08:36 <GregorR> .?!
23:08:43 <GregorR> .?!?!?!?!?!?!!?!???!?!?!?!?!?!?!?!?!!?!?!?!?!
23:08:51 <jix> ,
23:09:13 <jix> and now both together:
23:09:13 <GregorR> ,! ,=+++
23:09:15 <jix> ;
23:10:00 -!- BigZaphod has quit.
23:21:14 <GregorR> I can't believe logicex-2.fyb is still the champion.
23:21:29 <GregorR> Somebody defeat it! Come ooooooooooooooooooon!
23:21:43 <jix> hmm
23:21:47 <jix> ;)
23:23:43 <GregorR> Heyyy! My laptop is finally back from Toshiba!
23:23:55 <jix> 15th and 16th October... ok
23:24:29 <jix> ahh cool it's a weekend
23:24:56 <GregorR> ?
23:25:11 <jix> EuRuKo
23:25:26 <jix> European Ruby Konference
23:25:33 <GregorR> Ahh
23:25:43 <jix> but it's in munich.. :(
23:26:55 <jix> ok back to fyb
23:27:19 <jix> but i took a look at a mach.. it's too short
23:28:05 <jix> it makes no sense to develop big programs because a shortone with >>>>>>>>>> laybomb x 30 will bomb you
23:35:13 <int-e> hmm
23:36:04 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
23:37:49 <int-e> wouldn't it be nicer to present those results as a table?
23:39:54 <int-e> similar to http://www.inf.tu-dresden.de/~bf3/fyb
23:48:54 <int-e> Ah I see that part is automatically generated.
23:52:57 <lament> what's fyb?
23:53:34 <int-e> http://esoteric.voxelperfect.net/wiki/FukYorBrane
23:54:53 <lament> ah
23:57:07 -!- comet_11 has changed nick to CXI.
2005-07-30
00:03:31 <GregorR> int-e: Quaa, where did that table come from?
00:06:31 <int-e> I created it from the data on the wiki page
00:06:40 <int-e> I'll automate that if there's any interest
00:07:15 <GregorR> RIght now there's about 0 interest in FYB, sooo *shrugs*
00:09:16 <lament> 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 <int-e> I'm looking at the spec, but I promise nothing
00:11:39 <int-e> I'd just much more like to see a compact table then that lengthy report ;)
00:11:47 <int-e> 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 <calamari> 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 <GregorR> BIG EXPLOSION TIME!!!
06:14:28 <GregorR> 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 <graue> note for jix or anyone else interested in benchmarking BF implementations:
07:11:57 <graue> factor.b by Brian Raiter may be a worthwhile/interesting test
07:12:25 <graue> 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 <tokigun> 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 <tokigun> 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 <Keymaker> 'ello
15:09:18 <Keymaker> check out language #759 at 99-bottles-of-beer.net..
15:09:20 <Keymaker> (trigger)
15:11:11 <Keymaker> rgh. i'll be a while away, i have to return some dvds
15:11:12 <Keymaker> bbl
15:29:19 <jix> Keymaker: cool
15:35:21 -!- Gs30ng has joined.
15:36:21 <Keymaker> cheers
15:36:25 <Gs30ng> Udage official website is now available: http://gs30ng.exca.net/udage
15:39:35 <Keymaker> judging by the logs it seems gregor has exploded once again..
15:39:41 <Keymaker> anything other interesting happened?
15:42:07 <jix> no
15:42:14 <Keymaker> ok
15:42:14 <jix> i'm working on my website...
15:42:19 <Keymaker> nice
15:42:43 <Keymaker> lemme guess.. it has esolangs?
15:43:27 <jix> i'm going to use it for all my projects (including esolangs)
15:43:36 <Keymaker> ok
15:46:41 <jix> but i have to make a database layout
15:46:47 <Keymaker> ah
15:46:52 <jix> that's the annoying part
15:46:54 <Keymaker> yeah
15:47:01 <Keymaker> i have used a bit database
15:47:06 <Keymaker> not very good at it
15:47:09 <Keymaker> (mysql)
15:47:52 <jix> 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 <Keymaker> yeah
15:51:36 <jix> i want: a simple blog, some pages (with comment function) and a file manager
15:52:13 <Keymaker> ok
15:55:17 <jix> argh..
15:55:22 <Keymaker> what happened?
15:55:23 <jix> mysqld refuses to start
15:55:25 <Keymaker> :}
15:55:29 <Keymaker> i mean :\
15:55:50 <jix> Starting mysqld daemon with databases from /usr/local/mysql/data
15:55:50 <jix> STOPPING server from pid file /usr/local/mysql/data/oceanic.local.pid
15:55:50 <jix> 050730 16:55:50 mysqld ended
15:58:25 <jix> reinstall...
16:03:33 <jix> mysql sucks
16:03:34 <jix> .
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 <jix> no i wrote the design by hand
16:52:49 <jix> and i'm not going to use php
16:52:55 <jix> because php sucks
16:53:05 <Keymaker> why?
16:53:17 <Keymaker> (and i guess you'll be using ruby?)
16:53:34 <jix> because i wan't an object-orientated (php is pseudo object-orientated) language for web-applications
16:53:50 <jix> because i want a mvc webapp (model-view-controller)
16:53:59 <jix> i'm using ruby-on-rails
16:54:57 <jix> php is not object orientated because i have to do ary_push($array,"bla") instead of $array.push("bla")...
16:55:06 <jix> and i hate using str_* ary_* ...
16:55:24 <jix> and i hate $ variables
16:55:38 <Keymaker> ok ok
16:55:56 <jix> ;)
16:57:03 <Keymaker> hmm typing is hard if you connect your fingers to each other with some rubber band..
16:57:21 <Keymaker> (too bad i don't have another to tie the right hand)
16:58:30 <jix> lol?
16:58:37 <Keymaker> :)
16:58:55 <Keymaker> well, had to take the rubber band off, the colour started to change in fingers
16:59:05 <jix> *g*
16:59:35 <jix> its funny to type with one hand
16:59:43 <Keymaker> interesting new esoteric programming tool; the rubber band! tie your fingers to make it harder to type
16:59:50 <jix> lol
17:00:03 <jix> i prefer typing with one hand
17:00:11 <Keymaker> heh
17:00:27 <jix> i dont know how fast i am with one hand
17:03:36 <jix> Your score: 123 keys per minute ~ 24 words per minute
17:03:37 <jix> one handed
17:03:48 <Keymaker> not bad
17:04:02 <jix> i'm testing 2 handed now
17:04:07 <jix> typera.tk
17:04:08 <jix> there
17:04:39 <jix> lang is english because german umlauts and those Uppercase words slow down...
17:07:05 <jix> Your score: 349 keys per minute ~ 69 words per minute
17:07:39 <jix> Mistakes: nly(only), eastwood(Eastwood), pice(piece), cu(cut), tof(of), argely(largely), diversityy(diversity), dnominations,(denominations,), it(its), fell(feel)
17:44:04 <Keymaker> 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 <graue> I wrote up a 1L proposal at http://www.esolangs.org/wiki/Talk:1L
18:58:57 <graue> just found a flaw in it; it can't output 0 bits, so apparently it needs a special TL2
20:05:00 <GregorR> Umm .. can you flip TL0 without going to TL-1?
20:07:35 <graue> yes
20:07:39 <graue> the flippage is done after the move
20:08:06 <GregorR> Oh, so it is, I was reading backwards.
20:09:38 <graue> http://www.oceanbase.org/graue/junk/1l_a.c untested interpreter
20:09:41 <GregorR> 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 <GregorR> I'm not sure if it affects hypothetical Turing-completeness though.
20:10:35 <graue> yeah, I guess you have a point
20:11:55 <graue> updated the interpreter to switch up/down
20:12:50 <graue> 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 <GregorR> It's probably because mine is horribly flawed 8D
20:22:27 <graue> I've changed the symbols in 1L_a
20:22:36 <graue> what was * is now space, what was + is now everything else
20:31:44 <jix> i don't know what color is the best for my website
20:31:49 <jix> 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 <graue> I prefer the blue one
20:33:02 <jix> nah
20:33:08 <jix> everyone says the blue is the best
20:33:19 <jix> but imo the blue is the worst one
20:33:20 <graue> the red is too in-your-face to be used throughout the page
20:33:29 <graue> and the yellow is too bright, although the color isn't bad
20:33:40 <GregorR> I prefer the yellow one.
20:33:50 <GregorR> But as the only person on the planet who likes yellow tones, my opinion is invalid.
20:34:05 <graue> the yellow one would be great if it were darker
20:34:19 <jix> GregorR: the yellow one is the original.. i prefer the yellow and the red but i can't decide
20:34:38 <GregorR> I agree with graue that the red is too "in-your-face"
20:34:49 <jix> hmm
20:36:12 <Gs30ng> color should be esoteric
20:36:17 <Gs30ng> oops typo
20:37:38 <jix> Gs30ng: show me an esoteric color
20:46:13 <cpressey> http://en.wikipedia.org/wiki/Grue_%28color%29
20:49:19 <jix> lol
20:49:42 <jix> http://jix.is-a-geek.org:59658/design/designgruen/design.html << green
20:51:53 <jix> 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 <jix> lol
22:13:23 -!- Gs30ng has quit (Read error: 60 (Operation timed out)).
22:21:11 -!- calamari has joined.
22:21:13 <calamari> hi
22:21:33 <calamari> bfdebug 1.50 is now available: http://lilly.csoft.net/~jeffryj/programs/bf/
22:21:37 <jix> calamari: cool
22:21:51 <jix> bfdebug is cool
22:21:59 <calamari> thanks
22:23:04 <jix> there is one feature i'd like to have
22:23:16 <jix> a set program pointer to position feature
22:23:40 <calamari> you want goto?
22:23:55 <jix> yes a goto button
22:24:05 <calamari> what woudl you use that for (just curious)
22:24:18 <jix> just test a part of a code
22:24:34 <jix> start the code at any point
22:24:56 <calamari> seems like it'd get confused because the brackets wouldn't match
22:25:22 <jix> i can stop edit and remove brackets.. no problems
22:25:35 <jix> stop edit remove-bracktets start....
22:25:51 <calamari> actually, wait.. it wouldn't care
22:26:01 <jix> and i'd like to stop goto start
22:26:18 <jix> and labeling of memory cells would be cool
22:26:29 <calamari> labelling of memory cells is already there
22:26:38 <calamari> stop just stops, clear resets
22:26:58 <jix> calamari: where?
22:27:00 <calamari> to label a cell, $name=cell
22:27:10 <calamari> then you can jump to a cell with @name
22:27:38 <jix> locate is at alt+l ?
22:27:52 <jix> that's a problem because the @ character on a mac is on alt-l too
22:28:13 <calamari> really? how strange
22:28:23 <jix> well macs don't use alt and ctrl for command
22:28:25 <calamari> what is on the 2 key?
22:28:34 <jix> alt-2?
22:28:37 <calamari> shift-2
22:28:40 <jix> "
22:28:42 <jix> on de
22:28:50 <jix> @ on us
22:28:54 <jix> ahh its de onlz
22:28:57 <jix> only
22:29:47 <calamari> not sure what to do about that, since the standard for accelerators is alt-letter
22:30:07 <jix> in java
22:30:10 <jix> and windows
22:30:14 <calamari> what do you get with alt-shift-l ?
22:30:22 <jix>
22:30:26 <calamari> hehe
22:30:53 <jix> where are < and > on the us layout
22:31:03 <calamari> shift , and shift .
22:31:10 <jix> ah
22:31:21 <calamari> " is shift '
22:31:36 -!- graue has joined.
22:31:39 <calamari> what do you have at shift ' ?
22:31:49 <jix> ' is shifted
22:31:53 <jix> i have ' on
22:31:55 <jix> # shift
22:32:03 <calamari> weird...
22:32:22 <jix> but the letters are the same just y and z swapped
22:32:42 <jix> y is very rare in german
22:32:57 <calamari> oic
22:33:07 <jix> hmm .. german word with y...
22:33:44 <jix> old-spelling oxyd afaik.. but the new-spelling allows oxyd and oxid but i'm not sure
22:34:16 <jix> but it's only oxyd if it's connected with something else.. and than it isn't a real german word
22:35:04 <jix> Kohlenstoffdioxid is CO2 but O is Sauerstoff...
22:36:49 <calamari> 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 <jix> s:‚ p:π r:® f:ƒ c:ç
22:37:46 <jix> p
22:38:21 <calamari> I can't read any of those letters on the first line
22:38:44 <jix> utf8?
22:39:03 <jix> try /charset UTF-8
22:39:18 <jix> 23:38:42<jix>s:‚ p:π r:® f:ƒ c:ç
22:39:37 <calamari> alt-s is comma?
22:39:47 <jix> or some comma-alike
22:39:51 <jix> but i have a comma key
22:39:57 <calamari> ok, so it doesn't matter
22:40:12 <calamari> looks like the only one I need to change is Alt-L
22:40:46 <jix> afk short
22:40:50 <calamari> I'll add a --german command line option that changes it to Alt-P
22:41:18 <jix> i'm launching it using the finder... no command line
22:41:30 <jix> oh and it should be --german-mac
22:41:42 <jix> because on german windows its altgr-q afaik
22:42:07 <calamari> okay, I can make a menu option for it
22:42:13 <jix> hehe thanks
22:45:58 <{^Raven^}> hi calamari
22:56:59 <calamari> hi raven
22:57:11 <calamari> jix: got the kayboard fix done, now thinking about goto
22:59:09 <jix> back
22:59:15 <jix> cool
22:59:46 <calamari> jix: is Alt-G a problem?
22:59:52 <jix> its the copyright sign
22:59:57 <calamari> ok good
23:00:31 <jix> @ and ~ are the only alt-letter ascii characters
23:00:55 <jix> ~ is alt-n and is a combine key alt-n => ~ alt-n+n => ñ
23:07:30 <calamari> cool, goto was easy :)
23:08:48 <calamari> anything else before I put this up?
23:09:29 <calamari> raven: any bugs you've noticed in bfdebug? features?
23:09:58 <jix> converting $a=0 and @a and such things to >>> and <<<
23:10:28 <jix> and another (bigger) feature a template system
23:10:38 <{^Raven^}> calamari: yeah, bfdebug still throws exceptions occasionally
23:11:08 <calamari> when?
23:11:23 <calamari> I've fixed one when cell=0 and inst = <
23:11:34 <{^Raven^}> i might be using an old version
23:11:46 <jix> 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 <jix> 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 <calamari> 'k :)
23:12:33 <jix> but that's just a cool not-so-important feature
23:12:45 <calamari> jix: I think I'll pass on that.. sounds very complicated
23:12:52 <jix> the conversion is more important imho
23:13:04 <{^Raven^}> calamari: bfdebug 1.22 was pretty fast with screen update disabled
23:13:29 <calamari> screen update disabled?
23:13:42 <calamari> not sure what that means :)
23:14:05 <calamari> 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 <calamari> yeah, same thing :)
23:14:23 <{^Raven^}> cool
23:14:44 <jix> speed test code: +[[+]->+]
23:15:20 <jix> and yes the speed increase with fast is gigantic
23:15:48 <jix> oh another idea slow=> update always normal=> update every 20 instructions fast=> update never
23:16:17 <jix> because slow is to slow and fast isn't that good for debugging
23:16:38 <jix> oh and yet another idea... [-] optimisations.. i know [-] works i don't have to debug it ;)
23:16:43 <calamari> fast is most useful with the # stop
23:16:51 <calamari> [-] is already optimized
23:17:07 <jix> oh
23:17:14 <jix> wasn't in 1.30
23:17:22 <jix> or was it 1.2?
23:17:34 <jix> the version i used for developing my hexprint code
23:17:57 <jix> hmm +++ => +3.. maybe?
23:17:57 <calamari> if you use the step button, it will still go through the [-] manually, but pass/run jump past in one step
23:18:30 <calamari> I was thinking about combining +/- but I'm not sure it'd really speed things up much
23:18:39 <jix> in slow mode it does
23:18:56 <jix> and > and < too
23:19:29 <jix> my hexprint uses much [--------------->+<] alike code and that's slow in slow mode but i like to watch memory
23:19:42 <jix> what exactly does pass?
23:20:36 <calamari> it executes a single pass of a loop
23:20:43 <jix> ah
23:21:21 <jix> doesn't @bla conflict with Bit @?
23:21:42 <{^Raven^}> calamari: woah, that's fast
23:21:47 <pgimeno> short note: updating the screen more than 100 times a second is absolutely meaningless
23:22:23 <calamari> jix: nope.. as long as you're careful about it
23:22:32 <pgimeno> I often use timers for screen update
23:23:24 <calamari> if you have a $abc=3 and you do @abc of course that'll conflict.. so don't do that ;)
23:25:03 <jix> calamari: stop has no short-cut
23:25:11 <calamari> jix: alt-R
23:25:39 <jix> inserts an ® sign at the current command
23:25:48 <jix> and stops
23:25:56 <jix> huh
23:26:22 <calamari> doesn't do that here..
23:26:22 <jix> i would disallow writes to the code during execution
23:26:52 <calamari> jix: good idea.. let me see if I can arrange that
23:28:18 <jix> why is my hostname 127.0.0.1
23:28:24 <jix> instead of oceanic.local
23:29:46 <calamari> hmm, that was easy enough :)
23:32:53 <calamari> 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 <calamari> 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 <jix> is ok
23:34:37 <jix> 100cps here
23:35:01 <calamari> raven: I noticed that once, but thought it was related to a bug I was working on at the time
23:35:19 <calamari> which program?
23:36:59 <{^Raven^}> LostKingdom compiled with -d -t (code is 2.1Mb so that may be a factor)
23:37:37 <jix> 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 <calamari> doing the same here
23:39:57 <graue> ahah
23:40:01 <graue> 1L is sick
23:40:14 * graue finally wrote a working 1L program to print "A", after two failed attempts
23:40:57 <calamari> seems to be slow on step and pass also
23:41:12 <graue> http://www.oceanbase.org/graue/junk/a.1l
23:42:16 <graue> 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 <jix> http://www.oceanbase.org/graue/junk/a.1l is more than 1L....
23:43:36 <graue> jix, what?
23:43:47 <jix> or is the white part the path.. i don't see the 1 instruction
23:43:55 <graue> it has two symbols intentionally if that's what you mean
23:43:59 <graue> the spaces are the path
23:44:39 <jix> isit turing complete?
23:45:35 <calamari> raven: that's strange, because it uses the original code when in slow mode
23:45:38 <graue> jix: I think so
23:45:44 <calamari> does 1.22 scroll on > and < ?
23:45:53 <graue> jix: but of course I haven't written anything in it that requires a loop yet
23:46:03 <graue> 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 <jix> {^Raven^}: maybe you checked the echo-input-to-output option?
23:54:36 <calamari> brb.. gotta use phone
23:55:40 <{^Raven^}> jix: thx, i hadn't spotted that new option
2005-07-31
00:01:11 <GregorR> graue: Did you use garbage for artistic effect in a.1l?
00:02:01 <jix> using tab as garbage... :]
00:02:02 -!- calamari_ has joined.
00:05:40 <graue> GregorR: yes
00:05:58 <graue> GregorR: the junk could all just be * or + or something, but it wouldn't look as nice in my opinion
00:11:24 <calamari_> 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 <calamari_> I think I'll abort on this editable thing.. can't get it to work right
00:20:06 <jix> #define UP 31337
00:20:07 <jix> #define DOWN 666
00:20:07 <jix> #define LEFT 420
00:20:07 <jix> #define RIGHT 69
00:20:07 <jix> ?
00:21:02 <jix> lol
00:37:32 <calamari_> raven: just checked 1.22.. it's not scrolling correctly either
00:40:23 <graue> 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 <jix> there is a channel without #
00:57:59 <GregorR> There's one other valid prefix.
00:58:04 <GregorR> @ or something ...
00:58:09 <GregorR> It's for channels that aren't shared across servers.
00:58:15 <GregorR> Or something like that.
00:58:24 <jix> but there is a channel without prefix
00:58:30 <GregorR> Oh.
00:58:46 <jix> it's a very special channel ;)
00:58:53 <GregorR> Qua?
00:58:58 <jix> Qua??
00:59:55 <pgimeno> server-local channels starts with &
01:00:00 * pgimeno joins &esoteric
01:00:24 <jix> the channel is called 0
01:00:38 <pgimeno> seems not to be enabled in freenode
01:00:48 <jix> but you'll never see someone who is in channel 0 in any other channels
01:01:10 -!- pgimeno has left (?).
01:01:23 <jix> because /join 0 == leave all channels
01:01:36 <GregorR> So it's /not/ a channel.
01:01:39 -!- pgimeno has joined.
01:01:50 <jix> GregorR: well it works like a channel
01:01:54 <pgimeno> ?!
01:01:59 <jix> /join #bla,0 wroks too
01:02:07 <GregorR> One sec ...
01:02:24 <GregorR> Hmm, I just went in to 30
01:02:27 <GregorR> #0
01:02:33 <jix> without #
01:02:39 <GregorR> No, I didn't type the #.
01:02:42 <GregorR> ChatZilla did.
01:02:48 <jix> ah
01:02:50 <jix> well
01:02:58 -!- kipple has joined.
01:03:06 <jix> but some people run autojoin scripts
01:03:10 <jix> (a stupid thing)
01:03:12 -!- GregorR has left (?).
01:03:21 -!- GregorR has joined.
01:03:34 <GregorR> I refuse to believe you ;P
01:03:47 <graue> jix: can you invite people to 0?
01:03:55 <jix> they have some validation that checks for #... the trigger is for example !aj .... just type !aj #bla,0 in the channel ;)
01:04:02 <jix> no
01:04:05 <graue> oh, that would work, sure
01:05:45 <GregorR> ...........
01:05:46 <graue> 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 <GregorR> I still refuse to believe you :P
01:05:54 <graue> it actually worked until an update to the client made it not work
01:06:03 <graue> those were the days
01:06:49 <jix> hmm does it work with xchat...
01:07:24 <jix> jix: click here --> #esoteric,0,#esoteric
01:07:25 -!- jix has left (?).
01:07:25 -!- jix has joined.
01:07:29 <jix> it does
01:08:01 <graue> great
01:08:14 -!- jix has quit (Remote closed the connection).
01:08:25 -!- jix has joined.
01:08:47 <graue> so who's up for writing the first 1L quine?
01:08:52 <jix> x-chat aqua decided to crash
01:09:07 <jix> empty-file *g*
01:09:10 <jix> but that's cheating
01:09:29 <graue> that's not necessarily valid
01:09:51 <graue> 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 <graue> if it goes off the bottom or right it invokes undefined behavior
01:10:12 <jix> oh
01:10:39 <graue> with my interpreter that might work though
01:12:12 -!- GregorR2 has joined.
01:12:19 <GregorR2> GregorR2: #esoteric,0,#esoteric
01:12:22 -!- GregorR2 has left (?).
01:12:22 -!- GregorR2 has joined.
01:13:50 <GregorR2> I still refuse to believe you :P
01:13:51 -!- GregorR2 has quit ("Leaving").
01:14:11 <jix> ok i lied....
01:14:15 <jix> it's not true
01:14:22 <jix> you join all channels if you join 0
01:14:31 <GregorR> AWESOME
01:14:33 -!- GregorR has left (?).
01:14:39 -!- GregorR has joined.
01:14:41 <GregorR> :P
01:15:01 <jix> well all channels except some..not so important channels
01:19:24 <graue> http://www.oceanbase.org/graue/junk/a.txt <-- here's what I used to plan out my 1L program
01:23:37 <graue> my 1L interpreter freezes for a little while then crashes, if given an empty file
01:27:28 <graue> 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 <calamari_> couldn't resist :)
01:41:03 <calamari_> got scrolling working
01:41:32 <graue> hey calamari_, how about a 1L debugger?
01:41:36 <calamari_> java's scrollbars are very weird, but I changed numbers until I got it right :)
01:42:05 <calamari_> isn't that a 2d language?
01:43:06 <graue> yes
01:43:13 <calamari_> 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 <lament> what's 1L?
01:43:43 <calamari_> could translate bf to that very easily :)
01:43:51 <lament> wiki article describes two languages
01:44:02 <graue> lament: I'm referring to 1L_a, which is implemented
01:44:05 <graue> specified at http://www.esolangs.org/wiki/Talk:1L
01:44:13 <graue> implemented at http://www.oceanbase.org/graue/junk/1l_a.c
01:44:20 <graue> example that prints "A" at http://www.oceanbase.org/graue/junk/a.1l
01:45:50 <graue> calamari_: how would you do loops?
01:46:04 <lament> what the fuck is that.
01:46:20 * calamari_ thinks there needs to be -1l-a, the inverse :)
01:47:20 <calamari_> graue: well, in the most generic version, you'd just code [ and ] as well
01:47:35 <graue> calamari_: oh
01:47:52 <calamari_> graue: but I came up with a few more interesting loop ideas hehe
01:49:34 <calamari_> one thing that seemed doable was to investigate a 3x3 square of "pixels" and use that to determine the next move
01:49:56 <calamari_> then you could turn, branch, etc based on that
01:50:04 -!- kipple has quit (Read error: 60 (Operation timed out)).
01:58:50 <graue> but each instruction would just be one character?
01:59:56 <calamari_> 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 <calamari_> 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 <calamari_> i/o I was tinkering with.. had several schemes but didn't decide
02:02:07 <graue> I see
02:03:36 <calamari_> aha.. getting the text in a textArea is very slow
02:03:51 <calamari_> (because it has to build that huge string)
02:07:16 <calamari_> fixed
02:08:15 <jix> i'm feeling like "OMG i'M A SUPER 31337 H4x0r" ^^ ;)
02:08:27 <graue> really? why?
02:08:50 <jix> because i found a way to execute any command on a server of someone i know
02:09:27 <jix> he had a webpage with some cgi apps and i asked him if i may try to find security flaws...
02:09:30 <jix> 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 <calamari> 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 <jix> 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 <Keymaker> grrh.. space invaders
16:08:26 <Keymaker> can't beat them
16:08:36 <Keymaker> perhaps i'll need to join them, then
16:41:43 <Keymaker> where is everyone?
16:41:49 <Keymaker> work?
16:43:25 <pgimeno> I'm working, yes
16:44:27 <jix> i'm working on my website
16:44:44 <jix> at the menu controller and view
16:44:50 <Keymaker> o-k
16:45:22 <jix> wow the whole website folder is 1.9 MB
16:46:33 <jix> oh my test designs are 1 MB.... subtract them
16:46:41 <Keymaker> mh
16:46:51 <jix> ahh the development log is 500kb
16:47:02 <jix> images are 100kb
16:49:51 <jix> rails is a very nice web framework.. it's so easy
17:57:23 <Keymaker> bbl
17:57:24 -!- Keymaker has quit ("I've seen this dj vu before..").
19:11:36 <jix> the reason i love mac os x: http://img312.imageshack.us/img312/2729/bild35nk.png
19:12:56 <GregorR> Somehow, I find that to be counterproductive at best.
19:15:34 <jix> hrhr
19:16:12 <jix> it is...
19:16:45 <jix> but hey 71fps visualizer with a semi-transparent window on top of it
19:17:21 <GregorR> "cool" != useful
19:17:34 <jix> i didn't said it's useful
19:18:00 <jix> but witha non-transparent background it's the most usefull text-editor i know
19:18:07 <GregorR> Heheh
19:19:19 <jix> 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 <jix> oh it has folding
19:37:14 -!- Keymaker has joined.
19:37:17 <Keymaker> 'ello
19:37:27 <Keymaker> i got an idea for a new page to esowiki;
19:37:32 <jix> moin Keymaker
19:37:35 <Keymaker> i think i could make a page about all the brainfuck contests
19:37:36 <Keymaker> hi
19:37:44 <Keymaker> and their winning results
19:37:48 <jix> http://img312.imageshack.us/img312/2729/bild35nk.png (no i'm not working with that setup but it looks cool)
19:42:28 <jix> i'm still working on my website
19:44:17 <Keymaker> ok
19:44:38 <Keymaker> rggh.. guess what's annoying.. this : "... is left as a challenge to the reader."
19:45:49 <jix> i thought of a language where everything "... is [trivial and] left as a challenge to the reader."
19:46:55 <Keymaker> :)
20:15:36 <GregorR> HOW TO BUILD A NUCLEAR QUANTUM INFLUX GENERATOR:
20:15:52 <GregorR> 1) The construction of a nuclear quantum influx generator is trivial and left as a challenge to the reader.
20:18:11 <Keymaker> ah, now i see how to do it
20:40:14 <Keymaker> nooo.. my rubber band broke into line form
20:40:21 <Keymaker> :(
21:14:27 <Keymaker> rgh.
21:14:38 <Keymaker> i'm tired
21:14:45 <Keymaker> and it isn't even midnight
21:15:00 <Keymaker> and i thought i was going to stay till four am today
21:15:25 <Keymaker> x|
21:15:45 <Keymaker> *stay awake
21:15:57 * Keymaker falls asleep
21:16:00 -!- Keymaker has quit ("I've seen this dj vu before..").
21:41:59 -!- calamari has joined.
21:42:05 <calamari> hello
21:52:31 <{^Raven^}> hi calamari
21:53:01 <calamari> hello raven
21:53:20 <calamari> 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 <calamari> currently at 431 bytes
21:54:17 <calamari> 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 <calamari> I have the verbs oing, need nouns :)
21:55:26 <calamari> going
21:55:53 <{^Raven^}> i wrote a scripting language that compiles human readable room descriptions to the right data format
21:55:59 <calamari> probably will do the inventory system next, so that's why I'm figuring out items
21:56:05 <calamari> cool
21:56:13 <calamari> will probably do something similar
21:56:28 <calamari> 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 <calamari> 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 <calamari> I hash the verbs and nouns to 16 bit numbers... makes everything fixed width and easy to work with
21:59:35 <calamari> 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 <calamari> yeah.. that would be :)
22:00:50 <calamari> 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 <calamari> yeah, I'm doing full words
22:02:10 <calamari> but also accepting just the first letter for verbs, since it seems to be a standard
22:24:11 <jix> i have regexps in ruby ;p
22:29:57 <{^Raven^}> No regexps in BBC BASIC so am using other methods ;)
←2005-06 2005-07 2005-08→ ↑2005 ↑all