00:01:29 -!- jix has quit (Read error: 113 (No route to host)).
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 <oerjan> 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 <oerjan> <oklopol> i don't know "tdeious" either
00:38:31 <oerjan> i guess it must be a loan from georgian
00:38:59 <fizzie> That comment makes oklopol sound like a text adventure.
00:39:39 <oerjan> well oklopol is an adventure all right
00:39:47 <fizzie> "I don't know how to 'tdeious'."
00:41:27 <oerjan> "See the tdeious people of Tbilisi wandering by the Mt'k'vari river"
00:44:23 <oerjan> i guess they would probably be tsrolling, actually
00:45:52 <fizzie> Google has this "Tony Davies Column - The TDeious way of doing Fourier transformation" but that's about it.
01:33:21 -!- FireFly has quit ("Later").
01:33:25 -!- BeholdMyGlory has quit (Remote closed the connection).
01:35:09 -!- BeholdMyGlory has joined.
01:39:43 <oklopol> i have a small-scale pröb with sleeping atm.
01:40:37 <oklopol> that's been playing in my head for a few days
01:42:12 <oklopol> 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:56 <oklopol> more attempting at them sleepings
01:44:44 <oklopol> (sometimes it's "semaphoo-oor", elongated to sound like "semaphore whore")
01:45:42 <oklopol> (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:46:46 <oerjan> um -ioni would be italian, i think
01:57:21 <oerjan> 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.
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:19:06 -!- BeholdMyGlory has joined.
10:19:30 <ais523> just finished handing in my final Master's report
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:07:06 <oklopol_> first crash, i forgot how awesome ubuntu was
11:07:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
11:08:14 <oklopol_> 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 <fizzie> It seems that nʇunqn is rather upside-down-friendly even with much special charactersies.
11:09:30 <fizzie> Maybe they designed it that way.
11:09:36 <oklopol_> with much special charactersies?
11:09:49 <fizzie> Oh, was trying to say "without" there.
11:10:02 <oklopol_> right right that's even better
11:12:41 <fizzie> What was that exam all about, anyway?
11:14:02 <oklopol_> i mean i have no idea, i just memorize the text.
11:14:31 <AnMaster_ipv6> I just found out why mycology wants storage offset so many times
11:14:32 <fizzie> Don't they ask anything else than direct quotations?
11:15:03 <AnMaster_ipv6> every other time that will push whatever corresponds to the top cell (flags)
11:15:11 <fizzie> I find it doubtful that oklopol's university only asks simple questions because of the ky in HRTI.
11:15:47 <fizzie> Yes, but I found it more amusing to interpret it that way.
11:16:03 <oklopol_> also i was just about to start googling what you meant by ky
11:16:17 <oklopol_> assumed hrti was a way to acrynomize our university.
11:17:04 <fizzie> oklopol_: Holy Righteous Turkuean Institution? Or was that what you were from, anyway?
11:17:16 <oklopol_> fizzie: well actually the gzip thing was like "explain the lz77 family, and how gzip implements the algo"
11:17:30 <oklopol_> you could get perfect points by simply memorizing
11:18:35 <oklopol_> 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:19:14 <oklopol_> assuming it's allowed to use the exact same wordings
11:20:19 <oklopol_> 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 <AnMaster_ipv6> oklopol_, http://catseye.tc/projects/funge98/library/HRTI.html
11:21:08 <fizzie> Anyway, "ky" is not directly explained by that. I guess it's just "something that takes a measurable amount of time"?
11:21:46 <AnMaster_ipv6> UNDEF: T after M pushed 5 and a second T, after 675 ys, pushed 60324
11:21:53 <oklopol_> you should definitely invert the granularity to be ticks per second instead of seconds per tick
11:22:02 <oklopol_> then again i guess you said that last night.
11:24:13 <oklopol_> This timer is not affected by 'time travel' contrivances. <<< awww
11:24:37 <oklopol_> well. should probably eat and start studying for my next exam.
11:25:00 <fizzie> "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 <AnMaster_ipv6> fizzie, I use clock_gettime() in cfunge if it exists btw
11:25:34 <oklopol_> fizzie: no reason why befunge shouldn't do it better.
11:26:21 <fizzie> oklopol_: Man page sections.
11:26:47 <fizzie> 3 is something like "C library routines for C programs" according to one definition.
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 <AnMaster_ipv6> actually I could just pick from a stack generated once if I decide to never implement EVAR
11:28:45 <AnMaster_ipv6> oklopol_, EVAR is a fingerprint for changing environment variables yes
11:29:59 <oklopol_> you should remember the details for EVAR.
11:30:14 <fizzie> There's "look up by name", "look up by index", "set by name" and "get amount of variables" in EVAR.
11:30:25 <oklopol_> well i guess it's rather short
11:31:00 <AnMaster_ipv6> fizzie, is that "index" assuming that the list of env variables is sorted
11:31:13 <oklopol_> okay noodles, meat and ed, how does that sound for gourmet foods
11:31:21 <oklopol_> AnMaster_ipv6: DID YOU GET THE PUN
11:31:25 <AnMaster_ipv6> interestingly it seems ccbi sorts them, but I don't
11:31:29 <fizzie> AnMaster_ipv6: The order is not defined. It's just the nth environment variable.
11:31:43 <fizzie> oklopol_: You can load that fingerprint with (4"EVAR" if you're moving right-to-left.
11:31:47 <oklopol_> see continuation to long story
11:32:17 <oklopol_> AnMaster_ipv6: well at least fizzie did
11:32:47 <fizzie> All oklopol_'s jokes are infinite.
11:33:11 <oklopol_> you know, far-fetched infinite time jokes
11:33:39 <oklopol_> i know, wasn't really funny either
11:33:48 <oklopol_> i just like confusing you for seconds at a time
11:34:14 <oklopol_> and i can't really see fizzie being him
11:34:26 <fizzie> Yes. I don't really have the ehird nature in me.
11:36:11 <oklopol_> this should be a monospace font, why are ↓ and ↑ not properly around the hole
11:36:34 <fizzie> It looks right enough here.
11:37:23 <oklopol_> hmm... i wonder if i could manage the real-time systems exam in an hour
11:37:43 <fizzie> ↑, ↑, ↓, ↓, ←, →, ←, →, A, B, select, start.
11:37:48 <oklopol_> if i could, then i could fit algebra and it on the same day and get another exam to fit later!
11:38:13 <AnMaster_ipv6> <oklopol_> this should be a monospace font, why are ↓ and ↑ not properly around the hole <-- looks ok here
11:38:34 <AnMaster_ipv6> <fizzie> ↑, ↑, ↓, ↓, ←, →, ←, →, A, B, select, start. <-- huh
11:38:55 <oklopol_> it's a special move in a game.
11:39:06 <Asztal_> it's the Konami code, works for a lot of games IIRC#
11:39:17 <fizzie> It's also a reasonably common cheat code in NES games.
11:39:37 <AnMaster_ipv6> I was wondering what strange variant of chess this was about :D
11:39:40 <fizzie> There is of course a list: http://en.wikipedia.org/wiki/List_of_Konami_code_games
11:40:35 <Asztal> http://yro.slashdot.org/article.pl?sid=09/04/06/0234245&from=rss quality slashdot editing, as usual.
11:40:53 <fizzie> 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 <oklopol_> 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 <oklopol_> drains most hp, a bit of mana, and hurts the opponents feelings
11:41:53 <fizzie> AnMaster_ipv6: No idea, it was just there on the list.
11:42:04 <fizzie> oklopol_: This is some sort of imaginary game thing, right?
11:42:25 <oklopol_> banjo fighters is as real as you and me
11:42:47 <fizzie> That might not be very real.
11:43:19 <AnMaster_ipv6> oklopol_, maybe there is a game called that, but does that move exist in it<q>
11:43:59 <fizzie> 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 <Asztal> wait, it works in Half-Life 2‽
11:45:58 <oklopol_> i've probably unlocked it anyway if it's possible, sounds familiar
11:46:44 <fizzie> There's already a "This article does not cite any references or sources." on top.
11:46:59 <fizzie> Put there in March 2008.
11:48:06 <oklopol_> maybe you could underline it tho
11:49:01 <fizzie> Put a big red rectangle around it, and <blink> 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:10:39 <lifthrasiir> 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:43 <tombom> the konami code on digg
15:27:57 <fizzie> Quite a lot of fractional blocks there, you can almost make a volume control label thingie: − ▁▂▃▄▅▆▇█ +
15:28:29 <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
15:31:02 <fizzie> "Y did you do that?" eh eh eh-heh.
15:32:29 <fizzie> It's just the y/why thing.
15:35:12 <AnMaster_ipv6> 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:32 <fizzie> 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 <fizzie> Have to go work → home at this point; away.
15:36:05 <fungot> AnMaster_ipv6: ' yes, it's all right. i accept it as fnord? is it particular or universal?
15:36:10 <fizzie> That's not a real program, though. It's a test suite, and not even a performance benchmark at that.
15:36:14 <fizzie> There should be no y in fungot.
15:36:15 <fungot> 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:37:37 <AnMaster_ipv6> anyway, in mycology y is the bottleneck for cfunge. To be specific all the string pushing when pushing the environment variables is
15:38:39 <AnMaster_ipv6> I was planning to cache a pre-pushed array of the environment variables and then just memcpy() it onto the stack
15:38:43 <ais523> AnMaster_ipv6: do you optimise y with a positive argument?
15:38:57 <ais523> 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 <AnMaster_ipv6> ais523, I do as far as I can know for certain what number to go for
15:39:49 <AnMaster_ipv6> but up to (and including) the size of TOSS I have a switch case
15:40:04 <AnMaster_ipv6> well I do now, in trunk it only does that up until 10
15:42:39 <ais523> why don't you add an option to cfunge to clear the environment before running the program?
15:43:00 <ais523> 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 <AnMaster_ipv6> 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:45:35 -!- neldoreth has quit (No route to host).
15:52:46 <AnMaster_ipv6> 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:53:19 <ais523> that's a great way in which to be somewhat broken
15:57:31 -!- ehird has left (?).
15:59:06 <AnMaster_ipv6> now time to try to figure out that bug with slowdown.b98...
16:00:03 -!- ehird has joined.
16:01:56 <AnMaster_ipv6> ais523, so you finished your master thesis or what was the thing you were talking about?
16:02:13 <fizzie> 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 <ais523> I'm now on wind-down time
16:02:29 <ais523> deadline was 12pm today, but I submitted it at about 9am
16:02:43 <ais523> 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 <AnMaster_ipv6> 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:03:02 <ais523> (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:28 <ais523> AnMaster_ipv6: what about a lazy stack?
16:03:44 <ais523> just push a token meaning "environment variables go here"
16:03:52 <ais523> and only push them if the value of the token matters
16:04:05 <ais523> in fact, a fully lazy funge interp could be interesting
16:04:12 <AnMaster_ipv6> ais523, hm it need to track length of the stack anyway
16:04:26 <ais523> and I don't think it would violate the Funge standards, as long as it had strict I/O
16:04:30 <ais523> AnMaster_ipv6: only if something asked for it
16:04:34 <ais523> you could delazify if something did
16:04:39 <lifthrasiir> ais523: i have a similar plan for pyfungec
16:04:48 <fizzie> 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 <fizzie> Should do a master's thesis too this Spring. Heh.
16:05:10 <ais523> ah, I was wondering what the name meant
16:05:14 <ais523> fizzie: what's that about?
16:05:38 <AnMaster_ipv6> 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:06:16 <AnMaster_ipv6> 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 <ais523> you're specifically going to optimise "ky"?
16:06:46 <lifthrasiir> you mean, for example ay does calculate and push only one cell?
16:06:46 <AnMaster_ipv6> but I found this out while I was checking what y values were common
16:07:04 <AnMaster_ipv6> ais523, and was wondering why mycology wanted storage offset so many times
16:07:27 <ais523> also, I don't like the idea of optimising for Mycology, but optimising variants involving k could be profitable
16:07:33 <ais523> for instance, ffff***k>
16:07:40 <ais523> that could be optimised really easily
16:07:45 <AnMaster_ipv6> ais523, well I try to optimise for fungot too, but it is harder to measure
16:07:46 <fungot> AnMaster_ipv6: we were silent for awhile, and then fnord that the conclusion, if there is to be one of them.
16:08:04 <ais523> AnMaster_ipv6: why not make a generic compiler that's optimised even for programs that haven't been written yet?
16:08:07 <AnMaster_ipv6> while mycology runs as fast as it can all the time
16:08:09 <fizzie> ais523: The tournament or the thesis?
16:08:26 <AnMaster_ipv6> ais523, I try to, some stuff I optimised extra doesn't help for mycology
16:08:33 <ais523> fizzie: I meant the tournament
16:08:36 <fungot> AnMaster_ipv6: " well, what's the matter, darling?" said bruno.
16:08:38 <ais523> but the thesis is likely to be interesting too
16:09:17 <fizzie> AnMaster_ipv6: It still has a topic, though.
16:09:20 <ehird> 14:27 fizzie: Quite a lot of fractional blocks there, you can almost make a volume control label thingie: − ▁▂▃▄▅▆▇█ +
16:09:21 <ehird> 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:30 <ehird> unicode sparklines
16:09:31 <AnMaster_ipv6> <fizzie> AnMaster_ipv6: It still has a topic, though. <-- ?
16:09:32 <ais523> AnMaster_ipv6: my thesis is done, presumably fizzie's isn't though
16:09:35 <fizzie> 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:43 <ehird> ais523: there's only one thesis
16:10:18 <ehird> have I mentioned scala is nice
16:10:28 <fizzie> 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 <ais523> we did something like that in our second year, but with line-following racing bots rather than AIs
16:11:34 <AnMaster_ipv6> ais523, as for lazy stack, do you think it would save much? compared to the overhead of tracking "is this lazy"
16:11:52 <ais523> profiling it might help
16:12:01 <ais523> how do you check for beyond-bottom-of-stack, atm?
16:12:02 <ehird> HAVE I MENTIONED SCALA IS QUITE A GOOD LANGUAGE
16:12:08 <ais523> I've just had an insane idea
16:12:09 <fizzie> 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 <AnMaster_ipv6> ais523, well I don't catch segfaults like fizzie do, but rather check if stack->top == 0
16:12:58 <ais523> AnMaster_ipv6: the idea to do laziness would be to put a fake top-of-stack on the stack
16:13:03 <AnMaster_ipv6> ais523, since stack->top is just a index into the malloced block used for stack
16:13:19 <ais523> you'd check stack->top == top_or_top_lazy_index_number
16:13:25 <ais523> that check's just as fast as what you have at the moment
16:13:28 <ehird> I wish the unicode blox were thinner
16:13:46 <ais523> 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 <ais523> but that doesn't happen very often
16:13:51 <AnMaster_ipv6> ais523, yes quite possible, but it does require storing extra out-of-band data
16:14:15 <AnMaster_ipv6> ais523, currently I speed stuff up by doing crazy stuff like { and } memcpy()ing between TOSS and SOSS and such
16:14:20 <ehird> http://yro.slashdot.org/article.pl?sid=09/04/06/0234245&from=rss ← oh god
16:14:26 <ehird> get me o ut of this fucknig country
16:14:37 <AnMaster_ipv6> ais523, that is another thing that doesn't matter for mycology btw
16:14:37 <ehird> is it a fake thing
16:14:42 <ehird> I mean I just read the summariry
16:16:28 <AnMaster_ipv6> there is talk about such things here in Sweden as well
16:16:32 -!- neldoreth has joined.
16:16:37 <Asztal_> I think it's just email subjects, so I don't see how it's going to stop terrorism
16:17:16 <ais523> apparently in Germany they're just recording what IP people had at a given time they were online
16:17:23 <ais523> in an attempt to comply with that
16:17:45 <AnMaster_ipv6> 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 <AnMaster_ipv6> I would like to know more about this stack certainly
16:18:25 <ehird> 16:12 AnMaster_ipv6: ais523, well I don't catch segfaults like fizzie do, but rather check if stack->top == 0
16:18:29 <AnMaster_ipv6> because I don't know enough about stuff in this area
16:18:34 <ehird> you should really do segfault checking
16:18:41 <ehird> it'd remove like 5 billion branches
16:18:56 <ehird> there's a portable lib to do it
16:19:02 <ais523> that even works on DOS?
16:19:11 <ehird> ais523: cfunge doesn't work on dos
16:19:18 <ais523> ehird: well, it should do
16:19:23 <ais523> maybe I should try porting it some time
16:19:25 <ehird> it never will, ais523.
16:19:33 <ehird> AnMaster_ipv6: I think the lib does
16:19:50 <ehird> I keep getting StackOverflow.com results
16:20:39 <AnMaster_ipv6> 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:21:05 <ais523> I mean you have out-of-band data that stores where the lazy entries are
16:21:16 <ais523> and a variable whose value is the top lazy entry on the stack
16:21:19 <AnMaster_ipv6> what then? I admit I'm totally ignorant about how you work with lazy data structures
16:21:21 <ais523> or the bottom of the stack if there aren't any
16:21:57 <ais523> 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 <ehird> "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:22 <ehird> fuck "what campaigners claim"
16:22:34 <ehird> there is no way you can claim that's not a complete destruction of privacy
16:23:21 <AnMaster_ipv6> 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 <fizzie> 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:39 <ehird> fizzie: no, there really is a portable c library to detect segfault
16:23:43 <ehird> that work son most unix systems iirc
16:23:55 <ais523> ehird: my point was, that how are you going to guarantee that underflow causes a segfault?
16:23:58 <AnMaster_ipv6> 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 <ehird> ais523: by aligning it
16:24:35 <ais523> ehird: "itt"? I always assumed it meand "in the topic", but in this context it can't do
16:24:54 <ehird> Commonly used as a subject line, e.g.
16:25:00 <ehird> "ITT we are Bill Gates"
16:25:10 <ehird> Or, on the subject of mmap: "ITT mmap"
16:25:39 <fizzie> 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 <AnMaster_ipv6> well doing that is a pain when you need to grow stack
16:26:02 <fizzie> I do the forced segfault with a mmap'd range and mprotect()ing the pages before and after it.
16:26:06 <fizzie> Must do food-preparing now, not here.
16:26:13 <AnMaster_ipv6> 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:43 <ais523> fizzie: what's to stop the OS memmapping two things in adjacent pages?
16:26:48 <ais523> so you underflow from one onto the previous?
16:27:10 <ehird> that's why you mprotect.
16:27:10 <AnMaster_ipv6> ais523, he said he mmap()s one and then mprotects it as no-access
16:27:34 <ais523> what if you're on a processor that doesn't have memory protection?
16:27:44 <ais523> does POSIX guarantee that mprotect is implementable?
16:28:16 <AnMaster_ipv6> it does allow implementations to allow execution even if it is only readable
16:29:01 <AnMaster_ipv6> 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 <AnMaster_ipv6> PROT_WRITE has been set, and must not allow any access if PROT_NONE has been set.
16:29:42 <AnMaster_ipv6> on linux mprotect() works on non-mmaped pages too it says heh
16:29:46 <fizzie> 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:52 <fizzie> 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 <fizzie> The food, it is burning. Gah.
16:31:05 <fizzie> Stop talking interesting stuff.
16:33:44 <AnMaster_ipv6> at end of mycology the stack in a 32-bit fungespace build of cfunge is 12 pages (4096 bytes on x86) large
16:34:05 <AnMaster_ipv6> when I grow the stack I grow with one page at a time btw
16:34:10 <ehird> now call for psygnisfive
16:34:15 <ehird> and we'll go back into uninterestingness
16:35:27 <Slereah_> Shush, I'm trying to lure psygnisfive
16:35:39 <ehird> Shit I forgot to change nick
16:35:45 -!- ehird has changed nick to psygnsifive.
16:36:09 <AnMaster_ipv6> psygnisfive, he said "<fizzie> Stop talking interesting stuff."
16:36:27 <ais523> well, why do you think I wasn't talking
16:36:29 <psygnsifive> Interesting stuff carries on if uninteresting stuff doesn't.
16:36:32 <ais523> let's talk to fungot for a while
16:36:33 <fungot> ais523: fnord. all blades are fnord some ignorant people are conceited.
16:36:42 <psygnsifive> So, on the topic of being sexually aligned to the same gender.
16:36:55 <ais523> psygnsifive: take it to -offtopic, please
16:37:17 -!- psygnsifive has changed nick to ehird.
16:38:09 <AnMaster_ipv6> 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 <ais523> AnMaster_ipv6: how do you implement pick past the end of the stack?
16:39:12 <ehird> VISION IN WEB 2.0 AJAXSCRIPT
16:40:22 <AnMaster_ipv6> 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:41:29 <AnMaster_ipv6> and it reflects for negative arguments (above top of stack) and pushes 0 for below base of stack
16:41:48 <ais523> AnMaster_ipv6: my general advice is whatever you do to handle below base of stack, handle lazy elements the same way
16:42:09 <ais523> and yes, this method is hideously complicated, /but/ it doesn't have an efficiency penalty
16:42:55 <AnMaster_ipv6> ais523, anyway I need to handle <base><1:non-lazy><2:lazy><3:non-lazy><top> and FRTH wanting to pick in the lower non-lazy area (1)
16:43:08 <ais523> you expand the lazy when that happens
16:43:09 <AnMaster_ipv6> in fact I need to know size of stack all the time, because y need to be able to return it
16:43:18 <ehird> what are you talking about anyway
16:43:23 <ais523> likewise, you expand the lazy if someone calls y in such a way it's asking for the stack size
16:43:27 <ais523> ehird: lazy y in Befunge
16:43:43 <AnMaster_ipv6> ais523, well that is most of the time when it would be useful to be lazy it also has stack size
16:43:45 <ais523> as far as I can tell, it wouldn't violate any of the standards or change any behaviour
16:43:47 <ais523> and it would be faster
16:44:04 <ehird> i mean it makes sense so why are you talking so much
16:44:10 <ehird> can AnMaster_ipv6 not fit his brain around it? lol
16:44:13 <ais523> AnMaster_ipv6: what about lazy-chaining?
16:44:37 <AnMaster_ipv6> ais523, you mean that until it tries to compute on the returned stack size it won't calculate it
16:44:50 <ais523> and you remember the size of the nonlazy parts of the stack in the lazy token
16:44:57 <ais523> and just add the lazy parts if it becomes relevant
16:45:38 <AnMaster_ipv6> ais523, potentially you could also do lazy calculations on these areas I guess
16:46:11 <AnMaster_ipv6> anyway, this sounds like it would be way easier in some other language than C, haskell for example
16:46:25 <ais523> AnMaster_ipv6: you may as well have a fully lazy funge if you're going that far
16:46:26 <AnMaster_ipv6> it might be worth trying, but it would be a lot of work
16:46:27 <ehird> this sounds trivial
16:46:45 <ais523> I only intended the simpler versions of laziness
16:46:46 <ehird> on y just push a dummy data structure with NULL fields
16:46:52 <ehird> then when you access them, set the fields to the value
16:47:00 <ais523> ehird: Funge doesn't have data structures
16:47:01 <ehird> so easy it's not even funny
16:47:07 <ehird> ais523: you know what i mean
16:47:15 <ehird> taking the stack segment as a data structure
16:47:19 <ais523> and doing it without an efficiency loss when it isn't used is slightly harder, but only slightly
16:47:33 <ehird> so why is AnMaster_ipv6 talking about it so much
16:47:43 <ais523> corner cases, as usual
16:48:01 <ais523> they're all fixable, you just have to deal with them all individually
16:48:03 <ehird> I'll corner AnMaster_ipv6's cases if he keeps doing this kind of thing
16:48:43 <AnMaster_ipv6> ehird, it would be worthless if it made it fail in mycology, and these are hardly corner cases
16:48:57 <ehird> mycology checks corner cases
16:49:00 <ehird> that's the whole point
16:49:02 <AnMaster_ipv6> ais523, maybe storing the size of the lazy stuff (if known) could be useful.
16:49:03 <ais523> AnMaster_ipv6: I'm not talking about anything that makes it fail
16:49:17 <ais523> AnMaster_ipv6: what I'm saying is, if the size matters, just delazify
16:49:22 <AnMaster_ipv6> 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 <ais523> from then on you can memoize what the size of the env vars is
16:49:42 <ais523> until they change, and how often does that happen?
16:50:17 <AnMaster_ipv6> and even if I did I guess I wouldn't need to invalidate it often
16:51:21 <ehird> AnMaster_ipv6: *nEVAR
16:51:37 <ais523> http://www.foldr.org/~michaelw/emacs/#color-box <--- I just found this, and Mathematica really really badly needs it
16:51:39 <oklopol_> i already made one joke with evar, but he just wouldn't get it
16:51:50 <ehird> stop talking about it then
16:51:57 <oklopol_> fizzie just tried to explain it to you
16:51:59 <ehird> ais523: doesn't work well in practice.
16:52:11 <ais523> ehird: neither does Mathematica's current method, that would be an improvement
16:52:24 <ehird> are we talking bout the same thing
16:52:32 <ais523> ehird: quite possibly not
16:52:39 <AnMaster_ipv6> ais523, what would be the best format to store out of band data for lazy parts of stack hm...
16:52:41 <ehird> what are you talkin bout
16:52:48 <ais523> ehird: the link I pasted above, http://www.foldr.org/~michaelw/emacs/#color-box
16:53:01 <ehird> but what does mathematica currently do
16:53:17 <ais523> ehird: breaks the line in random places for no apparent reason, and flashes parens when you cursor over them
16:53:27 <ehird> I like mathematica autoformatting
16:53:43 <ais523> ehird: I think its autoformatting makes it impossible to see what the code's doing
16:53:50 <ais523> just because two related things can be so far from each other
16:53:56 <ais523> and you have no way to match them
16:54:03 <ehird> then your code is not factored enough
16:54:15 <ais523> ehird: have you seen the code that Wolfram themselves churn out?
16:54:18 <AnMaster_ipv6> 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 <ais523> it's lots and lots of nested standard functions
16:54:38 <ais523> so you can't see which options or args go with which functions
16:54:45 <ais523> because there are so many other things in between
16:55:02 <AnMaster_ipv6> <ais523> http://www.foldr.org/~michaelw/emacs/#color-box <-- wow
16:55:02 <ais523> AnMaster_ipv6: if it's in L1 cache, and it almost certainly will be, no slower on x86
16:55:31 <ais523> personally I'd keep the parens too
16:55:35 <ehird> it'd be nice if you could actually use them
16:55:39 <ehird> trust me, it's useless
16:55:48 <ehird> ais523: they're unusable
16:56:11 <ehird> in that they don't help coding, they hinder
16:56:13 <ais523> is it slow? does it break badly when you try to add another paren pair?
16:56:22 <ehird> not in implementation
16:56:32 <ais523> it's the same information that's there already, just with more information
16:56:42 <ais523> and besides, it's mostly for reading the code you've written
16:56:46 <ehird> ais523: just because you can doesn't mean you should
16:56:50 <ehird> it isn't helpful in practice
16:56:51 <ais523> not for writing it, anyone can do that by writing from outside to inside
16:57:26 <ehird> you know, it's a downloadable .el file
16:57:30 <ehird> how do you think I know oklopol_
16:57:45 <oklopol_> well i assume you're just talking crap
16:58:36 <ais523> oh, I was going to test it on some Mathematica code from the Wolfram demonstrations thing
16:58:55 <ais523> but the "show source" link gives you an image of the source, which is ridiculous
16:59:09 <ehird> http://www.foldr.org/~michaelw/emacs/mwe-color-box.el
16:59:19 <ais523> there's a link to download the notebook too
16:59:32 <ehird> ais523: wolfram code is rich text
16:59:32 <ehird> so i'm not too surprised
16:59:35 <ehird> s/wolfram/mathematica/
16:59:47 <ais523> it can be represented entirely in text form
16:59:50 <ais523> that's what InputForm is
17:00:23 <ais523> 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 <ais523> but has been indented into a lot more lines by hand to show the structure
17:00:50 <fizzie> One of the paste-places did that color-box-alike stuff for Scheme.
17:00:50 <ais523> I guess they couldn't work with their bracket-matching either
17:00:51 <ehird> ais523: you can't fully automate formatting...
17:01:03 <ehird> fizzie: lisppaste, and it does it in an even more stupid way
17:01:09 <ais523> on the other hand, most languages have code that's at least slightly readable without it
17:01:22 <ais523> I think that colour-box thing would help for reading INTERCAL expressions too
17:01:46 <ehird> AnMaster_ipv6: paste.lisp.org
17:02:00 <ehird> and it does it in a way that makes it even more useless than colour boxes
17:02:07 <ehird> a veritable pastel explosion
17:02:15 <ehird> it only highlights the parens
17:02:19 <ehird> when you hover over the body
17:02:21 <AnMaster_ipv6> ehird, but pretty sure it doesn't use colour boxes, rather matching colours for parentheses
17:02:37 <ehird> I just said it wasn't identical
17:02:44 <ehird> http://lemonodor.com/images/lisppaste-sexpr-highlighting.jpg
17:03:06 <ehird> it's highlighting sexps with a background
17:03:10 <ehird> that's pretty fucking niche already
17:03:13 <ehird> i'm not segregating further
17:03:21 <fizzie> I guess it might've been that I'm remembering, anyway.
17:04:19 -!- Slereah has joined.
17:04:58 <AnMaster_ipv6> meh, why can't I set a watch point *with a condition* in gdb
17:05:13 <AnMaster_ipv6> as in, if variable goes to a value larger than 2000 or so
17:05:23 <AnMaster_ipv6> (and I don't even know where in program it would do
17:08:38 <ehird> AAAAAAAAAH! C++ style << overloading
17:08:59 <ehird> ais523: Well, it's more the general idea
17:09:02 <ehird> but in this case it was in scala
17:09:05 <ais523> SystemC is worse, it's based on C++ and also overloads << but for something entirely different and also unrelated to bitshifts
17:09:07 <ehird> but scala doesn't have "operators"
17:09:36 <fizzie> AnMaster_ipv6: I think it should work. "watch var" followed by "condition bnum expression", where bnum is the watchpoint number.
17:10:04 <fizzie> 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 <fizzie> There seems to be also syntactic sugar for writing that as "watch var if var > 2000" or some-such.
17:10:56 * ais523 goes to stackoverflow for amusement value
17:11:38 <fizzie> "5.1.6 Break Conditions" manual section does.
17:12:01 <fizzie> The "help watch" output is rather terse.
17:13:22 -!- tombom has quit ("Peace and Protection 4.22.2").
17:32:03 * AnMaster_ipv6 hard codes random seed in for now to be able to debug this...
17:32:26 <fizzie> Strange. It does not work here either, although according to the manual it really should.
17:33:21 <fizzie> You can do "watch var>2000", though; that at least works here.
17:34:26 <AnMaster_ipv6> and gdb has a limit on number of supported watch points, depending on how much the hardware supports
17:34:36 <fizzie> watch "var < -2000 || var > 2000" then?
17:35:26 <fizzie> 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 <fizzie> 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:51 <fizzie> Anyway, I'm no gdb-wizard, and if you have alternative ways of debugging that actually work you might as well use those.
17:52:14 <AnMaster_ipv6> some sort of memory corruption not detectable by either valgrind or mudflap is about the only possibility left
17:52:30 <ais523> AnMaster_ipv6: what's the problem?
17:53:02 <ais523> AnMaster_ipv6: what's the fungespace in between?
17:53:18 <AnMaster_ipv6> I dumped it and and next instruction should not be that far out
17:53:31 <ais523> I was wondering if it got blanked somehow
17:53:37 <AnMaster_ipv6> >' 03-:g04-:g 05-:g1+05-:p 03-:g01-:g- 01-:g2+02-:g3+g-!#v_^
17:54:43 <ais523> did p pop the stack correctly, by the way?
17:55:11 <fizzie> It looks very sensible; 99 -> 96 and the 3 topmost have vanished.
17:55:11 <AnMaster_ipv6> ais523, going to debug this, just added a temp tick variable I can break on...
17:55:26 <ais523> so the problem seems to be corruption of x
17:55:44 <ais523> is it correctly writing the cell at (-5, -5), by the way?
17:57:11 <AnMaster_ipv6> hm storageOffset = {x = 584432564, y = -463152454}
17:58:12 <ais523> AnMaster_ipv6: if only you had implemented TRDS, you could go back to when it went wrong and try again
17:58:41 <AnMaster_ipv6> ais523, I can because I temporarily hard coded the random seed to srandom() :P
17:58:51 <ais523> AnMaster_ipv6: is it trying to access element [-5][-5] of the static array, I wonder?
17:59:09 <AnMaster_ipv6> ais523, it shouldn't be, I'm single stepping atm...
17:59:18 <ais523> that's far too far outside for mudflap to notice, and if it hits valid memory valgrind-memcheck wouldn't notice either
18:01:06 <AnMaster_ipv6> ais523, anyway after storage offset was added it turned into:
18:01:34 <ais523> what's happening to your IP's x?
18:01:59 <AnMaster_ipv6> ais523, I have it up with display *IP all the time
18:02:21 <AnMaster_ipv6> anyway program now decided that it should use hash library (correctly)
18:13:22 <AnMaster_ipv6> and no bad write issue, but rather something related to the algorithm making the bounds incorrect...
18:18:11 <AnMaster_ipv6> ok changing a + to a - solved that part of the issue. but hm
18:18:57 <ais523> the bounds went crazy, and it was wrapping to that ridiculous point
18:19:12 <AnMaster_ipv6> ais523, for some reason they ended up correct later
18:25:06 <AnMaster_ipv6> Deewiant, now cfunge works correctly in all parts of slowdown.b98
18:26:09 <AnMaster_ipv6> ais523, as for ridiculous point, that part was correct in fact, it was the max point in that direction.
18:26:43 <ais523> it's still ridiculous, just because it's correct doesn't mean it isn't ridiculous
18:33:49 <ehird> Scala weirdness: it has xml literals.
18:34:13 <ehird> scala> var a = <a href="google.com">{2+2}</a>
18:34:13 <ehird> a: scala.xml.Elem = <a href="google.com">4</a>
18:34:19 <ehird> I don't know why it has them but there you go.
18:35:24 <ais523> ehird: VB.NET is the only other language I know with XML literals
18:35:38 <AnMaster_ipv6> 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 <ehird> Yes, well, Scala's quite superior to VB.NET :-P
18:35:52 <ais523> 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 <ais523> maybe representing parse trees directly in the source code?
18:36:04 <ehird> Scala even has lisp-style syntax for symbols
18:36:11 <ehird> (although that's not a generic quoting mechanism)
18:36:20 <ehird> ais523: Templating
18:36:30 <ehird> To use haskell style syntax:
18:36:35 <ais523> sort-of like inside-out PHP?
18:36:40 <ehird> page name = <body><h1>Hello, {name}!</h1></body>
18:36:47 <ehird> well, most template languages are like php
18:37:00 <ehird> and, also, xml processing, I assume
18:37:13 <ehird> 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 <ehird> ais523 googles so rarely that he tells us every time
18:42:14 <ehird> also, iirc they just made it up
18:42:30 <ais523> who's they, and what did they just make up
18:42:50 <ehird> ais523: 0x5f3759df? From InvSqrt?
18:43:10 <ehird> I meant, John Carmack just made up the magic number.
18:43:14 <ehird> I seem to recall that being the backstory.
18:43:37 <ais523> oh, I didn't care about the backstory, but about the algorithm
18:43:51 <ehird> http://www.beyond3d.com/content/articles/8/
18:44:00 <AnMaster_ipv6> ais523, you remembered that number or looked it up somewhere?
18:44:03 <ais523> 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:07 <ehird> Not me, and I don't think it is Michael. Terje Matheson perhaps?
18:44:08 <ais523> AnMaster_ipv6: came across it
18:44:30 <oklopol_> yeah eight hex digits how could anyone remember that
18:44:31 <lifthrasiir> that magic number is really magic, since it is not optimal theoretically but is optimal in the practice
18:44:32 <AnMaster_ipv6> ais523, I would be scared if you had memorized it...
18:44:39 <oklopol_> that's like remembering a whole name.
18:44:40 <ehird> AnMaster_ipv6: why
18:44:44 <ehird> I remember a few telephone numbers
18:44:51 <AnMaster_ipv6> oklopol_, of course you could if you wanted. But it would be so strange to memorise that one
18:44:58 <ehird> it's programmer lore
18:45:14 <oklopol_> i remember all telephone numbers i use
18:45:16 <ehird> actually i only remember our landline number
18:45:22 <ehird> probably because it's quite mnemonic
18:45:29 <ehird> oh one four three four six oh eight nine five three
18:45:30 <ais523> also, bitshifting floats is evil and ridiculous
18:45:34 <ehird> i guess that's only mnemonic to me
18:45:42 <ais523> so that guessing code isn't running Newton, but it is using some algorithm to get very close
18:45:47 <ehird> but "four three four"
18:45:49 <ehird> that's so mnemonic
18:45:50 <ehird> AnMaster_ipv6: yes you do.
18:46:07 <ais523> apparently someone did a computer search and found it was suboptimal, but not by much
18:46:07 <lifthrasiir> my family's telephone numbers are anagrams of each other. they are actually hard to remember :p
18:46:12 <AnMaster_ipv6> anyway I do remember a few phone numbers, not many though
18:46:20 <ehird> AnMaster_ipv6: if you want more phone numbers, we brits have a nice thick phone book.
18:46:45 <oklopol_> AnMaster_ipv6: have you actually looked at that hex number? it's a bit hard not to remember
18:46:54 <oklopol_> because it has a very distinct structure
18:46:58 <AnMaster_ipv6> ehird, yes but it would be much easier to trace down what specific Elliot Hird with that.
18:47:11 <ehird> AnMaster_ipv6: no, you couldn't trace an Elliot Hird with it
18:47:51 <AnMaster_ipv6> 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 <ehird> my name is not Elliot Hird
18:48:32 <ehird> congrats, you join 5,000 others in missing a t
18:48:48 <oklopol_> you also know where ehird lives
18:48:49 <fizzie> ehird: Have you considered showing your support for the Movement and legally changing your surname to Hurd?
18:48:58 <ehird> fizzie: ITYM GNU/HURD
18:49:09 <ehird> oklopol_: my full address is on the interweb
18:49:10 <fizzie> Yes, if they allow a slash in name.
18:49:28 <ehird> AnMaster_ipv6: 4 orchard terrace, hexham, northumberland
18:49:42 <ehird> pedophiles: please don't come and be a pedophile.
18:49:47 <ehird> that would be very pedophile.
18:50:07 -!- kar8nga has joined.
18:50:08 <ais523> well, the algorithm's just approximating the value by using the exponent field in the float
18:50:22 <ais523> and instead of clearing the mantissa, it's leaving junk there for faster calculation
18:50:44 <ais523> the number is presumably chosen to help optimise the chance that the mantissa junk is useful
18:51:10 <fizzie> Hexham sounds like an awesome name. Something sort of combination of witch-style cursery and ham.
18:51:38 <ais523> ehird was surprised that I'd heard of Hexham before he told me
18:51:42 <ehird> we are the land of accursed ham
18:51:43 <ais523> but it's a relatively famous place
18:51:49 <ais523> not as famous as Birmingham, though
18:51:57 <ehird> ais523: well all we have is a shitty abbey and a market
18:51:59 <ehird> it's pretty boring
18:54:37 <fizzie> 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 <oklopol_> hey then maybe you can have tea with ehird!
18:55:05 <fizzie> It sounds a bit too bizarroid.
18:55:16 <ehird> oklopol_: i don't much like tea
18:55:35 <ehird> also, yeah, i think that would cause like, world ending things
19:01:38 <ehird> fizzie: i'll like, put a postcard on a bench for you
19:01:41 <ehird> also: it sucks up here
19:01:51 <ehird> the weather's bad and the places are boring, why do you want to come
19:01:59 <ehird> stay in finland finland is awesome
19:02:45 <Asztal_> there's a Hexham Close near me, so I'd heard the word.
19:02:50 <Asztal_> anyone heard of Baxenden? :)
19:03:24 <ais523> hmm... a #esoteric meetup would be pretty awesome, in a sense
19:03:43 <ais523> but people are so different in RL to IRC, I find
19:03:54 <Asztal_> it's the source of Holland's Pies (by which I don't mean dutch pies)
19:03:54 <fizzie> 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 <ehird> I'm incredibly shy IRL.
19:04:34 <ehird> fizzie: dude, you just don't know. finland >>>> uk, ok.
19:05:09 <ais523> hmm... someone calculated the corresponding constant for doubles, it's 0x5FE6EB50C7B537AA
19:05:24 <ehird> 0x5fe6eb50c7b537aa
19:05:27 <ehird> uppercase is for weenies
19:06:24 <lament> case-sensitivity is for doofi
19:06:31 * ais523 suddenly gets a ridiculous vision
19:06:35 <ais523> CamelCase hex, for grouping
19:06:41 <fizzie> 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:07:50 <fizzie> 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:10:33 <fizzie> Well, for decimal numbers, then. 1,234,567.00 → ₁2₃₄5₆₇.₀₀
19:11:00 <ais523> oh dear, this is almost turning into a good idea
19:11:05 <ais523> and it'll be a rubbish good idea
19:11:41 <fizzie> Ooh, the circled numbers go up to ⑳, not just 0-9.
19:11:52 <ais523> fizzie: I saw that as a square
19:12:06 <fizzie> It's CIRCLED NUMBER TWENTY.
19:12:10 <ais523> theory: write your password with Unicode characters that don't exist in any font
19:12:27 <ais523> that way, you can actually do the hunter2 thing, just with squares not asterisks
19:12:59 <ehird> 19:11 ais523: oh dear, this is almost turning into a good idea
19:12:59 <ehird> 19:11 ais523: and it'll be a rubbish good idea
19:13:28 <ais523> ehird: I think I'm winning in your favourite quote stakes at the moment
19:13:41 <ais523> unless you've favourite-quoted other people while I wasn't looking
19:13:42 <fizzie> It should be circled. My font is lacking the negative circled number variants, though.
19:15:52 <AnMaster_ipv6> fizzie, seems it isn't circled in Dejavu Sans Mono 8 at least
19:16:59 <fizzie> That's strange, because my xchat font is DejaVu Sans Mono 9, and the 20 is circled.
19:21:06 <AnMaster_ipv6> - PERL is now tested with "5-1" instead of the palindromic
19:21:25 <AnMaster_ipv6> ais523, why did you suggest that? I don't remember
19:21:40 <AnMaster_ipv6> I mean, did any interpreter manage to reverse the string?
19:22:05 <ais523> because it was a potential bug
19:22:06 <lifthrasiir> i think any string test on funge should consider that case
19:22:12 <ais523> writing a fungestring backwards is easy enough to do by mistake
19:23:08 <AnMaster_ipv6> 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 <ais523> ehird: why is that sacrelige?
19:23:32 <ehird> 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 <ais523> ehird: what, there are specific hello worlds for testing arithmetic?
19:24:23 <ehird> in the smalltalk community, yes
19:24:24 <ais523> the idea wasn't to test -, but to test the concept of shelling out to Perl in general
19:24:43 <ehird> when you get a new box, you type 2+3, highlight it, 3-button (i forget the colours), "print it"
19:24:49 <ehird> And I'm sure there's a different one for -
19:28:22 * ais523 has come up with another esolang idea
19:28:40 <ais523> basically, I wanted to write an esolang that couldn't be written a bit at a time
19:28:48 <ais523> I wanted modular programming to be completely impossible
19:28:53 <ais523> so the idea is, instead of writing the program
19:29:00 <ais523> you give a lot of standard description of the program
19:29:00 <ehird> http://blog.last.fm/2009/04/06/mapreduce-bash-script
19:29:17 <ais523> so for a hello world, it would be things like "this program outputs mostly lowercase letters"
19:29:21 <ais523> and "this program does not loop"
19:29:48 <ais523> the idea is that the compiler would somehow brute-force the simplest program that met your descriptions, and compile that
19:30:31 <ais523> 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:44 <ais523> AnMaster_ipv6: I think it's implementable, although very inefficiently
19:30:57 <ais523> you would need to have an awfully large range of available hints for it to be TC, though
19:30:59 <AnMaster_ipv6> ais523, what would description for hello world look like
19:31:06 <oklopol_> undecidability is not a problem in that case.
19:31:07 <ais523> AnMaster_ipv6: long and complicated, I imagine
19:31:22 <ais523> I think hints are allowed to be specific, as long as they apply to the entire program
19:31:32 <ehird> chuck moore is on a rampage
19:31:33 <ehird> http://colorforth.com/vTPL.htm
19:31:33 <ais523> so "this program outputs 2 lowercase ls"
19:31:37 <AnMaster_ipv6> ais523, also what would the syntax for writing these description be? Natural language?
19:31:45 <ehird> S40 Multicomputer Chip
19:31:46 <ehird> I have been asked by TPL to remove this page. Upon due consideration, I will not.
19:31:46 <ais523> and "this program always outputs a lowercase e after a lowercase H"
19:31:47 <ehird> Spectacular chip! 40 microcomputers, each with 128 words of 18-bit memory. Each capable of 700 Mips.
19:31:50 <ehird> --http://colorforth.com/
19:31:52 <ehird> http://colorforth.com/S40.htm
19:32:10 <ais523> and I like the idea of a fixed-syntax language that resembles English, for this
19:32:29 <ais523> as in, all the hints are real English sentences with a couple of replacable parts
19:32:40 <ais523> but it doesn't try to parse them or anything, just matches against a database
19:33:06 <ais523> I want it to be able to represent at least one TC lang, probably a simple one
19:33:14 <ais523> so that lang + arbitrary input makes a TC combination
19:33:23 <ais523> whether the lang itself is TC can be left to philosophers
19:33:37 <AnMaster_ipv6> ais523, but there is a fixed number of possible programs directly in the language then?
19:34:06 <AnMaster_ipv6> well no, you can make it print an arbitrary number of hello world I guess
19:34:16 <ais523> infinite number, I imagine
19:34:28 <ais523> "This program likes to run 25% of its loops exactly 6 times"
19:35:02 <AnMaster_ipv6> ais523, sure this will prevent modular programming?
19:35:29 <ais523> I'm not sure how completely it could be prevented, but surely it makes it a lot more difficult
19:35:42 <ais523> and it's a fun idea for a lang whether it meets its design goals or not
19:36:18 <AnMaster_ipv6> ais523, but would the language itself actually be TC?
19:36:26 <ais523> AnMaster_ipv6: what does it mean for a language to be TC?
19:36:27 <ehird> 19:33 ais523: whether the lang itself is TC can be left to philosophers
19:36:27 <ehird> 19:33 ais523: whether the lang itself is TC can be left to philosophers
19:36:29 <ehird> 19:33 ais523: whether the lang itself is TC can be left to philosophers
19:36:58 <ais523> yep, there was a big raging argument on FOM about it that didn't come to a conclusion
19:37:09 <ehird> A language is TC if you can express a turing machine in it
19:37:48 <ais523> do you have to be able to express arbitrary turing machines?
19:37:54 <ais523> or just one universal turing machine?
19:38:01 <ehird> AnMaster_ipv6: yes
19:38:32 <MizardX> ...or write an interpreter of a turning complete langauge.
19:38:45 <ehird> that's expressing a universal turing machine
19:38:49 <ehird> via a layer of indirection
19:40:08 <ais523> yes, what I'm philosophising about atm is if the layer of indirection makes it non-TC
19:40:14 <ais523> actually, there's a lang already we can argue about
19:40:25 <ais523> assuming an unbounded playfield, is ALPACA TC?
19:40:36 <ais523> it's possible to express TC languages in ALPACA
19:40:41 <ais523> but it itself cannot run arbitrary programs
19:40:42 <ehird> you can express a UTM in it
19:41:00 <ais523> ehird: yes, you just can't express hello world
19:41:13 <ais523> you can only make a program that outputs a program that outputs hello world
19:41:37 <ais523> and being able to express any non-uncomputable program is up there in the essence of TCness, for me
19:41:38 <ehird> if you can implement a utm, that's it, tc
19:42:05 <ais523> ehird: what I'm saying is, I'm not sure if your definition is the best one
19:42:23 <ais523> ehird: how is UTM defined for this?
19:42:39 <ais523> a program that can express arbitrary turing machines?
19:42:50 <ais523> you're saying TC = can express a UTM, rather than TC = is a UTM
19:42:55 <Slereah> Like the Love Machine 9000? :o
19:42:58 <ehird> same thing, ais523
19:43:04 <ais523> that's what this argument is about
19:43:32 <AnMaster_ipv6> ehird, then befunge-93 is TC I think, since you could compile brainfuck code with a compiler written in b93...
19:43:37 <ais523> 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:44 <ehird> AnMaster_ipv6: not the same thing at all
19:43:58 <AnMaster_ipv6> ehird, you may be right, but why is it different then?
19:44:04 <ais523> ehird: that's what ALPACA's doing, though
19:44:12 <ais523> for one thing, ALPACA always terminates
19:44:20 <ais523> it just takes input, and outputs a program as its output
19:44:35 <ehird> yes, that's the compiler
19:44:37 <ais523> so you need to wonder about the TCness of the output
19:44:38 <ehird> but if you did an interpreter...
19:44:47 <AnMaster_ipv6> ais523, so my brainfuck compiler in befunge-93 is the same thing right? I think..
19:44:48 <ais523> well, it always depends on user input
19:45:01 <ehird> then alpaca+input is tc
19:45:17 <ehird> but input is just a detail
19:45:21 <ais523> but the point is, ALPACA can express a UTM even without input
19:45:22 <ehird> we can trivially say program includes input
19:45:28 <ehird> just like halts() does
19:45:31 <ais523> ehird: program vs. input is what this is all about...
19:46:26 <oklopol_> defining turing-completeness is undecidable
19:47:14 <ais523> I'm not sure if that makes sense, but I like it anyway
19:56:38 <AnMaster_ipv6> hm are there any n dimensional cellular automaton esolangs for n > 2
19:57:12 <Slereah> There's like two cellular automatons, so check those
19:57:45 <Slereah> Sorry! This site is experiencing technical difficulties.
19:57:45 <Slereah> Try waiting a few minutes and reloading."
19:57:56 <ais523> Slereah: reload instantly
19:58:04 <ais523> it's a transient bug that has been there for months
19:58:18 <Slereah> Except it doesn"'t work right now
19:58:24 <ais523> hmm... might be a different bug, then
19:59:14 <AnMaster_ipv6> "(Can't contact the database server: Too many connections (localhost))"
19:59:41 <Slereah> It's working again, I think
20:00:02 <ais523> that's because you're DDOSing it trying to see if it's working, obviously
20:00:53 <Slereah> Are we allowed one click per day?
20:01:19 <Slereah> http://esolangs.org/wiki/Cellular_automaton#Relation_to_esoteric_programming
20:01:19 <ais523> no, of course not. You mean you're using a /GUI/ browser? That's a million times worse
20:01:41 <ais523> 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: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:09:36 <ehird> ais523: i wish I was caught in that!
20:09:44 <ehird> i would have bought luxemburg
20:12:46 -!- kar8nga has quit (Remote closed the connection).
20:13:26 -!- kar8nga has joined.
20:20:07 <ehird> hey, I think scala has functors
20:21:26 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
20:36:55 <ehird> http://simulatedcomicproduct.com/comics/2009-03-22-RedundantSystems.jpg
20:38:04 <oklopol_> lol my eyes parsed that as one rocket, took like an hour to get the joke :D
20:42:04 -!- Sgeo has joined.
20:52:44 <AnMaster_ipv6> <ehird> 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:59 <ehird> most comics have no storyline
20:53:24 <AnMaster_ipv6> ehird, well, what is the theme then, it seems to vary too
20:53:34 <ehird> most comics' theme is "being funny"
20:54:34 <AnMaster_ipv6> no need to go archive trawling on the other hand :)
20:55:24 <oklopol_> ehird: have you made any more of your awesome comics?
20:55:39 <ehird> oklopol_: no, series of 9
20:55:43 <ehird> a perfectly unround number
21:03:06 <ehird> my thumb keeps shaking
21:04:48 <ehird> yes but this is scary
21:05:17 <oklopol_> 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 <Sgeo> I'm wondering if maybe I should have gotten braces. My teeth look all strange
21:05:40 <ehird> i have a tooth that has needed taking out for, um, a month now?
21:06:23 <oklopol_> i got braces for my upper teeth, but it was such a hassle i refused to take them for my lower ones
21:07:43 <oklopol_> also i had this thing i needed to keep in my mouth whenever i was not eating, for like two years
21:07:52 <oklopol_> and it seems i got a bit addicted to it or something
21:08:04 <oklopol_> since i still get these dreams where i don't know where i put it
21:08:26 <oklopol_> or dreams where i've had that thing in my mouth for the ~4 years i haven't needed it
21:09:18 <oklopol_> i don't know what it was, one of the four braces types i've had.
21:10:25 <oklopol_> 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 <lament> can you straighten teeth at any age, or is it worthless past a certain point?
21:22:56 <Sgeo> 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 <kerlo> if ((olevel >= 0) and (nlevel >= 0) and (olevel > nlevel)) or (((olevel < 0) or (nlevel < 0)) and (nlevel > olevel)):
22:45:42 <kerlo> Yeah, seems pretty esoteric to me.
22:53:54 <Deewiant> if sign(olevel) == sign(nlevel) and olevel > nlevel:
22:54:45 <Deewiant> Oh, the other way around at the end
22:55:12 <Deewiant> if sign(olevel) == sign(nlevel) and abs(olevel) > abs(nlevel):
23:00:01 <oklopol_> if olevel=-1 and nlevel=1, then ihope's says true and yours says false
23:00:50 <Deewiant> Hmm, can't see much simplification opportunity then
23:01:47 -!- Judofyr has quit (Remote closed the connection).
23:03:41 <oklopol_> well correcting it into an and might work be a good simplification
23:04:54 <oklopol_> well if olevel>=0 and nlevel>=0 and olevel>nlevel or nlevel>olevel
23:05:24 <Deewiant> if ((olevel >= 0) and (nlevel >= 0) and (olevel > nlevel)) or (not ((olevel >= 0) and (nlevel >= 0)) and (nlevel > olevel)):
23:06:01 <oklopol_> well yes, that's why you can simplify it.
23:07:29 <oklopol_> 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 <Deewiant> (a && b) || (!a && !b && notequal)
23:08:22 <oklopol_> i guess by directly i meant taking notequal into account
23:09:26 <Deewiant> Since notequal actually has to be true in both
23:09:38 <ais523> if you translated that into INTERCAL, it probably wouldn't be much more complicated than a typical greater-than in INTERCAL
23:09:42 <fizzie> 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 <Deewiant> if ((olevel >= 0 and nlevel >= 0) == (olevel > nlevel) && olevel != nlevel):
23:10:54 <fizzie> Yeah. Well, five minutes past midnight was when the returning system closed.
23:11:40 <fizzie> Right. Well, I guess it is EEST.
23:12:00 <Ilari> A.K.A. Timezone Charlie. :-)
23:12:25 <Deewiant> 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 <Ilari> 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 <fizzie> Deewiant: Closeup of last day: http://www.cis.hut.fi/htkallas/bottime2.png
23:14:46 <Deewiant> Well, it's not an issue with the existing codes. :-P
23:14:48 <oklopol_> Deewiant: are you sure that's clearer :D
23:14:57 <Deewiant> oklopol_: I didn't say it was :-P
23:15:14 <Deewiant> oklopol_: It /is/ simpler though
23:16:08 <fizzie> There was something like 10 submissions (out of the total 39) during the last hour.
23:16:36 <oklopol_> Deewiant: i guess it is, on second thought
23:16:39 <Deewiant> fizzie: And looks like around 19 during the last two.
23:17:00 <fizzie> Something like that, yes.
23:17:49 <fizzie> 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 <fizzie> 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 <Ilari> fizzie: Goblin or something else? :-)
23:32:09 <fizzie> Ilari: Oh, it's purely hand-crafted Perl.
23:32:32 <fizzie> A single CGI script, to be exact. The lo-tech solution.
23:32:50 <fizzie> 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:34 <AnMaster_ipv6> <Deewiant> if sign(olevel) == sign(nlevel) and abs(olevel) > abs(nlevel): <-- sign? no such function
23:56:50 <ehird> Note that implicit conversions are not applicable because they are ambiguous:
23:56:50 <ehird> both method int2Integer in object Predef of type (Int)java.lang.Integer
23:56:52 <ehird> and method intWrapper in object Predef of type (Int)scala.runtime.RichInt
23:56:54 <ehird> are possible conversion functions from Int(2) to AnyRef
23:56:56 <ehird> it sure is nice to have good errors
23:56:59 <ehird> AnMaster_ipv6: how do you know?
23:57:15 <ehird> admittedly, there's no sign() in python but you can write it