00:00:11 <BigZaphod> maybe a small bit, but I dont think you should. :)
00:00:30 <yrz\werk> you will have the special edition 5d
00:00:43 <yrz\werk> if you said to me where to post the code
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: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:46:45 -!- calamari has joined.
03:50:05 -!- graue has joined.
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: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: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.
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: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:22:28 -!- jimbo0000 has quit (Read error: 145 (Connection timed out)).
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:13:34 -!- BigZaphod has joined.
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: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: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: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: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: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:29 <graue> in the ^%& language, a[b[c]d]e becomes
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:43 -!- calamari has joined.
19:04:54 <calamari> oh cool, thought I interrupted the middle of a program.. guess not
19:05:14 <cpressey> graue: you're right, only 3 are needed... very, uh, "pretty" example code, btw :)
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: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: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: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: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:21:06 -!- calamari has left (?).
19:22:36 -!- calamari has joined.
19:22:56 <calamari> raven: you can paste it as a private message, I suppose :) ircii doesn't care about flooding :)
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:25:01 <{^Raven^}> (code) @_T0[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:25:03 <{^Raven^}> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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: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: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: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: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: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: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: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: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:23:29 <BigZaphod> the two lines at the top should left-aline with the bottom slash.
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: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:34:07 <{^Raven^}> it is in the -dd version and that works perfectly
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:40:31 <calamari> yep.. another bfdebug bug.. ~ is a valid variable name character
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:48:08 <calamari> graue: btw, what's the word on daily wiki dumps ?
20:48:22 <graue> I heard you the first time
20:49:16 -!- calamari has quit ("Leaving").
20:49:52 -!- calamari has joined.
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:34 <{^Raven^}> graue: it's nice to see the wiki is alive again, thx
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.
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:31 <graue> but if your password is (e.g.) "corn" it can be cracked easily
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:06:03 -!- BigZaphod has quit.
21:07:26 <{^Raven^}> how about a .htaccess to prevent casual downloading
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: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: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: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: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.