←2009-04-05 2009-04-06 2009-04-07→ ↑2009 ↑all
00:01:29 -!- jix has quit (Read error: 113 (No route to host)).
00:29:40 <AnMaster_ipv6> 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 <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:12 <oerjan> fizzie: hm?
00:39:21 <oerjan> ah
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.
00:46:05 <oerjan> 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 <oklopol> ooooooooooooooooo
01:39:18 <oklopol> how goes
01:39:43 <oklopol> i have a small-scale pröb with sleeping atm.
01:39:58 <oerjan> try eating more mööse
01:40:06 <oklopol> ;)
01:40:13 <oklopol> GLIO THE FALL
01:40:21 <oklopol> OF THE SEMAPHORE
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:46 <oklopol> well.
01:43:56 <oklopol> more attempting at them sleepings
01:43:57 <oklopol> ->
01:44:44 <oklopol> (sometimes it's "semaphoo-oor", elongated to sound like "semaphore whore")
01:44:51 <oklopol> *oore
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:45:48 <oklopol> (->)
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.
03:57:50 <oerjan> :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 <M0ny> plop
10:18:45 <ais523> hi
10:19:02 <M0ny> how are you ?
10:19:06 -!- BeholdMyGlory has joined.
10:19:19 <ais523> M0ny: tired
10:19:30 <ais523> just finished handing in my final Master's report
10:21:10 <M0ny> 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 <fizzie> ˙ʅodoʅʞo
11:06:51 <oklopol_> hello fuzzie
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:38 <oklopol_> or with little?
11:09:49 <fizzie> Oh, was trying to say "without" there.
11:09:51 <oklopol_> or maybe like few but
11:10:02 <oklopol_> right right that's even better
11:12:41 <fizzie> What was that exam all about, anyway?
11:13:32 <oklopol_> what's gzip about?
11:14:02 <oklopol_> i mean i have no idea, i just memorize the text.
11:14:18 <AnMaster_ipv6> hah
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:14:40 <AnMaster_ipv6> it is because of the ky in HRTI
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:19 <AnMaster_ipv6> what?
11:15:27 <AnMaster_ipv6> fizzie, I wasn't talking about that
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:16:21 <oklopol_> *acronymize
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:18 <oklopol_> so
11:17:30 <oklopol_> you could get perfect points by simply memorizing
11:17:41 <oklopol_> fizzie: yes i'm from turku.
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:18:48 <AnMaster_ipv6> High Resolution Timer Interface
11:18:55 <AnMaster_ipv6> a befunge98 fingerprint
11:18:56 <oklopol_> well
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:20:29 <oklopol_> AnMaster_ipv6: thanks
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:09 <oklopol_> ah that's the one that sucks
11:21:17 <AnMaster_ipv6> fizzie, indeed
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:22:04 <AnMaster_ipv6> (debug build, otherwise it wouldn't be so slow)
11:23:34 <AnMaster_ipv6> in a release build it is more like 7363
11:23:44 <AnMaster_ipv6> (and after this change I just made: 6720)
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:24:40 <oklopol_> which is.....
11:24:59 <oklopol_> professor architectures.
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:25:39 <AnMaster_ipv6> both for initialising PRNG and for HRTI
11:25:45 <AnMaster_ipv6> and fall back on gettimeofday()
11:26:13 <AnMaster_ipv6> <oklopol_> professor architectures. <-- :D
11:26:14 <oklopol_> what are those 3's?
11:26:21 <fizzie> oklopol_: Man page sections.
11:26:22 <AnMaster_ipv6> oklopol_, man page sections
11:26:32 <AnMaster_ipv6> meh
11:26:35 <oklopol_> STOP FLOODING
11:26:47 <fizzie> 3 is something like "C library routines for C programs" according to one definition.
11:27:18 <oklopol_> interesting.
11:27:23 <oklopol_> 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 <AnMaster_ipv6> actually I could just pick from a stack generated once if I decide to never implement EVAR
11:28:29 <AnMaster_ipv6> well I need to handle some specially yes
11:28:30 <oklopol_> environment variables?
11:28:45 <AnMaster_ipv6> oklopol_, EVAR is a fingerprint for changing environment variables yes
11:28:53 <oklopol_> just changing? :D
11:29:08 <AnMaster_ipv6> oklopol_, you can read them with y
11:29:15 <oklopol_> oh right.
11:29:24 <AnMaster_ipv6> and I guess EVAR has reading too
11:29:28 <AnMaster_ipv6> I don't remember details
11:29:34 <AnMaster_ipv6> the details*
11:29:59 <oklopol_> you should remember the details for EVAR.
11:30:04 <AnMaster_ipv6> why
11:30:13 <oklopol_> long story.
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:19 <AnMaster_ipv6> ah
11:30:25 <oklopol_> well i guess it's rather short
11:30:26 <oklopol_> pun
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:29 <AnMaster_ipv6> oklopol_, what pun
11:31:33 <oklopol_> grr
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:31:54 <AnMaster_ipv6> fizzie, augh!
11:32:03 <AnMaster_ipv6> oklopol_, I still don't get it.
11:32:17 <oklopol_> AnMaster_ipv6: well at least fizzie did
11:32:33 <AnMaster_ipv6> oh was that some infinite time joke
11:32:35 <AnMaster_ipv6> I see
11:32:40 <oklopol_> :D
11:32:40 <AnMaster_ipv6> meh, far fetched
11:32:47 <fizzie> All oklopol_'s jokes are infinite.
11:32:50 <oklopol_> i wish ehird was here
11:33:00 <oklopol_> AnMaster_ipv6: also good one
11:33:05 <AnMaster_ipv6> err what
11:33:11 <oklopol_> you know, far-fetched infinite time jokes
11:33:30 <AnMaster_ipv6> I wasn't trying to joke there.
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:33:57 <AnMaster_ipv6> oklopol_, stop being ehird..
11:34:06 <oklopol_> but he isn't here
11:34:11 <AnMaster_ipv6> good thing
11:34:14 <oklopol_> and i can't really see fizzie being him
11:34:18 <oklopol_> so
11:34:24 <oklopol_> .
11:34:25 <AnMaster_ipv6> thank god for that!
11:34:26 <fizzie> Yes. I don't really have the ehird nature in me.
11:34:40 <oklopol_> oToToTo
11:35:02 <oklopol_>
11:35:04 <oklopol_> ← →
11:35:08 <oklopol_>
11:35:17 <oklopol_> wtf
11:35:29 <oklopol_> that didn't look right.
11:36:11 <oklopol_> this should be a monospace font, why are ↓ and ↑ not properly around the hole
11:36:14 <oklopol_> just asking.
11:36:34 <fizzie> It looks right enough here.
11:37:02 <oklopol_> :<
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:37:59 <oklopol_> ah the old banjo punch
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:33 <oklopol_> hmm weird.
11:38:34 <AnMaster_ipv6> <fizzie> ↑, ↑, ↓, ↓, ←, →, ←, →, A, B, select, start. <-- huh
11:38:45 <AnMaster_ipv6> what was that about
11:38:55 <oklopol_> it's a special move in a game.
11:39:00 <AnMaster_ipv6> which game
11:39:06 <Asztal_> it's the Konami code, works for a lot of games IIRC#
11:39:12 <oklopol_> banjo fighters
11:39:17 <fizzie> It's also a reasonably common cheat code in NES games.
11:39:28 <AnMaster_ipv6> oh console game
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:19 <AnMaster_ipv6> fizzie, huh
11:41:26 <AnMaster_ipv6> does it work?
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:00 <oklopol_> might not, might unnot.
11:43:02 <AnMaster_ipv6> I think oklopol_ answered a different question
11:43:19 <AnMaster_ipv6> oklopol_, maybe there is a game called that, but does that move exist in it<q>
11:43:22 <oklopol_> might've, might'n've
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:31 <oklopol_> it works in gish?
11:45:44 <oklopol_> hmm err turbo mode
11:45:58 <oklopol_> i've probably unlocked it anyway if it's possible, sounds familiar
11:46:11 <AnMaster_ipv6> fizzie, add citation needed then :D
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:47:42 <AnMaster_ipv6> k
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:09:38 <tombom> ha, it does work
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:29 <AnMaster_ipv6> tombom, what works?
15:24:43 <tombom> the konami code on digg
15:24:50 <AnMaster_ipv6> ah
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:30:33 * AnMaster_ipv6 totally rewrote most of his y implementation
15:31:02 <fizzie> "Y did you do that?" eh eh eh-heh.
15:31:25 * AnMaster_ipv6 googles define:Y
15:32:29 <fizzie> It's just the y/why thing.
15:33:48 <AnMaster_ipv6> ah
15:33:59 <AnMaster_ipv6> anyway it was suboptimal before
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:19 <AnMaster_ipv6> but now it manages both cases fine
15:35:26 <AnMaster_ipv6> just need some more testing
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:35:43 <AnMaster_ipv6> fizzie, it does in mycology
15:36:04 <AnMaster_ipv6> fizzie, does fungot use y much?
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:36:19 <AnMaster_ipv6> I see
15:36:20 <fizzie> Now the bus. →
15:36:24 <AnMaster_ipv6> ok
15:36:32 <AnMaster_ipv6> hope you come on irc when you get home
15:36:32 <AnMaster_ipv6> cya
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:37:50 <AnMaster_ipv6> stack-stack copy is way faster
15:38:03 <AnMaster_ipv6> I have an idea here
15:38:05 <AnMaster_ipv6> ais523, there?
15:38:11 <ais523> yes
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:05 <ais523> makes sense
15:39:22 <AnMaster_ipv6> so past size of all stacks I don't do that
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:40:17 <AnMaster_ipv6> but now that I reworked y code it goes further
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:44:04 <AnMaster_ipv6> (I still use gprof and such too of course)
15:44:06 <AnMaster_ipv6> hm
15:44:12 <AnMaster_ipv6> my konsole just lost it's menu bar
15:44:13 <AnMaster_ipv6> wth
15:44:48 <AnMaster_ipv6> ah there back
15:45:35 -!- neldoreth has quit (No route to host).
15:52:04 <AnMaster_ipv6> odd
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:52:48 <AnMaster_ipv6> heh
15:53:19 <ais523> that's a great way in which to be somewhat broken
15:53:33 <AnMaster_ipv6> ais523, it is broken in other ways too
15:53:50 <ais523> I guessed
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:02 <ais523> yep
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:16 <AnMaster_ipv6> congrats
16:02:24 <AnMaster_ipv6> well
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:02:57 <AnMaster_ipv6> why you may wonder...
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:19 <AnMaster_ipv6> because mycology does:
16:03:22 <AnMaster_ipv6> ky
16:03:24 <AnMaster_ipv6> basically
16:03:28 <ais523> AnMaster_ipv6: what about a lazy stack?
16:03:28 <AnMaster_ipv6> when wanting a delay for HRTI
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:03 <lifthrasiir> (or semi-JIT pyfunge, anyway)
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:05:43 <AnMaster_ipv6> so it toggles between the two
16:06:14 <ais523> haha
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 <AnMaster_ipv6> :P
16:06:20 <ais523> you're specifically going to optimise "ky"?
16:06:25 <AnMaster_ipv6> ais523, no
16:06:30 <AnMaster_ipv6> ais523, that would be insane
16:06:45 <ais523> so?
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:06:53 <lifthrasiir> then i think that's fine
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:07:46 <ais523> into ffff***>>
16:07:54 <AnMaster_ipv6> I mean, I can't profile it easily
16:07:59 <AnMaster_ipv6> because of irc dependency
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:30 <AnMaster_ipv6> like N in STRN
16:08:33 <ais523> fizzie: I meant the tournament
16:08:35 <AnMaster_ipv6> which iirc fungot uses quite a bit
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:04 <AnMaster_ipv6> ais523, hm? the thesis isn't done?
16:09:14 <AnMaster_ipv6> Now I'm confused
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:26 <ehird> yar
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:36 <AnMaster_ipv6> aha
16:09:38 <AnMaster_ipv6> right
16:09:43 <ehird> ais523: there's only one thesis
16:09:44 <ehird> THE 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:46 <ais523> I don't know
16:11:52 <ais523> profiling it might help
16:12:01 <ais523> how do you check for beyond-bottom-of-stack, atm?
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:17 <AnMaster_ipv6> hm
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:35 <ehird> oh wait
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:38 <ehird> or sth
16:14:42 <ehird> I mean I just read the summariry
16:16:05 <Asztal_> No, it's real
16:16:19 <AnMaster_ipv6> yes I suspect it is real too
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:17:59 <AnMaster_ipv6> lazy stack
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 <ais523> ehird: not portable
16:18:41 <ehird> it'd remove like 5 billion branches
16:18:45 <AnMaster_ipv6> indeed
16:18:53 <ehird> no
16:18:56 <ehird> there's a portable lib to do it
16:19:02 <ais523> that even works on DOS?
16:19:11 <AnMaster_ipv6> ais523, that's not relevant for cfunge
16:19:11 <ehird> ais523: cfunge doesn't work on dos
16:19:18 <ais523> ehird: well, it should do
16:19:22 <AnMaster_ipv6> ehird, it needs to work on OpenBSD/sparc though
16:19:23 <ais523> maybe I should try porting it some time
16:19:25 <ehird> it never will, ais523.
16:19:29 <AnMaster_ipv6> :P
16:19:33 <ehird> AnMaster_ipv6: I think the lib does
16:19:34 <ehird> let me find it
16:19:46 <ehird> ff
16:19:47 <AnMaster_ipv6> yeah name or url would be a good start
16:19:50 <ehird> I keep getting StackOverflow.com results
16:19:52 <AnMaster_ipv6> anyway
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:20:50 <ais523> no
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:25 <AnMaster_ipv6> hm
16:21:32 <AnMaster_ipv6> ah
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:17 <AnMaster_ipv6> hm ok
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 <AnMaster_ipv6> is that what you meant
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:25 <AnMaster_ipv6> hm
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:10 <ehird> ais523: itt: mmap
16:24:35 <ais523> ehird: "itt"? I always assumed it meand "in the topic", but in this context it can't do
16:24:44 <ehird> In This Topic
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:24 <AnMaster_ipv6> hm
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:23 <AnMaster_ipv6> each with it's own stack-stack
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:25 <ais523> ah
16:27:34 <ais523> what if you're on a processor that doesn't have memory protection?
16:27:40 <ehird> don't be.
16:27:44 <ais523> does POSIX guarantee that mprotect is implementable?
16:28:00 <AnMaster_ipv6> ais523, it does say no access must work yes
16:28:06 <AnMaster_ipv6> and some other
16:28:16 <AnMaster_ipv6> it does allow implementations to allow execution even if it is only readable
16:28:22 <AnMaster_ipv6> so systems without NX works
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:14 <AnMaster_ipv6> from man page
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:01 <AnMaster_ipv6> fizzie, how much do you allocate
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:33:48 <AnMaster_ipv6> just checked
16:34:04 <ehird> fizzie: gay sex.
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:34:56 <Slereah_> Let me handle this
16:35:03 <Slereah_> WOOOH I SURE FEEL GAY TODAY
16:35:10 <ehird> GEE Slereah_!
16:35:12 <ehird> ARE YOU GAY?
16:35:16 <ehird> I NEVER KNEW!
16:35:27 <Slereah_> Shush, I'm trying to lure psygnisfive
16:35:39 <ehird> Shit I forgot to change nick
16:35:42 <AnMaster_ipv6> ...
16:35:45 -!- ehird has changed nick to psygnsifive.
16:35:51 <AnMaster_ipv6> can we get back to order?
16:35:51 <psygnsifive> I'M HERE Slereah_
16:35:56 <AnMaster_ipv6> oh well
16:35:57 <psygnsifive> AnMaster_ipv6: fizzie's request.
16:35:58 <AnMaster_ipv6> ais523, there?
16:36:04 <ais523> yes
16:36:09 <AnMaster_ipv6> psygnisfive, he said "<fizzie> Stop talking interesting stuff."
16:36:16 <psygnsifive> Which we did.
16:36:17 <AnMaster_ipv6> not "start talking uninteresting stuff"
16:36:22 <Slereah_> It never fails.
16:36:25 <AnMaster_ipv6> you could have shut up?
16:36:26 <AnMaster_ipv6> anyway
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:34 <AnMaster_ipv6> ais523, well where were we
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:03 <ais523> well, -blah
16:37:09 <psygnsifive> ais523: -blah is for bot tests.
16:37:14 <psygnsifive> Everything is on topic in here :-P
16:37:15 <ais523> and spamming
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:38:53 <ehird> JARS
16:38:55 <ehird> MANY JARS.
16:38:56 <ehird> Sorry.
16:38:58 <AnMaster_ipv6> ais523, hm since FRTH is a RCS fingerprint...
16:39:01 * AnMaster_ipv6 lookjs
16:39:03 <AnMaster_ipv6> looks*
16:39:04 <ehird> lookjs
16:39:12 <ehird> VISION IN WEB 2.0 AJAXSCRIPT
16:39:24 <AnMaster_ipv6> hah
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:40:27 <AnMaster_ipv6> but in FRTH
16:41:01 <AnMaster_ipv6> there it is from top of stack
16:41:05 <AnMaster_ipv6> and translate to "from base"
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:46 <AnMaster_ipv6> ais523, did that answer the question?
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:41:53 <ais523> yes, it answers it
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:33 <ehird> oh.
16:43:35 <ehird> sounds boring.
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:41 <AnMaster_ipv6> hm might work
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:03 <AnMaster_ipv6> yes indeed
16:45:38 <AnMaster_ipv6> ais523, potentially you could also do lazy calculations on these areas I guess
16:45:42 <AnMaster_ipv6> like if someone add them up
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:13 <AnMaster_ipv6> but hm
16:46:24 <ehird> how
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:29 <ehird> to the max
16:46:43 <AnMaster_ipv6> ais523, hm interesting idea yeah
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:47:52 <ehird> ugh
16:47:56 <AnMaster_ipv6> not really, I'm thinking about it
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:34 <AnMaster_ipv6> ais523, or that yes
16:49:42 <ais523> until they change, and how often does that happen?
16:49:55 <AnMaster_ipv6> ais523, well since I don't implement EVAR: never
16:50:17 <AnMaster_ipv6> and even if I did I guess I wouldn't need to invalidate it often
16:50:25 <ais523> exactly
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 <AnMaster_ipv6> ehird, fizzie already did (4"EVAR" before...
16:51:39 <oklopol_> i already made one joke with evar, but he just wouldn't get it
16:51:41 <AnMaster_ipv6> s OLD
16:51:43 <AnMaster_ipv6> so*
16:51:48 <oklopol_> no i did
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:20 <ehird> um
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:52:54 <ehird> yes
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:23 <ehird> oh
16:53:27 <ehird> I like mathematica autoformatting
16:53:27 <ehird> :\
16:53:43 <ais523> ehird: I think its autoformatting makes it impossible to see what the code's doing
16:53:49 <ehird> err
16:53:50 <ais523> just because two related things can be so far from each other
16:53:51 <ehird> okay
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:26 <ehird> ais523: yes
16:54:28 <ehird> so? :P
16:54:30 <AnMaster_ipv6> ;P
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:19 <ehird> *wow*?
16:55:20 <AnMaster_ipv6> ais523, true.
16:55:21 <ehird> what
16:55:28 <AnMaster_ipv6> ehird, what a nice idea with colour boxes
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:40 <ais523> ehird: err, ?
16:55:47 <AnMaster_ipv6> ehird, why would it be useless?
16:55:48 <ehird> ais523: they're unusable
16:55:58 <ais523> in what way?
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:23 <ehird> in idea
16:56:29 <oklopol_> that would be very useful
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:12 <AnMaster_ipv6> ehird, you tested it?
16:57:17 <oklopol_> ehird: how do you know?
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:57:56 <oklopol_> is there another possibility?
16:57:57 <ehird> your loss
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:12 <ehird> no it doesn't.
16:59:18 <ehird> oh
16:59:18 <AnMaster_ipv6> ..
16:59:19 <ais523> there's a link to download the notebook too
16:59:21 <ehird> you mean wolfram
16:59:24 <ais523> yes
16:59:32 <ehird> ais523: wolfram code is rich text
16:59:32 <ehird> so i'm not too surprised
16:59:33 <ehird> er
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
16:59:51 <ehird> yes
16:59:53 <ehird> but it isn't
16:59:54 <ehird> in general
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:43 <oklopol_> heh
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:00:59 <ais523> ehird: of course not
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:13 <oklopol_> ehird: python can do it!
17:01:18 <oklopol_> wait
17:01:21 <oklopol_> it definitely can't.
17:01:22 <ais523> I think that colour-box thing would help for reading INTERCAL expressions too
17:01:39 <AnMaster_ipv6> ehird, lisp.paste.org?
17:01:42 * AnMaster_ipv6 checks
17:01:46 <ehird> AnMaster_ipv6: paste.lisp.org
17:01:50 <AnMaster_ipv6> yeah
17:01:53 <AnMaster_ipv6> I know
17:01:53 <AnMaster_ipv6> typoed
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:12 <ehird> specifically
17:02:15 <ehird> it only highlights the parens
17:02:19 <ehird> when you hover over the body
17:02:20 <ehird> and not 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:43 <AnMaster_ipv6> indeed
17:02:44 <ehird> http://lemonodor.com/images/lisppaste-sexpr-highlighting.jpg
17:02:54 <AnMaster_ipv6> very different in fact
17:03:03 <AnMaster_ipv6> I'd say more like totally different idea
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:38 <ehird> RUN!
17:08:49 <ais523> ehird: in Scala?
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:12 <ehird> (a b c) is a.b(c)
17:09:31 <ais523> and to I/O, fwiw
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:09:52 <AnMaster_ipv6> hm ok
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:54 <AnMaster_ipv6> ah
17:10:56 * ais523 goes to stackoverflow for amusement value
17:11:02 <AnMaster_ipv6> odd that help watch doesn't list it
17:11:06 <AnMaster_ipv6> since help break does
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:26:37 <AnMaster_ipv6> meh doesn't work
17:26:44 <AnMaster_ipv6> 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 <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:33:35 <AnMaster_ipv6> fizzie, I need both directions
17:33:51 <fizzie> Both directions?
17:33:58 <AnMaster_ipv6> greater than 2000 or less than -2000
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:34:43 <AnMaster_ipv6> I already need more than gdb handles
17:34:47 <AnMaster_ipv6> anyway I found another way to do it
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:26 <AnMaster_ipv6> hm ok
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:51:38 <AnMaster_ipv6> this makes no sense at all
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:52:44 <AnMaster_ipv6> x=25 y=37: p (112)
17:52:44 <AnMaster_ipv6> Stack has 99 elements, top 5 (or less) elements:
17:52:44 <AnMaster_ipv6> -5 -5 32 463152454 -584432533
17:52:45 <AnMaster_ipv6> x=584432744 y=37: (32)
17:52:45 <AnMaster_ipv6> Stack has 96 elements, top 5 (or less) elements:
17:52:45 <AnMaster_ipv6> 463152454 -584432533 32 463152454 -584432534
17:52:52 <AnMaster_ipv6> delta not flying
17:52:58 <AnMaster_ipv6> somehow p must have an issue
17:53:02 <ais523> AnMaster_ipv6: what's the fungespace in between?
17:53:10 <ais523> oh, (32)
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:53:39 <AnMaster_ipv6> is the line
17:53:41 <AnMaster_ipv6> I just dumped it
17:53:47 <AnMaster_ipv6> ais523, and yes I checked that
17:54:25 <AnMaster_ipv6> ais523, delta is {x = 1, y = 0} all the time hm
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:55:57 <AnMaster_ipv6> not sure yet...
17:56:13 <AnMaster_ipv6> note to self: watch fungetick == 5042
17:57:11 <AnMaster_ipv6> hm storageOffset = {x = 584432564, y = -463152454}
17:57:19 <AnMaster_ipv6> Deewiant, is that normal in slowdown.b98?
17:57:40 <AnMaster_ipv6> in the code pushing coords to overwrite later
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:13 <AnMaster_ipv6> Value returned is $3 = {x = -5, y = -5}
17:58:17 <AnMaster_ipv6> yep it pops correctly
17:58:41 <AnMaster_ipv6> ais523, I can because I temporarily hard coded the random seed to srandom() :P
17:58:50 <AnMaster_ipv6> and TRDS wouldn't help here
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
17:59:36 <AnMaster_ipv6> ais523, but ptrcheck didn't either hm
18:01:06 <AnMaster_ipv6> ais523, anyway after storage offset was added it turned into:
18:01:07 <AnMaster_ipv6> $12 = {x = 584432559, y = -463152459}
18:01:09 <AnMaster_ipv6> correctly
18:01:15 <AnMaster_ipv6> since storage offset was that large yes
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:04:14 <AnMaster_ipv6> so hash library found matching key hm
18:09:32 <AnMaster_ipv6> ais523, p didn't mess it up at least
18:09:39 <AnMaster_ipv6> now in ip move forward code... hm
18:10:30 <AnMaster_ipv6> ok I see what broke I think...
18:10:56 <ais523> what was it?
18:11:22 <AnMaster_ipv6> something with bounds minimizing code
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:23 <AnMaster_ipv6> ais523, ^
18:18:24 <AnMaster_ipv6> :D
18:18:47 <ais523> oh, I see
18:18:57 <ais523> the bounds went crazy, and it was wrapping to that ridiculous point
18:18:59 <AnMaster_ipv6> ais523, it was miscalculating the bounds simply
18:19:00 <AnMaster_ipv6> yes
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:25:26 <AnMaster_ipv6> and it is not too slow.
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:31 <ais523> well, yes
18:26:43 <ais523> it's still ridiculous, just because it's correct doesn't mean it isn't ridiculous
18:26:50 <AnMaster_ipv6> slowdown is ridiculous yes
18:26:56 <AnMaster_ipv6> slowdown.b98 I mean
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:34:58 <oklopol_> :D
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:04 <ehird> 'foo
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:41 <ehird> and yes
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:42:56 <ais523> yes
18:42:58 <ais523> where else?
18:43:02 <ehird> Yes.
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:06 <ehird> hmm
18:44:07 <ehird> Not me, and I don't think it is Michael. Terje Matheson perhaps?
18:44:07 <ehird> John Carmack
18:44:08 <ais523> AnMaster_ipv6: came across it
18:44:12 <AnMaster_ipv6> ok
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:50 <ehird> they're longer
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:55 <ehird> why
18:44:58 <ehird> it's programmer lore
18:45:03 <AnMaster_ipv6> yes and?
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:30 <ehird> well
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:46 <AnMaster_ipv6> ehird, now I know your telephone number
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:45:59 <AnMaster_ipv6> meh
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:01 <AnMaster_ipv6> maybe it isn't like that in UK
18:48:05 <AnMaster_ipv6> hm
18:48:17 <AnMaster_ipv6> ehird, sorry I missed one t
18:48:22 <AnMaster_ipv6> no offence meant
18:48:32 <ehird> congrats, you join 5,000 others in missing a t
18:48:44 <AnMaster_ipv6> well, I typo lots of other words too so :/
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:02 <AnMaster_ipv6> oklopol_, UK, nothing more specific
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:20 <oklopol_> ehird: my point exactly
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:11 <psygnisfive> oh you children.
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:09 <AnMaster_ipv6> ais523, yep think so
18:51:10 <fizzie> Hexham sounds like an awesome name. Something sort of combination of witch-style cursery and ham.
18:51:36 <ehird> fizzie: exactly
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:32 <oklopol_> and you!
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:17 <ehird> <.<
18:55:25 <oklopol_> haha yeah right
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:02:57 <ais523> I haven't
19:03:24 <ais523> hmm... a #esoteric meetup would be pretty awesome, in a sense
19:03:33 <ehird> yes
19:03:38 <ehird> and also crazy
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:14 <lament> 0x5fE6Eb50C7b537aA
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:06:42 <ais523> 0xA4b5Cdef
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:09:30 <Asztal_> 0xA④b⑤Cdef?
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:02 <ehird> favourite quote
19:13:04 <AnMaster_ipv6> hm
19:13:14 <AnMaster_ipv6> fizzie, it isn't circled for me
19:13:15 <AnMaster_ipv6> meh
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:15:56 <AnMaster_ipv6> err 9
19:16:59 <fizzie> That's strange, because my xchat font is DejaVu Sans Mono 9, and the 20 is circled.
19:17:21 <AnMaster_ipv6> hm
19:21:06 <AnMaster_ipv6> - PERL is now tested with "5-1" instead of the palindromic
19:21:06 <AnMaster_ipv6> "2+2". Thanks to Alex Smith for the input.
19:21:12 <AnMaster_ipv6> ais523, that was from mycology changelog
19:21:14 <AnMaster_ipv6> some time ago
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:22:13 <AnMaster_ipv6> heh true
19:22:30 <AnMaster_ipv6> popping a string backwards is harder though
19:22:33 <ehird> 5-1?
19:22:36 <ehird> that's sacrelige
19:22:49 <AnMaster_ipv6> well I guess it depends on how you pop strings
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:34 <ehird> oh no
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:33 <AnMaster_ipv6> ais523, could you even implement that
19:30:43 <AnMaster_ipv6> or even make the language work on paper even
19:30:43 <ehird> um of course
19:30:44 <ais523> AnMaster_ipv6: I think it's implementable, although very inefficiently
19:30:51 <AnMaster_ipv6> hm
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:28 <ehird> wow
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:44 <ehird> &
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:37 <ehird> APPLESC--
19:32:40 <ais523> but it doesn't try to parse them or anything, just matches against a database
19:32:52 <AnMaster_ipv6> ais523, this would be sub-tc or?
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:16 <AnMaster_ipv6> hm
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:33:44 <ehird> ...why?
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:20 <AnMaster_ipv6> yeah
19:34:28 <ais523> "This program likes to run 25% of its loops exactly 6 times"
19:34:37 <AnMaster_ipv6> heh
19:34:42 <oklopol_> :D
19:35:02 <AnMaster_ipv6> ais523, sure this will prevent modular programming?
19:35:13 <AnMaster_ipv6> hm probably
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:35:50 <AnMaster_ipv6> yes
19:36:00 <lament> sounds like Haskell
19:36:15 <ehird> lament: troll
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:38 <AnMaster_ipv6> ais523, good question
19:36:55 <AnMaster_ipv6> ehird, yes and I'm philosophing atm :P
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:39 <ais523> ah, interesting
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:37:55 <AnMaster_ipv6> ehird, s/turing/universal &/
19:38:01 <ehird> ais523: just one
19:38:01 <ehird> AnMaster_ipv6: yes
19:38:32 <MizardX> ...or write an interpreter of a turning complete langauge.
19:38:32 <AnMaster_ipv6> hm
19:38:38 <ehird> MizardX: er
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:20 <AnMaster_ipv6> oh?
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:38 <ehird> yes
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:07 <ehird> so?
19:41:13 <ais523> you can only make a program that outputs a program that outputs hello world
19:41:32 <ehird> so?
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:09 <ehird> i am
19:42:10 <ehird> :P
19:42:23 <ais523> ehird: how is UTM defined for this?
19:42:29 <ehird> like normal
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:01 <ais523> no, not at all
19:43:04 <ais523> that's what this argument is about
19:43:29 <oklopol_> o
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:42 <AnMaster_ipv6> and that seems wrong...
19:43:44 <ehird> AnMaster_ipv6: not the same thing at all
19:43:51 <ehird> ais523: ditto
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:05 <ehird> because it's not?
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:27 <ais523> that's the compiler
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:44:58 <AnMaster_ipv6> or you could output a brainfuck interpreter even
19:45:01 <ehird> then alpaca+input is tc
19:45:04 <ais523> yes
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:05 <ais523> oklopol_: heh
19:47:14 <ais523> I'm not sure if that makes sense, but I like it anyway
19:47:16 <ais523> also, oko
19:47:53 <oklopol_> well can you decide on it?
19:48:23 <ais523> exactly
19:50:41 <AnMaster_ipv6> haha
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:13 <AnMaster_ipv6> like 3D game of life or such
19:57:20 <AnMaster_ipv6> Slereah, names of them?
19:57:24 <Slereah> Lemme check
19:57:45 <Slereah> "Esolang has a problem
19:57:45 <Slereah> Sorry! This site is experiencing technical difficulties.
19:57:45 <Slereah> Try waiting a few minutes and reloading."
19:57:50 <Slereah> I guess not
19:57:53 <AnMaster_ipv6> meh
19:57:56 <ais523> Slereah: reload instantly
19:58:04 <ais523> it's a transient bug that has been there for months
19:58:14 <AnMaster_ipv6> ais523, it is timing out for me...
19:58:18 <Slereah> Except it doesn"'t work right now
19:58:24 <ais523> hmm... might be a different bug, then
19:59:02 <AnMaster_ipv6> and now that error shows up all the time
19:59:14 <AnMaster_ipv6> "(Can't contact the database server: Too many connections (localhost))"
19:59:17 <AnMaster_ipv6> DDOS?
19:59:36 <Slereah> Onoes!
19:59:40 <AnMaster_ipv6> err what?
19:59:41 <Slereah> It's working again, I think
19:59:45 <AnMaster_ipv6> not here
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:02:36 <Slereah> 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 <AnMaster_ipv6> hm
20:05:43 <AnMaster_ipv6> 3D bully one then
20:05:45 <AnMaster_ipv6> or so?
20:06:33 <Slereah> None that I can find
20:09:36 <ehird> ais523: i wish I was caught in that!
20:09:44 <ehird> i would have bought luxemburg
20:09:53 <ehird> *luxembourg
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:20:08 <ehird> neat
20:20:37 <ehird> he ml kind
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:38:16 * oklopol_ rowns
20:42:04 -!- Sgeo has joined.
20:45:58 <Slereah> heh
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:50 <AnMaster_ipv6> can't find any "about" or such
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:53:36 <AnMaster_ipv6> hah
20:53:44 <AnMaster_ipv6> ehird, cast?
20:53:49 <AnMaster_ipv6> or that not fixed either
20:53:57 <ehird> ditto
20:54:08 <AnMaster_ipv6> ok
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
20:59:06 <oklopol_> yes
20:59:11 <oklopol_> i like it.
21:03:04 <ehird> uh oh
21:03:06 <ehird> my thumb keeps shaking
21:04:36 <oklopol_> and i keep grinding my teeth
21:04:48 <ehird> yes but this is scary
21:04:49 <ehird> I can't sotp it
21:04:51 <oklopol_> braces time soon.
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:06:37 <oklopol_> they're a bit umm distorted.
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:07:54 <lament> cock?
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:08:30 <oklopol_> lament: yes a cock
21:08:36 <oklopol_> a peniseous cock
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:21:57 <ehird>
21:22:01 <ehird> brb
21:22:02 <ehird>
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:13 <oklopol_> and my delete key got stuck.
23:00:30 <Deewiant> Oh, that's an /or/ in there
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:00 <Deewiant> a && b || (!a && c)
23:06:01 <oklopol_> well yes, that's why you can simplify it.
23:06:14 <oklopol_> WAIT
23:06:21 <oklopol_> YOU CAN'T CAN YOU NOW
23:06:39 <oklopol_> hmm
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:07:36 <oklopol_> at least directly
23:07:51 <oklopol_> *therefore
23:08:22 <oklopol_> i guess by directly i meant taking notequal into account
23:08:53 <oklopol_> (in retrospect)
23:09:02 <oklopol_> err
23:09:10 <Deewiant> (a == b) && notequal
23:09:25 <oklopol_> hmm
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:40 <oklopol_> ah
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:29 <Deewiant> fizzie: :-)
23:10:36 <Deewiant> An hour ago?
23:10:54 <fizzie> Yeah. Well, five minutes past midnight was when the returning system closed.
23:11:17 <fizzie> Midnight... uh, EEST?
23:11:25 <Deewiant> UTC+3.
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:08 <oklopol_> heh
23:15:09 <Deewiant> fizzie: Haha
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:03 <AnMaster_ipv6> night
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:05 <ehird> it's python
23:57:15 <ehird> admittedly, there's no sign() in python but you can write it
23:57:18 <ehird> or import it
←2009-04-05 2009-04-06 2009-04-07→ ↑2009 ↑all