00:01:29 -!- jix has quit (Read error: 113 (No route to host)). 00:29:40 night 00:33:21 -!- FireyFly has joined. 00:34:18 -!- oerjan has joined. 00:34:32 -!- FireFly has quit (Nick collision from services.). 00:34:55 The services have a swatter too... 00:35:30 -!- FireyFly has changed nick to FireFly. 00:36:10 -!- psygnisf_ has quit (Read error: 104 (Connection reset by peer)). 00:38:22 i don't know "tdeious" either 00:38:31 i guess it must be a loan from georgian 00:38:59 That comment makes oklopol sound like a text adventure. 00:39:12 fizzie: hm? 00:39:21 ah 00:39:39 well oklopol is an adventure all right 00:39:47 "I don't know how to 'tdeious'." 00:41:27 "See the tdeious people of Tbilisi wandering by the Mt'k'vari river" 00:44:23 i guess they would probably be tsrolling, actually 00:45:52 Google has this "Tony Davies Column - The TDeious way of doing Fourier transformation" but that's about it. 00:46:05 ah 01:33:21 -!- FireFly has quit ("Later"). 01:33:25 -!- BeholdMyGlory has quit (Remote closed the connection). 01:35:09 -!- BeholdMyGlory has joined. 01:38:48 ooooooooooooooooo 01:39:18 how goes 01:39:43 i have a small-scale pröb with sleeping atm. 01:39:58 try eating more mööse 01:40:06 ;) 01:40:13 GLIO THE FALL 01:40:21 OF THE SEMAPHORE 01:40:37 that's been playing in my head for a few days 01:42:12 it's a continuation to the "source encoding and compression" song that started playing in my head when reading, well, about exactly that 01:42:37 -!- BeholdMyGlory has quit (Remote closed the connection). 01:43:46 well. 01:43:56 more attempting at them sleepings 01:43:57 -> 01:44:44 (sometimes it's "semaphoo-oor", elongated to sound like "semaphore whore") 01:44:51 *oore 01:45:42 (also the source encoding and compression song has, in the chorus, this spanish dude saying "compressioni", with a very spanish "ioni", it's hilarious) 01:45:48 (->) 01:46:46 um -ioni would be italian, i think 01:57:21 surprisingly hard to find, the spanish is compresiones 02:45:43 -!- neldoreth has quit (Read error: 113 (No route to host)). 03:05:24 -!- Sgeo has joined. 03:05:41 -!- bsmntbombdood has joined. 03:57:50 :8) 05:11:13 -!- GreaseMonkey has joined. 06:48:59 -!- oklopol has quit (Read error: 110 (Connection timed out)). 07:07:17 -!- oerjan has quit ("leaving"). 07:27:29 -!- Dewi has joined. 07:46:18 -!- Slereah_ has joined. 07:47:09 -!- Slereah has quit (Read error: 60 (Operation timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:56 -!- Dewi has quit (Read error: 101 (Network is unreachable)). 08:30:03 -!- psygnisfive has joined. 08:35:03 -!- neldoreth has joined. 08:35:33 -!- Dewi has joined. 09:02:06 -!- ais523 has joined. 09:24:21 -!- Sgeo has quit ("Leaving"). 09:37:50 -!- tombom has joined. 09:41:00 -!- neldoreth has quit ("Lost terminal"). 09:41:32 -!- neldoreth has joined. 10:02:23 -!- Asztal_ has joined. 10:04:23 -!- Judofyr has joined. 10:16:49 -!- Mony has joined. 10:17:20 -!- Mony has changed nick to Guest2384. 10:18:30 -!- Guest2384 has changed nick to M0ny. 10:18:39 plop 10:18:45 hi 10:19:02 how are you ? 10:19:06 -!- BeholdMyGlory has joined. 10:19:19 M0ny: tired 10:19:30 just finished handing in my final Master's report 10:21:10 cool 10:38:30 -!- neldoreth has quit (Read error: 113 (No route to host)). 10:45:09 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer"). 11:01:32 -!- oklopol_ has joined. 11:06:14 ˙ʅodoʅʞo 11:06:51 hello fuzzie 11:07:06 first crash, i forgot how awesome ubuntu was 11:07:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 11:08:14 also the exam was a mockery of my memorization skills, gzip's was the only algorithm you needed to know by name (from the "subalgorithms") 11:09:12 It seems that nʇunqn is rather upside-down-friendly even with much special charactersies. 11:09:30 Maybe they designed it that way. 11:09:36 with much special charactersies? 11:09:38 or with little? 11:09:49 Oh, was trying to say "without" there. 11:09:51 or maybe like few but 11:10:02 right right that's even better 11:12:41 What was that exam all about, anyway? 11:13:32 what's gzip about? 11:14:02 i mean i have no idea, i just memorize the text. 11:14:18 hah 11:14:31 I just found out why mycology wants storage offset so many times 11:14:32 Don't they ask anything else than direct quotations? 11:14:40 it is because of the ky in HRTI 11:15:03 every other time that will push whatever corresponds to the top cell (flags) 11:15:11 I find it doubtful that oklopol's university only asks simple questions because of the ky in HRTI. 11:15:19 what? 11:15:27 fizzie, I wasn't talking about that 11:15:47 Yes, but I found it more amusing to interpret it that way. 11:16:03 also i was just about to start googling what you meant by ky 11:16:17 assumed hrti was a way to acrynomize our university. 11:16:21 *acronymize 11:17:04 oklopol_: Holy Righteous Turkuean Institution? Or was that what you were from, anyway? 11:17:16 fizzie: well actually the gzip thing was like "explain the lz77 family, and how gzip implements the algo" 11:17:18 so 11:17:30 you could get perfect points by simply memorizing 11:17:41 fizzie: yes i'm from turku. 11:18:35 actually there was just one apply algo type question, so you could've passed it with an okay grade without having any idea what it was about 11:18:48 High Resolution Timer Interface 11:18:55 a befunge98 fingerprint 11:18:56 well 11:19:14 assuming it's allowed to use the exact same wordings 11:20:19 i usually first list every fact the text mentions, then try to generalize the idea to sound a bit smarter than necessary. 11:20:19 oklopol_, http://catseye.tc/projects/funge98/library/HRTI.html 11:20:29 AnMaster_ipv6: thanks 11:21:08 Anyway, "ky" is not directly explained by that. I guess it's just "something that takes a measurable amount of time"? 11:21:09 ah that's the one that sucks 11:21:17 fizzie, indeed 11:21:46 UNDEF: T after M pushed 5 and a second T, after 675 ys, pushed 60324 11:21:53 you should definitely invert the granularity to be ticks per second instead of seconds per tick 11:22:02 then again i guess you said that last night. 11:22:04 (debug build, otherwise it wouldn't be so slow) 11:23:34 in a release build it is more like 7363 11:23:44 (and after this change I just made: 6720) 11:24:13 This timer is not affected by 'time travel' contrivances. <<< awww 11:24:37 well. should probably eat and start studying for my next exam. 11:24:40 which is..... 11:24:59 professor architectures. 11:25:00 "Real" time-related interfaces seem to tend to fixed resolution, though. Admittedly clock(3) does CLOCKS_PER_SEC ticks, and the win32 performance-counters API too, but gettimeofday(3) is strictly microseconds-only, and clock_gettime(3) is nanoseconds-only, with a clock_getres(3) call returning resolution in nanoseconds too. 11:25:24 fizzie, I use clock_gettime() in cfunge if it exists btw 11:25:34 fizzie: no reason why befunge shouldn't do it better. 11:25:39 both for initialising PRNG and for HRTI 11:25:45 and fall back on gettimeofday() 11:26:13 professor architectures. <-- :D 11:26:14 what are those 3's? 11:26:21 oklopol_: Man page sections. 11:26:22 oklopol_, man page sections 11:26:32 meh 11:26:35 STOP FLOODING 11:26:47 3 is something like "C library routines for C programs" according to one definition. 11:27:18 interesting. 11:27:23 i need that unix book. 11:27:31 * AnMaster_ipv6 makes a lookup table for all y indexes between 1 and (whatever is the largest fixed one). Inclusive 11:28:09 actually I could just pick from a stack generated once if I decide to never implement EVAR 11:28:29 well I need to handle some specially yes 11:28:30 environment variables? 11:28:45 oklopol_, EVAR is a fingerprint for changing environment variables yes 11:28:53 just changing? :D 11:29:08 oklopol_, you can read them with y 11:29:15 oh right. 11:29:24 and I guess EVAR has reading too 11:29:28 I don't remember details 11:29:34 the details* 11:29:59 you should remember the details for EVAR. 11:30:04 why 11:30:13 long story. 11:30:14 There's "look up by name", "look up by index", "set by name" and "get amount of variables" in EVAR. 11:30:19 ah 11:30:25 well i guess it's rather short 11:30:26 pun 11:31:00 fizzie, is that "index" assuming that the list of env variables is sorted 11:31:13 okay noodles, meat and ed, how does that sound for gourmet foods 11:31:21 AnMaster_ipv6: DID YOU GET THE PUN 11:31:25 interestingly it seems ccbi sorts them, but I don't 11:31:29 AnMaster_ipv6: The order is not defined. It's just the nth environment variable. 11:31:29 oklopol_, what pun 11:31:33 grr 11:31:43 oklopol_: You can load that fingerprint with (4"EVAR" if you're moving right-to-left. 11:31:47 see continuation to long story 11:31:54 fizzie, augh! 11:32:03 oklopol_, I still don't get it. 11:32:17 AnMaster_ipv6: well at least fizzie did 11:32:33 oh was that some infinite time joke 11:32:35 I see 11:32:40 :D 11:32:40 meh, far fetched 11:32:47 All oklopol_'s jokes are infinite. 11:32:50 i wish ehird was here 11:33:00 AnMaster_ipv6: also good one 11:33:05 err what 11:33:11 you know, far-fetched infinite time jokes 11:33:30 I wasn't trying to joke there. 11:33:39 i know, wasn't really funny either 11:33:48 i just like confusing you for seconds at a time 11:33:57 oklopol_, stop being ehird.. 11:34:06 but he isn't here 11:34:11 good thing 11:34:14 and i can't really see fizzie being him 11:34:18 so 11:34:24 . 11:34:25 thank god for that! 11:34:26 Yes. I don't really have the ehird nature in me. 11:34:40 oToToTo 11:35:02 ↑ 11:35:04 ← → 11:35:08 ↓ 11:35:17 wtf 11:35:29 that didn't look right. 11:36:11 this should be a monospace font, why are ↓ and ↑ not properly around the hole 11:36:14 just asking. 11:36:34 It looks right enough here. 11:37:02 :< 11:37:23 hmm... i wonder if i could manage the real-time systems exam in an hour 11:37:43 ↑, ↑, ↓, ↓, ←, →, ←, →, A, B, select, start. 11:37:48 if i could, then i could fit algebra and it on the same day and get another exam to fit later! 11:37:59 ah the old banjo punch 11:38:13 this should be a monospace font, why are ↓ and ↑ not properly around the hole <-- looks ok here 11:38:33 hmm weird. 11:38:34 ↑, ↑, ↓, ↓, ←, →, ←, →, A, B, select, start. <-- huh 11:38:45 what was that about 11:38:55 it's a special move in a game. 11:39:00 which game 11:39:06 it's the Konami code, works for a lot of games IIRC# 11:39:12 banjo fighters 11:39:17 It's also a reasonably common cheat code in NES games. 11:39:28 oh console game 11:39:37 I was wondering what strange variant of chess this was about :D 11:39:40 There is of course a list: http://en.wikipedia.org/wiki/List_of_Konami_code_games 11:40:35 http://yro.slashdot.org/article.pl?sid=09/04/06/0234245&from=rss quality slashdot editing, as usual. 11:40:53 Weird stuff. digg.com (website) - Press up, up, down, down, left, right, left, right, B, A to expand all comment threads on an article's overview page. 11:40:54 basically the guy rips of a few hairs from the opponent, and uses them as strings for the banjo, you know for the voodoo doll effect, then punches the banjo with all his fists; it's called the banjo punch 11:41:15 drains most hp, a bit of mana, and hurts the opponents feelings 11:41:19 fizzie, huh 11:41:26 does it work? 11:41:53 AnMaster_ipv6: No idea, it was just there on the list. 11:42:04 oklopol_: This is some sort of imaginary game thing, right? 11:42:25 banjo fighters is as real as you and me 11:42:47 That might not be very real. 11:43:00 might not, might unnot. 11:43:02 I think oklopol_ answered a different question 11:43:19 oklopol_, maybe there is a game called that, but does that move exist in it 11:43:22 might've, might'n've 11:43:59 I'm not seeing any threading in digg.com anyway. Maybe it's a setting. There's an "expand all" link, so it's not a very hidden functionality even if it exists. 11:44:10 wait, it works in Half-Life 2‽ 11:45:31 it works in gish? 11:45:44 hmm err turbo mode 11:45:58 i've probably unlocked it anyway if it's possible, sounds familiar 11:46:11 fizzie, add citation needed then :D 11:46:44 There's already a "This article does not cite any references or sources." on top. 11:46:59 Put there in March 2008. 11:47:42 k 11:48:06 maybe you could underline it tho 11:49:01 Put a big red rectangle around it, and tags too. 11:52:10 -!- KingOfKarlsruhe has joined. 12:10:43 -!- neldoreth has joined. 13:24:28 -!- KingOfKarlsruhe has quit (Remote closed the connection). 13:26:39 -!- KingOfKarlsruhe has joined. 13:42:04 -!- FireFly has joined. 14:09:38 ha, it does work 14:10:39 http://lifthrasiir.jottit.com/xumul the XUMUL spec seems to be finalized. i added more examples but making 99 bottles of beer should be quite hard. 14:14:45 -!- ais523 has joined. 15:22:26 -!- jix has joined. 15:24:29 tombom, what works? 15:24:43 the konami code on digg 15:24:50 ah 15:27:57 Quite a lot of fractional blocks there, you can almost make a volume control label thingie: − ▁▂▃▄▅▆▇█ + 15:28:29 I've forgotten what they're called, but ehird made a program that made little inline unicode graphs that you could put into IRC comments 15:30:33 * AnMaster_ipv6 totally rewrote most of his y implementation 15:31:02 "Y did you do that?" eh eh eh-heh. 15:31:25 * AnMaster_ipv6 googles define:Y 15:32:29 It's just the y/why thing. 15:33:48 ah 15:33:59 anyway it was suboptimal before 15:35:12 it didn't reuse result of time() call between date and time for example, this was because of the way it was implemented to handle pushing individual parts without doing the "push all, pop some" thing. 15:35:19 but now it manages both cases fine 15:35:26 just need some more testing 15:35:32 I hardly think Y performance really matters in most "real" Funge-98 programs... but I could be wrong; I don't really have much experience on how Funge-98 is used in the real-life software industry. 15:35:41 Have to go work → home at this point; away. 15:35:43 fizzie, it does in mycology 15:36:04 fizzie, does fungot use y much? 15:36:05 AnMaster_ipv6: ' yes, it's all right. i accept it as fnord? is it particular or universal? 15:36:10 That's not a real program, though. It's a test suite, and not even a performance benchmark at that. 15:36:14 There should be no y in fungot. 15:36:15 fizzie: sylvie, who hadn't quite lost her surprised look, put up her mouth for a great effort, and swallowed a large piece of plaster fnord on her lap, " fnord taxes!'" 15:36:19 I see 15:36:20 Now the bus. → 15:36:24 ok 15:36:32 hope you come on irc when you get home 15:36:32 cya 15:37:37 anyway, in mycology y is the bottleneck for cfunge. To be specific all the string pushing when pushing the environment variables is 15:37:50 stack-stack copy is way faster 15:38:03 I have an idea here 15:38:05 ais523, there? 15:38:11 yes 15:38:39 I was planning to cache a pre-pushed array of the environment variables and then just memcpy() it onto the stack 15:38:43 AnMaster_ipv6: do you optimise y with a positive argument? 15:38:57 as in, if someone asks for something that isn't the env vars, do you give it to them without checking the env vars? 15:38:59 ais523, I do as far as I can know for certain what number to go for 15:39:05 makes sense 15:39:22 so past size of all stacks I don't do that 15:39:49 but up to (and including) the size of TOSS I have a switch case 15:40:04 well I do now, in trunk it only does that up until 10 15:40:17 but now that I reworked y code it goes further 15:42:39 why don't you add an option to cfunge to clear the environment before running the program? 15:43:00 for programs that didn't care about env vars, it wouldn't change their behaviour at all, for programs that did it would still be "correct", just faster 15:43:36 ais523, well if I want to measure other parts of the code in a meaningful way I tend to do: env -i bash --noprofile --norc -c 'time ./cfunge ../../trunk/mycology/mycology.b98 >/dev/null' 15:44:04 (I still use gprof and such too of course) 15:44:06 hm 15:44:12 my konsole just lost it's menu bar 15:44:13 wth 15:44:48 ah there back 15:45:35 -!- neldoreth has quit (No route to host). 15:52:04 odd 15:52:46 fungus (a rather incomplete and somewhat broken test suite for funge interpreters, made by !Befunge author) told me: Stack cell size is 31 bits 15:52:48 heh 15:53:19 that's a great way in which to be somewhat broken 15:53:33 ais523, it is broken in other ways too 15:53:50 I guessed 15:57:31 -!- ehird has left (?). 15:59:06 now time to try to figure out that bug with slowdown.b98... 16:00:03 -!- ehird has joined. 16:01:56 ais523, so you finished your master thesis or what was the thing you were talking about? 16:02:02 yep 16:02:13 At home, but have to do dinnur now. Anyway, I certainly am not critisizising your Mycology optimization tricks, just amused by them. 16:02:14 I'm now on wind-down time 16:02:16 congrats 16:02:24 well 16:02:29 deadline was 12pm today, but I submitted it at about 9am 16:02:43 because it helps to be a few hours early in case they've invented a last-minute requirement for how to submit it 16:02:53 if I really wanted to optimise I would change flags cell in a way so it pushed some number that caused it to not push the whole thing every other time 16:02:57 why you may wonder... 16:03:02 (they had, but it was just to write my name on the front, that only took a couple of minutes because I was trying to make it look neat) 16:03:19 because mycology does: 16:03:22 ky 16:03:24 basically 16:03:28 AnMaster_ipv6: what about a lazy stack? 16:03:28 when wanting a delay for HRTI 16:03:44 just push a token meaning "environment variables go here" 16:03:52 and only push them if the value of the token matters 16:04:05 in fact, a fully lazy funge interp could be interesting 16:04:12 ais523, hm it need to track length of the stack anyway 16:04:26 and I don't think it would violate the Funge standards, as long as it had strict I/O 16:04:30 AnMaster_ipv6: only if something asked for it 16:04:34 you could delazify if something did 16:04:39 ais523: i have a similar plan for pyfungec 16:04:48 16 out of the registered ~50 AI tournament participants have returned their bots; deadline is today at midnight. Probably most of them will return it during the last hour. 16:05:00 Should do a master's thesis too this Spring. Heh. 16:05:03 (or semi-JIT pyfunge, anyway) 16:05:10 ah, I was wondering what the name meant 16:05:14 fizzie: what's that about? 16:05:38 ais523, anyway: ky causes y to jump to whatever matches the value in the flags cell every other time, because flag cell is 15, with will be on top first time, then next y will use it for parameter, 15 maps to pushing x or y component of storage offset (forgot which). which is 0 at that point, which causes next to push full list, and so on 16:05:43 so it toggles between the two 16:06:14 haha 16:06:16 now if I really wanted to optimise for mycology I would change the flag cells in some way so it ended up pushing small positive values every time after the initial 0 16:06:20 :P 16:06:20 you're specifically going to optimise "ky"? 16:06:25 ais523, no 16:06:30 ais523, that would be insane 16:06:45 so? 16:06:46 you mean, for example ay does calculate and push only one cell? 16:06:46 but I found this out while I was checking what y values were common 16:06:53 then i think that's fine 16:07:04 ais523, and was wondering why mycology wanted storage offset so many times 16:07:27 also, I don't like the idea of optimising for Mycology, but optimising variants involving k could be profitable 16:07:33 for instance, ffff***k> 16:07:40 that could be optimised really easily 16:07:45 ais523, well I try to optimise for fungot too, but it is harder to measure 16:07:46 AnMaster_ipv6: we were silent for awhile, and then fnord that the conclusion, if there is to be one of them. 16:07:46 into ffff***>> 16:07:54 I mean, I can't profile it easily 16:07:59 because of irc dependency 16:08:04 AnMaster_ipv6: why not make a generic compiler that's optimised even for programs that haven't been written yet? 16:08:07 while mycology runs as fast as it can all the time 16:08:09 ais523: The tournament or the thesis? 16:08:26 ais523, I try to, some stuff I optimised extra doesn't help for mycology 16:08:30 like N in STRN 16:08:33 fizzie: I meant the tournament 16:08:35 which iirc fungot uses quite a bit 16:08:36 AnMaster_ipv6: " well, what's the matter, darling?" said bruno. 16:08:38 but the thesis is likely to be interesting too 16:09:04 ais523, hm? the thesis isn't done? 16:09:14 Now I'm confused 16:09:17 AnMaster_ipv6: It still has a topic, though. 16:09:20 14:27 fizzie: Quite a lot of fractional blocks there, you can almost make a volume control label thingie: − ▁▂▃▄▅▆▇█ + 16:09:21 14:28 ais523: I've forgotten what they're called, but ehird made a program that made little inline unicode graphs that you could put into IRC comments 16:09:26 yar 16:09:30 unicode sparklines 16:09:31 AnMaster_ipv6: It still has a topic, though. <-- ? 16:09:32 AnMaster_ipv6: my thesis is done, presumably fizzie's isn't though 16:09:35 ais523: The tournament is the programming project part of our "Introduction to Artificial Intelligence" course; the task is to write a board-game AI in the framework provided by the course. 16:09:36 aha 16:09:38 right 16:09:43 ais523: there's only one thesis 16:09:44 THE thesis 16:10:18 have I mentioned scala is nice 16:10:28 ais523: And then the returned game-playing bots are playeded against each other, and the top-N winners get magnificient prizes; so that the students get motivated enough, that is. 16:10:51 we did something like that in our second year, but with line-following racing bots rather than AIs 16:11:34 ais523, as for lazy stack, do you think it would save much? compared to the overhead of tracking "is this lazy" 16:11:46 I don't know 16:11:52 profiling it might help 16:12:01 how do you check for beyond-bottom-of-stack, atm? 16:12:02 HAVE I MENTIONED SCALA IS QUITE A GOOD LANGUAGE 16:12:08 I've just had an insane idea 16:12:09 The board game is something developed by a Finnish master-of-chess person, and it's a relatively unknown so that they can't just filch a chess UI from some open-source thing. 16:12:32 ais523, well I don't catch segfaults like fizzie do, but rather check if stack->top == 0 16:12:58 AnMaster_ipv6: the idea to do laziness would be to put a fake top-of-stack on the stack 16:13:03 ais523, since stack->top is just a index into the malloced block used for stack 16:13:17 hm 16:13:19 you'd check stack->top == top_or_top_lazy_index_number 16:13:25 that check's just as fast as what you have at the moment 16:13:28 I wish the unicode blox were thinner 16:13:46 if you do unlazify, or go over the end of the stack, you'll have an efficiency cost then changing your internal setup 16:13:50 but that doesn't happen very often 16:13:51 ais523, yes quite possible, but it does require storing extra out-of-band data 16:14:15 ais523, currently I speed stuff up by doing crazy stuff like { and } memcpy()ing between TOSS and SOSS and such 16:14:20 http://yro.slashdot.org/article.pl?sid=09/04/06/0234245&from=rss ← oh god 16:14:26 get me o ut of this fucknig country 16:14:35 oh wait 16:14:37 ais523, that is another thing that doesn't matter for mycology btw 16:14:37 is it a fake thing 16:14:38 or sth 16:14:42 I mean I just read the summariry 16:16:05 No, it's real 16:16:19 yes I suspect it is real too 16:16:28 there is talk about such things here in Sweden as well 16:16:32 -!- neldoreth has joined. 16:16:37 I think it's just email subjects, so I don't see how it's going to stop terrorism 16:17:16 apparently in Germany they're just recording what IP people had at a given time they were online 16:17:23 in an attempt to comply with that 16:17:45 ais523, anyway a lot of my optimised stack code does assume stack is stored as a single array, so it would need to be reworked for such a lazy stack 16:17:55 I would like to know more about this stack certainly 16:17:59 lazy stack 16:18:25 16:12 AnMaster_ipv6: ais523, well I don't catch segfaults like fizzie do, but rather check if stack->top == 0 16:18:29 because I don't know enough about stuff in this area 16:18:34 you should really do segfault checking 16:18:41 ehird: not portable 16:18:41 it'd remove like 5 billion branches 16:18:45 indeed 16:18:53 no 16:18:56 there's a portable lib to do it 16:19:02 that even works on DOS? 16:19:11 ais523, that's not relevant for cfunge 16:19:11 ais523: cfunge doesn't work on dos 16:19:18 ehird: well, it should do 16:19:22 ehird, it needs to work on OpenBSD/sparc though 16:19:23 maybe I should try porting it some time 16:19:25 it never will, ais523. 16:19:29 :P 16:19:33 AnMaster_ipv6: I think the lib does 16:19:34 let me find it 16:19:46 ff 16:19:47 yeah name or url would be a good start 16:19:50 I keep getting StackOverflow.com results 16:19:52 anyway 16:20:39 ais523, how would this lazy stack work, I mean "stack->top == top_or_top_lazy_index_number" for example, do you mean a special value on the top of the stack and stack->top being a pointer? 16:20:50 no 16:21:05 I mean you have out-of-band data that stores where the lazy entries are 16:21:16 and a variable whose value is the top lazy entry on the stack 16:21:19 what then? I admit I'm totally ignorant about how you work with lazy data structures 16:21:21 or the bottom of the stack if there aren't any 16:21:25 hm 16:21:32 ah 16:21:57 if an attempt is made to use that value, you then figure out what special value was requested, unlazify if needed, and set the index number according to the new circumstances 16:22:17 "Details of every email sent and website visited by people in Britain are to be stored for use by the state from tomorrow as part of what campaigners claim is a massive assault on privacy. " 16:22:17 hm ok 16:22:22 fuck "what campaigners claim" 16:22:34 there is no way you can claim that's not a complete destruction of privacy 16:23:21 ais523, I would have a separate array or linked list or something containing a list with info about all lazy parts of the stack, and then update the "first lazy" when I remove/expand part of the stack? 16:23:25 is that what you meant 16:23:25 A library for that stack-overflow-trickery sounds, well, tricky. I cheat a bit in that I know what memory-access instructions can cause a stack underflow, so when handling it, there's only a rather reasonable amount of situations I need to fake the "whoops, returned 0" thing in. 16:23:25 hm 16:23:39 fizzie: no, there really is a portable c library to detect segfault 16:23:43 that work son most unix systems iirc 16:23:55 ehird: my point was, that how are you going to guarantee that underflow causes a segfault? 16:23:58 ais523, how would this interact with stuff like stack size in y, FRTH pick, y as pick with large enough value and so on? 16:24:08 ais523: by aligning it 16:24:10 ais523: itt: mmap 16:24:35 ehird: "itt"? I always assumed it meand "in the topic", but in this context it can't do 16:24:44 In This Topic 16:24:54 Commonly used as a subject line, e.g. 16:25:00 "ITT we are Bill Gates" 16:25:10 Or, on the subject of mmap: "ITT mmap" 16:25:24 hm 16:25:39 Sure, sure, I just said it sounds tricky. Well, maybe not the "detect segfault" bit, more the "fake that it worked and restore execution" bit. 16:25:43 well doing that is a pain when you need to grow stack 16:26:02 I do the forced segfault with a mmap'd range and mprotect()ing the pages before and after it. 16:26:06 Must do food-preparing now, not here. 16:26:13 which is even more of a pain when you consider that there is the stack stack with many stacks, each which may need to grow, and multiple ips too 16:26:23 each with it's own stack-stack 16:26:43 fizzie: what's to stop the OS memmapping two things in adjacent pages? 16:26:48 so you underflow from one onto the previous? 16:27:10 that's why you mprotect. 16:27:10 ais523, he said he mmap()s one and then mprotects it as no-access 16:27:25 ah 16:27:34 what if you're on a processor that doesn't have memory protection? 16:27:40 don't be. 16:27:44 does POSIX guarantee that mprotect is implementable? 16:28:00 ais523, it does say no access must work yes 16:28:06 and some other 16:28:16 it does allow implementations to allow execution even if it is only readable 16:28:22 so systems without NX works 16:29:01 POSIX.1-2001 says that an implementation may permit access other than that specified in prot, but at a minimum can only allow write access if 16:29:01 PROT_WRITE has been set, and must not allow any access if PROT_NONE has been set. 16:29:14 from man page 16:29:42 on linux mprotect() works on non-mmaped pages too it says heh 16:29:46 Yes, I mprotect the first and last page of the longer, contiguous stack I've mmap()d, so it'd be a rather rude OS if it were to mess that up. 16:30:01 fizzie, how much do you allocate 16:30:52 Don't remember; I was going to make it grow up as necessary, but I don't think that's even implemented yet. It's some fixed reasonable number of pages now. 16:30:59 The food, it is burning. Gah. 16:31:05 Stop talking interesting stuff. 16:33:44 at end of mycology the stack in a 32-bit fungespace build of cfunge is 12 pages (4096 bytes on x86) large 16:33:48 just checked 16:34:04 fizzie: gay sex. 16:34:05 when I grow the stack I grow with one page at a time btw 16:34:10 now call for psygnisfive 16:34:15 and we'll go back into uninterestingness 16:34:56 Let me handle this 16:35:03 WOOOH I SURE FEEL GAY TODAY 16:35:10 GEE Slereah_! 16:35:12 ARE YOU GAY? 16:35:16 I NEVER KNEW! 16:35:27 Shush, I'm trying to lure psygnisfive 16:35:39 Shit I forgot to change nick 16:35:42 ... 16:35:45 -!- ehird has changed nick to psygnsifive. 16:35:51 can we get back to order? 16:35:51 I'M HERE Slereah_ 16:35:56 oh well 16:35:57 AnMaster_ipv6: fizzie's request. 16:35:58 ais523, there? 16:36:04 yes 16:36:09 psygnisfive, he said " Stop talking interesting stuff." 16:36:16 Which we did. 16:36:17 not "start talking uninteresting stuff" 16:36:22 It never fails. 16:36:25 you could have shut up? 16:36:26 anyway 16:36:27 well, why do you think I wasn't talking 16:36:29 Interesting stuff carries on if uninteresting stuff doesn't. 16:36:32 let's talk to fungot for a while 16:36:33 ais523: fnord. all blades are fnord some ignorant people are conceited. 16:36:34 ais523, well where were we 16:36:42 So, on the topic of being sexually aligned to the same gender. 16:36:55 psygnsifive: take it to -offtopic, please 16:37:03 well, -blah 16:37:09 ais523: -blah is for bot tests. 16:37:14 Everything is on topic in here :-P 16:37:15 and spamming 16:37:17 -!- psygnsifive has changed nick to ehird. 16:38:09 ais523, anyway there are some stuff that would be hard to do with a lazy stack. the FRTH fingerprint that allows pick and such 16:38:31 AnMaster_ipv6: how do you implement pick past the end of the stack? 16:38:53 JARS 16:38:55 MANY JARS. 16:38:56 Sorry. 16:38:58 ais523, hm since FRTH is a RCS fingerprint... 16:39:01 * AnMaster_ipv6 lookjs 16:39:03 looks* 16:39:04 lookjs 16:39:12 VISION IN WEB 2.0 AJAXSCRIPT 16:39:24 hah 16:40:22 ais523, it gets index counting from stack base it seems in the relevant code for that in stack.c and there it returns 0 for out of range 16:40:27 but in FRTH 16:41:01 there it is from top of stack 16:41:05 and translate to "from base" 16:41:29 and it reflects for negative arguments (above top of stack) and pushes 0 for below base of stack 16:41:46 ais523, did that answer the question? 16:41:48 AnMaster_ipv6: my general advice is whatever you do to handle below base of stack, handle lazy elements the same way 16:41:53 yes, it answers it 16:42:09 and yes, this method is hideously complicated, /but/ it doesn't have an efficiency penalty 16:42:55 ais523, anyway I need to handle <1:non-lazy><2:lazy><3:non-lazy> and FRTH wanting to pick in the lower non-lazy area (1) 16:43:08 you expand the lazy when that happens 16:43:09 in fact I need to know size of stack all the time, because y need to be able to return it 16:43:18 what are you talking about anyway 16:43:23 likewise, you expand the lazy if someone calls y in such a way it's asking for the stack size 16:43:27 ehird: lazy y in Befunge 16:43:33 oh. 16:43:35 sounds boring. 16:43:43 ais523, well that is most of the time when it would be useful to be lazy it also has stack size 16:43:45 as far as I can tell, it wouldn't violate any of the standards or change any behaviour 16:43:47 and it would be faster 16:44:04 i mean it makes sense so why are you talking so much 16:44:10 can AnMaster_ipv6 not fit his brain around it? lol 16:44:13 AnMaster_ipv6: what about lazy-chaining? 16:44:37 ais523, you mean that until it tries to compute on the returned stack size it won't calculate it 16:44:41 hm might work 16:44:50 and you remember the size of the nonlazy parts of the stack in the lazy token 16:44:57 and just add the lazy parts if it becomes relevant 16:45:03 yes indeed 16:45:38 ais523, potentially you could also do lazy calculations on these areas I guess 16:45:42 like if someone add them up 16:46:11 anyway, this sounds like it would be way easier in some other language than C, haskell for example 16:46:13 but hm 16:46:24 how 16:46:25 AnMaster_ipv6: you may as well have a fully lazy funge if you're going that far 16:46:26 it might be worth trying, but it would be a lot of work 16:46:27 this sounds trivial 16:46:29 to the max 16:46:43 ais523, hm interesting idea yeah 16:46:45 I only intended the simpler versions of laziness 16:46:46 on y just push a dummy data structure with NULL fields 16:46:52 then when you access them, set the fields to the value 16:47:00 ehird: Funge doesn't have data structures 16:47:01 so easy it's not even funny 16:47:07 ais523: you know what i mean 16:47:15 taking the stack segment as a data structure 16:47:19 and doing it without an efficiency loss when it isn't used is slightly harder, but only slightly 16:47:33 so why is AnMaster_ipv6 talking about it so much 16:47:43 corner cases, as usual 16:47:52 ugh 16:47:56 not really, I'm thinking about it 16:48:01 they're all fixable, you just have to deal with them all individually 16:48:03 I'll corner AnMaster_ipv6's cases if he keeps doing this kind of thing 16:48:43 ehird, it would be worthless if it made it fail in mycology, and these are hardly corner cases 16:48:57 mycology checks corner cases 16:49:00 that's the whole point 16:49:02 ais523, maybe storing the size of the lazy stuff (if known) could be useful. 16:49:03 AnMaster_ipv6: I'm not talking about anything that makes it fail 16:49:17 AnMaster_ipv6: what I'm saying is, if the size matters, just delazify 16:49:22 I mean for env variables I could easily store it non-lazy first time and track how much is used for example 16:49:26 from then on you can memoize what the size of the env vars is 16:49:34 ais523, or that yes 16:49:42 until they change, and how often does that happen? 16:49:55 ais523, well since I don't implement EVAR: never 16:50:17 and even if I did I guess I wouldn't need to invalidate it often 16:50:25 exactly 16:51:21 AnMaster_ipv6: *nEVAR 16:51:37 http://www.foldr.org/~michaelw/emacs/#color-box <--- I just found this, and Mathematica really really badly needs it 16:51:39 ehird, fizzie already did (4"EVAR" before... 16:51:39 i already made one joke with evar, but he just wouldn't get it 16:51:41 s OLD 16:51:43 so* 16:51:48 no i did 16:51:50 stop talking about it then 16:51:57 fizzie just tried to explain it to you 16:51:59 ais523: doesn't work well in practice. 16:52:11 ehird: neither does Mathematica's current method, that would be an improvement 16:52:20 um 16:52:24 are we talking bout the same thing 16:52:32 ehird: quite possibly not 16:52:39 ais523, what would be the best format to store out of band data for lazy parts of stack hm... 16:52:41 what are you talkin bout 16:52:48 ehird: the link I pasted above, http://www.foldr.org/~michaelw/emacs/#color-box 16:52:54 yes 16:53:01 but what does mathematica currently do 16:53:17 ehird: breaks the line in random places for no apparent reason, and flashes parens when you cursor over them 16:53:23 oh 16:53:27 I like mathematica autoformatting 16:53:27 :\ 16:53:43 ehird: I think its autoformatting makes it impossible to see what the code's doing 16:53:49 err 16:53:50 just because two related things can be so far from each other 16:53:51 okay 16:53:56 and you have no way to match them 16:54:03 then your code is not factored enough 16:54:15 ehird: have you seen the code that Wolfram themselves churn out? 16:54:18 ais523, anyway technically checking a non-constant value would in fact be slower ;P, just unmeasurable I suspect. An extra memory load from an address close by instead of using a constant "branch if zero" instruction sequence. But most likely wouldn't even be a measurable difference. 16:54:24 it's lots and lots of nested standard functions 16:54:26 ais523: yes 16:54:28 so? :P 16:54:30 ;P 16:54:38 so you can't see which options or args go with which functions 16:54:45 because there are so many other things in between 16:55:02 http://www.foldr.org/~michaelw/emacs/#color-box <-- wow 16:55:02 AnMaster_ipv6: if it's in L1 cache, and it almost certainly will be, no slower on x86 16:55:19 *wow*? 16:55:20 ais523, true. 16:55:21 what 16:55:28 ehird, what a nice idea with colour boxes 16:55:31 personally I'd keep the parens too 16:55:35 it'd be nice if you could actually use them 16:55:39 trust me, it's useless 16:55:40 ehird: err, ? 16:55:47 ehird, why would it be useless? 16:55:48 ais523: they're unusable 16:55:58 in what way? 16:56:11 in that they don't help coding, they hinder 16:56:13 is it slow? does it break badly when you try to add another paren pair? 16:56:22 not in implementation 16:56:23 in idea 16:56:29 that would be very useful 16:56:32 it's the same information that's there already, just with more information 16:56:42 and besides, it's mostly for reading the code you've written 16:56:46 ais523: just because you can doesn't mean you should 16:56:50 it isn't helpful in practice 16:56:51 not for writing it, anyone can do that by writing from outside to inside 16:57:12 ehird, you tested it? 16:57:17 ehird: how do you know? 16:57:26 you know, it's a downloadable .el file 16:57:30 how do you think I know oklopol_ 16:57:45 well i assume you're just talking crap 16:57:56 is there another possibility? 16:57:57 your loss 16:58:36 oh, I was going to test it on some Mathematica code from the Wolfram demonstrations thing 16:58:55 but the "show source" link gives you an image of the source, which is ridiculous 16:59:09 http://www.foldr.org/~michaelw/emacs/mwe-color-box.el 16:59:12 no it doesn't. 16:59:18 oh 16:59:18 .. 16:59:19 there's a link to download the notebook too 16:59:21 you mean wolfram 16:59:24 yes 16:59:32 ais523: wolfram code is rich text 16:59:32 so i'm not too surprised 16:59:33 er 16:59:35 s/wolfram/mathematica/ 16:59:47 it can be represented entirely in text form 16:59:50 that's what InputForm is 16:59:51 yes 16:59:53 but it isn't 16:59:54 in general 17:00:23 anyway, it's very very interesting that the source code they provide for their demonstrations isn't using the auto-indented version 17:00:30 but has been indented into a lot more lines by hand to show the structure 17:00:43 heh 17:00:50 One of the paste-places did that color-box-alike stuff for Scheme. 17:00:50 I guess they couldn't work with their bracket-matching either 17:00:51 ais523: you can't fully automate formatting... 17:00:59 ehird: of course not 17:01:03 fizzie: lisppaste, and it does it in an even more stupid way 17:01:09 on the other hand, most languages have code that's at least slightly readable without it 17:01:13 ehird: python can do it! 17:01:18 wait 17:01:21 it definitely can't. 17:01:22 I think that colour-box thing would help for reading INTERCAL expressions too 17:01:39 ehird, lisp.paste.org? 17:01:42 * AnMaster_ipv6 checks 17:01:46 AnMaster_ipv6: paste.lisp.org 17:01:50 yeah 17:01:53 I know 17:01:53 typoed 17:02:00 and it does it in a way that makes it even more useless than colour boxes 17:02:07 a veritable pastel explosion 17:02:12 specifically 17:02:15 it only highlights the parens 17:02:19 when you hover over the body 17:02:20 and not the body 17:02:21 ehird, but pretty sure it doesn't use colour boxes, rather matching colours for parentheses 17:02:37 I just said it wasn't identical 17:02:43 indeed 17:02:44 http://lemonodor.com/images/lisppaste-sexpr-highlighting.jpg 17:02:54 very different in fact 17:03:03 I'd say more like totally different idea 17:03:06 it's highlighting sexps with a background 17:03:10 that's pretty fucking niche already 17:03:13 i'm not segregating further 17:03:21 I guess it might've been that I'm remembering, anyway. 17:04:19 -!- Slereah has joined. 17:04:58 meh, why can't I set a watch point *with a condition* in gdb 17:05:13 as in, if variable goes to a value larger than 2000 or so 17:05:23 (and I don't even know where in program it would do 17:08:38 AAAAAAAAAH! C++ style << overloading 17:08:38 RUN! 17:08:49 ehird: in Scala? 17:08:59 ais523: Well, it's more the general idea 17:09:02 but in this case it was in scala 17:09:05 SystemC is worse, it's based on C++ and also overloads << but for something entirely different and also unrelated to bitshifts 17:09:07 but scala doesn't have "operators" 17:09:12 (a b c) is a.b(c) 17:09:31 and to I/O, fwiw 17:09:36 AnMaster_ipv6: I think it should work. "watch var" followed by "condition bnum expression", where bnum is the watchpoint number. 17:09:52 hm ok 17:10:04 That should make the conditionized watchpoint only stop when the expression given to "condition" is true. 17:10:31 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 17:10:36 There seems to be also syntactic sugar for writing that as "watch var if var > 2000" or some-such. 17:10:54 ah 17:10:56 * ais523 goes to stackoverflow for amusement value 17:11:02 odd that help watch doesn't list it 17:11:06 since help break does 17:11:38 "5.1.6 Break Conditions" manual section does. 17:12:01 The "help watch" output is rather terse. 17:13:22 -!- tombom has quit ("Peace and Protection 4.22.2"). 17:26:37 meh doesn't work 17:26:44 it breaks every time instead 17:32:03 * AnMaster_ipv6 hard codes random seed in for now to be able to debug this... 17:32:26 Strange. It does not work here either, although according to the manual it really should. 17:33:21 You can do "watch var>2000", though; that at least works here. 17:33:35 fizzie, I need both directions 17:33:51 Both directions? 17:33:58 greater than 2000 or less than -2000 17:34:26 and gdb has a limit on number of supported watch points, depending on how much the hardware supports 17:34:36 watch "var < -2000 || var > 2000" then? 17:34:43 I already need more than gdb handles 17:34:47 anyway I found another way to do it 17:35:26 After all, you just need one expression that will toggle from 0 to 1 when something interesting happens. Of course it'll also break when it goes back to 0, but I don't think that's usually a problem. 17:36:55 One would think that "watch var < -2000 || var > 2000" would actually be better than "watch var if var < -2000 || var > 2000" since that last one would break on all changes of var where the condition is true, not just when the condition initially becomes true. Well, if the "... if foo" syntax would work at all, that is. 17:37:26 hm ok 17:37:51 Anyway, I'm no gdb-wizard, and if you have alternative ways of debugging that actually work you might as well use those. 17:51:38 this makes no sense at all 17:52:14 some sort of memory corruption not detectable by either valgrind or mudflap is about the only possibility left 17:52:30 AnMaster_ipv6: what's the problem? 17:52:44 x=25 y=37: p (112) 17:52:44 Stack has 99 elements, top 5 (or less) elements: 17:52:44 -5 -5 32 463152454 -584432533 17:52:45 x=584432744 y=37: (32) 17:52:45 Stack has 96 elements, top 5 (or less) elements: 17:52:45 463152454 -584432533 32 463152454 -584432534 17:52:52 delta not flying 17:52:58 somehow p must have an issue 17:53:02 AnMaster_ipv6: what's the fungespace in between? 17:53:10 oh, (32) 17:53:18 I dumped it and and next instruction should not be that far out 17:53:31 I was wondering if it got blanked somehow 17:53:37 >' 03-:g04-:g 05-:g1+05-:p 03-:g01-:g- 01-:g2+02-:g3+g-!#v_^ 17:53:39 is the line 17:53:41 I just dumped it 17:53:47 ais523, and yes I checked that 17:54:25 ais523, delta is {x = 1, y = 0} all the time hm 17:54:43 did p pop the stack correctly, by the way? 17:55:11 It looks very sensible; 99 -> 96 and the 3 topmost have vanished. 17:55:11 ais523, going to debug this, just added a temp tick variable I can break on... 17:55:26 so the problem seems to be corruption of x 17:55:44 is it correctly writing the cell at (-5, -5), by the way? 17:55:57 not sure yet... 17:56:13 note to self: watch fungetick == 5042 17:57:11 hm storageOffset = {x = 584432564, y = -463152454} 17:57:19 Deewiant, is that normal in slowdown.b98? 17:57:40 in the code pushing coords to overwrite later 17:58:12 AnMaster_ipv6: if only you had implemented TRDS, you could go back to when it went wrong and try again 17:58:13 Value returned is $3 = {x = -5, y = -5} 17:58:17 yep it pops correctly 17:58:41 ais523, I can because I temporarily hard coded the random seed to srandom() :P 17:58:50 and TRDS wouldn't help here 17:58:51 AnMaster_ipv6: is it trying to access element [-5][-5] of the static array, I wonder? 17:59:09 ais523, it shouldn't be, I'm single stepping atm... 17:59:18 that's far too far outside for mudflap to notice, and if it hits valid memory valgrind-memcheck wouldn't notice either 17:59:36 ais523, but ptrcheck didn't either hm 18:01:06 ais523, anyway after storage offset was added it turned into: 18:01:07 $12 = {x = 584432559, y = -463152459} 18:01:09 correctly 18:01:15 since storage offset was that large yes 18:01:34 what's happening to your IP's x? 18:01:59 ais523, I have it up with display *IP all the time 18:02:21 anyway program now decided that it should use hash library (correctly) 18:04:14 so hash library found matching key hm 18:09:32 ais523, p didn't mess it up at least 18:09:39 now in ip move forward code... hm 18:10:30 ok I see what broke I think... 18:10:56 what was it? 18:11:22 something with bounds minimizing code 18:13:22 and no bad write issue, but rather something related to the algorithm making the bounds incorrect... 18:18:11 ok changing a + to a - solved that part of the issue. but hm 18:18:23 ais523, ^ 18:18:24 :D 18:18:47 oh, I see 18:18:57 the bounds went crazy, and it was wrapping to that ridiculous point 18:18:59 ais523, it was miscalculating the bounds simply 18:19:00 yes 18:19:12 ais523, for some reason they ended up correct later 18:25:06 Deewiant, now cfunge works correctly in all parts of slowdown.b98 18:25:26 and it is not too slow. 18:26:09 ais523, as for ridiculous point, that part was correct in fact, it was the max point in that direction. 18:26:31 well, yes 18:26:43 it's still ridiculous, just because it's correct doesn't mean it isn't ridiculous 18:26:50 slowdown is ridiculous yes 18:26:56 slowdown.b98 I mean 18:33:49 Scala weirdness: it has xml literals. 18:34:13 scala> var a = {2+2} 18:34:13 a: scala.xml.Elem = 4 18:34:19 I don't know why it has them but there you go. 18:34:58 :D 18:35:24 ehird: VB.NET is the only other language I know with XML literals 18:35:38 hm on my computer the two switches -fgcse-sm -fgcse-las (in combination) help a lot, comparing to plain -O3 when compiling cfunge, it seems to differ between different computers though, on a pentium3 I tested with it slowed down slightly instead 18:35:43 Yes, well, Scala's quite superior to VB.NET :-P 18:35:52 I have no idea whether it's a useful feature or not, I can't think of an obvious use right now but presumably there is one 18:36:04 maybe representing parse trees directly in the source code? 18:36:04 Scala even has lisp-style syntax for symbols 18:36:04 'foo 18:36:11 (although that's not a generic quoting mechanism) 18:36:20 ais523: Templating 18:36:30 To use haskell style syntax: 18:36:35 sort-of like inside-out PHP? 18:36:40 page name =

Hello, {name}!

18:36:41 and yes 18:36:47 well, most template languages are like php 18:37:00 and, also, xml processing, I assume 18:37:13 as in, you can just copy it in and work with it 18:41:38 * ais523 does a Google search for 0x5f3759df 18:42:06 ais523 googles so rarely that he tells us every time 18:42:14 also, iirc they just made it up 18:42:30 who's they, and what did they just make up 18:42:50 ais523: 0x5f3759df? From InvSqrt? 18:42:56 yes 18:42:58 where else? 18:43:02 Yes. 18:43:10 I meant, John Carmack just made up the magic number. 18:43:14 I seem to recall that being the backstory. 18:43:37 oh, I didn't care about the backstory, but about the algorithm 18:43:51 http://www.beyond3d.com/content/articles/8/ 18:44:00 ais523, you remembered that number or looked it up somewhere? 18:44:03 it's a disappointment really, I was hoping they'd used some weird feature of the implementation of floats to run the entire loop in one machine instruction 18:44:06 hmm 18:44:07 Not me, and I don't think it is Michael. Terje Matheson perhaps? 18:44:07 John Carmack 18:44:08 AnMaster_ipv6: came across it 18:44:12 ok 18:44:30 yeah eight hex digits how could anyone remember that 18:44:31 that magic number is really magic, since it is not optimal theoretically but is optimal in the practice 18:44:32 ais523, I would be scared if you had memorized it... 18:44:39 that's like remembering a whole name. 18:44:40 AnMaster_ipv6: why 18:44:44 I remember a few telephone numbers 18:44:50 they're longer 18:44:51 oklopol_, of course you could if you wanted. But it would be so strange to memorise that one 18:44:55 why 18:44:58 it's programmer lore 18:45:03 yes and? 18:45:14 i remember all telephone numbers i use 18:45:16 actually i only remember our landline number 18:45:22 probably because it's quite mnemonic 18:45:29 oh one four three four six oh eight nine five three 18:45:30 also, bitshifting floats is evil and ridiculous 18:45:30 well 18:45:34 i guess that's only mnemonic to me 18:45:42 so that guessing code isn't running Newton, but it is using some algorithm to get very close 18:45:46 ehird, now I know your telephone number 18:45:47 but "four three four" 18:45:49 that's so mnemonic 18:45:50 AnMaster_ipv6: yes you do. 18:45:59 meh 18:46:07 apparently someone did a computer search and found it was suboptimal, but not by much 18:46:07 my family's telephone numbers are anagrams of each other. they are actually hard to remember :p 18:46:12 anyway I do remember a few phone numbers, not many though 18:46:20 AnMaster_ipv6: if you want more phone numbers, we brits have a nice thick phone book. 18:46:45 AnMaster_ipv6: have you actually looked at that hex number? it's a bit hard not to remember 18:46:54 because it has a very distinct structure 18:46:58 ehird, yes but it would be much easier to trace down what specific Elliot Hird with that. 18:47:11 AnMaster_ipv6: no, you couldn't trace an Elliot Hird with it 18:47:51 ehird, well your family I guess, unless it is secret? At least here in Sweden the info about who owns a specific telephone number is public 18:48:01 my name is not Elliot Hird 18:48:01 maybe it isn't like that in UK 18:48:05 hm 18:48:17 ehird, sorry I missed one t 18:48:22 no offence meant 18:48:32 congrats, you join 5,000 others in missing a t 18:48:44 well, I typo lots of other words too so :/ 18:48:48 you also know where ehird lives 18:48:49 ehird: Have you considered showing your support for the Movement and legally changing your surname to Hurd? 18:48:58 fizzie: ITYM GNU/HURD 18:49:02 oklopol_, UK, nothing more specific 18:49:09 oklopol_: my full address is on the interweb 18:49:10 Yes, if they allow a slash in name. 18:49:20 ehird: my point exactly 18:49:28 AnMaster_ipv6: 4 orchard terrace, hexham, northumberland 18:49:42 pedophiles: please don't come and be a pedophile. 18:49:47 that would be very pedophile. 18:50:07 -!- kar8nga has joined. 18:50:08 well, the algorithm's just approximating the value by using the exponent field in the float 18:50:11 oh you children. 18:50:22 and instead of clearing the mantissa, it's leaving junk there for faster calculation 18:50:44 the number is presumably chosen to help optimise the chance that the mantissa junk is useful 18:51:09 ais523, yep think so 18:51:10 Hexham sounds like an awesome name. Something sort of combination of witch-style cursery and ham. 18:51:36 fizzie: exactly 18:51:38 ehird was surprised that I'd heard of Hexham before he told me 18:51:42 we are the land of accursed ham 18:51:43 but it's a relatively famous place 18:51:49 not as famous as Birmingham, though 18:51:57 ais523: well all we have is a shitty abbey and a market 18:51:59 it's pretty boring 18:54:32 and you! 18:54:37 We were planning an UK trip that might generally speaking involve that region of the country, although it's not yet clear whether it would be this August or sometime next Spring. 18:54:55 hey then maybe you can have tea with ehird! 18:55:05 It sounds a bit too bizarroid. 18:55:16 oklopol_: i don't much like tea 18:55:17 <.< 18:55:25 haha yeah right 18:55:35 also, yeah, i think that would cause like, world ending things 19:01:38 fizzie: i'll like, put a postcard on a bench for you 19:01:41 also: it sucks up here 19:01:51 the weather's bad and the places are boring, why do you want to come 19:01:59 stay in finland finland is awesome 19:02:45 there's a Hexham Close near me, so I'd heard the word. 19:02:50 anyone heard of Baxenden? :) 19:02:57 I haven't 19:03:24 hmm... a #esoteric meetup would be pretty awesome, in a sense 19:03:33 yes 19:03:38 and also crazy 19:03:43 but people are so different in RL to IRC, I find 19:03:54 it's the source of Holland's Pies (by which I don't mean dutch pies) 19:03:54 At least as far as the weather goes, I'm not sure how "awesome" it is here. It's one thing if we'd actually have a *real* winter, but here at the southern end it's so bleh. 19:04:00 I'm incredibly shy IRL. 19:04:34 fizzie: dude, you just don't know. finland >>>> uk, ok. 19:05:09 hmm... someone calculated the corresponding constant for doubles, it's 0x5FE6EB50C7B537AA 19:05:24 0x5fe6eb50c7b537aa 19:05:27 uppercase is for weenies 19:06:14 0x5fE6Eb50C7b537aA 19:06:24 case-sensitivity is for doofi 19:06:31 * ais523 suddenly gets a ridiculous vision 19:06:35 CamelCase hex, for grouping 19:06:41 bc's "ibase=16" hex input accepts only uppercase, which is the suck. (It interprets /^[a-f]/ as variables, and other lowercase-containing stuff is a syntax error.) 19:06:42 0xA4b5Cdef 19:07:50 ais523: Maybe you could use the subscript numbers to make the groupings more readable. 0xA₄b₅Cdef. Although those are a bit *too* small. 19:09:30 0xA④b⑤Cdef? 19:10:33 Well, for decimal numbers, then. 1,234,567.00 → ₁2₃₄5₆₇.₀₀ 19:11:00 oh dear, this is almost turning into a good idea 19:11:05 and it'll be a rubbish good idea 19:11:41 Ooh, the circled numbers go up to ⑳, not just 0-9. 19:11:52 fizzie: I saw that as a square 19:12:06 It's CIRCLED NUMBER TWENTY. 19:12:10 theory: write your password with Unicode characters that don't exist in any font 19:12:27 that way, you can actually do the hunter2 thing, just with squares not asterisks 19:12:59 19:11 ais523: oh dear, this is almost turning into a good idea 19:12:59 19:11 ais523: and it'll be a rubbish good idea 19:13:02 favourite quote 19:13:04 hm 19:13:14 fizzie, it isn't circled for me 19:13:15 meh 19:13:28 ehird: I think I'm winning in your favourite quote stakes at the moment 19:13:41 unless you've favourite-quoted other people while I wasn't looking 19:13:42 It should be circled. My font is lacking the negative circled number variants, though. 19:15:52 fizzie, seems it isn't circled in Dejavu Sans Mono 8 at least 19:15:56 err 9 19:16:59 That's strange, because my xchat font is DejaVu Sans Mono 9, and the 20 is circled. 19:17:21 hm 19:21:06 - PERL is now tested with "5-1" instead of the palindromic 19:21:06 "2+2". Thanks to Alex Smith for the input. 19:21:12 ais523, that was from mycology changelog 19:21:14 some time ago 19:21:25 ais523, why did you suggest that? I don't remember 19:21:40 I mean, did any interpreter manage to reverse the string? 19:22:05 because it was a potential bug 19:22:06 i think any string test on funge should consider that case 19:22:12 writing a fungestring backwards is easy enough to do by mistake 19:22:13 heh true 19:22:30 popping a string backwards is harder though 19:22:33 5-1? 19:22:36 that's sacrelige 19:22:49 well I guess it depends on how you pop strings 19:23:08 since it is so common you hopefully have a function for it used by all the code that needs to pop strings 19:23:09 ehird: why is that sacrelige? 19:23:32 ais523: well, the basic smalltalk test is 2+3, but for minus, I'm sure there's another standard one... 7-5? 19:24:14 ehird: what, there are specific hello worlds for testing arithmetic? 19:24:23 in the smalltalk community, yes 19:24:24 the idea wasn't to test -, but to test the concept of shelling out to Perl in general 19:24:43 when you get a new box, you type 2+3, highlight it, 3-button (i forget the colours), "print it" 19:24:49 And I'm sure there's a different one for - 19:28:22 * ais523 has come up with another esolang idea 19:28:34 oh no 19:28:40 basically, I wanted to write an esolang that couldn't be written a bit at a time 19:28:48 I wanted modular programming to be completely impossible 19:28:53 so the idea is, instead of writing the program 19:29:00 you give a lot of standard description of the program 19:29:00 http://blog.last.fm/2009/04/06/mapreduce-bash-script 19:29:17 so for a hello world, it would be things like "this program outputs mostly lowercase letters" 19:29:21 and "this program does not loop" 19:29:48 the idea is that the compiler would somehow brute-force the simplest program that met your descriptions, and compile that 19:30:31 factorial might be "this program uses a lot of recursion", "this program multiplies a lot", "this program uses user input as loop counters", etc 19:30:33 ais523, could you even implement that 19:30:43 or even make the language work on paper even 19:30:43 um of course 19:30:44 AnMaster_ipv6: I think it's implementable, although very inefficiently 19:30:51 hm 19:30:57 you would need to have an awfully large range of available hints for it to be TC, though 19:30:59 ais523, what would description for hello world look like 19:31:06 undecidability is not a problem in that case. 19:31:07 AnMaster_ipv6: long and complicated, I imagine 19:31:22 I think hints are allowed to be specific, as long as they apply to the entire program 19:31:28 wow 19:31:32 chuck moore is on a rampage 19:31:33 http://colorforth.com/vTPL.htm 19:31:33 so "this program outputs 2 lowercase ls" 19:31:37 ais523, also what would the syntax for writing these description be? Natural language? 19:31:44 & 19:31:45 S40 Multicomputer Chip 19:31:46 I have been asked by TPL to remove this page. Upon due consideration, I will not. 19:31:46 and "this program always outputs a lowercase e after a lowercase H" 19:31:47 Spectacular chip! 40 microcomputers, each with 128 words of 18-bit memory. Each capable of 700 Mips. 19:31:50 --http://colorforth.com/ 19:31:52 http://colorforth.com/S40.htm 19:32:10 and I like the idea of a fixed-syntax language that resembles English, for this 19:32:29 as in, all the hints are real English sentences with a couple of replacable parts 19:32:37 APPLESC-- 19:32:40 but it doesn't try to parse them or anything, just matches against a database 19:32:52 ais523, this would be sub-tc or? 19:33:06 I want it to be able to represent at least one TC lang, probably a simple one 19:33:14 so that lang + arbitrary input makes a TC combination 19:33:16 hm 19:33:23 whether the lang itself is TC can be left to philosophers 19:33:37 ais523, but there is a fixed number of possible programs directly in the language then? 19:33:44 ...why? 19:34:06 well no, you can make it print an arbitrary number of hello world I guess 19:34:16 infinite number, I imagine 19:34:20 yeah 19:34:28 "This program likes to run 25% of its loops exactly 6 times" 19:34:37 heh 19:34:42 :D 19:35:02 ais523, sure this will prevent modular programming? 19:35:13 hm probably 19:35:29 I'm not sure how completely it could be prevented, but surely it makes it a lot more difficult 19:35:42 and it's a fun idea for a lang whether it meets its design goals or not 19:35:50 yes 19:36:00 sounds like Haskell 19:36:15 lament: troll 19:36:18 ais523, but would the language itself actually be TC? 19:36:26 AnMaster_ipv6: what does it mean for a language to be TC? 19:36:27 19:33 ais523: whether the lang itself is TC can be left to philosophers 19:36:27 19:33 ais523: whether the lang itself is TC can be left to philosophers 19:36:29 19:33 ais523: whether the lang itself is TC can be left to philosophers 19:36:38 ais523, good question 19:36:55 ehird, yes and I'm philosophing atm :P 19:36:58 yep, there was a big raging argument on FOM about it that didn't come to a conclusion 19:37:09 A language is TC if you can express a turing machine in it 19:37:39 ah, interesting 19:37:48 do you have to be able to express arbitrary turing machines? 19:37:54 or just one universal turing machine? 19:37:55 ehird, s/turing/universal &/ 19:38:01 ais523: just one 19:38:01 AnMaster_ipv6: yes 19:38:32 ...or write an interpreter of a turning complete langauge. 19:38:32 hm 19:38:38 MizardX: er 19:38:45 that's expressing a universal turing machine 19:38:49 via a layer of indirection 19:40:08 yes, what I'm philosophising about atm is if the layer of indirection makes it non-TC 19:40:14 actually, there's a lang already we can argue about 19:40:20 oh? 19:40:25 assuming an unbounded playfield, is ALPACA TC? 19:40:36 it's possible to express TC languages in ALPACA 19:40:38 yes 19:40:41 but it itself cannot run arbitrary programs 19:40:42 you can express a UTM in it 19:41:00 ehird: yes, you just can't express hello world 19:41:07 so? 19:41:13 you can only make a program that outputs a program that outputs hello world 19:41:32 so? 19:41:37 and being able to express any non-uncomputable program is up there in the essence of TCness, for me 19:41:38 if you can implement a utm, that's it, tc 19:42:05 ehird: what I'm saying is, I'm not sure if your definition is the best one 19:42:09 i am 19:42:10 :P 19:42:23 ehird: how is UTM defined for this? 19:42:29 like normal 19:42:39 a program that can express arbitrary turing machines? 19:42:50 you're saying TC = can express a UTM, rather than TC = is a UTM 19:42:55 Like the Love Machine 9000? :o 19:42:58 same thing, ais523 19:43:01 no, not at all 19:43:04 that's what this argument is about 19:43:29 o 19:43:32 ehird, then befunge-93 is TC I think, since you could compile brainfuck code with a compiler written in b93... 19:43:37 let me at a T command to HQ9+: HQ9+T has the usual commands, and also T which outputs the executable of a universal turing machine 19:43:42 and that seems wrong... 19:43:44 AnMaster_ipv6: not the same thing at all 19:43:51 ais523: ditto 19:43:58 ehird, you may be right, but why is it different then? 19:44:04 ehird: that's what ALPACA's doing, though 19:44:05 because it's not? 19:44:12 for one thing, ALPACA always terminates 19:44:20 it just takes input, and outputs a program as its output 19:44:27 that's the compiler 19:44:35 yes, that's the compiler 19:44:37 so you need to wonder about the TCness of the output 19:44:38 but if you did an interpreter... 19:44:47 ais523, so my brainfuck compiler in befunge-93 is the same thing right? I think.. 19:44:48 well, it always depends on user input 19:44:58 or you could output a brainfuck interpreter even 19:45:01 then alpaca+input is tc 19:45:04 yes 19:45:17 but input is just a detail 19:45:21 but the point is, ALPACA can express a UTM even without input 19:45:22 we can trivially say program includes input 19:45:28 just like halts() does 19:45:31 ehird: program vs. input is what this is all about... 19:46:26 defining turing-completeness is undecidable 19:47:05 oklopol_: heh 19:47:14 I'm not sure if that makes sense, but I like it anyway 19:47:16 also, oko 19:47:53 well can you decide on it? 19:48:23 exactly 19:50:41 haha 19:56:38 hm are there any n dimensional cellular automaton esolangs for n > 2 19:57:12 There's like two cellular automatons, so check those 19:57:13 like 3D game of life or such 19:57:20 Slereah, names of them? 19:57:24 Lemme check 19:57:45 "Esolang has a problem 19:57:45 Sorry! This site is experiencing technical difficulties. 19:57:45 Try waiting a few minutes and reloading." 19:57:50 I guess not 19:57:53 meh 19:57:56 Slereah: reload instantly 19:58:04 it's a transient bug that has been there for months 19:58:14 ais523, it is timing out for me... 19:58:18 Except it doesn"'t work right now 19:58:24 hmm... might be a different bug, then 19:59:02 and now that error shows up all the time 19:59:14 "(Can't contact the database server: Too many connections (localhost))" 19:59:17 DDOS? 19:59:36 Onoes! 19:59:40 err what? 19:59:41 It's working again, I think 19:59:45 not here 20:00:02 that's because you're DDOSing it trying to see if it's working, obviously 20:00:53 Are we allowed one click per day? 20:01:19 http://esolangs.org/wiki/Cellular_automaton#Relation_to_esoteric_programming 20:01:19 no, of course not. You mean you're using a /GUI/ browser? That's a million times worse 20:01:41 everyone should use the terminal, how else are you going to give all the articles a pink background? It's not as if they allow HTML 20:02:36 Well, no 3D CA 20:03:13 -!- olsner has joined. 20:04:13 -!- tombom has joined. 20:04:22 * ais523 just saw http://entertainment.slashdot.org/article.pl?sid=09/04/06/1654250&from=rss, and is overwhelmed 20:05:40 hm 20:05:43 3D bully one then 20:05:45 or so? 20:06:33 None that I can find 20:09:36 ais523: i wish I was caught in that! 20:09:44 i would have bought luxemburg 20:09:53 *luxembourg 20:12:46 -!- kar8nga has quit (Remote closed the connection). 20:13:26 -!- kar8nga has joined. 20:20:07 hey, I think scala has functors 20:20:08 neat 20:20:37 he ml kind 20:21:26 -!- kar8nga has quit (Read error: 60 (Operation timed out)). 20:36:55 http://simulatedcomicproduct.com/comics/2009-03-22-RedundantSystems.jpg 20:38:04 lol my eyes parsed that as one rocket, took like an hour to get the joke :D 20:38:16 * oklopol_ rowns 20:42:04 -!- Sgeo has joined. 20:45:58 heh 20:52:44 http://simulatedcomicproduct.com/comics/2009-03-22-RedundantSystems.jpg <-- what is that simulatedcomicproduct.com about? I read the three last comic and they seemed unconnected. But it could just be IWC-style multi-storyline. Hard to know 20:52:50 can't find any "about" or such 20:52:59 most comics have no storyline 20:53:24 ehird, well, what is the theme then, it seems to vary too 20:53:34 most comics' theme is "being funny" 20:53:36 hah 20:53:44 ehird, cast? 20:53:49 or that not fixed either 20:53:57 ditto 20:54:08 ok 20:54:34 no need to go archive trawling on the other hand :) 20:55:24 ehird: have you made any more of your awesome comics? 20:55:39 oklopol_: no, series of 9 20:55:43 a perfectly unround number 20:59:06 yes 20:59:11 i like it. 21:03:04 uh oh 21:03:06 my thumb keeps shaking 21:04:36 and i keep grinding my teeth 21:04:48 yes but this is scary 21:04:49 I can't sotp it 21:04:51 braces time soon. 21:05:17 i mean i just grind and grind until it starts hurting too much, then i stop for a bit and continue again 21:05:20 I'm wondering if maybe I should have gotten braces. My teeth look all strange 21:05:40 i have a tooth that has needed taking out for, um, a month now? 21:06:23 i got braces for my upper teeth, but it was such a hassle i refused to take them for my lower ones 21:06:37 they're a bit umm distorted. 21:07:43 also i had this thing i needed to keep in my mouth whenever i was not eating, for like two years 21:07:52 and it seems i got a bit addicted to it or something 21:07:54 cock? 21:08:04 since i still get these dreams where i don't know where i put it 21:08:26 or dreams where i've had that thing in my mouth for the ~4 years i haven't needed it 21:08:30 lament: yes a cock 21:08:36 a peniseous cock 21:09:18 i don't know what it was, one of the four braces types i've had. 21:10:25 straightening my teeth was only like a 7-year project, so would be kinda cool if my grinding started the process again, i've heard from unreliable sources that can happen. 21:12:01 -!- kar8nga has joined. 21:19:43 can you straighten teeth at any age, or is it worthless past a certain point? 21:21:57 → 21:22:01 brb 21:22:02 → 21:22:56 http://scp-wiki.wikidot.com/routine-psychological-evaluations-by-dr-glass 21:39:07 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 21:39:59 -!- bsmntbombdood has joined. 21:46:22 -!- k has joined. 21:46:51 -!- k has changed nick to Guest87901. 21:54:48 -!- Guest87901 has quit (Remote closed the connection). 22:00:51 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 22:19:15 -!- tombom has quit ("Peace and Protection 4.22.2"). 22:21:54 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:31:53 -!- MigoMipo has joined. 22:45:27 if ((olevel >= 0) and (nlevel >= 0) and (olevel > nlevel)) or (((olevel < 0) or (nlevel < 0)) and (nlevel > olevel)): 22:45:42 Yeah, seems pretty esoteric to me. 22:53:54 if sign(olevel) == sign(nlevel) and olevel > nlevel: 22:54:45 Oh, the other way around at the end 22:55:12 if sign(olevel) == sign(nlevel) and abs(olevel) > abs(nlevel): 23:00:01 if olevel=-1 and nlevel=1, then ihope's says true and yours says false 23:00:13 and my delete key got stuck. 23:00:30 Oh, that's an /or/ in there 23:00:50 Hmm, can't see much simplification opportunity then 23:01:47 -!- Judofyr has quit (Remote closed the connection). 23:03:41 well correcting it into an and might work be a good simplification 23:04:54 well if olevel>=0 and nlevel>=0 and olevel>nlevel or nlevel>olevel 23:05:24 if ((olevel >= 0) and (nlevel >= 0) and (olevel > nlevel)) or (not ((olevel >= 0) and (nlevel >= 0)) and (nlevel > olevel)): 23:06:00 a && b || (!a && c) 23:06:01 well yes, that's why you can simplify it. 23:06:14 WAIT 23:06:21 YOU CAN'T CAN YOU NOW 23:06:39 hmm 23:07:29 if the first doesn't trigger, then either the seconds one's first is true, or you have no info about the second one, therefor no i don't think you can simplify it 23:07:36 (a && b) || (!a && !b && notequal) 23:07:36 at least directly 23:07:51 *therefore 23:08:22 i guess by directly i meant taking notequal into account 23:08:53 (in retrospect) 23:09:02 err 23:09:10 (a == b) && notequal 23:09:25 hmm 23:09:26 Since notequal actually has to be true in both 23:09:38 if you translated that into INTERCAL, it probably wouldn't be much more complicated than a typical greater-than in INTERCAL 23:09:40 ah 23:09:42 Number of bots submitted to that AI tournament thing as a function of time (sorry for the silly month/day-formatted labels) -- can you guess the deadline: http://www.cis.hut.fi/htkallas/bottime.png 23:10:18 if ((olevel >= 0 and nlevel >= 0) == (olevel > nlevel) && olevel != nlevel): 23:10:29 fizzie: :-) 23:10:36 An hour ago? 23:10:54 Yeah. Well, five minutes past midnight was when the returning system closed. 23:11:17 Midnight... uh, EEST? 23:11:25 UTC+3. 23:11:40 Right. Well, I guess it is EEST. 23:12:00 A.K.A. Timezone Charlie. :-) 23:12:25 Hmm, right, EET/EEST weren't ambiguous so I guess I won't be tremendously annoyed at their use 23:13:04 -!- BeholdMyGlory has quit (Remote closed the connection). 23:14:09 One issue with those timezone codes is that fractional-hour zones don't have codes and also that UTC+13h and UTC+14h (a.k.a. Y2K timezone) don't have labels. 23:14:46 Deewiant: Closeup of last day: http://www.cis.hut.fi/htkallas/bottime2.png 23:14:46 Well, it's not an issue with the existing codes. :-P 23:14:48 Deewiant: are you sure that's clearer :D 23:14:57 oklopol_: I didn't say it was :-P 23:15:08 heh 23:15:09 fizzie: Haha 23:15:14 oklopol_: It /is/ simpler though 23:16:08 There was something like 10 submissions (out of the total 39) during the last hour. 23:16:36 Deewiant: i guess it is, on second thought 23:16:39 fizzie: And looks like around 19 during the last two. 23:17:00 Something like that, yes. 23:17:49 Last time I didn't bother with graphing since I just accepted stuff via email, but this time there was a System for returning the bots, so I got to graph the file timestamps. 23:22:20 It is a bit of a lie in the sense that the System let them submit multiple times, with newer ones replacing older ones, but the timestamp is for the last submission, so possibly some of the last-possible-minute people had already returned something, and were just making last-minute-fixups. 23:23:15 -!- MigoMipo has quit (Read error: 110 (Connection timed out)). 23:29:53 fizzie: Goblin or something else? :-) 23:32:09 Ilari: Oh, it's purely hand-crafted Perl. 23:32:32 A single CGI script, to be exact. The lo-tech solution. 23:32:50 I even returned results with Content-type: text/plain since I didn't want to be a web-designer. So retro. 23:39:33 -!- ais523 has quit (Remote closed the connection). 23:55:22 -!- oerjan has joined. 23:56:03 night 23:56:34 if sign(olevel) == sign(nlevel) and abs(olevel) > abs(nlevel): <-- sign? no such function 23:56:50 Note that implicit conversions are not applicable because they are ambiguous: 23:56:50 both method int2Integer in object Predef of type (Int)java.lang.Integer 23:56:52 and method intWrapper in object Predef of type (Int)scala.runtime.RichInt 23:56:54 are possible conversion functions from Int(2) to AnyRef 23:56:56 it sure is nice to have good errors 23:56:59 AnMaster_ipv6: how do you know? 23:57:05 it's python 23:57:15 admittedly, there's no sign() in python but you can write it 23:57:18 or import it