00:06:22 did I make an error so embarrassing that it needs no response? 00:06:43 no, I just wasn't paying attention 00:06:44 * ais523 looks 00:07:23 songhead95: barring the non-implementation of [ and ], that's almost identical to the original BF interp 00:07:34 Yup, that's the correct behavior. 00:08:07 than how come when I compile it and write ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ . 00:08:13 ^D 00:08:15 it does nothing 00:09:04 strange 00:09:15 are you sure the output wasn't overwritten by your prompt? 00:09:28 try ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ ++++ . > +++++ +++++ . 00:09:55 still nothing 00:10:51 bizarre 00:11:02 what happens when you compile it? 00:11:04 oh, got it 00:11:11 the line "interpreter=0" needs to be moved one line earlier 00:11:19 oooh 00:11:35 as it is, you've put most of your code in the C equivalent of a header comment 00:11:44 (using two while loops with identical conditions, so the second one can't run) 00:14:11 but if when the first one ends, and the interpreter is set to 0, the array code is used read only 00:15:09 and I am still baffled at the thought of the loops 00:18:20 so on "case '['" 00:18:39 i need a var named nested to look for the nearest ']' 00:18:50 but execute everything on the way if it is 1 00:19:00 or wait 00:19:01 no 00:20:36 didn't someone say there were 5 or 6 ways of doing this 00:20:37 ? 00:20:49 of what? loops in bf? probably 00:21:02 I would put it in a linked list with down wards nodes for loops 00:21:06 if doing bf in C 00:21:15 the recursive parser would put it in that 00:21:25 trivial, done it when writing bf compilers 00:21:44 bf *interpreters* never interested me much, but the same idea should work 00:22:05 what about a two dimensional array that is different levels of nested loops? 00:22:12 wait no it would work different 00:22:25 that sounds weird 00:22:27 auughh 00:22:40 have you read my pastebin? 00:22:43 songhead95, you just need to track [ as you go along 00:22:53 songhead95, no I'm not on a device where I can easily do that 00:23:20 songhead95, anyway track [ in a stack, then when you hit a ] you pop the last [ position 00:23:22 that works too 00:24:04 you need to add the tests at [ and at ] for if the loop should continue 00:24:20 well, either that or keep track of where the ] was when you jump back to [ 00:24:49 songhead95, as an optimisation you can store the position of the matching ] to the [ when parsing 00:24:55 I can't get too into this now, but I will be back! 00:25:06 otherwise if you never enter the loop you need to run along the code and not executing it 00:25:09 songhead95, night 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 03:12:29 Aw, Rugxulo already went? 01:20:13 yeah, after an hour + half of no chat :-) 01:20:23 (vastly different timezones don't help either) 01:20:49 adrian is so silly 8D 01:21:42 I assume -DFUNGE isn't really needed for ff3 (unless based upon Marsh, doubt it) 01:22:23 would be interesting to see somebody with a behemoth of a fast machine try the "benchmark" (AnMaster? Deewiant?) 01:22:29 Yay! Chrome spontaneously froze 01:22:36 on Linux? 01:22:41 Windows 01:22:48 Win7 x64? 01:23:03 -!- aschueler has quit (Quit: leaving). 01:23:06 No 01:23:08 are you sure? it's usually most stable on Windows 01:23:09 WinXP 01:23:22 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 that's probably why, it uses more RAM than Firefox with more tabs open 01:23:52 :/ 01:24:13 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 gah, stupid "reboot now?" reminder over and over again 01:24:39 Rugxulo, I remember there's a trick to disable that, but don't remember what it was 01:24:52 sure, kill it ;-) 01:27:04 What's the nicest way to determine dpi? 01:30:42 Sgeo: Put your eye RIIIIIGHT next to the monitor and count. 01:32:47 Why does my emulated Android phone have no net connection? 01:32:54 The one I made before had one :/ 01:40:20 * Sgeo goes to play in the emulator's terminal emulator 01:41:03 what kind of stuff can you run on it? 01:41:25 Um, Android apparently uses something called Dalvik 01:43:12 Oh, huh, networking's working now 01:43:33 Dalvik is some lite Java-ish VM, right? 01:43:58 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 fizzie, still here? you should try "bef2c -p -o" and use GCC on that 05:38:56 speeds up the (lame) "benchmark" a lot that way 05:39:12 AnMaster, it doesn't use string mode mostly because bef2c doesn't handle that 05:39:24 so I couldn't do "d" instead of 91+:* 05:40:04 now only takes 20 secs. (bef2c/GCC-compiled output) on this P4 05:43:02 actually, I think I accidentally timed the 4.2.3 output in the whole comparison that I quoted earlier 05:43:13 I can't match the time for GCC 4.4.2 on this P4 05:43:35 apparently 4.4.2 is much faster (52 secs.) vs. 4.2.3 (76 secs) or something like that 05:43:50 but whatever, the comparison is still valid, I used the same .EXE on each machine :-P 05:44:26 bah, stupid timezones 05:44:38 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 And a fairly simple part of Befunge. 05:45:00 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:02 yes 05:45:13 bef2c doesn't handle "p" or string mode 05:45:18 Rugxulo, buggy 05:45:19 blame Pressey, not me ;-) 05:45:27 true 05:46:01 Rugxulo: Reflection on unknown is fairly useful for Befunge 98. 05:46:10 yeah, but for --befunge93 ???? 05:46:12 Where it is entirely possible for an instruction to not be supported. 05:46:26 And that is just common behavior in Befunge 93. 05:46:27 bef.c (without -q) whines but still ignores 'em 05:46:45 But Befunge 93 does not define that behavior. 05:46:45 -!- Oranjer has left (?). 05:46:48 :) 05:47:05 I'll admit, I haven't tested every B93 implementation ever, but 99% of them don't reflect on ';' (etc) 05:47:19 Mine does. ;) 05:47:37 then you'll be glad to know that I worked around it in two of my other (lame) .bef scripts 05:47:51 Rugxulo: I get something like 0.2 seconds for the benchmark in jitfunge. 05:48:01 Rugxulo, .bef? 05:48:04 isn't it .bf 05:48:16 I prefer ".bef" 05:48:23 Brainf*** uses .b and sometimes .bf 05:48:24 .b -> brainfuck; .bf -> befunge93; .b98 -> befunge98 05:48:36 besides, the original interpreter was "bef", so ... 05:48:51 16 seconds for my interpreter. 05:48:58 on what hardware? 05:48:58 Rugxulo, yeah by that logic befunge98 should be .ffbi 05:49:04 also try "bef2c -p -o" 05:49:11 no, but you know what I mean 05:49:24 Phenom II x3 710. 05:49:30 Rugxulo, I don't? 05:49:37 since "bf" was ambiguous, I think "bef" is more appropriate, *especially* since the original interpreter was named "bef" (and not "bf") 05:49:38 Also: I'm not *sure* how long cfunge takes on it. 05:49:49 pikhq, what GCC? 05:50:06 (I killed it after some 11 minutes) 05:50:11 pikhq: Tried ff3 on your box? 05:50:13 gcc (Gentoo 4.4.3 p1.0) 4.4.3 05:50:14 ooh, x3, lucky dog ... I saw an ad for an AMD x3 only once, almost wanted it just for the novelty ;-) 05:50:14 pikhq, that was 64-bit or 32-bit? 05:50:17 fizzie: Yeah, 5 seconds. 05:50:26 AnMaster: *Oh*. Probably 64-bit. XD 05:50:35 pikhq, yeah 64-bit is default 05:50:47 pikhq, have fun during the next 800+ years! 05:50:50 heh 05:51:12 AnMaster: Now then. 05:51:26 (probably much more than that, it doesn't scale linearly with number of bits I bet) 05:51:27 pikhq, I dunno if 16 secs. is optimal for your advanced hardware ... for a P4, sure, but for a Phenom II ... ??? 05:51:48 Rugxulo: My interpreter could be much faster. 05:52:07 Cfunge takes 10s. 05:52:09 they all can ;-) 05:52:26 Ff3 takes 5. 05:53:03 Amusingly, if I were to *make* mine faster, I would basically have the same code as ff3. 05:53:06 pikhq, really? not too shabby 05:53:13 pikhq, did you use -march=native? 05:53:15 have you tried bef2c yet? 05:53:33 -march=native didn't help at all here (P4) 05:53:52 Rugxulo, you tried cfunge too? 05:53:56 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 pikhq, ah 05:54:03 no, cfunge won't run on Win32, remember? 05:54:15 Rugxulo, how would I remember you use win32 though? 05:54:22 Rugxulo, also iirc ehird got it working under cygwin 05:54:29 with gcc 3.x 05:54:36 I've been considering writing me a Befunge '98. 05:54:40 latest Cygwin has (IIRC) GCC 4.x 05:55:00 pikhq, oh btw, how long does ccbi1 and ccbi2 take on that benchmark for you? 05:55:16 AnMaster: I am *not* setting up a fucking D compiler. 05:55:30 don't have to, binaries provided on Deewiant's site 05:55:39 It has just given me too damned much pain. 05:55:46 pikhq, he has binaries 05:55:46 Rugxulo: Okay then. 05:56:09 fis@eris:~/src/jitfunge/src$ time ./jitfunge ../../ff/benchmark.bef 2>/dev/null 05:56:12 2147483596 05:56:14 real 0m0.153s 05:56:21 fizzie: Nice. 05:56:26 fizzie, system specs? 05:56:27 http://users.tkk.fi/~mniemenm/files/befunge/interpreters/ccbi/ccbi-linux-x86-64.txz 05:57:11 AnMaster: Athlon X2 5600+ or something; ff3 runs benchmark.bef in 6.something seconds. 05:57:21 ah 05:57:58 The binary has 64-bit cells. 05:58:00 fizzie, did it properly execute it or was it skipping most due to some bug? 05:58:24 Deewiant, why no comparison with FBBI anymore? too buggy?? 05:58:24 AnMaster: Judging from the result, I'd say it does it right. 05:58:25 pikhq, oh right 05:58:30 (re: Mycology) 05:58:43 32-bit build does *not*. :) 05:59:29 ccbi takes 19 seconds. 05:59:56 pikhq, hah. Well that is a 32-bit pointer build 06:00:16 it might explain why it is slower in part 06:00:45 And it takes 45 seconds with --befunge93. 06:00:50 pikhq, haha 06:00:53 That is a *slow* b93 interpreter. :P 06:00:59 pikhq, well he said he worked on it 06:01:39 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 everything else follow 98 rules still 06:01:57 AnMaster: I noticed, actually. 06:02:02 consider it just a compatibility mode 06:02:08 not a full befunge93 mode 06:02:25 I really lack interest in doing anything more advanced for befunge93 06:02:37 Yeah... 06:02:49 If you *really* want to, just ship ff3 or something. 06:02:52 snob ;-) 06:02:58 Rugxulo, to me? 06:03:00 heh 06:03:06 yes (semi-jokingly) 06:03:09 right 06:03:13 http://ocw.mit.edu/OcwWeb/hs/geb/VideoLectures/index.htm 06:03:25 Rugxulo, I just find befunge93 fairly boring compared to befunge98 06:03:46 pikhq, can you check how long efunge takes on it? 06:03:55 AnMaster: Link? 06:04:01 pikhq, do you have bzr? 06:04:13 I haven't yet made a release 06:04:15 AnMaster: No. 06:04:24 let me see if it has tarballs 06:04:42 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 pikhq, https://code.launchpad.net/~anmaster/efunge/trunk 06:04:55 AnMaster, so boring that you can't implement compatibility? tsk tsk ... 06:05:07 Rugxulo, would slow me down :P 06:05:08 does anyone here have write access to the esolang archive? 06:05:22 pikhq, there is no release yet sorry 06:05:22 Making all of the actual interpreting instructions step just via goto *ip++, goto *ip--, or goto *ip+=delta. 06:05:35 after all the time you "saved" with your lightning-fast C99/POSIX/x64+SIMD B98 interpreter?? :-P 06:05:43 pikhq, anyway efunge will either be slower or faster than Language::Befunge. Which of those I don't know 06:05:59 Rugxulo, how do you mean saved? 06:06:06 conserved 06:06:17 Rugxulo, oh I meant "slow me down" as in "slow interpreter down" 06:06:37 keep the fast bits for B98 mode, others for B93 06:06:49 (Oh, and obviously invalidating precompiled threads upon code modification) 06:06:57 Thoughts? 06:07:01 I can't think of any B93 script that needs a "fast" interpreter anyways 06:07:05 Rugxulo, still. You need to have two main loops and two different switch statements 06:07:14 Rugxulo, this benchmark? life.bf? 06:07:30 write a B93 interpreter in B98, then, if that's all that fascinates you ... best of both worlds :-)) 06:07:41 pikhq, ? 06:07:54 Rugxulo, hah 06:08:16 (seriously, though, esolang archive is dreadfully anemic, all of us could add lots and lots to it) 06:08:47 mhm 06:08:49 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:04 pikhq, you mean like ff3? 06:09:13 For Befunge-98. 06:09:26 pikhq, you still have non-cardinal delta 06:09:30 like going diagonally 06:09:40 or (3,48) or whatever 06:09:42 BTW, just vaguely curious, anybody ever used the Sponge "compiler"? 06:09:46 Argh, yes. That would require significantly more work. 06:10:00 Rugxulo, the scheme→befunge one? 06:10:05 yes 06:10:06 tried it 06:10:32 AnMaster: I'd be tempted to treat that as a slow case. 06:10:37 :P 06:10:39 Rugxulo, iirc it lacked call/cc which made me somewhat uninterested 06:10:52 (how much code actually *uses* non-cardinal delta, anyways?) 06:11:04 pikhq, I use 11x fairly often 06:11:07 he didn't seem to provide any examples, so I was curious if it was "just because" or ... 06:11:19 Hmm... 06:11:30 pikhq, also remember the code may not be compact. You may have a single value at (1778246873,6472673) or whatever 06:12:08 Rugxulo, who is/was "he" there? 06:12:18 Non-cardinal delta makes it a royal pain to *cache* any of the threaded code. 06:12:19 whoever wrote Sponge (I forget ...) 06:12:21 ah 06:12:40 pikhq, See, befunge98 is a lot more interesting ;P 06:12:45 a greater challenge 06:12:59 bbl, going to university 06:13:00 AnMaster: A single value at (1778246873,6472673)? 06:13:16 Why, that would just be an array with two elements! 06:17:58 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 It would have been nicer if it could have moved the stack push/pop out of the loop. 06:25:00 Faster than what nearly anything else is going to do with it. 06:26:01 sed -e 's/\(.\{80\}\).*/\1/' -e '25q' mycology.b98 >mycology.b93 06:26:07 (seems correct, easier than manually doing it) 06:26:55 that's what I get for sticking with 128x128 for no good reason :-/ 06:27:08 sorry, just rambling to myself, carry on ... 06:27:42 (none of you ever did benchmarking after running through bef2c, oh well ...) 06:29:01 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 Because I decide what to do on undefined behavior. :P 06:30:37 what undefined case is this? 06:30:59 reflecting on unrecognized chars in B93 mode 06:31:01 ais523: What to do on unknown characters, Befunge93. 06:31:04 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:06 pikhq: ah 06:31:08 original / official doesn't reflect, but ... 06:31:21 BTW, ais523, did you release a new Intercal on April 1? 06:31:26 no 06:31:30 In Befunge93, most things are undefined. 06:31:33 I don't have one to release, I've hardly worked on it 06:31:39 awww :-/ 06:31:50 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 so people with more spare time than me can fork it, or whatever 06:32:12 what, you're giving up? *sniff* 06:32:22 Hee, with -DUNSAFE_STACK, it goes nicely: http://zem.fi/~fis/jitbench-unsafe.txt 06:32:27 .LBB12_2: # %Entry0 06:32:28 # =>This Inner Loop Header: Depth=1 06:32:28 addECX, -100 06:32:28 testECX, ECX 06:32:28 jle.LBB12_2 06:32:44 Hm, raw tabs. Anyway. 06:32:59 Rugxulo: no, not really 06:33:04 just, unlikely to work on it very fast 06:33:21 I /did/ get a bug report recently, which I may try to fix 06:33:32 and a feature request, denied on the basis that it already existed with the same syntax in Perl and PHP 06:34:28 what request exactly? 06:34:47 the $$variable syntax from Perl/PHP 06:34:54 (which would become ..1 or whatever in INTERCAL) 06:35:01 ais523: Though crazy, yeah. Definitely not for INTERCAL. 06:35:12 It's insufficiently crazy -- someone's done it! 06:35:22 yep 06:35:52 speaking of crazy, I wonder if AnMaster has considered using Pash (Powershell subset) for anything ;-) 06:36:33 Pash = crazy, not AnMaster (obviously?) 06:36:38 -!- augur has quit (Quit: Leaving...). 06:36:53 just being here is evidence of being crazy, or else lost 06:36:55 ah, forgot he left for university, bah 06:37:09 * Rugxulo still doesn't understand _Lost_ 06:37:34 I don't think you're meant to understand it 06:38:59 well, there aren't that many episodes left!! 06:46:05 -!- oerjan has joined. 06:47:26 damn Wikipedia is weird ... why hyperlink the number "4" ??? 06:47:50 *some of wikipedia's editors 06:48:05 i don't think it's generally recommended behavior :D 06:48:10 Rugxulo: if it's a date, that's fine 06:48:11 *its 06:48:18 not a date 06:48:20 uh 06:48:28 piping it to [[4 (number)]] is weird, and possibly should be delinked 06:48:30 I've also seen a link to a page for "motherf**ker" !! 06:48:33 linking it to [[4]] is just plain wrong 06:48:47 all because "Epic Beard Man" [sic] is famous for that on his shirt :-)) 06:49:02 so yeah, quite absurdly useless 06:49:19 *it's 06:49:39 too early for me 06:50:13 "4 (four) is a number, numeral, and glyph. It is the natural number following 3 and preceding 5." 06:50:19 (turning into Sesame Street?) 06:50:31 Rugxulo: just in case you don't know what 4 is 06:50:46 in some esolangs, defining numbers can be rather tricky 06:51:06 in Underload, for instance, you'd probably define 4 as (:::***), but might use any number of other definitions 06:51:17 "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 I'm so glad Wikipedia cleared that up for me ;-) 06:52:11 and we (#esoteric) are the crazy ones??? :-P 06:52:59 everyone is crazy, just some people are so crazy they think they aren't 06:55:11 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:35 ah well, gonna jet ... 07:22:43 bye 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:04 In case Rugxulo logreads... 09:58:41 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 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 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 Deewiant: Of course you can just customize the interp for the particular program: 10:05:55 fis@eris:~/src/ff$ gcc -o ff3 ff3.c -DINTERLEAVED -O2 10:05:56 fis@eris:~/src/ff$ time ./ff3 benchmark.bef 10:05:56 2147483596 10:05:56 real 0m6.119s 10:05:56 user 0m6.080s 10:05:58 sys 0m0.000s 10:06:00 fis@eris:~/src/ff$ gcc -o ff3 ff3.c -DINTERLEAVED -DPF_X=15 -DPF_Y=1 -O2 10:06:03 fis@eris:~/src/ff$ time ./ff3 benchmark.bef 10:06:05 2147483596 10:06:08 real 0m2.429s 10:06:10 user 0m2.420s 10:06:13 sys 0m0.000s 10:06:18 fizzie: That's cheating. :-P 10:06:57 Deewiant: No, it's... uh, being environmentally conscious! No sense in wasting bytes! 10:08:19 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 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 Which would be very cheap in -93 10:10:25 -!- lereah_ has joined. 10:10:30 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 You're sick in bed and on IRC about Befunge? That's clever :-P 10:11:27 What else is there to do? 10:12:07 Typically when I'm bedridden I pretty much just sleep and eat 10:12:30 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 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 speaking of crazy, I wonder if AnMaster has considered using Pash (Powershell subset) for anything ;-) <-- I never heard of pash before 15:35:15 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 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 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 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 sometime not just after i woke up 15:43:37 oerjan, okay. But that doesn't spec how long 15:43:39 like 15:43:46 half an hour? 15:43:48 1 hour? 15:43:50 3 hours? 15:43:57 and perhaps after i finish breakfast, too 15:44:06 oerjan, and why were you using irc during/before breakfast? 15:44:53 Why not? 15:45:19 Deewiant, well if he had problems with it 15:45:48 um it was a joke? 15:45:53 oh 15:47:26 admittedly there is one reason not to - i _do_ seem to accumulate crumbs in my laptop keyboard 15:47:41 occasionally 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:11 oerjan, heh 16:07:40 oerjan, I only have hair in it, mostly due to not eating at computer very much 16:13:11 Wanting to use Scala even when Java interoperability is not required isn't a bad thing, is it? 16:14:11 i think scala is interesting in itself 16:14:24 dammit crumb under f key 16:14:56 seems to have vanished 16:15:27 i hear it's type system has become even more advanced since when i looked (briefly) at scala 16:15:40 *its 16:16:45 what the heck avg's whole computer virus scan has become three times faster since last time 16:16:47 Type erasure's no fun though, and its sole reason for existance is Java compatibility 16:16:54 i guess it's got better at skipping things 16:17:57 oh wait or maybe... 16:21:45 nope all the old java versions are still there (i had to reinstall the latest one recently) 16:22:13 avg used to spend an eternity inside those 16:22:52 you know, at this rate i might start scanning more often than once a month again ;D 16:24:05 Hm, I take it that for things like web access, you're meant to use Java libraries 16:24:28 * oerjan wouldn't know 16:28:37 -!- BeholdMyGlory has joined. 16:43:18 AnMaster: Two elements for that column. That's just the threaded code array. 16:43:33 And I'm not sure how well this could be... Cached. At all. 16:46:12 pikhq, so how are you storing funge space in this model? Remember it can be very sparse 16:47:17 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:33 er... 16:47:45 oerjan, bad joke 16:47:49 let's hope not. 16:47:57 oerjan, heh 16:47:59 it _did_ find three trojans 16:48:09 (hiding in the same place as usual) 16:48:17 what's the "same places" as usual? 16:48:26 pron dir? 16:48:28 or what ;P 16:48:35 brb 16:49:16 C:\RECYCLER 16:49:54 at least i've seen that before 16:50:26 oerjan, you hope that what AnMaster said wasn't a joke? 16:50:39 no, that it wasn't real 16:53:11 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:32 oh laundry, right 16:56:46 well, after i've finished eating 16:57:25 back 16:57:28 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 AnMaster: Yeah, a hash table is definitely the simplest data structure for *storing* the Befunge space. 18:03:14 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: Yeah, a hash table is definitely the simplest data structure for *storing* the Befunge space. <-- not the fastest 18:12:29 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 No, I never said it was the fastest. 18:13:17 pikhq, something like setup() load_file(), dump_to_file(), get(), set(), get_bounds() (for y) and perhaps wrap_ip() 18:13:31 "Simple" and "fast" are very rarely the same thing. :) 18:13:52 They often are if you allow the thing to be "wrong" as well 18:15:26 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:39 Expensively :-P 18:15:44 Yeah, I thought so. :P 18:16:04 There are ways to cheapen it but basically, expensively. 18:16:25 Good thing my funge space is essentially a bounding volume hierarchy. 18:18:47 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 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 Deewiant, I have considered that. What about specialised hardware to do it? 18:19:55 Go ahead; you'll have to donate me some if you want it to show up in Fungicide though :-P 18:20:04 hah 18:20:27 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 AnMaster: what exactly do you mean by that? 18:20:58 there's certainly hardware which can sort n packets in log n time 18:21:12 hmm, no, log m time, where m is the maximum address 18:21:17 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 but it takes rather a lot of hardware to do so 18:21:24 associated* 18:21:31 AnMaster: isn't that just a hash? 18:21:49 * pikhq goes to kanji review 18:22:01 ais523, iirc it basically have lots of parallel comparing circuits 18:22:07 one for each "slot" in memory 18:22:11 so it can check all values at once 18:22:31 ais523, http://en.wikipedia.org/wiki/Content-addressable_memory 18:22:51 ah, ok 18:23:03 hardware that does constant-time hash-/reversing/, that makes more sense 18:23:32 hmm, or maybe forwards, depending on your point of view 18:23:37 well yeah 18:23:59 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 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 so doing what cfunge with exact bounds do shouldn't be too hard. 18:26:31 then using some smart algorithm for that should make it interesting 18:26:49 oh and of course, funge space could be implemented as a CAM with xy to look it up 18:27:28 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 and you would have no collision 18:27:55 you would probably have to use some fallback storage if things grow too large 18:28:35 and you could hardwire a bit around 0,0 in a possibly cheaper way (smaller constant I guess) 18:28:58 you don't need content-addressability, surely? 18:29:06 just regular addressability would effectively work 18:29:07 ais523, for doing a sparse funge space 18:29:09 ah, ok 18:29:20 ais523, I'm talking about b98 not b93 18:30:23 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 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 now I wonder if VHDL can implement CAM... 18:32:05 ais523, you should implement befunge93 in VHDL ;P 18:32:13 unless someone has done this 18:32:21 I haven't 18:38:50 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:39:16 fizzie, heh 18:40:56 http://en.wikipedia.org/wiki/Holographic_associative_memory <-- interesting 18:45:31 Never going to make a breakthrough with the acronym HAM. But still better than SPAM, I guess. 18:46:09 heh 18:48:14 * pikhq wishes there were more Unefunge programs 18:48:29 As Unefunge is *so* much easier to handle. 18:48:36 -!- kar8nga has quit (Read error: Connection reset by peer). 18:48:50 pikhq, you don't like a challenge? 18:49:05 AnMaster: Sparse 2d arrays give me a headache. 18:49:13 Try 3D! 18:49:20 Deewiant: OW 18:49:22 pikhq, oh? Try a AABBs 18:49:22 :-D 18:49:32 pikhq, or quadtrees 18:49:34 AnMaster: Which is a... What? 18:49:36 or hash tables 18:50:01 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 strongly parallel associative memory 19:00:05 oerjan, ? 19:00:26 oerjan, is it a pun? Or something actually relevant? 19:00:45 yes 19:00:50 oerjan, both? 19:01:04 oerjan, explain what you mean though 19:01:04 * oerjan whistles innocently 19:02:19 in which we deduce that AnMaster's short term memory _and_ irc backscroll are shorter than 15 minutes 19:03:31 oerjan, I don't get what the "strongly" comes from 19:03:33 that is the issue 19:05:38 hint: fizzie 19:06:16 oh that 19:06:19 oerjan, far fetched 19:06:37 yes, 15 minutes is so far 19:06:45 oerjan, no in logical jump 19:07:14 no it wasn't, it was entirely obvious 19:07:21 oerjan, I disagree 19:07:32 19:40 AnMaster> http://en.wikipedia.org/wiki/Holographic_associative_memory 19:07:32 <-- interesting 19:07:32 19:45 fizzie> Never going to make a breakthrough with the acronym HAM. But 19:07:32 still better than SPAM, I guess. 19:07:55 this _had_ to be the one time irssi _didn't_ join lines 19:08:47 (what the heck is the point with joining lines if it doesn't do it for lines copied from _itself_? 19:08:50 ) 19:09:47 anyway, i claim the logical jump from that to be quite tiny. 19:11:24 and I claim it is large 19:14:31 it would have been better if there were something actually called strongly parallel associative memory, anyway 19:16:07 spam associative memory turns up nothing relevant :( 19:16:39 it's like people were actively avoiding the acronym, or something :/ 19:24:39 Buy a few more gobs of SPAM for you server, it'll increase throughput. 19:25:10 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 I foresee an underwhelmed pikhq 21:01:05 Oh, right, gold still sucks ass. 21:01:06 That's right. 21:01:33 Better things to do with my time AWAY! 21:01:51 Hmm. "Better things"... 21:10:00 hm 21:10:22 (1) annoying: they're cutting off the water in 5 mins because of a leak 21:12:04 (2) awesome: they apparently sent a text message warning to the cell phones of everyone in the neighborhood 21:15:23 (3) apparently we may expect volcanic ash raining down here tomorrow 21:15:31 did (2) result in a denial-of-service attack bringing down the cell network? 21:15:57 i would doubt that 21:16:05 after all, the message arrived 21:16:08 Nature strikes back. 21:16:28 Expect a rain of fire and brimstone. 21:16:38 (and most of norway) 21:17:13 parts of britain too, perhaps 21:17:35 map: http://www.dagbladet.no/2010/04/14/nyheter/innenriks/aske/flytrafikk/11282382/ 21:18:50 pikhq, is 4.5 released? 21:19:13 (3) apparently we may expect volcanic ash raining down here tomorrow <-- what? 21:19:28 AnMaster: see the link 21:19:39 oerjan, what about Sweden? 21:20:00 well the red region barely touches sweden 21:20:05 We don't get any. :( 21:20:15 and I'm out of the green area 21:20:19 the green is no-fly area 21:20:20 oerjan, what does the colours mean? 21:20:43 oerjan, be sure to take some photos if it happens 21:20:48 or rather height of ashes (prognosis 12 pm tomorrow) 21:21:00 i don't have a camera to use 21:21:54 "Kan også ramme sør" <-- I end up parsing this as "can also ram wounds" which seems wrong 21:21:59 red: 0 - 20000 feet, green 20000 - 35000 feet, blue 35000 - 50000 21:22:05 sør = south 21:22:11 oerjan, and the "ramme"? 21:22:16 hit 21:22:26 ah 21:22:31 oerjan, "sannsynlighet"? 21:22:38 probability 21:23:11 heh 21:23:55 oerjan, Eyjafjallajökull? Or is that Islandic? 21:24:31 yes 21:24:41 oerjan, "akutt flomfare" <-- ? 21:24:42 it's a glacier afaik 21:24:52 acute flood danger 21:25:03 well not sure about acute 21:25:08 `define acute 21:25:21 * 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:21 oerjan, sv:akut? 21:25:27 At least some other jökulls are glaciers. 21:25:42 i think that's what jökull means 21:25:47 oerjan, so it wasn't flamedanger? 21:25:49 :/ 21:26:03 the volcano is rather far from norway :D 21:26:08 flom fare meaning flame danger rather than flood danger would have been nicer 21:26:22 you'd expect the ashes to have cooled down quite a bit ;) 21:26:25 oerjan, sure but that was about Iceland as far as I can tell 21:26:31 oh right 21:26:34 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 yeah it was flood because of the glacier melting 21:27:06 oerjan, I mean, wetness isn't the first thing I think of when hearing about volcanos 21:27:19 i don't have a camera to use <-- what about your mobile phone? 21:27:36 it's 8 years old, no camera :D 21:27:39 Curiously, en:glacier is fi:jäätikkö, not so far off. Not that it's likely to be related. (fi:jää = en:ice.) 21:27:41 heh 21:28:01 glaciär in Swedish 21:28:14 no:isbre 21:28:24 "Vulkansk aske er vanskelig å oppdage fra et fly"? 21:28:39 volcanic ashes are hard to discover from a plane 21:28:40 gi:osefloop 21:28:50 oerjan, ah, not a fly then ;/ 21:28:51 Gregor: wtf 21:28:56 gi == gibberish 21:29:04 gibber gibber 21:29:08 -!- Phantom_Hoover has joined. 21:29:32 Can you cross wires on a microchip? 21:30:10 i bet ais523 knows (and is not here) 21:30:23 "Can you"? Of course. Generally the wire-crossing problem is avoided simply by (slightly) using the third dimension. 21:30:33 http://www.svd.se/nyheter/utrikes/aska-fran-vulkan-stoppar-norgeflyg_4566955.svd <-- there too oerjan 21:31:28 jökull m (genitive singular jökuls, plural jökular) -- he's a very jökular fellow. 21:31:56 so true 21:32:28 Gregor: I was just wondering aloud if the construction methods of silicon chips allows crossing. 21:32:38 I don't really know about that. 21:33:20 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:21 fizzie, wut? 21:33:26 *they build 21:33:43 Gregor: OK. 21:33:44 -!- Phantom_Hoover has quit (Client Quit). 21:33:59 IRC: a great place to go to ask one question then quit. 21:34:05 XD 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 does the name Chris Barker sound familiar to anyone here? 22:01:58 yes 22:02:03 I'm from south carolina 22:02:10 I believe he was in a plane crash here? 22:02:24 or am I completely wrong 22:02:29 wrong chris barker :P 22:02:36 ah, okay 22:02:43 chris barker as in Iota 22:02:56 and Jot 22:05:09 nope 22:06:01 but you do know of Iota/Jot, yeah? 22:06:05 Ah, that guy. 22:07:05 hes a linguistics prof at NYU 22:07:15 we're trying to get him to come give a talk at UMd 22:07:19 is he ever in here? 22:07:31 Don't think so. 22:07:35 shame 22:12:14 I think once you're a prof you're banned from #esoteric :P 22:12:43 aww 22:12:47 but he invented iota and jot! 22:13:01 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.