00:06:22 <songhead95> did I make an error so embarrassing that it needs no response?
00:06:43 <ais523> no, I just wasn't paying attention
00:07:23 <ais523> songhead95: barring the non-implementation of [ and ], that's almost identical to the original BF interp
00:07:34 <pikhq> Yup, that's the correct behavior.
00:08:07 <songhead95> than how come when I compile it and write ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ .
00:09:15 <ais523> are you sure the output wasn't overwritten by your prompt?
00:09:28 <ais523> try ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ . > +++++ +++++ .
00:11:11 <ais523> the line "interpreter=0" needs to be moved one line earlier
00:11:35 <ais523> as it is, you've put most of your code in the C equivalent of a header comment
00:11:44 <ais523> (using two while loops with identical conditions, so the second one can't run)
00:14:11 <songhead95> but if when the first one ends, and the interpreter is set to 0, the array code is used read only
00:15:09 <songhead95> and I am still baffled at the thought of the loops
00:18:39 <songhead95> i need a var named nested to look for the nearest ']'
00:18:50 <songhead95> but execute everything on the way if it is 1
00:20:36 <songhead95> didn't someone say there were 5 or 6 ways of doing this
00:20:49 <AnMaster> of what? loops in bf? probably
00:21:02 <AnMaster> I would put it in a linked list with down wards nodes for loops
00:21:15 <AnMaster> the recursive parser would put it in that
00:21:25 <AnMaster> trivial, done it when writing bf compilers
00:21:44 <AnMaster> bf *interpreters* never interested me much, but the same idea should work
00:22:05 <songhead95> what about a two dimensional array that is different levels of nested loops?
00:22:43 <AnMaster> songhead95, you just need to track [ as you go along
00:22:53 <AnMaster> songhead95, no I'm not on a device where I can easily do that
00:23:20 <AnMaster> songhead95, anyway track [ in a stack, then when you hit a ] you pop the last [ position
00:24:04 <AnMaster> you need to add the tests at [ and at ] for if the loop should continue
00:24:20 <AnMaster> well, either that or keep track of where the ] was when you jump back to [
00:24:49 <AnMaster> songhead95, as an optimisation you can store the position of the matching ] to the [ when parsing
00:24:55 <songhead95> I can't get too into this now, but I will be back!
00:25:06 <AnMaster> otherwise if you never enter the loop you need to run along the code and not executing it
00:29:30 -!- songhead95 has quit (Quit: songhead95).
00:57:26 -!- Rugxulo has joined.
01:00:50 -!- augur has joined.
01:04:19 -!- Asztal has quit (Ping timeout: 248 seconds).
01:04:50 -!- oklopol has quit (Read error: Connection reset by peer).
01:05:25 -!- Gracenotes has joined.
01:05:46 -!- oklopol has joined.
01:10:00 -!- Alex3012 has quit (Read error: Connection reset by peer).
01:10:34 -!- Alex3012 has joined.
01:17:32 -!- oklopol has quit (Read error: Connection reset by peer).
01:20:04 <Rugxulo> 03:12:29 <fizzie> Aw, Rugxulo already went?
01:20:13 <Rugxulo> yeah, after an hour + half of no chat :-)
01:20:23 <Rugxulo> (vastly different timezones don't help either)
01:20:49 <augur> adrian is so silly 8D
01:21:42 <Rugxulo> I assume -DFUNGE isn't really needed for ff3 (unless based upon Marsh, doubt it)
01:22:23 <Rugxulo> would be interesting to see somebody with a behemoth of a fast machine try the "benchmark" (AnMaster? Deewiant?)
01:22:29 <Sgeo> Yay! Chrome spontaneously froze
01:23:03 -!- aschueler has quit (Quit: leaving).
01:23:08 <Rugxulo> are you sure? it's usually most stable on Windows
01:23:22 <Rugxulo> bring up the Task Manager and kill the errant tab(s)
01:23:25 * Sgeo has a lot of tabs open, on a fairly weak machine
01:23:43 <Rugxulo> that's probably why, it uses more RAM than Firefox with more tabs open
01:24:13 <Rugxulo> heh, Sgeo, this machine is WinXP w/ 128 MB, so I'm not crazy enough to open too many tabs in Chrome (even running Opera just to save RAM)
01:24:21 <Rugxulo> gah, stupid "reboot now?" reminder over and over again
01:24:39 <Sgeo> Rugxulo, I remember there's a trick to disable that, but don't remember what it was
01:27:04 <Sgeo> What's the nicest way to determine dpi?
01:30:42 <Gregor> Sgeo: Put your eye RIIIIIGHT next to the monitor and count.
01:32:47 <Sgeo> Why does my emulated Android phone have no net connection?
01:32:54 <Sgeo> The one I made before had one :/
01:40:20 * Sgeo goes to play in the emulator's terminal emulator
01:41:03 <Rugxulo> what kind of stuff can you run on it?
01:41:25 <Sgeo> Um, Android apparently uses something called Dalvik
01:43:12 <Sgeo> Oh, huh, networking's working now
01:43:33 <Rugxulo> Dalvik is some lite Java-ish VM, right?
01:43:58 <Sgeo> Not really sure
01:47:29 * Sgeo now wonders how to root his emulator
01:48:46 -!- uorygl has quit (Ping timeout: 252 seconds).
01:49:35 -!- Oranjer has quit (Read error: Connection reset by peer).
01:50:23 -!- uorygl has joined.
01:50:49 -!- Oranjer has joined.
01:52:05 -!- Tritonio_GR has quit (Quit: Leaving.).
02:00:02 -!- Rugxulo has quit (Quit: Rugxulo).
02:13:21 -!- Oranjer has quit (Read error: Connection reset by peer).
02:14:12 -!- Oranjer has joined.
02:15:43 -!- songhead95 has joined.
02:17:04 -!- songhead95 has left (?).
02:23:06 -!- songhead95 has joined.
02:27:11 -!- songhead95 has quit (Quit: songhead95).
02:39:14 -!- songhead95 has joined.
02:40:04 -!- Tritonio_GR has joined.
02:55:10 -!- songhead95 has quit (Quit: songhead95).
03:30:22 -!- Tritonio_GR has quit (Quit: Leaving.).
03:37:46 -!- augur has quit (Read error: Connection reset by peer).
03:59:26 -!- augur has joined.
04:00:44 -!- Oranjer has quit (Quit: Leaving.).
04:20:41 -!- Oranjer has joined.
04:45:08 -!- myndzi\ has joined.
04:47:17 -!- myndzi has quit (Ping timeout: 265 seconds).
05:38:04 -!- Rugxulo has joined.
05:38:41 <Rugxulo> fizzie, still here? you should try "bef2c -p -o" and use GCC on that
05:38:56 <Rugxulo> speeds up the (lame) "benchmark" a lot that way
05:39:12 <Rugxulo> AnMaster, it doesn't use string mode mostly because bef2c doesn't handle that
05:39:24 <Rugxulo> so I couldn't do "d" instead of 91+:*
05:40:04 <Rugxulo> now only takes 20 secs. (bef2c/GCC-compiled output) on this P4
05:43:02 <Rugxulo> actually, I think I accidentally timed the 4.2.3 output in the whole comparison that I quoted earlier
05:43:13 <Rugxulo> I can't match the time for GCC 4.4.2 on this P4
05:43:35 <Rugxulo> apparently 4.4.2 is much faster (52 secs.) vs. 4.2.3 (76 secs) or something like that
05:43:50 <Rugxulo> but whatever, the comparison is still valid, I used the same .EXE on each machine :-P
05:44:38 <AnMaster> <Rugxulo> AnMaster, it doesn't use string mode mostly because bef2c doesn't handle that <-- sounds buggy. It is part of befunge, should be supported
05:44:57 <pikhq> And a fairly simple part of Befunge.
05:45:00 <Rugxulo> Deewiant, I ended up coding around your "quirk" in --befunge93, I still really wonder why you'd even *want* to reflect on unknown chars
05:45:13 <Rugxulo> bef2c doesn't handle "p" or string mode
05:46:01 <pikhq> Rugxulo: Reflection on unknown is fairly useful for Befunge 98.
05:46:10 <Rugxulo> yeah, but for --befunge93 ????
05:46:12 <pikhq> Where it is entirely possible for an instruction to not be supported.
05:46:26 <pikhq> And that is just common behavior in Befunge 93.
05:46:27 <Rugxulo> bef.c (without -q) whines but still ignores 'em
05:46:45 <pikhq> But Befunge 93 does not define that behavior.
05:46:45 -!- Oranjer has left (?).
05:47:05 <Rugxulo> I'll admit, I haven't tested every B93 implementation ever, but 99% of them don't reflect on ';' (etc)
05:47:37 <Rugxulo> then you'll be glad to know that I worked around it in two of my other (lame) .bef scripts
05:47:51 <fizzie> Rugxulo: I get something like 0.2 seconds for the benchmark in jitfunge.
05:48:23 <Rugxulo> Brainf*** uses .b and sometimes .bf
05:48:24 <AnMaster> .b -> brainfuck; .bf -> befunge93; .b98 -> befunge98
05:48:36 <Rugxulo> besides, the original interpreter was "bef", so ...
05:48:51 <pikhq> 16 seconds for my interpreter.
05:48:58 <AnMaster> Rugxulo, yeah by that logic befunge98 should be .ffbi
05:49:11 <Rugxulo> no, but you know what I mean
05:49:37 <Rugxulo> since "bf" was ambiguous, I think "bef" is more appropriate, *especially* since the original interpreter was named "bef" (and not "bf")
05:49:38 <pikhq> Also: I'm not *sure* how long cfunge takes on it.
05:50:06 <pikhq> (I killed it after some 11 minutes)
05:50:11 <fizzie> pikhq: Tried ff3 on your box?
05:50:13 <pikhq> gcc (Gentoo 4.4.3 p1.0) 4.4.3
05:50:14 <Rugxulo> ooh, x3, lucky dog ... I saw an ad for an AMD x3 only once, almost wanted it just for the novelty ;-)
05:50:14 <AnMaster> pikhq, that was 64-bit or 32-bit?
05:50:17 <pikhq> fizzie: Yeah, 5 seconds.
05:50:26 <pikhq> AnMaster: *Oh*. Probably 64-bit. XD
05:50:47 <AnMaster> pikhq, have fun during the next 800+ years!
05:51:12 <pikhq> AnMaster: Now then.
05:51:26 <AnMaster> (probably much more than that, it doesn't scale linearly with number of bits I bet)
05:51:27 <Rugxulo> pikhq, I dunno if 16 secs. is optimal for your advanced hardware ... for a P4, sure, but for a Phenom II ... ???
05:51:48 <pikhq> Rugxulo: My interpreter could be much faster.
05:53:03 <pikhq> Amusingly, if I were to *make* mine faster, I would basically have the same code as ff3.
05:53:13 <AnMaster> pikhq, did you use -march=native?
05:53:33 <Rugxulo> -march=native didn't help at all here (P4)
05:53:52 <AnMaster> Rugxulo, you tried cfunge too?
05:53:56 <pikhq> AnMaster: Default CFLAGS for my system are "-O2 -march=amdfam10 -pipe -ggdb", and I've been adding -O3 on top of that.
05:54:03 <Rugxulo> no, cfunge won't run on Win32, remember?
05:54:15 <AnMaster> Rugxulo, how would I remember you use win32 though?
05:54:22 <AnMaster> Rugxulo, also iirc ehird got it working under cygwin
05:54:36 <pikhq> I've been considering writing me a Befunge '98.
05:54:40 <Rugxulo> latest Cygwin has (IIRC) GCC 4.x
05:55:00 <AnMaster> pikhq, oh btw, how long does ccbi1 and ccbi2 take on that benchmark for you?
05:55:16 <pikhq> AnMaster: I am *not* setting up a fucking D compiler.
05:55:30 <Rugxulo> don't have to, binaries provided on Deewiant's site
05:55:39 <pikhq> It has just given me too damned much pain.
05:55:46 <pikhq> Rugxulo: Okay then.
05:56:09 <fizzie> fis@eris:~/src/jitfunge/src$ time ./jitfunge ../../ff/benchmark.bef 2>/dev/null
05:56:27 <Rugxulo> http://users.tkk.fi/~mniemenm/files/befunge/interpreters/ccbi/ccbi-linux-x86-64.txz
05:57:11 <fizzie> AnMaster: Athlon X2 5600+ or something; ff3 runs benchmark.bef in 6.something seconds.
05:57:58 <pikhq> The binary has 64-bit cells.
05:58:00 <AnMaster> fizzie, did it properly execute it or was it skipping most due to some bug?
05:58:24 <Rugxulo> Deewiant, why no comparison with FBBI anymore? too buggy??
05:58:24 <fizzie> AnMaster: Judging from the result, I'd say it does it right.
05:58:43 <pikhq> 32-bit build does *not*. :)
05:59:29 <pikhq> ccbi takes 19 seconds.
05:59:56 <AnMaster> pikhq, hah. Well that is a 32-bit pointer build
06:00:16 <AnMaster> it might explain why it is slower in part
06:00:45 <pikhq> And it takes 45 seconds with --befunge93.
06:00:53 <pikhq> That is a *slow* b93 interpreter. :P
06:00:59 <AnMaster> pikhq, well he said he worked on it
06:01:39 <AnMaster> pikhq, oh and for cfunge the -s 93 mode won't make a difference. It _only_ changes from SGML spaces to befunge93 string mode
06:01:48 <AnMaster> everything else follow 98 rules still
06:01:57 <pikhq> AnMaster: I noticed, actually.
06:02:02 <AnMaster> consider it just a compatibility mode
06:02:25 <AnMaster> I really lack interest in doing anything more advanced for befunge93
06:02:49 <pikhq> If you *really* want to, just ship ff3 or something.
06:03:13 <augur> http://ocw.mit.edu/OcwWeb/hs/geb/VideoLectures/index.htm
06:03:25 <AnMaster> Rugxulo, I just find befunge93 fairly boring compared to befunge98
06:03:46 <AnMaster> pikhq, can you check how long efunge takes on it?
06:04:42 <pikhq> Anyways. Befunge-98 implementation. I've got half an idea to go ahead and compile a row or column into threaded code whenever code would be flowing through said row or column.
06:04:54 <AnMaster> pikhq, https://code.launchpad.net/~anmaster/efunge/trunk
06:04:55 <Rugxulo> AnMaster, so boring that you can't implement compatibility? tsk tsk ...
06:05:07 <AnMaster> Rugxulo, would slow me down :P
06:05:08 <Rugxulo> does anyone here have write access to the esolang archive?
06:05:22 <AnMaster> pikhq, there is no release yet sorry
06:05:22 <pikhq> Making all of the actual interpreting instructions step just via goto *ip++, goto *ip--, or goto *ip+=delta.
06:05:35 <Rugxulo> after all the time you "saved" with your lightning-fast C99/POSIX/x64+SIMD B98 interpreter?? :-P
06:05:43 <AnMaster> pikhq, anyway efunge will either be slower or faster than Language::Befunge. Which of those I don't know
06:05:59 <AnMaster> Rugxulo, how do you mean saved?
06:06:17 <AnMaster> Rugxulo, oh I meant "slow me down" as in "slow interpreter down"
06:06:37 <Rugxulo> keep the fast bits for B98 mode, others for B93
06:06:49 <pikhq> (Oh, and obviously invalidating precompiled threads upon code modification)
06:07:01 <Rugxulo> I can't think of any B93 script that needs a "fast" interpreter anyways
06:07:05 <AnMaster> Rugxulo, still. You need to have two main loops and two different switch statements
06:07:14 <AnMaster> Rugxulo, this benchmark? life.bf?
06:07:30 <Rugxulo> write a B93 interpreter in B98, then, if that's all that fascinates you ... best of both worlds :-))
06:08:16 <Rugxulo> (seriously, though, esolang archive is dreadfully anemic, all of us could add lots and lots to it)
06:08:49 <pikhq> AnMaster: Compiling a row or column into a single bit of threaded code when control would flow into it, so that all the actual *interpretation* doesn't involve much work at all.
06:09:26 <AnMaster> pikhq, you still have non-cardinal delta
06:09:42 <Rugxulo> BTW, just vaguely curious, anybody ever used the Sponge "compiler"?
06:09:46 <pikhq> Argh, yes. That would require significantly more work.
06:10:00 <AnMaster> Rugxulo, the scheme→befunge one?
06:10:32 <pikhq> AnMaster: I'd be tempted to treat that as a slow case.
06:10:39 <AnMaster> Rugxulo, iirc it lacked call/cc which made me somewhat uninterested
06:10:52 <pikhq> (how much code actually *uses* non-cardinal delta, anyways?)
06:11:07 <Rugxulo> he didn't seem to provide any examples, so I was curious if it was "just because" or ...
06:11:30 <AnMaster> pikhq, also remember the code may not be compact. You may have a single value at (1778246873,6472673) or whatever
06:12:08 <AnMaster> Rugxulo, who is/was "he" there?
06:12:18 <pikhq> Non-cardinal delta makes it a royal pain to *cache* any of the threaded code.
06:12:19 <Rugxulo> whoever wrote Sponge (I forget ...)
06:12:40 <AnMaster> pikhq, See, befunge98 is a lot more interesting ;P
06:13:00 <pikhq> AnMaster: A single value at (1778246873,6472673)?
06:13:16 <pikhq> Why, that would just be an array with two elements!
06:17:58 <fizzie> http://zem.fi/~fis/jitbench.txt is what LLVM's static compiler bits make out of the IR dumped by jitfunge. It's not quite optimal, but not too horrible either.
06:19:01 <fizzie> It would have been nicer if it could have moved the stack push/pop out of the loop.
06:25:00 <pikhq> Faster than what nearly anything else is going to do with it.
06:26:01 <Rugxulo> sed -e 's/\(.\{80\}\).*/\1/' -e '25q' mycology.b98 >mycology.b93
06:26:07 <Rugxulo> (seems correct, easier than manually doing it)
06:26:55 <Rugxulo> that's what I get for sticking with 128x128 for no good reason :-/
06:27:08 <Rugxulo> sorry, just rambling to myself, carry on ...
06:27:42 <Rugxulo> (none of you ever did benchmarking after running through bef2c, oh well ...)
06:29:01 <Rugxulo> and I still say that reflecting in --befunge93 is wrong ... if "fbbi -93" and "bef -q" both accept it, then why don't you?
06:29:40 <pikhq> Because I decide what to do on undefined behavior. :P
06:30:37 <ais523> what undefined case is this?
06:30:59 <Rugxulo> reflecting on unrecognized chars in B93 mode
06:31:01 <pikhq> ais523: What to do on unknown characters, Befunge93.
06:31:04 <ais523> I remember that interfunge goes mad if the input file isn't exactly 80x25, with lines padded out with spaces to the right length
06:31:08 <Rugxulo> original / official doesn't reflect, but ...
06:31:21 <Rugxulo> BTW, ais523, did you release a new Intercal on April 1?
06:31:30 <pikhq> In Befunge93, most things are undefined.
06:31:33 <ais523> I don't have one to release, I've hardly worked on it
06:31:50 <ais523> although if there's somewhere to put a repo online, I don't mind letting people see the state it's in atm
06:32:00 <ais523> so people with more spare time than me can fork it, or whatever
06:32:12 <Rugxulo> what, you're giving up? *sniff*
06:32:22 <fizzie> Hee, with -DUNSAFE_STACK, it goes nicely: http://zem.fi/~fis/jitbench-unsafe.txt
06:32:28 <fizzie> # =>This Inner Loop Header: Depth=1
06:32:59 <ais523> Rugxulo: no, not really
06:33:04 <ais523> just, unlikely to work on it very fast
06:33:21 <ais523> I /did/ get a bug report recently, which I may try to fix
06:33:32 <ais523> and a feature request, denied on the basis that it already existed with the same syntax in Perl and PHP
06:34:28 <nooga> what request exactly?
06:34:47 <ais523> the $$variable syntax from Perl/PHP
06:34:54 <ais523> (which would become ..1 or whatever in INTERCAL)
06:35:01 <pikhq> ais523: Though crazy, yeah. Definitely not for INTERCAL.
06:35:12 <pikhq> It's insufficiently crazy -- someone's done it!
06:35:52 <Rugxulo> speaking of crazy, I wonder if AnMaster has considered using Pash (Powershell subset) for anything ;-)
06:36:33 <Rugxulo> Pash = crazy, not AnMaster (obviously?)
06:36:38 -!- augur has quit (Quit: Leaving...).
06:36:53 <ais523> just being here is evidence of being crazy, or else lost
06:36:55 <Rugxulo> ah, forgot he left for university, bah
06:37:09 * Rugxulo still doesn't understand _Lost_
06:37:34 <ais523> I don't think you're meant to understand it
06:38:59 <Rugxulo> well, there aren't that many episodes left!!
06:46:05 -!- oerjan has joined.
06:47:26 <Rugxulo> damn Wikipedia is weird ... why hyperlink the number "4" ???
06:47:50 <oerjan> *some of wikipedia's editors
06:48:05 <oerjan> i don't think it's generally recommended behavior :D
06:48:10 <ais523> Rugxulo: if it's a date, that's fine
06:48:28 <ais523> piping it to [[4 (number)]] is weird, and possibly should be delinked
06:48:30 <Rugxulo> I've also seen a link to a page for "motherf**ker" !!
06:48:33 <ais523> linking it to [[4]] is just plain wrong
06:48:47 <Rugxulo> all because "Epic Beard Man" [sic] is famous for that on his shirt :-))
06:49:02 <Rugxulo> so yeah, quite absurdly useless
06:50:13 <Rugxulo> "4 (four) is a number, numeral, and glyph. It is the natural number following 3 and preceding 5."
06:50:19 <Rugxulo> (turning into Sesame Street?)
06:50:31 <ais523> Rugxulo: just in case you don't know what 4 is
06:50:46 <ais523> in some esolangs, defining numbers can be rather tricky
06:51:06 <ais523> in Underload, for instance, you'd probably define 4 as (:::***), but might use any number of other definitions
06:51:17 <Rugxulo> "Motherf**ker (euphemized as mf) is a vulgarism which, in its most literal use, refers to one who participates in sexual intercourse with someone's mother."
06:51:25 <Rugxulo> I'm so glad Wikipedia cleared that up for me ;-)
06:52:11 <Rugxulo> and we (#esoteric) are the crazy ones??? :-P
06:52:59 <oerjan> everyone is crazy, just some people are so crazy they think they aren't
06:55:11 <Rugxulo> but seriously, Wikipedia is ultra cool ... but a little crazy!
06:58:51 -!- FireFly has joined.
07:02:07 -!- coppro has quit (Remote host closed the connection).
07:02:49 -!- coppro has joined.
07:05:54 -!- pikhq has quit (Read error: Connection reset by peer).
07:22:44 -!- Rugxulo has quit (Quit: Rugxulo).
07:46:11 -!- Guest69012 has joined.
07:48:36 -!- pikhq has joined.
07:50:43 -!- Guest69012 has quit (Ping timeout: 248 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:22 -!- coppro has quit (Quit: Disconnected.).
08:04:32 -!- oerjan has quit (Quit: leaving).
08:05:33 -!- nooga has quit (Ping timeout: 260 seconds).
08:06:29 -!- FireFly has quit (Quit: Leaving).
08:33:08 -!- ais523 has quit (Remote host closed the connection).
08:35:53 -!- pikhq has quit (Read error: Connection reset by peer).
08:37:18 -!- pikhq has joined.
08:54:53 -!- aschueler has joined.
09:38:13 -!- gm|lap has joined.
09:58:41 <Deewiant> Rugxulo: Reflection seems like the sensible thing to do since that's what I'm used to from -98... but I suppose I can switch it to nop instead
09:59:22 <Deewiant> Rugxulo: No FBBI in the new comparison because it's too buggy and because it's not likely to be updated; the old comparison results are still there, though.
09:59:27 -!- nooga has joined.
10:01:41 <Deewiant> pikhq: I improved that -93 result, but it'll still be slower than -98 on that benchmark since the -98 is clever enough not to execute a nop (80 - width of program) times.
10:05:18 -!- ais523 has joined.
10:05:52 <fizzie> Deewiant: Of course you can just customize the interp for the particular program:
10:05:55 <fizzie> fis@eris:~/src/ff$ gcc -o ff3 ff3.c -DINTERLEAVED -O2
10:05:56 <fizzie> fis@eris:~/src/ff$ time ./ff3 benchmark.bef
10:06:00 <fizzie> fis@eris:~/src/ff$ gcc -o ff3 ff3.c -DINTERLEAVED -DPF_X=15 -DPF_Y=1 -O2
10:06:03 <fizzie> fis@eris:~/src/ff$ time ./ff3 benchmark.bef
10:06:57 <fizzie> Deewiant: No, it's... uh, being environmentally conscious! No sense in wasting bytes!
10:08:19 <Deewiant> The environment won't thank you when the local nuclear reactor's control system's 75x19 Befunge-93 core breaks down due to being run in a "customized interp"!
10:09:12 <fizzie> Could add boundary tracking (with a fixed maximum) to ff3 too, but then I'd have to re-paint the border zone whenever they are extended.
10:09:28 <Deewiant> Which would be very cheap in -93
10:10:25 -!- lereah_ has joined.
10:10:30 <fizzie> That's a project for some day that I'm unsick enough to get out of bed; the N900 keyb is not quite so coding-friendly.
10:11:03 <Deewiant> You're sick in bed and on IRC about Befunge? That's clever :-P
10:11:27 <fizzie> What else is there to do?
10:12:07 <Deewiant> Typically when I'm bedridden I pretty much just sleep and eat
10:12:30 <fizzie> Except that I have to get up every 15 minutes to check if the cat wants to come in from the balcony. There should be some sort of system for that.
10:12:40 <Deewiant> If I'm "just" very ill, I can usually manage to sit at the computer as usual
10:16:13 -!- ais523 has quit (Read error: Connection reset by peer).
10:16:31 -!- ais523 has joined.
10:47:02 -!- kar8nga has joined.
10:53:56 -!- Tritonio_GR has joined.
11:00:14 -!- gm|lap has quit (Quit: ilua).
11:22:06 -!- cal153 has quit (Read error: Connection reset by peer).
11:32:24 -!- tombom has joined.
11:42:57 -!- MizardX has quit (Quit: reboot).
11:53:17 -!- nooga has quit (Ping timeout: 260 seconds).
11:53:43 -!- MizardX has joined.
12:16:05 -!- Alex3012 has quit (Remote host closed the connection).
13:08:20 -!- Alex3012 has joined.
13:49:02 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
13:52:00 -!- Gracenotes has quit (Ping timeout: 276 seconds).
14:00:13 -!- aschueler has quit (Ping timeout: 260 seconds).
14:09:38 -!- Asztal has joined.
15:22:37 -!- oerjan has joined.
15:34:50 <AnMaster> <Rugxulo> speaking of crazy, I wonder if AnMaster has considered using Pash (Powershell subset) for anything ;-) <-- I never heard of pash before
15:35:15 <AnMaster> <pikhq> Why, that would just be an array with two elements! <-- two? Also there would be some data around 0,0 as well of course
15:35:31 <AnMaster> pikhq, what I meant was that data can be *very* sparse
15:38:09 -!- oerjan has quit (Quit: Reboot).
15:41:57 -!- Azstal has joined.
15:42:28 <AnMaster> <fizzie> Except that I have to get up every 15 minutes to check if the cat wants to come in from the balcony. There should be some sort of system for that. <-- develop that, in befunge
15:42:29 -!- oerjan has joined.
15:42:58 <AnMaster> <oerjan> too early for me <-- what is the optimal time for you then?
15:43:09 -!- Asztal has quit (Ping timeout: 276 seconds).
15:43:21 -!- Azstal has changed nick to Asztal.
15:43:23 <oerjan> sometime not just after i woke up
15:43:37 <AnMaster> oerjan, okay. But that doesn't spec how long
15:43:57 <oerjan> and perhaps after i finish breakfast, too
15:44:06 <AnMaster> oerjan, and why were you using irc during/before breakfast?
15:45:19 <AnMaster> Deewiant, well if he had problems with it
15:47:26 <oerjan> admittedly there is one reason not to - i _do_ seem to accumulate crumbs in my laptop keyboard
15:51:37 -!- lereah_ has quit (Quit: Leaving).
15:54:38 -!- FireFly has joined.
15:57:49 -!- kar8nga has quit (Remote host closed the connection).
16:07:40 <AnMaster> oerjan, I only have hair in it, mostly due to not eating at computer very much
16:13:11 <Sgeo> Wanting to use Scala even when Java interoperability is not required isn't a bad thing, is it?
16:14:11 <oerjan> i think scala is interesting in itself
16:14:24 <oerjan> dammit crumb under f key
16:14:56 <oerjan> seems to have vanished
16:15:27 <oerjan> i hear it's type system has become even more advanced since when i looked (briefly) at scala
16:16:45 <oerjan> what the heck avg's whole computer virus scan has become three times faster since last time
16:16:47 <Sgeo> Type erasure's no fun though, and its sole reason for existance is Java compatibility
16:16:54 <oerjan> i guess it's got better at skipping things
16:21:45 <oerjan> nope all the old java versions are still there (i had to reinstall the latest one recently)
16:22:13 <oerjan> avg used to spend an eternity inside those
16:22:52 <oerjan> you know, at this rate i might start scanning more often than once a month again ;D
16:24:05 <Sgeo> Hm, I take it that for things like web access, you're meant to use Java libraries
16:28:37 -!- BeholdMyGlory has joined.
16:43:18 <pikhq> AnMaster: Two elements for that column. That's just the threaded code array.
16:43:33 <pikhq> And I'm not sure how well this could be... Cached. At all.
16:46:12 <AnMaster> pikhq, so how are you storing funge space in this model? Remember it can be very sparse
16:47:17 <AnMaster> <oerjan> what the heck avg's whole computer virus scan has become three times faster since last time <-- because of the malware hiding 2/3 of the disk?
16:47:59 <oerjan> it _did_ find three trojans
16:48:09 <oerjan> (hiding in the same place as usual)
16:48:17 <AnMaster> what's the "same places" as usual?
16:49:54 <oerjan> at least i've seen that before
16:50:26 <Sgeo> oerjan, you hope that what AnMaster said wasn't a joke?
16:50:39 <oerjan> no, that it wasn't real
16:53:11 <pikhq> AnMaster: I'm halfway to abandoning this model because it doesn't handle the sparseness correctly.
16:54:58 * Sgeo should be doing laundry
16:56:46 <oerjan> well, after i've finished eating
16:57:28 <oerjan> have to replenish the keyboard, after all
17:02:52 -!- mycroftiv has quit (Ping timeout: 252 seconds).
17:03:39 -!- mycroftiv has joined.
17:27:53 -!- bsmntbombdood has quit (Remote host closed the connection).
17:28:05 -!- bsmntbombdood has joined.
17:36:28 -!- kar8nga has joined.
18:00:52 -!- cal153 has joined.
18:01:53 <pikhq> AnMaster: Yeah, a hash table is definitely the simplest data structure for *storing* the Befunge space.
18:03:14 <pikhq> My thoughts are more on how to go from there to a simple array for interpreting. Not quite sure what to do about that.
18:11:50 <AnMaster> <pikhq> AnMaster: Yeah, a hash table is definitely the simplest data structure for *storing* the Befunge space. <-- not the fastest
18:12:29 <AnMaster> pikhq, what I recommend is starting with a hash table but making sure to use a clean API to it so you can reasonably easy rip it out later when other stuff is working and replace it with something faster
18:12:39 <pikhq> No, I never said it was the fastest.
18:13:17 <AnMaster> pikhq, something like setup() load_file(), dump_to_file(), get(), set(), get_bounds() (for y) and perhaps wrap_ip()
18:13:31 <pikhq> "Simple" and "fast" are very rarely the same thing. :)
18:13:52 <Deewiant> They often are if you allow the thing to be "wrong" as well
18:15:26 <Asztal> I'm a bit confused at the exact funge-space bounds thing. How am I supposed to recompute the bounds if someone puts a space onto the outermost edge?
18:15:44 <Asztal> Yeah, I thought so. :P
18:16:04 <Deewiant> There are ways to cheapen it but basically, expensively.
18:16:25 <Asztal> Good thing my funge space is essentially a bounding volume hierarchy.
18:18:47 <AnMaster> pikhq, point is, being able to rip out and replace funge space without too much of a PITA is a good idea. Make them macros if you are worried about speed
18:19:29 <pikhq> One of the big things I see from the choice of data structures is that it's probably a royal pain to access the fungespace in the line that the code is going in.
18:19:34 <AnMaster> Deewiant, I have considered that. What about specialised hardware to do it?
18:19:55 <Deewiant> Go ahead; you'll have to donate me some if you want it to show up in Fungicide though :-P
18:20:27 <AnMaster> isn't there memory that can compare a value in constant time? Used for network switches to find MAC addresses and such iirc
18:20:43 <ais523> AnMaster: what exactly do you mean by that?
18:20:58 <ais523> there's certainly hardware which can sort n packets in log n time
18:21:12 <ais523> hmm, no, log m time, where m is the maximum address
18:21:17 <AnMaster> ais523, well you can check if a value is in memory and what is accoiated with it (would be port number I assume)
18:21:23 <ais523> but it takes rather a lot of hardware to do so
18:21:31 <ais523> AnMaster: isn't that just a hash?
18:21:49 * pikhq goes to kanji review
18:22:01 <AnMaster> ais523, iirc it basically have lots of parallel comparing circuits
18:22:11 <AnMaster> so it can check all values at once
18:22:31 <AnMaster> ais523, http://en.wikipedia.org/wiki/Content-addressable_memory
18:23:03 <ais523> hardware that does constant-time hash-/reversing/, that makes more sense
18:23:32 <ais523> hmm, or maybe forwards, depending on your point of view
18:23:59 <AnMaster> ais523, I just think of it as a way for network switches and such to find what port a given MAC is on
18:25:58 <AnMaster> first: actually tracking column/row counts shouldn't be too expensive in hardware, after all you could just "listen" to the writes to funge space and update the counts. With no performance cost (yes this is a speed-space tradeoff most certainly)
18:26:19 <AnMaster> so doing what cfunge with exact bounds do shouldn't be too hard.
18:26:31 <AnMaster> then using some smart algorithm for that should make it interesting
18:26:49 <AnMaster> oh and of course, funge space could be implemented as a CAM with xy to look it up
18:27:28 <AnMaster> allowing constant speed to a given number of cells. 2^32*2^32 wouldn't be feasible of course. But this would be like a very fast hash table
18:27:34 <AnMaster> and you would have no collision
18:27:55 <AnMaster> you would probably have to use some fallback storage if things grow too large
18:28:35 <AnMaster> and you could hardwire a bit around 0,0 in a possibly cheaper way (smaller constant I guess)
18:28:58 <ais523> you don't need content-addressability, surely?
18:29:06 <ais523> just regular addressability would effectively work
18:29:07 <AnMaster> ais523, for doing a sparse funge space
18:29:20 <AnMaster> ais523, I'm talking about b98 not b93
18:30:23 <AnMaster> ais523, and you need CAM because you can't have a 1:1 mapping due to 2^32*2^32 being unfeasible, thus pigeonhole principle.
18:31:20 <AnMaster> In fact I think a befunge93 in VHDL would be interesting. Befunge98 while wonderful to dream about is probably infeasible to ever run on a FPGA or such.
18:31:29 <AnMaster> now I wonder if VHDL can implement CAM...
18:32:05 <AnMaster> ais523, you should implement befunge93 in VHDL ;P
18:38:50 <fizzie> We thought briefly about a Befunge coprocessor for the computer architecture practicals course (the main assignment is to design a mips-like cpu, but you get extra points for a coprocessor or simulatable vhdl), but that never went anywhere.
18:40:56 <AnMaster> http://en.wikipedia.org/wiki/Holographic_associative_memory <-- interesting
18:45:31 <fizzie> Never going to make a breakthrough with the acronym HAM. But still better than SPAM, I guess.
18:48:14 * pikhq wishes there were more Unefunge programs
18:48:29 <pikhq> As Unefunge is *so* much easier to handle.
18:48:36 -!- kar8nga has quit (Read error: Connection reset by peer).
18:48:50 <AnMaster> pikhq, you don't like a challenge?
18:49:05 <pikhq> AnMaster: Sparse 2d arrays give me a headache.
18:49:34 <pikhq> AnMaster: Which is a... What?
18:50:01 <AnMaster> pikhq, Deewiant can explain it. It is what CCBI uses. cfunge in practise uses a single one for the area near 0,0 and hash for the rest
18:59:16 <oerjan> strongly parallel associative memory
19:00:26 <AnMaster> oerjan, is it a pun? Or something actually relevant?
19:01:04 <AnMaster> oerjan, explain what you mean though
19:02:19 <oerjan> in which we deduce that AnMaster's short term memory _and_ irc backscroll are shorter than 15 minutes
19:03:31 <AnMaster> oerjan, I don't get what the "strongly" comes from
19:06:37 <oerjan> yes, 15 minutes is so far
19:07:14 <oerjan> no it wasn't, it was entirely obvious
19:07:32 <oerjan> 19:40 AnMaster> http://en.wikipedia.org/wiki/Holographic_associative_memory
19:07:32 <oerjan> 19:45 fizzie> Never going to make a breakthrough with the acronym HAM. But
19:07:32 <oerjan> still better than SPAM, I guess.
19:07:55 <oerjan> this _had_ to be the one time irssi _didn't_ join lines
19:08:47 <oerjan> (what the heck is the point with joining lines if it doesn't do it for lines copied from _itself_?
19:09:47 <oerjan> anyway, i claim the logical jump from that to be quite tiny.
19:14:31 <oerjan> it would have been better if there were something actually called strongly parallel associative memory, anyway
19:16:07 <oerjan> spam associative memory turns up nothing relevant :(
19:16:39 <oerjan> it's like people were actively avoiding the acronym, or something :/
19:24:39 <fizzie> Buy a few more gobs of SPAM for you server, it'll increase throughput.
19:25:10 <oerjan> i hear most throughput is SPAM these days.
19:32:50 -!- ais523 has quit (Read error: Connection reset by peer).
19:41:46 * pikhq grabs GCC 4.5, shall play with this here "link-time optimiser"
19:54:53 -!- Asztal has quit (Ping timeout: 260 seconds).
20:39:04 -!- Asztal has joined.
20:56:06 <olsner> I foresee an underwhelmed pikhq
21:01:05 <pikhq> Oh, right, gold still sucks ass.
21:01:33 <pikhq> Better things to do with my time AWAY!
21:01:51 <pikhq> Hmm. "Better things"...
21:10:22 <oerjan> (1) annoying: they're cutting off the water in 5 mins because of a leak
21:12:04 <oerjan> (2) awesome: they apparently sent a text message warning to the cell phones of everyone in the neighborhood
21:15:23 <oerjan> (3) apparently we may expect volcanic ash raining down here tomorrow
21:15:31 <olsner> did (2) result in a denial-of-service attack bringing down the cell network?
21:16:05 <oerjan> after all, the message arrived
21:16:28 <fizzie> Expect a rain of fire and brimstone.
21:17:13 <oerjan> parts of britain too, perhaps
21:17:35 <oerjan> map: http://www.dagbladet.no/2010/04/14/nyheter/innenriks/aske/flytrafikk/11282382/
21:19:13 <AnMaster> <oerjan> (3) apparently we may expect volcanic ash raining down here tomorrow <-- what?
21:19:28 <oerjan> AnMaster: see the link
21:20:00 <oerjan> well the red region barely touches sweden
21:20:19 <oerjan> the green is no-fly area
21:20:20 <AnMaster> oerjan, what does the colours mean?
21:20:43 <AnMaster> oerjan, be sure to take some photos if it happens
21:20:48 <oerjan> or rather height of ashes (prognosis 12 pm tomorrow)
21:21:00 <oerjan> i don't have a camera to use
21:21:54 <AnMaster> "Kan også ramme sør" <-- I end up parsing this as "can also ram wounds" which seems wrong
21:21:59 <oerjan> red: 0 - 20000 feet, green 20000 - 35000 feet, blue 35000 - 50000
21:23:55 <AnMaster> oerjan, Eyjafjallajökull? Or is that Islandic?
21:24:41 <AnMaster> oerjan, "akutt flomfare" <-- ?
21:25:03 <oerjan> well not sure about acute
21:25:21 <HackEgo> * having or experiencing a rapid onset and short but severe course; "acute appendicitis"; "the acute phase of the illness"; "acute patients" \ * extremely sharp or intense; "acute pain"; "felt acute annoyance"; "intense itching and burning" \ * having or demonstrating ability to recognize or draw fine distinctions;
21:25:27 <fizzie> At least some other jökulls are glaciers.
21:25:42 <oerjan> i think that's what jökull means
21:25:47 <AnMaster> oerjan, so it wasn't flamedanger?
21:26:03 <oerjan> the volcano is rather far from norway :D
21:26:08 <AnMaster> flom fare meaning flame danger rather than flood danger would have been nicer
21:26:22 <oerjan> you'd expect the ashes to have cooled down quite a bit ;)
21:26:25 <AnMaster> oerjan, sure but that was about Iceland as far as I can tell
21:26:34 <AnMaster> oerjan, "Alle veier inn til området rundt 120 kilometer øst for hovedstaden Reykjavik er stengt etter at smeltevann fra isen skaper akutt flomfare."
21:26:47 <oerjan> yeah it was flood because of the glacier melting
21:27:06 <AnMaster> oerjan, I mean, wetness isn't the first thing I think of when hearing about volcanos
21:27:19 <AnMaster> <oerjan> i don't have a camera to use <-- what about your mobile phone?
21:27:36 <oerjan> it's 8 years old, no camera :D
21:27:39 <fizzie> Curiously, en:glacier is fi:jäätikkö, not so far off. Not that it's likely to be related. (fi:jää = en:ice.)
21:28:24 <AnMaster> "Vulkansk aske er vanskelig å oppdage fra et fly"?
21:28:39 <oerjan> volcanic ashes are hard to discover from a plane
21:29:08 -!- Phantom_Hoover has joined.
21:30:10 <oerjan> i bet ais523 knows (and is not here)
21:30:23 <Gregor> "Can you"? Of course. Generally the wire-crossing problem is avoided simply by (slightly) using the third dimension.
21:30:33 <AnMaster> http://www.svd.se/nyheter/utrikes/aska-fran-vulkan-stoppar-norgeflyg_4566955.svd <-- there too oerjan
21:31:28 <fizzie> jökull m (genitive singular jökuls, plural jökular) -- he's a very jökular fellow.
21:32:28 <Phantom_Hoover> Gregor: I was just wondering aloud if the construction methods of silicon chips allows crossing.
21:33:20 <Gregor> Phantom_Hoover: If you mean crossing without interfering, then yes, the build in layers. If you mean crossing as in connecting, then yes.
21:33:44 -!- Phantom_Hoover has quit (Client Quit).
21:33:59 <Gregor> IRC: a great place to go to ask one question then quit.
21:56:27 -!- Azstal has joined.
21:58:13 -!- Asztal has quit (Ping timeout: 265 seconds).
21:58:21 -!- Azstal has changed nick to Asztal.
21:58:30 -!- Oranjer has joined.
22:01:37 -!- augur has joined.
22:01:52 <augur> does the name Chris Barker sound familiar to anyone here?
22:02:10 <Oranjer> I believe he was in a plane crash here?
22:02:29 <augur> wrong chris barker :P
22:02:43 <augur> chris barker as in Iota
22:06:01 <augur> but you do know of Iota/Jot, yeah?
22:07:05 <augur> hes a linguistics prof at NYU
22:07:15 <augur> we're trying to get him to come give a talk at UMd
22:07:19 <augur> is he ever in here?
22:12:14 <Gregor> I think once you're a prof you're banned from #esoteric :P
22:12:47 <augur> but he invented iota and jot!
22:13:01 <augur> WHILE he was a prof!
22:48:55 -!- tombom has quit (Quit: Leaving).
23:07:55 -!- oerjan has quit (Quit: Good night).
23:19:07 -!- coppro has joined.
23:51:04 -!- MizardX has quit (Quit: brb).
23:55:17 -!- MizardX has joined.