00:00:47 <FireFly> [23:58:16] <AnMaster> [...] really rocks :)
00:01:30 <AnMaster> right way is to say jazz along
00:01:50 <FireFly> I was thinking about something once
00:01:53 <oerjan> that sounds distinctly non-geological
00:02:23 <FireFly> Translating some english named music genres into swedish sounds really awkward
00:02:46 <AnMaster> FireFly, rock and roll -> stenar och rullar?
00:02:54 <AnMaster> rock and roll -> sten och rullar
00:03:32 <AnMaster> that is the right answer I think
00:04:20 <AnMaster> rock, scissors, bag in English I think
00:04:34 <FireFly> http://www.thinkgeek.com/tshirts-apparel/unisex/generic/b597/
00:05:10 <AnMaster> impomatic, maybe. Different variation than the Swedish one then
00:06:06 <FireFly> Just that in english they s/bag/paper/
00:07:02 <ehird> rock paper scissors
00:11:45 <FireFly> http://www.thinkgeek.com/tshirts-apparel/unisex/generic/9080/ <-- a lil' tad overkill
00:24:05 -!- GreaseMonkey has joined.
00:29:40 -!- Sgeo has joined.
00:30:43 -!- impomatic has left (?).
00:33:10 <fizzie> NetHack style is a recent addition, yes.
00:33:24 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
00:33:33 <ehird> fizzie: make a fungot style
00:33:34 <fungot> ehird: you're going into the surrounding walls and ceilings of the god of craftsmen. he gazed after tron, asking himself what in the middle ages, people swinging on chandeliers, swordfights over the lower body of a horse which was swifter than the sword.
00:33:39 <fizzie> Not more than a week or so, I guess.
00:33:40 <ehird> feed it all the lines its blabbed so far
00:33:50 <Sgeo> NetHack style what?
00:34:17 <fungot> AnMaster: disenchanter: ask not, as if a deity is pushing you, my friend." " true!" she laid aside the bag, bag of gems.
00:34:58 <AnMaster> fizzie, "he gazed after tron"?
00:35:17 <fizzie> There's a Tron quote in the "grid bug" entry.
00:35:35 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
00:35:39 <fizzie> That's the files it's from.
00:37:10 <ais523> fungot: give me some nonsense
00:37:11 <fungot> ais523: ulch! that meat was painted! i'm being held prisoner in a mirror to notice. i once saw a crowd, a long sword named frost brand makes you feel cooler than you are aware of that kind. born in 1226, he crops in the dungeon it's not for the weak of heart.
00:39:46 -!- Slereah has joined.
00:42:09 <AnMaster> grammatical sense. That line made none.
00:43:05 * Sgeo paints some meat with lead
00:45:02 <ehird> " Four-core machines are already widely available, with affordable six processors on the horizon. As if that's not enough, some hard-core gamers have dual quad-core processors installed"
00:45:10 <ehird> err is it just me or are 8-core machines common
00:48:59 <fizzie> Out of pure random change, that nethack style was built with trigrams only, so for each word only the two previous ones matter when selecting it.
00:52:22 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:56:47 -!- ais523 has quit (Read error: 110 (Connection timed out)).
01:01:50 <AnMaster> fizzie, the other ones used quattrograms?
01:04:53 <fizzie> I think when it gets to >= 4 it's just n-gram with n=4 or whatever. Uni-, bi- and trigrams are the only names I've commonly heard.
01:05:49 <fizzie> Must sleep now, g'night.
01:07:42 <ehird> a=$(mktemp); (echo 'int main(int argc, char **argv){'; cat; echo 'return 0;}') | cc -x c - -o "$a" && $a
01:20:16 -!- FireFly has quit ("Later").
01:29:09 -!- olsner has joined.
01:30:36 <ehird> Rob Pike's email is r@google.com
01:31:51 <oerjan> clearly he needs us to send him some more letters
02:22:01 <ehird> http://www.plan9.bell-labs.com/wiki/plan9/why_static/
02:50:58 <Robdgreat> oh haha didn't realize this was in here
02:51:30 <Robdgreat> saw the pike comment then when I looked back in there it was gone
03:10:07 -!- Slereah_ has joined.
03:23:28 -!- Slereah has quit (Read error: 110 (Connection timed out)).
03:24:38 -!- revcompgeek has joined.
03:58:00 <Sgeo> Robdgreat, why'dyou do ".o0(stuff)"? A certain thingy for an RPG does that
03:58:40 <Robdgreat> approximates a cartoon thought bubble
03:59:18 <Sgeo> jParanoia does that
05:05:16 -!- oerjan has quit ("leaving").
06:11:14 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
06:11:59 <revcompgeek> Ans interpreter has been posted (http://esolangs.org/wiki/Ans#Interpreter)
06:35:00 -!- neldoreth has quit (Read error: 113 (No route to host)).
06:45:21 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
06:51:00 -!- Slereah has joined.
07:05:10 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:49:02 -!- Slereah_ has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:45 -!- Slereah has quit (Read error: 110 (Connection timed out)).
08:03:03 -!- Slereah has joined.
08:13:00 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
09:19:12 -!- Mony has joined.
09:28:09 -!- cherez has joined.
09:28:11 -!- cherez has quit (Remote closed the connection).
09:28:37 -!- cherez has joined.
09:28:39 -!- cherez has quit (Client Quit).
09:28:46 -!- cherez has joined.
09:28:47 -!- cherez has quit (Client Quit).
09:28:53 -!- cherez has joined.
09:28:55 -!- cherez has quit (Client Quit).
09:29:10 -!- cherez has joined.
09:29:13 -!- cherez has quit (Client Quit).
09:29:29 -!- cherez has joined.
09:29:31 -!- cherez has quit (Remote closed the connection).
09:29:56 -!- cherez has joined.
09:29:59 -!- cherez has quit (Client Quit).
09:30:27 -!- cherez has joined.
09:30:29 -!- cherez has quit (Remote closed the connection).
09:32:01 -!- cherez has joined.
09:32:08 -!- cherez has left (?).
09:39:51 <Mony> for me, it's just a word without any meaning
10:04:47 -!- andreou has joined.
10:10:52 -!- andreou has quit ("leaving").
10:11:25 -!- andreou has joined.
10:31:49 -!- kar8nga has joined.
10:35:25 -!- neldoreth has joined.
10:50:41 -!- dbc has quit (Read error: 60 (Operation timed out)).
11:01:17 -!- neldoreth has quit ("leaving").
11:01:42 -!- neldoreth has joined.
11:16:07 -!- FireFly has joined.
11:21:41 -!- BeholdMyGlory has joined.
11:27:49 <FireFly> This is yoour penis on drugs: 8=====O
11:29:28 -!- KingOfKarlsruhe has joined.
11:30:05 -!- neldoret1 has joined.
11:44:00 -!- neldoreth has quit (Read error: 113 (No route to host)).
11:56:18 <oklowob> FireFly: you talking about viagra?
11:57:05 <FireFly> I've deleted the spam, but I guess it was something similar
11:57:22 <FireFly> Reminds me of the ASCII weapons of #esoteric
12:00:12 -!- Slereah_ has joined.
12:06:46 -!- Slereah has quit (Read error: 110 (Connection timed out)).
12:14:18 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
12:23:10 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
12:34:00 -!- Mony has quit ("Quit").
12:37:18 -!- lifthras1ir has changed nick to lifthrasiir.
13:18:53 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:19:20 -!- neldoret1 has quit (Client Quit).
13:19:25 -!- neldoreth has joined.
13:34:29 -!- Slereah has joined.
13:38:22 -!- neldoreth has quit (Remote closed the connection).
13:38:27 -!- neldoreth has joined.
13:51:12 -!- neldoreth has quit ("leaving").
13:51:16 -!- neldoreth has joined.
14:07:24 * AnMaster pushes lots of changes to cfunge
14:16:39 <Deewiant> Yay, bzr assumes that gethostname() returns ASCII
14:17:53 <Deewiant> https://bugs.launchpad.net/bzr/+bug/193089
14:19:55 * AnMaster is writing changelog for ~60 new revisions atm
14:20:19 <AnMaster> Deewiant, btw I'm down to 0.036 seconds wall time for mycology when using a clean environment now. :)
14:20:45 * AnMaster wonders if lifthrasiir can beat that in Pyfunge
14:21:12 <Deewiant> Pyfunge is the next-slowest interpreter after Language::Befunge, I think
14:21:18 <Deewiant> At least of the ones that pass Mycology
14:21:24 <lifthrasiir> AnMaster: if that's goal i must speed up 100x or 200x
14:21:37 <AnMaster> lifthrasiir, heh ok. Not realistic in python I guess
14:21:50 <AnMaster> Deewiant, that is using fully buffered output though (the -b switch)
14:22:01 <AnMaster> I think it is slightly more with the default life buffered
14:22:12 <AnMaster> Deewiant, no it isn't. The specs doesn't forbid it
14:22:22 <Deewiant> "Most Significant Bit 4 (0x10): high if unbuffered standard I/O (like getch()) is in effect, low if the usual buffered variety (like scanf("%c")) is being used. "
14:22:27 <AnMaster> Deewiant, as long as I fflush() before reading any user input
14:22:33 <Deewiant> I submit that "the usual buffered variety" is line buffered for terminals
14:23:00 <AnMaster> Deewiant, scanf() isn't intrinsically line buffered
14:23:11 <AnMaster> Deewiant, also I'm talking about output not input
14:23:23 <AnMaster> input is line buffered as usual
14:23:24 <Deewiant> No, but using it on approximately all terminals will be
14:23:35 <Deewiant> And that also says I/O, the examples just happen to be input
14:24:11 <lifthrasiir> AnMaster: i just optimized an important class to get 2-3x speed-up, but yet slower...
14:24:18 <AnMaster> Deewiant, err no, it doesn't depend on terminal. It depends on setvbuf(), or implementation defined default if app didn't call it
14:25:03 <lifthrasiir> (myco takes 25-30s with some fingerprint enabled, and now takes 10s....)
14:25:05 <AnMaster> lifthrasiir, Well you can't seriously expect to beat C with some inline asm for performance critical parts (with pure C fallbacks for other compilers/platforms of course) with Python can you?
14:25:17 <AnMaster> lifthrasiir, oh, without fingerprints it is even less of course
14:25:40 <lifthrasiir> of course not all fingerprints are implemented, so it should be slower... :S
14:25:54 <Deewiant> AnMaster: Yes, and the defaults for approximately all libraries are that if it's a terminal it's line buffered
14:25:59 <AnMaster> well I don't implement them all either
14:26:26 <AnMaster> Deewiant, that is true, which is why I only enable fully buffered with -b passed
14:27:11 <AnMaster> $ env -i bash --noprofile --norc -c 'time ./cfunge -bF ../../trunk/mycology/mycology.b98 >/dev/null'
14:28:56 <lifthrasiir> is there any kind of runtime optimization, aside from bottleneck code?
14:29:00 <AnMaster> if outputting to terminal and without -b it is closer to 0.070 seconds. But that isn't really odd.
14:29:09 <AnMaster> lifthrasiir, you mean JITing or such? No
14:29:26 <AnMaster> JITing doesn't work well with threads anyway
14:29:51 <AnMaster> lifthrasiir, jitfunge (which fizzie is working on) will likely be even faster once it is done
14:29:53 <Deewiant> Hmm, so I guess you're around 2-3 times as fast as CCBI?
14:30:07 <AnMaster> Deewiant, well CCBI is much slower here
14:30:14 <Deewiant> Something like 0.1 to 0.2 seconds, right?
14:30:18 <AnMaster> maybe you have a faster computer
14:31:13 <AnMaster> give me segmentation fault huh
14:31:26 <AnMaster> Testing fingerprint SCKE... loaded.
14:31:26 <AnMaster> UNDEF: 0"1.0.0.721"H pushed 2130706433
14:31:26 <AnMaster> GOOD: P pushed 0 for socket without data
14:31:26 <AnMaster> bash: line 1: 26252 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:31:59 <Deewiant> 1.0.19 was released in january :-P
14:32:13 <Deewiant> And I think 1.0.14 fixes that one, looking at the changelog
14:33:00 <AnMaster> ok last version now segfaults in another place
14:33:01 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:33:01 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:33:01 <AnMaster> bash: line 1: 26320 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:33:25 <AnMaster> Deewiant, real 0m0.516s for reaching that point of segfault btw
14:34:06 <AnMaster> Deewiant, but this is not 100% fair anyway, my cfunge was compiled for x86_64, while your is just 32-bit. Though that is not the only reasonj
14:34:18 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:34:18 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:34:18 <AnMaster> bash: line 1: 26332 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:35:06 <AnMaster> the number in front of the Segmentation, is the PID I think
14:35:29 <Deewiant> I wonder what on earth could segv in DATE, there's practically nothing there :-P
14:35:45 <Deewiant> What's the test at that point?
14:35:47 <AnMaster> Deewiant, search me. gdb or valgrind both doesn't work properly on D source
14:36:14 <AnMaster> lifthrasiir, I just downloaded CCBI a few minutes ago from http://users.tkk.fi/~mniemenm/files/befunge/interpreters/ccbi/ccbi_linux.zip
14:36:18 <lifthrasiir> hmm... i have to install tango in mac os x...
14:36:32 <AnMaster> since I just can't build it myself
14:36:34 <Deewiant> You might want to get LDC if you want to build it
14:36:40 <AnMaster> D is the most messy language to get working
14:36:57 <Deewiant> AnMaster: LDC is pretty much unzip, cmake, and go.
14:37:11 <AnMaster> Deewiant, really? What about the stdlib thing?
14:37:25 <lifthrasiir> Deewiant: assuming LLVM is installed, right?
14:37:27 <AnMaster> Deewiant, and if you need the other one for some program?
14:37:40 <AnMaster> lifthrasiir, well I have llvm installed in ~/local/llvm-svn
14:37:53 <Deewiant> AnMaster: Then you get tangobos.
14:38:16 <AnMaster> Deewiant, short for tango-bossanova? ~
14:39:17 <AnMaster> anyway Deewiant how do you mean "what test is run"?
14:39:31 -!- kar8nga has joined.
14:39:33 <Deewiant> AnMaster: You have a working interpreter, right?
14:39:44 <AnMaster> Deewiant, yes, called cfunge indeed
14:40:45 <AnMaster> huh I get some BAD in cfunge for DATE suddenly, wth
14:41:14 <Deewiant> I think DATE just doesn't like us
14:42:09 <AnMaster> so... I'll have to go debugging GCC now I guess
14:42:25 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:42:25 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:42:25 <AnMaster> GOOD: T claims the 366th day of 2008 is 2008-12-31
14:42:25 <AnMaster> GOOD: T reflects given day 400 of 2008
14:43:03 <Deewiant> Looks like it's given a year and a doy and it gives the date
14:43:10 <AnMaster> Deewiant, I suggest reproducing it locally
14:44:18 <Deewiant> I don't have D properly set up so it'll take some work
14:44:31 <Deewiant> But yeah, I'll have to take a look at some point
14:45:26 <AnMaster> Deewiant, I have to add a notice to the README about mycology test of R in FILE is broken. I plan to release a new cfunge version very soon
14:46:08 * lifthrasiir tried to compile LDC with LLVM 2.3 (maybe)
14:46:33 <AnMaster> lifthrasiir, Btw if you compile LLVM manually, avoid using old GCCs. At least GCC 4.1.2 miscompiles LLVM.
14:46:44 <AnMaster> Silently miscompiling, resulting in runtime bugs
14:46:49 <Deewiant> Gotta love broken compilers <3
14:47:28 <AnMaster> Deewiant, oh yes. I wouldn't have noticed if I didn't bootstrap llvm-gcc.
14:48:14 -!- oerjan has joined.
14:48:31 <AnMaster> lifthrasiir, what? compiling llvm isn't hard. Just time consuming
14:48:38 <AnMaster> which is why I leave it running in the background
14:49:12 <AnMaster> lifthrasiir, it isn't really an issue. And I don't even have multi-core
14:50:36 <lifthrasiir> I know, but I have other things to do besides funge things ;)
14:51:05 <AnMaster> lifthrasiir, I use llvm for other stuff too
14:51:39 <AnMaster> Deewiant, what is the version specification for mycology? I have no idea how you would refer to a specific version of it
14:51:45 <AnMaster> as in the current last one with broke FILE check
14:52:07 <AnMaster> Deewiant, mycology? Not CCBI..
14:52:39 <oerjan> hm DMM left out the obvious tvtropes link today
14:53:05 <oerjan> maybe he has linked it before
14:55:57 <AnMaster> oerjan, what would that obvious link be?
14:56:36 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/MeanwhileInTheFuture
14:58:49 <oerjan> "The actual phrase is only ever used seriously in Fan Fic, since the only people who can say it with a straight face generally can't get published." :D
15:23:17 <AnMaster> almost 80 lines in Changelog for this release. With the major important changes.
15:24:36 -!- revcompgeek_ has joined.
15:29:18 <AnMaster> Deewiant, http://bzr.kuonet.org/cfunge/trunk/annotate/628?file_id=changelog-20080319201658-czs9f8hg18hz0xo7-2
15:29:28 <AnMaster> lifthrasiir, you may be interested too
15:32:11 <AnMaster> With mycology, RCS's 3DSP test and some tests included with the cfunge source I now have about 97% coverage of the source according to gcov. Most of the rest is code handling malloc() returning NULL and such. Branch coverage around 85% IIRC.
15:32:40 <AnMaster> (tested a few days ago, don't have the output files around any more due to slightly typoed rm command)
15:32:49 -!- revcompgeek_ has left (?).
15:40:38 -!- revcompgeek has quit (Read error: 110 (Connection timed out)).
15:46:49 -!- Mony has joined.
15:53:42 <AnMaster> lifthrasiir, did you say you used OS X?
15:57:02 <AnMaster> if yes I would like to ask a favour... If you have cmake 2.6 (or later) installed, could you try building http://kuonet.org/~anmaster/tmp/cfunge_r631.tar.bz2 on OS X? I made some changes in this version that I'm not sure will work on OS X you see..
16:06:06 -!- Dewio has joined.
16:06:21 <fizzie> "Working on" is a bit over-optimistic term in this context.
16:06:48 <AnMaster> fizzie, could you check http://kuonet.org/~anmaster/tmp/cfunge_r631.tar.bz2 on your OS X thingy? If you have it around.
16:07:53 <AnMaster> I did find one bug in the build system or possibly in FreeBSD headers, not sure yet. If cmake fails with a message about netinet/tcp.h, please comment out the line "CFUNGE_REQUIRE_INCLUDE(netinet/tcp.h)" in CMakeLists.txt. I'm working on figuring it out atm.
16:08:26 <fizzie> Guess so. It's inside our TV stand (the box we were using for DVB-watchery gave up the magic smoke) but there's always SSH.
16:09:36 <fizzie> For the record, I have "cmake version 2.6-patch 0" on that thing.
16:09:36 <AnMaster> fizzie, the main reason I'm wondering about OS X is that I did some changes to the build system regarding linker flag handling. I just hope the detection of supported linker flags works as it should on OS X...
16:09:46 <AnMaster> fizzie, that should be new enough
16:12:54 <AnMaster> aha, cmake fails to include <sys/types.h> before
16:13:05 -!- oklowob has quit ("PJIRC @ http://webirk.dy.fi").
16:13:08 <fizzie> Well, here cmake/ccmake did not complain or anything, and "make" finished the build just fine.
16:13:16 -!- oklowob has joined.
16:13:25 <fizzie> There were two warnings from lib/genx/genx.c, though.
16:13:53 <fizzie> Yes. Well, "discards qualifiers"; I guess it's usually const.
16:17:03 <lifthrasiir> AnMaster: well i tested it and it works well, though mycology reports one BAD (1R reflected).
16:17:13 <AnMaster> lifthrasiir, known bug in mycology
16:17:17 <AnMaster> Deewiant just hasn't fixed it yet
16:18:47 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
16:42:31 <ehird> 01:36 bsmntbombdood: ....plan 9 doesn't do dynamic linking?
16:44:28 <ehird> (That it doesn't.)
16:48:03 <ehird> talking to you is so pointless.
16:48:25 <AnMaster> ehird, interesting, how does it justify it? I can see there are reasons to avoid dynamic linking certainly, as well as advantages with it.
16:48:46 <ehird> There are no tangible advantages. Did you click my link? No? Do so. Or don't because the server is down actually.
16:49:18 <ehird> It's not on google cache or wayback.
16:49:24 <AnMaster> ehird, I can't see it? I unignored you like 15 minutes ago or so
16:49:30 <AnMaster> so that may be why I didn't see the link
16:49:37 <ehird> My timestamp: '01:36'
16:49:50 <AnMaster> I guess I ignored you back then
16:50:06 <AnMaster> <ehird> 01:36 bsmntbombdood: ....plan 9 doesn't do dynamic linking? <-- first line after unignoring
16:50:25 <ehird> surely this isn't hard for you to understand
16:51:19 <AnMaster> ehird, you sent that line mentioning what bsmntbombdood said at 01:36 at the time 15:41:30 in your timezone. And yes I know you commented on something way before
16:51:22 <Deewiant> http://www.plan9.bell-labs.com/wiki/plan9/why_static/ is a broken link
16:51:31 <ehird> Deewiant: I said the server is down.
16:52:27 <oklowob> is pi^e useful in any way?
16:52:57 <ehird> oklowob: being roughly 22 1/2?
16:53:23 <oklowob> i'm not sure what you're implying
16:53:47 <ehird> you may consider that a useful property
16:54:03 <oklowob> it's not that close to 22.5, and 22.5 isn't that useful
16:54:04 <Deewiant> Yes, it's a useful approximation for 22.5
16:54:25 <oklowob> i already got tons of useless answers on #math
16:55:00 <ehird> well admittedly it's .4591
16:55:06 <oklowob> my point exactly, you can't get a much worse approximation
16:55:13 <AnMaster> oklowob, why do you think it would be useful? Any specific reason?
16:55:22 <oklowob> it's listed in schaum's mathematical handbook
16:55:27 <fizzie> 72 is not a very good approximation for 22.5.
16:55:42 <ehird> fizzie: ^ = exp, sillay
16:56:06 <fizzie> ehird: Yes, I just mentioned 72 since oklowob said you couldn't get worse approximations.
16:56:08 <oklowob> fizzie: i wouldn't classify it as an approximation, since it doesn't get rounded to it using any common rule.
16:56:34 <AnMaster> ehird, what operation did you think fizzie did instead of exp?
16:57:29 <AnMaster> Does xor on a non-integer even make sense?
16:57:51 * AnMaster tries to figure out what it would do...
16:58:24 <oklowob> does it make sense on an integer?
16:59:11 <oklowob> it's an operation on the polynom (mod 2) you can represent with a binary number
16:59:20 <oklowob> on numbers it makes no sense
16:59:29 <ehird> bitwise operations are pretty stupidz as far as mathsssss goes
16:59:43 -!- ais523 has joined.
17:00:17 * ais523 wrote another Enigma level
17:00:29 <ais523> it's rather more action-oriented than the others, because I wanted to please AnMaster
17:00:43 <AnMaster> ais523, and I merged several API breakage changes back into cfunge trunk. Had to be done
17:01:05 <ehird> AnMaster: shit, all 1 users of your API will have to change their code.
17:01:10 <AnMaster> ais523, you may want to look at http://bzr.kuonet.org/cfunge/trunk/annotate/head:/ChangeLog the list is rather long
17:01:13 <ehird> in edge-case circumstances.
17:01:16 <ehird> that's disasterous
17:01:37 <ais523> ehird: I'm the only person who uses the TAEB API too, I think
17:01:41 <ais523> well, two now, me and shabble
17:01:45 <AnMaster> ehird, err. It changes the parameter count of some core functions. And renames some data type (to make the API more consistent)
17:01:53 <ais523> and I'm forever moaning about API changes in there, although it's for a good cause
17:01:59 <ehird> AnMaster: shit shit shit! your 1 users will sue you for everything you've got
17:02:05 <ehird> how can you break their enterprise applications
17:02:12 <ehird> ais523: I will be your lawyer.
17:02:13 <ais523> http://filebin.ca/gexxmq/ais52306_1.xml anyway
17:02:21 <AnMaster> ais523, what sort of level is it?
17:02:27 <ais523> AnMaster: a speed level
17:02:33 <ais523> with a bit of intelligence and knowledge too
17:03:24 * oklowob wants a database of useful reals
17:03:27 <AnMaster> what does the ais52306_1.xml mean? I mean the first bit is your nick, but the 06_1?
17:04:36 <ais523> AnMaster: there's a filename convention
17:04:48 <ais523> in this case, it's the sixth level I've started creating (although the third I've distributed)
17:04:52 <ais523> and the _1 goes up if I make a breaking change
17:05:22 <AnMaster> ais523, as in changes what max time could be or?
17:05:40 <ais523> no, that's a change to score compatibility
17:05:49 <AnMaster> yes, isn't that a breaking change?
17:05:55 <AnMaster> or what is a breaking change then
17:05:56 <ais523> the revision number, that's the _1, goes up if you change the nature of the level
17:06:10 <ais523> as in, it looks substantially different, it's a different shape, or a different concept, or whatever
17:06:30 <ais523> well, changing the revision generally changes score compat too
17:06:37 <ais523> but you can change score compat without changing the revision
17:06:42 <ais523> say if you changed the friction of the floor
17:06:48 <ais523> that would change score compat but not revision number
17:06:59 <AnMaster> IMO that would be a breaking change
17:07:06 <fizzie> oklowob: There's that old joke-"proof" for the interestingness of all natural numbers, but you must've heard that one. And interesting is not really the same as useful.
17:07:32 <AnMaster> fizzie, hm? I don't think I heard it
17:07:50 <oklowob> fizzie: yes, but you can't apply that to reals
17:08:12 <ais523> fizzie: the proof works for usefulness too
17:08:13 <ais523> unless you think there's nothing useful about the lowest useless number
17:08:18 <ehird> AnMaster: the first uninteresting number is interesting
17:08:22 <ehird> in that it's the first uninteresting number
17:08:28 <ehird> therefore, it's not uninteresting, it's interesting
17:08:33 <ehird> therefore, all numbers are interesting. QED
17:08:33 <oklowob> an interesting real is a number for which there is a turing machine that outputs their digits
17:08:52 <ehird> oklowob: err isn't that every real
17:08:56 <oklowob> mathematically speaking, actually i just want the ones that have actually been used
17:09:33 <fizzie> I'm not sure how useful even the lowest useless number is.
17:09:53 <AnMaster> fizzie, wouldn't that be -aleph_0 ?
17:10:00 <oklowob> well it's useful as an example of a useless number
17:10:12 <ehird> AnMaster: that's useful is it not
17:10:25 <ehird> does -aleph_0 even make any goddamn sense?
17:10:26 <fizzie> Well, talking of natural numbers here, to avoid that.
17:11:07 <AnMaster> why would negative infinity not make sense?
17:11:19 <ehird> err do you know what aleph 0 is
17:11:59 <AnMaster> ehird, one type of infinite. To be specific it is related to the set of all natural numbers (iirc)
17:12:53 <AnMaster> ehird, I think the word I'm looking for instead of "related" is "cardinality"
17:13:15 <ehird> That sounds distinctly like you looked it up on wikipedia
17:13:48 <AnMaster> ehird, no I didn't. I just didn't remember it at first
17:14:10 <oklowob> which part sounded like wikipedia?
17:14:28 <ehird> 16:11 AnMaster: ehird, I think the word I'm looking for instead of "related" is "cardinality"
17:14:32 <ehird> after a long delay
17:15:27 <AnMaster> ehird, yes I was grepping /usr/share/dict/words for the right word. I remembered it was something like "cardinal" but not what the ending was
17:15:52 <fizzie> I think someone here categorically defined that all interesting sets have a cardinality of at most ℵ₀.
17:16:23 <oklowob> fizzie: therefore my "doesn't work for reals" comment
17:16:35 <ehird> fizzie: reals are uninteresting? :D
17:16:37 <AnMaster> ehird, I know what I was looking for was the right word to mean "size of set" basically. Just "size of set" wasn't the correct term...
17:16:39 <ehird> also fuck you and your unicode
17:16:42 <oklowob> well not therefore, but same thing
17:16:52 <AnMaster> ehird, that unicode renders fine here?
17:17:00 <ehird> when did I say it didn't
17:17:09 <oklowob> well i assume he meant that's the biggest kinda of set all of whose members can be interesting
17:17:11 <AnMaster> why did you say "fuck you and your unicode" then?
17:17:16 <AnMaster> it sounded like you didn't like it
17:17:54 <oklowob> not liking it isn't the same as saying it doesn't render well on your computer
17:17:57 <fizzie> That subscript-0 is a bit silly in that at least here it doesn't go lower than the baseline of other text.
17:18:08 <AnMaster> oklowob, what other reason would he have for not liking it?
17:18:12 <ehird> i was implying that fizzie was pretentious for using fancy schmancy unicode to represent "N0" or "aleph0"
17:18:27 <AnMaster> fizzie, here it goes about 2 pixles below or so
17:18:35 <oklowob> AnMaster: well it might not render well on his computer
17:18:54 <oklowob> you see i'm just being pedantic
17:19:13 <oklowob> urgh one whole page of special constants to memorize
17:19:18 <AnMaster> saying \aleph_0 might be more interesting
17:19:28 <AnMaster> oklowob, why do you need to memorize them?
17:19:36 <fizzie> I just happen to think that since someone went and defined all those codepoints, I might as well use them.
17:19:39 <oklowob> because i don't remember them yet
17:19:49 <ais523> how's the enigmising going? Anyone tried the level yet?
17:20:10 <oklowob> ais523: sadly no time for that
17:20:12 <AnMaster> ais523, yes and I gave up, too stressful.
17:20:28 <oklowob> after memorizing these, need to start reading about my processor architectures
17:20:28 <ehird> ais523: lol pleasing AnMaster is impossible I think
17:20:28 <ais523> AnMaster: "stressful"?
17:20:34 <ehird> you need a relaxing action level.
17:20:39 <ais523> it's not like it's obvious whether you've won or not after 40 seconds
17:20:40 <AnMaster> oklowob, ok... I meant: why do you need to remember those constants?
17:21:32 <oklowob> AnMaster: it's an axiomatic need
17:21:37 <oklowob> i cannot break it down any further
17:21:39 <AnMaster> ais523, I think I mentioned before I like levels that are full of items to use and such. Exploring and such
17:22:00 <oklowob> i can just say something gay like "why do swallows breathe"
17:22:18 <ais523> oklowob: to verify that they're unladen
17:22:32 <ais523> AnMaster: I hate those levels, you play for 40 minutes and then one slip and you die, and you have to start again
17:23:23 <AnMaster> ais523, so you hate nethack too? You play for weeks, and then one Arch-Lich...
17:23:28 <oklowob> ais523: well okay, maybe a safer gay philosophy question would be something like "why do people want to stay alive"
17:23:52 <oklowob> AnMaster: but the games are always different
17:24:07 <oerjan> <oklowob> does it make sense on an integer?
17:24:24 <AnMaster> oklowob, ok that is true, but you could randomise enigma levels using it's scripting language.
17:24:27 <oerjan> xor = nimber addition, which makes sense not just on integers but also on transfinite ordinals
17:24:46 <oklowob> oerjan: logical xor is addition
17:25:27 <oerjan> equivalence classes of nim games
17:25:38 <oklowob> well anyway it's polynomial addition too isn't it
17:25:51 <oerjan> basically every nim game is equivalent to a single heap of a certain size
17:26:10 <oerjan> well yes. ordinal numbers have base expansions
17:26:22 <oklowob> oerjan: so it's an infinitiary number?
17:26:23 <oerjan> with infinite bases, even
17:26:36 <oklowob> polynomials are basically that
17:26:48 <oklowob> of course not so simple when you start taking modulos but anyway
17:26:53 <oerjan> well an ordinary finite nim game gives a finite heap when you add (i.e. xor)
17:27:24 <oerjan> http://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem
17:28:08 -!- oerjan has quit ("leaving").
17:30:23 <FireFly> What was the name of that golf programming page?
17:30:39 <ais523> http://golf.shinh.org http://codegolf.com are the too main onces
17:30:55 <ais523> codegolf is updated approximately 4 times in a blue moon
17:31:03 <FireFly> Ah, it was the shinh one I had in mind
17:31:35 <ehird> http://golf.shinh.org/p.rb?Walk+the+line
17:31:37 <ehird> This is my problem
17:31:40 <ehird> You know what I hate?
17:31:47 <ehird> I hate that 90% of the solutions are cheats.
17:31:49 <ehird> It's killing anagolf.
17:31:55 -!- neldoreth has quit ("Lost terminal").
17:32:04 <ehird> That's the meal of the day there all the time, just embed embed embed. No skill, no fun, shinh should ban them
17:32:08 <ais523> it's very hard to propose a puzzle where a legit solution is shorter than a cheat
17:32:15 <Deewiant> AnMaster: DATE doesn't segfault here
17:32:17 <ais523> personally I favour a technological solution
17:32:24 <ais523> like codegolf's randomly generated puzzles
17:32:30 <ais523> although it would be harder to code in
17:32:39 <ehird> Programmers are obsesesd with technological solutions
17:32:53 <ais523> well, it's a programming website, what do you expect?
17:33:13 <AnMaster> Deewiant, yay for no debugging symbolks
17:33:27 <Deewiant> I might be able to get you a debugging binary
17:33:37 <ais523> AnMaster: I seriously doubt 0x00000001 is in one of your code pages anyway
17:33:39 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
17:33:48 <AnMaster> ais523, no frame pointer I guess
17:33:51 <ais523> so that looks like stack corruption to me
17:34:14 <ais523> AnMaster: you can get a debug backtrace even without a frame pointer
17:34:20 <ais523> if you have enough information about the code, and gdb does
17:34:28 <AnMaster> ais523, no debugging symbols though
17:34:33 <ais523> and if there wasn't enough, it wouldn't even be able to give the address
17:34:46 -!- neldoreth has joined.
17:35:57 <Deewiant> AnMaster: Try http://88.114.248.232/ccbi.lzma
17:36:07 <Deewiant> (I assume you can decompress that?)
17:36:08 -!- kar8nga has joined.
17:36:40 <Deewiant> It's 7 megs big so I guess it has some info ;-P
17:36:57 <AnMaster> Deewiant, but the one you uploaded before was 32-bit
17:37:03 <Deewiant> So I guess I can just upload a new binary then :-P
17:37:09 <Deewiant> Yeah, you can try a 32-bit one too
17:38:47 <Deewiant> So I guess I'll have to roll out 1.0.20 today :-P
17:38:56 <AnMaster> Deewiant, maybe mycology update too?
17:39:14 <Deewiant> For the FILE thing at least, yes, since I've already committed the fix to CCBI ;-P
17:39:20 <AnMaster> Deewiant, I ran valgrind on that one... "==6989== ERROR SUMMARY: 11900 errors from 28 contexts (suppressed: 6 from 1)". Just wow.
17:39:33 <AnMaster> ==6989== Conditional jump or move depends on uninitialised value(s)
17:39:33 <AnMaster> ==6989== at 0x80A418C: _D3gcx3Gcx4markMFPvPvZv (in /home/arvid/src/cfunge/trunk/mycology/ccbi)
17:39:48 <AnMaster> no idea how to unmangle that one
17:39:48 <Deewiant> So the GC is broken. What else is new? ;-P
17:40:00 <Deewiant> gcx.Gcx.mark and the rest is type info
17:40:09 <Deewiant> Can't read the types myself, I think the v at the end means it returns void
17:40:12 <AnMaster> Deewiant, lots of other GC funcs too
17:40:15 <Deewiant> And Pv might mean pointer to void
17:40:41 <AnMaster> ==7004== More than 10000000 total errors detected. I'm not reporting any more.
17:40:46 <AnMaster> first time I ever seen that one
17:40:52 <AnMaster> ==7004== Final error counts will be inaccurate. Go fix your program!
17:41:05 <ais523> more than 10 million errors? How?
17:41:06 <AnMaster> ==7004== Rerun with --error-limit=no to disable this cutoff. Note
17:41:07 <AnMaster> ==7004== that errors may occur in your program without prior warning from
17:41:07 <AnMaster> ==7004== Valgrind, because errors are no longer being displayed.
17:41:31 <AnMaster> Deewiant, that was the 64-bit version btw
17:42:08 <Deewiant> But I think it might make sense since it's from scanStaticData
17:42:19 <Deewiant> And those scan* functions in general
17:42:34 <Deewiant> I mean, of course they can run into uninitialized data
17:43:19 <Deewiant> But whatever, I'm off to sauna ->
17:45:32 -!- kar8nga has quit (Remote closed the connection).
17:52:46 <AnMaster> ais523, err.. your IFFI test suite thing doesn't work
17:52:58 <AnMaster> docs say last line should be XVIII
17:53:26 <ais523> in addition to the other switches
17:53:34 <ais523> that last bit can only be tested with -a given
17:54:26 <AnMaster> right, then I'll soon push some IFFI fixes for current cfunge trunk (which will be released soon, working on some build system issues on *BSD atm)
17:54:29 <ais523> AnMaster: as it happens, I'm trying to get C-INTERCAL finished off atm
17:54:40 <ais523> for a beta release on April 1
17:54:56 <ais523> what do you think of 0.-2.0.29 as a version number?
17:54:58 <AnMaster> ais523, I was planning Mars 31
17:55:20 <AnMaster> ais523, err that is CLC style isn't it?
17:55:21 <ehird> why don't you use english dates when talking in english
17:55:57 <lifthrasiir> ais523: i have used such version once, e.g. starting at 0.9.-999, ...
17:56:46 <lifthrasiir> but i never heard of negative minor version... hmm,
17:59:27 -!- ais523_ has joined.
17:59:32 -!- ais523 has quit (Nick collision from services.).
17:59:34 -!- ais523_ has changed nick to ais523.
18:00:18 -!- ais523_ has joined.
18:03:29 <ehird> I must never use two OSes at the same time ever again.
18:03:37 <ehird> I keep using features from one in the other.
18:07:30 <Deewiant> Something in Windows that doesn't work in OS X?
18:08:10 <ais523> hmm... there are a few things that work in windows xp/vista but not os x, mostly ui paradigms
18:08:24 <ais523> for instance, going to a window via the task bar using opening-order memory
18:08:35 <ais523> in os x / windows 7, you'd use the dock instead which works differently
18:11:54 <ehird> Deewiant: os x / plan9
18:12:04 <ais523> well, those are very different I imagine
18:12:09 <ais523> although they have some things in common
18:12:12 <ehird> Deewiant: Plan 9 is good.
18:12:15 <ehird> ais523: er, they do
18:12:22 <Deewiant> ehird: So no particular reason?
18:12:23 <ehird> I mean apart from unix heritage under the seams
18:12:30 <ehird> Deewiant: It's good and I like to use it.
18:12:31 <ais523> ehird: well, they're the two OSes that I'd think are most likely to have a global spellchecker
18:12:33 <ehird> Is that a good reason? :P
18:12:39 <ais523> as opposed to a separate spellchecker in each application
18:12:51 <ehird> ais523: plan 9 doesn't really have a global spellchecker, it's manual (ie you pipe it to spell)
18:12:54 <ehird> but same sort of thinkg
18:13:06 <ehird> os x has it baked into the text input controls
18:13:43 <ais523> os x is sort of like an inside-out version of plan 9 ui-wise, in a way
18:13:51 <ais523> in plan 9, you have wrapper programs, and pipes, that process data from things
18:14:01 <ais523> in os x, each program uses libraries which make them all work the same way, from inside
18:14:07 <ehird> it's not quite so simple to spellcheck a document in acme
18:14:27 <Deewiant> ehird: How well do programs work in it? I imagine you can't find many binaries but POSIX stuff generally compiles and runs as you'd expect?
18:14:37 <ehird> Deewiant: No, it is not posix compatible.
18:14:40 <ais523> Deewiant: I think POSIX stuff would probably need porting
18:14:41 <ehird> And it does not use X11.
18:14:45 <ehird> ais523: no, there is APE
18:14:47 <Deewiant> Doesn't it emulate POSIX somehow/
18:14:47 <ehird> a posix port environment
18:14:50 <ehird> but you generally don't use it
18:14:59 <ehird> because posix programs aren't very, well, plan9.
18:15:00 <ais523> ehird: does it translate pathnames?
18:15:57 <ais523> well, even if it isn't POSIX, it would be nice to get C-INTERCAL running on Plan9
18:16:09 <ais523> after all, I got it running on DOS and that isn't POSIX either
18:16:19 <ehird> ais523: To get it working "plan9y" you'd have to change, for instance, every call of printf
18:16:24 <ehird> to use Bio and the unicode Rune sytem
18:16:32 <ehird> (it has stdio, though)
18:16:46 <ais523> there isn't a whole lot of I/O in C-INTERCAL, and what there is is confined to a few functions
18:17:10 <ais523> except for the big main() glop, but AnMaster refactored that a while back so it isn't as bad nowadays
18:17:13 <ehird> ais523: I think it also has its own replacement for the string.h functions
18:17:24 <ehird> and also, its own argument parsing facility
18:17:42 <ais523> please tell me it uses the new string-handling functions from C94
18:17:42 <Deewiant> ehird: What, ANSI C doesn't work by default?
18:17:45 <ais523> which nobody cares about
18:17:49 <ehird> ais523: It'd be a full port rather than a fixup if you wanted it to work properly
18:17:56 <ehird> Deewiant: It does work, you just shouldn't do it like that.
18:18:15 <ehird> Considering it's the same people I think they pretty much are entitled to make their C whatever they want :P
18:18:20 <ehird> Also their C does have extensions
18:18:24 <ehird> and removes some ansi things
18:18:35 <ais523> the C94 functions seem to be a perfect fit for Plan9, maybe they were invented for it
18:18:40 <ais523> after all, nobody else seems to use them
18:18:55 <ais523> they mostly handle multibyte strings
18:19:13 <ehird> plan 9 has its own, custom 16-bit unicode system called Runes
18:19:18 <ehird> (I guess it doesn't handle the astral planes)
18:19:23 <ehird> (Because they didn't exist at the time)
18:20:23 <ais523> wow, C94 is sufficiently obscure that even Google has few relevant results
18:20:35 <ais523> I'm searching for C94 199409L in an attempt to find it
18:20:51 <ais523> (199409L is the STDC_VERSION code for C94)
18:20:52 <fizzie> Everyone else seems to do the non-BMP characters as silly surrogate pairs, too. Java and something else I ran across very recently, to just mention two.
18:21:35 <Deewiant> UTF-16 does that, which is why Java and Windows and others do that.
18:22:24 <ehird> a structure or union may contained unnamed substructures and subunions; the fields of the substructures or subunions can then ebe used as if they were members of the parent structure or union
18:22:29 <ehird> (the resolution of a name conflict is unspecified)
18:22:34 <ehird> when a pointer to the outer structure r union
18:22:41 <ehird> is used in a contxt that is only legal for the unnamed substructure,
18:22:51 <ehird> the compiler promotes the typw and adjusts the pointer value to ppint at th subtructure
18:23:00 <ehird> if the unnamed struct or union is of a type with a tag name specified by a typedef
18:23:00 <ais523> C94 was basically a point relase to C89, it wasn't anything near as radical as the C99 changes
18:23:02 <ehird> statement, the unnamed struc-
18:23:08 <ehird> ture or union can be explicitly referenced by
18:23:12 <ehird> <struct variable>.<tagname>
18:23:23 <ehird> ^^^^ that's badly typed from the screen, but, also, that's pretty non-ansi
18:23:46 <ehird> this is valid int a[] = { [3] 1, [10] 5 };
18:23:47 <ehird> guess that it does
18:24:05 <ehird> int a[11]; a[3] = 1; a[10] = 5;
18:24:40 <ehird> sweet, they eliminate the linker's -l
18:24:45 <ehird> #pragma lib "foo.a"
18:24:52 <ehird> link with /$objtype/lib/foo.a
18:25:17 <ehird> heh, they accept // comments
18:25:18 <ais523> hmm... interesting; lots of compilers /can/ do it like that I think, but nobody ever does
18:25:21 <Deewiant> That's been in VC++ and D forever
18:25:28 <ehird> and their long long is 64 bit in 32 bit code
18:25:36 <Deewiant> I expect GCC has something like that as well
18:25:40 <ais523> ehird: I wouldn't be surprised if they were one of the 3 compilers in the world which were fully C99-compliant
18:25:47 <ais523> and long long is always at least 64
18:25:47 <ehird> they also support:
18:25:53 <ehird> struct foo = { .x 1, .y 3 };
18:25:57 <ais523> Deewiant: are there more nowadays?
18:26:00 <ais523> or did I remember too many?
18:26:03 <ehird> ais523: no, they're not c99
18:26:03 <ais523> there aren't a lot, I know
18:26:07 <ehird> they don't like c99, I believe
18:26:20 <ehird> "Some features of c99 [...] are implemented"
18:26:21 <ais523> Deewiant: well, IIRC Sun have a c99-compliant C compiler
18:26:42 <ehird> Deewiant: "Amazing C99 Support"
18:26:46 <ehird> does that mean "total"?
18:26:55 <ehird> c99 is probably self-contradictory
18:27:40 <ais523> personally, I think you'd be mad to use any of the C99 features which aren't supported in gcc+glibc
18:27:48 <ais523> as they do all the easy-to-implement ones, and some of the harder ones
18:27:53 <Deewiant> ehird: Well, they claim they do support C99 fully
18:28:28 <AnMaster> ehird, "<ehird> what" <-- "afk urg" meant "away from keyboard, urgent". In this case because of a bleeding nose
18:28:49 <ehird> that's gotta be one epic bleeding nose to warrant "urg" instead of "urgent"
18:29:08 <AnMaster> ehird, that would be a good description yes
18:30:42 <ehird> Where will we be ten years from now? CRT’s will be
18:30:43 <ehird> a thing of the past, multimedia will no longer be a buzzword,
18:30:44 <ehird> pen-based and voice input will be everywhere, and university
18:30:46 <ehird> students will still be editing with emacs.
18:31:00 <ehird> Add a few years and drop the pen/voice and he's dead on.
18:31:01 <AnMaster> "<ehird> ais523: To get it working "plan9y" you'd have to change, for instance, every call of printf" "<ehird> (it has stdio, though)" <-- printf is part of stdio...
18:31:07 <Deewiant> Were CRTs a thing from the past in 2002?
18:31:14 <ehird> AnMaster: that's what I meant; pls read.
18:31:18 <ehird> Deewiant: "add a few years"
18:31:20 <Deewiant> ehird: In other words, he wasn't dead on. :-P
18:31:24 <ais523> ehird: most students don't use emacs IME, Rob Pike missed the huge rise of Windows
18:31:33 <AnMaster> ehird, if it has stdio, then printf should work fine?
18:31:39 <ehird> ais523: computing students use a Real Editor, surely?
18:31:54 <Deewiant> ehird: I find that most use nano or gedit
18:31:56 <ehird> AnMaster: do you understand what 'though' means in a parenthical remark? no.
18:32:15 <ais523> ehird: here at university for programming sources they try to get us to use unpaid shareware versions of TextPad
18:32:18 <AnMaster> ehird, I see no reason to change it if it will work..
18:32:19 <ais523> although I used Emacs anyway
18:32:38 <ehird> AnMaster: because stdio is deprecated in plan 9
18:32:45 <ehird> and it won't integrate well
18:32:46 <ais523> when I don't have access to Emacs, I either use Notepad if Notepad is capable of what I'm doing (which is rare), or Notepad++ from my USB stick
18:32:57 <ehird> ha, the plan 9 c compilers's preprocessors don't support #if
18:33:05 <ais523> AnMaster: put it this way, would you write C programs using implicit int
18:33:06 <ehird> (compilers, plural, it has one per architechture)
18:33:19 <ais523> ehird: do they share front-ends?
18:33:28 <ehird> ais523: dunno. almost certainly
18:33:43 <ehird> _that's_ how you do open source.
18:34:12 <ais523> the disappointing thing is that UNIX had directories for sources, and still does IIRC, but nobody uses them
18:34:53 <ehird> ais523: /sys/src/cmd/8c just has some optimization and code generation files, so I assume the frontend is elsewhre
18:35:52 <ehird> (found by looking at 1c/mkfile)
18:36:20 <ehird> ais523: they just compile w/ the frontend files, so each binary has its own frontend
18:36:21 <ehird> but it's the same code
18:36:30 <ehird> although the same frontend per binary is just how plan 9 does it, so not surprising
18:36:58 <ais523> as for C94, ##c managed to track down some people who are still selling it, apparently the PDF costs £39.78
18:37:16 <ais523> http://infostore.saiglobal.com/store/Details.aspx?DocN=isoc00076751 but it isn't very useful
18:37:17 <ehird> tempted to buy it, that thing must be bitrotting to extinction
18:37:34 <ehird> There is a problem with the page you are trying to reach and it cannot be displayed.
18:37:34 <ehird> We apologise for the inconvenience. Please try again in a few moments.
18:37:45 <ehird> heh, they have an advert for LAW 9000: the framework for good legal practice management
18:37:49 <ais523> http://infostore.saiglobal.com/store/Details.aspx?DocN=isoc000767513
18:37:51 <ehird> it's exactly equal to nine thouuuusand
18:38:05 -!- Slereah has quit.
18:38:37 <ehird> do you think the hard copy comes with a pdf, ais523?
18:38:39 <AnMaster> <ais523> AnMaster: put it this way, would you write C programs using implicit int <-- not unless golfing
18:38:52 <ehird> (ais523: i think he missed your metaphor)
18:39:32 <AnMaster> ais523, FreeBSD uses /usr/src to contain kernel and userland. If you install them
18:39:44 <AnMaster> so what did you mean with "<ais523> the disappointing thing is that UNIX had directories for sources, and still does IIRC, but nobody uses them"
18:39:45 <ehird> if(argc > 1 && systemtype(Windows)){
18:39:56 <ehird> in the plan 9 source tree
18:39:58 <ais523> AnMaster: there are directories in the FHS for reserving source code
18:40:08 <ais523> ehird: maybe plan9 cc has been ported to Windows?
18:40:15 <ehird> ais523: but that's crazy
18:40:22 <AnMaster> ais523, which ones do you mean? /usr/src and such?
18:40:24 <ehird> because because because windows!
18:40:36 <AnMaster> well as I mentioned freebsd does use that
18:40:37 <ais523> ehird: it's no crazier than porting C-INTERCAL from UNIX to Linux to DOS
18:40:48 <ehird> sure it's more crazy
18:40:58 <ehird> because c-intercal isn't a bastion of platonic amazing purity.
18:41:26 <ais523> ehird: would you say it is more or less crazy than translating the source code of Windows into Haskell?
18:42:00 <ais523> admittedly, nobody's seriously tried that AFAIK
18:42:14 <AnMaster> ais523, that anyone even considered it amazes me
18:42:22 <ais523> well, I invented it just now
18:42:26 <fizzie> You should've added some context: if(argc > 1 && systemtype(Windows)){ print("can't assemble multiple files on windows\n"); errorexit(); }
18:42:29 <ais523> the idea of considering it, I mean
18:42:39 <ehird> fizzie: no, not assemble
18:42:47 <ehird> s/assemble/compile/
18:42:52 <fizzie> Well, this was from 2a/lex.c.
18:42:54 <ehird> also, the fact is that they took special considerations for windows.
18:42:59 <ehird> fizzie: you want cc/lex.c
18:43:05 <fizzie> I'm not sure I *want* it.
18:43:28 <AnMaster> ehird, is this plan9 or plan9port?
18:43:29 <ais523> <twkm> ais523: digraphs, <iso646.h>, more additional specification of wide and multibyte characters and additional functions and macros.
18:43:35 <ais523> <--- ##c on what's new in C94
18:43:43 -!- Slereah has joined.
18:43:44 <AnMaster> ehird, hm ok that is even odder
18:43:46 <ehird> ais523: is poppavic there?
18:44:01 <ais523> ehird: yes, but with different capitalisation
18:44:09 <ehird> I was just about to join
18:44:39 <ehird> http://ortdotlove.net/poppavic_wisdom.html
18:45:04 <ehird> every time i've been in ##c when he's there I get multi page markov-esque rants about things I didn't ask, instead of answers
18:45:23 <ais523> wow, I clicked on the "people who bought this also bought" thing for C94
18:45:28 <ais523> and there was loading for about 5 seconds
18:45:35 <ais523> it seems there's no love for C94 at all
18:45:54 * ais523 has a sudden urge to translate C-INTERCAL to C94
18:45:59 <ehird> ais523: should I get the hardback, or the pdf, or both
18:46:07 <ehird> the hardback is more awesome, the pdf is more... snippet-pastingable.
18:46:09 <ais523> ehird: what, you're actually planning to buy it, why?
18:46:13 <ehird> and the both is expensive
18:46:26 <ehird> ais523: because in 5 years, you won't be able to buy it any more, I bt
18:46:42 <ehird> also, why not buy a spec for which there are no compilers?
18:46:53 <ais523> well, I'd say that /if/ you're planning to buy it, go hardcopy for awesomeness, but I'd advise against buying it altogether
18:47:22 <ehird> I could OCR it I suppose
18:47:24 <ais523> not to mention that the PDF is probably DRMed if it's that expensive
18:47:27 <ehird> Although that would require cutting it u
18:47:31 <ais523> and so may not be copy-pastable at all
18:47:37 <ehird> ais523: PDF DRM is only relevant if your reader respects it.
18:47:41 <ais523> and why cut it up? just take photos and OCR those
18:47:51 <ehird> ais523: because it's hundreds of pages?
18:47:54 <ais523> ehird: I assumed there was encryption so that readers that didn't respect it couldn't read protected contents at all
18:48:00 <ehird> also, scanning would be far more accurate
18:48:05 <ais523> ehird: if you're only pasting snippets, you only need to OCR the snippets
18:48:13 <ehird> ais523: how does that work? accept the drm, get the text, then allow it to be copy pasted
18:48:43 <ais523> ehird: I assumed that they were encrypted somehow and Adobe only gave the privkey for decrypting to people who put DRM in their readers
18:48:58 <ehird> ais523: open source readers can read protected files
18:49:01 <ehird> and allow you to copy
18:49:22 <fizzie> PDF encryption is defined in the released spec. And it's not a asymmetric-encryption-thing.
18:49:43 <fizzie> (Not in the spec as it was originally released, but they did finally release the encryption-specific parts.)
18:50:04 <ehird> PoppaVic is so infamous that someone I've talked to from ##c started ##free-c, which is "##c sans PoppaVic" in practice
18:50:12 <fizzie> xpdf upstream does respect the DRM, though. I think at least Ubuntu or someone patched it to have a "--force"-style flag, too.
18:50:26 <ehird> fizzie: is it illegal not to or sth?
18:50:35 <AnMaster> fizzie, for kpdf it is a option in some menu iirc
18:50:37 <ais523> ehird: probably only in the US
18:50:42 <ehird> bsmntbombdood: people need to wake the fuck up and stop pointing their finger at you, right?
18:51:29 <ais523> ehird: also, I suspect that that C94 is only the diff from C89
18:51:34 <ais523> as that's how it was released originally
18:51:41 <ehird> ais523: hmm, that's less epic
18:51:44 <ais523> so you'd need C89 too to get the whole thing, and it's a lot more expensive
18:52:44 <ais523> so I suspect it isn't worth it
18:53:44 <fizzie> Debian-packaged xpdf has debian/patches/02_permissions.dpatch which adds #ifdef ENFORCE_PERMISSIONS around most of the permission-checking blocks and does not define that symbol.
18:54:09 <ehird> JOIN US NOW AND SHARE THE SOFTWARE
18:54:11 <ehird> YOU'LL BE FREE HACKERS
18:54:14 <ehird> YOU'LL BE FREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
18:54:16 <fizzie> Upstream author disagrees, though: http://www.foolabs.com/xpdf/cracking.html
18:54:22 <ehird> JOIN US NOW AND SHARE THE SOFTWARE
18:54:23 <ehird> YOU'LL BE FREE HACKERS
18:54:26 <ehird> YOU'LL BE FREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
18:54:32 <ehird> HOARDERS MAY GET PILES OF MONEY
18:54:34 <ehird> THAT IS TRUEEEEEEEEEEEEEEEEE
18:54:37 <ehird> THAT IS TRUEEEEEEEEEEEEEE
18:54:40 <ehird> Sorry, i turned into rms there.
18:55:47 <fizzie> ITYM "→" and "←" there. Another Useless Use of Unicode. (U³)
18:56:04 <ehird> fizzie: I need hotkeys for jew knee code
18:56:08 <ehird> and I don't know how to make 'em
18:56:17 <fizzie> (Notably superscript-3 is latin-1.)
18:56:52 <lifthrasiir> AnMaster: finally i managed to make PyFunge 9x faster. *sign*
18:57:01 <ehird> lifthrasiir is the pyfunge guy?
18:58:56 <AnMaster> ais523, I just pushed a patch to IFFI that makes it works against cfunge r633.
18:59:14 <ais523> where's the website to pull from, again?
18:59:20 <lifthrasiir> now mycology takes 3.5s average, compared to 30s+ for first ever version passes mycology (without any fingerprints)
18:59:51 <AnMaster> ais523, http://rage.kuonet.org/~anmaster/c-intercal/darcs/
19:00:08 <AnMaster> https://kuonet.org/~anmaster/c-intercal/darcs/ should work too btw
19:03:14 <AnMaster> ais523, there may be other changes from before you are missing
19:03:32 <ais523> AnMaster: the way darcs works, I get all the changes in your repo that aren't in mine
19:04:10 <AnMaster> but I mean, better check in case there are other things too
19:04:26 <ehird> It's time to write another toy Scheme.
19:04:31 <ehird> To try a Concurrent & Parallel gc.
19:05:52 <AnMaster> ehird, that sounds interesting, and hard
19:06:01 <bsmntbombdood> i would imagine that that is the way to make garbage collection faster than manual memory allocation
19:06:13 <ehird> bsmntbombdood: gc is already faster than manual allocation in many cases
19:06:16 <ehird> this is just an extra boost
19:06:18 <AnMaster> ehird, really? Not stopping the mutator should make things complex.
19:06:39 <ehird> AnMaster: how many freaking times will you ask that?!!
19:06:53 <ais523> ehird: well, sarcasm isn't always easy to detect
19:06:59 <AnMaster> ehird, I mean, I thought you had to care about stuff like memory barriers and so on...
19:07:06 <ais523> and by analogy, non-sarcasm isn't always easy to detect either
19:07:33 <ehird> make a new thread { fork { run mark stage. send list of unused objects back to parent }; free unused objects }
19:07:54 <ehird> bsmntbombdood: yep
19:08:02 <ehird> I saw it elsewhere before
19:08:11 <ehird> which made me talk about concurrent gc
19:08:14 <ehird> then you said the same thing
19:08:26 <AnMaster> ehird, hm so the actual collection is done in the mutator thread?
19:08:29 <ehird> bsmntbombdood: yah
19:08:35 <ehird> you do it in another thread
19:08:55 <AnMaster> ehird, which thread is the "parent" then?
19:08:57 <ehird> all of it happens in a separate thread
19:09:04 <ehird> AnMaster: GRIHAUHSAKFdhADJALS:adfs;as;d'kas
19:09:10 <ehird> it's freaking obvious
19:09:16 <ehird> did you actually read what i asid
19:10:13 <bsmntbombdood> AnMaster: if(fork()){run mark stage, return free objects to parent} else {schedule a signal handler to recieve free objects, then resume computation}
19:10:30 <ehird> bsmntbombdood: you should just do that as a thread
19:10:54 <ehird> also, mine is just one thread
19:10:59 <ehird> yours has the overhead of fork() + signal handler
19:11:07 <ehird> i guess signal handler is quite fast
19:11:48 -!- olsner has quit (Read error: 110 (Connection timed out)).
19:11:52 <ehird> bsmntbombdood: threads are as elegant as forks in theory.
19:12:02 <ehird> also it's a fuckin' gc, I think speed trumps elegance
19:13:04 <ehird> signals are the wrong way to do this
19:13:13 <ehird> bsmntbombdood: the signal handler has to execute asynchronously
19:13:19 <ehird> you can't fork() in a signal handler, iirc
19:14:02 <ehird> um when you use malloc that's what free() does.
19:14:17 <ehird> you should do the sweep while executing the program
19:14:20 <ais523> bsmntbombdood: even GC languages use malloc
19:14:22 <ais523> they just don't use free
19:14:27 <ais523> (well, normally they don't call it malloc)
19:14:28 <ehird> if you don't, my solution is more async than yours
19:14:53 <ais523> (and sometimes it's implicit in .copy() or = or whatever else makes copies in the language)
19:15:00 <bsmntbombdood> signal_handler(){ read(pipefromchild, free_objects); }
19:15:09 <ehird> bsmntbombdood: that's bullshit
19:15:10 <bsmntbombdood> and then the allocator just looks at free_objects to allocate
19:17:02 <ehird> shit, half my actions are plan 9 ones that aren't working on this system
19:17:05 <fizzie> I don't see how you can do the mark-and-sweep find-unreferenced-objects stuff while threads are running and mutating whatever they want, without doing a fork() so you get that copy-on-write "snapshot" of the process.
19:17:23 <bsmntbombdood> actually, you can just put the free map in shared memory, and then you don't even have to notify the parent of anything
19:17:33 -!- kar8nga has joined.
19:17:38 <ehird> fizzie: I do do a fork
19:17:41 <ehird> I just do a thread too
19:19:07 <ehird> i explained that like 30 mins ago AnMaster
19:19:40 <AnMaster> I was afk for phone I said. And before that you were incoherent
19:20:00 <ehird> it's not my fault that you can't understand the most basic english pseudocode possible
19:20:19 <ehird> yay, now we get to argue over who that was targeted at.
19:20:21 <fizzie> ehird: Ah, so the "overhead of fork() + signal handler" wasn't meant to imply that you don't fork around. Sorry, that's just what it sounded like.
19:20:29 <ehird> fizzie: I did the fork in another thread
19:20:33 <ehird> so the overhead was just that of creating a thread
19:20:58 <AnMaster> what would forking in another thread save you...
19:21:04 <bsmntbombdood> but you can do it without threads OR signal handlers
19:21:06 <ehird> AnMaster: not setting a signal
19:21:10 <fizzie> Uh, it's not like the fork would magically execute without consuming any resources, even if it happens in its own thread.
19:21:25 <ehird> fizzie: overhead = HOW LONG THE PROGRAM BLOCKS
19:21:27 <ehird> when a gc is triggered
19:22:03 <AnMaster> I still don't see why you would want to fork() at all.
19:22:27 <bsmntbombdood> you can't scan the object graph as it's being mutated
19:22:58 <AnMaster> bsmntbombdood, that is much less of an issue in single assignment languages
19:23:24 <ehird> the object graph still mutates when you create objects
19:24:25 <fizzie> I'm not very sure the system will keep threads running while it's doing whatever the fork machinery needs to do to get a real copy of the process with all its threads, no matter in which thread you actually call the fork(). (Admittedly I guess it should be pretty fast.) I do rather like the at-least-superficial-simplicity of (presumably) doing fork+wait+"free" in one thread, though.
19:24:59 <ehird> fizzie: fork() blocks all threads? I don't think so...
19:25:11 <AnMaster> bsmntbombdood, The fork() one does have some interesting aspects though. If a object is found to be unreferenced it would be that in the parent too even after it mutated (since you can't magically reference an unreachable object legally)
19:25:39 <fizzie> Oh, right, in a pthreadsy system the child is created with just the fork-calling thread.
19:25:41 <AnMaster> bsmntbombdood, however you can't do compacting GC this way...
19:25:50 <ehird> which is _absolutely_ what you want
19:26:26 -!- olsner has joined.
19:26:34 <AnMaster> bsmntbombdood, so there is no way to handle memory fragmentation, except having a different GC strategy that is run less often and isn't concurrent
19:26:55 <ehird> no, you can always use a concurrent gc
19:27:34 <AnMaster> ehird, btw you depend on that the Linux fork() is copy-on-write it seems. On some systems it may be a lot slower because it copies all at fork() time
19:27:50 <ehird> AnMaster: which of these systems are in actual use?
19:27:55 <ehird> tell me so that I can destroy every one of them.
19:28:00 <ais523> ehird: older versions of Sun UNIX
19:28:07 <ais523> I may have one here which doesn't cow
19:28:11 <AnMaster> ehird, Older UNIX. Windows (iirc)
19:28:11 <ehird> ais523: out of shit legacy code
19:28:12 <ais523> let me check the definition of vfork
19:28:21 <AnMaster> though it doesn't call it fork() at all
19:28:22 <ehird> which won't be running newer interps anyway
19:28:29 <ais523> AnMaster: oh, yes, cygwin fork isn't copy-on-write, but it was a big struggle to get it to work at all
19:29:08 * ais523 opens Solaris 9 running CDE 1.5
19:29:11 <AnMaster> but why couldn't you do COW without fork()? I mean, implement what the kernel is doing for COW basically
19:29:34 <AnMaster> if it is some ring-0 hardware trick I guess it wouldn't work
19:30:12 <fizzie> Pre-10 Solaris also had fork() behave as fork1() (child with just that single thread) when linked with -lpthread, but like forkall() (child with all threads) when linked with -lthread. Or that's what this Solaris 10 man page says.
19:30:13 <ais523> hmm... CDE doesn't want to load atm
19:30:24 <ais523> I suppose that ever since I got this Linux laptop, nobody's bothered to log into it at all
19:30:39 <AnMaster> I suppose you could do it by basically marking the pages as non-writable and then handle the page faults by copying the pages (and adding the writing flag back)
19:30:56 <AnMaster> if I remember how x86 works correctly
19:31:40 <AnMaster> basically it would be same thing as how swap works, except you only trigger on writing. Right?
19:32:32 * AnMaster wonders why this pdf just opened with a zoom of 400%...
19:33:39 <fizzie> Our silly 16-processor "Tru64/OSF1 V5.1a" Alpha box seems to also have been let go. How sad.
19:33:49 <ais523> "The vfork() function creates new processes without fully copying the address space of the old process."
19:33:53 <ais523> yep, Solaris 9 is non-cow
19:34:02 <bsmntbombdood> and yeah, i haven't figured how to do compaction yet
19:34:06 <AnMaster> bsmntbombdood, not pointless. Rather the cow bit is rather new
19:34:08 <fizzie> ais523: You mean lactose-intolerant?!
19:34:27 <ehird> AnMaster: it's a contractoin
19:34:53 <AnMaster> ehird, ah, not as in "ehird's client" or such then?
19:35:14 <ehird> "how cool's that?"
19:35:33 <AnMaster> I would say modernish probably or such
19:35:46 <bsmntbombdood> it's possible to have a simple compactor that runs synchronously
19:35:49 <ehird> that's ridiculous AnMaster
19:35:54 <ehird> modernish means nothing like modern's
19:36:02 -!- M0ny has joined.
19:36:02 <ehird> that makes no sense whatsoever
19:36:11 <oklowob> AnMaster: one of the meanings of "'s" is " is"
19:36:13 <AnMaster> ehird, so what would "ehird's" mean? "how ehird's car is that?"
19:36:45 <oklowob> and adjectives don't have a genetive, so in "modern's" it must be " is"
19:37:28 <AnMaster> oklowob, hm. Let me go get that English grammar book downstairs... Think it was Oxford or Cambridge...
19:37:40 <oklowob> AnMaster: have fun doing that
19:38:17 <ehird> it's just highly trivial
19:38:19 <oklowob> you've heard it in things like "it's"
19:38:24 <ehird> and I can't believe you don't know it
19:38:27 <oklowob> but you can use it pretty much anywhere.
19:39:05 <oklowob> and it's slang in that you oxford might not say it's good english.
19:39:41 <AnMaster> oklowob, oh possibly, I think it is from ~1985 anyway, so probably not worth even checking then
19:39:46 <oklowob> but then again are contractions ever
19:39:59 <ehird> Yes, in 1985 we talked like the proper gentlemen that we were.
19:40:10 <AnMaster> ehird, ah good old jolly chap!
19:40:22 <ehird> It's :jolly good old bean"
19:40:22 <AnMaster> wait.. I got them in wrong order didn't I?
19:40:23 <oklowob> it's funny because none of us were alive back then
19:40:35 <AnMaster> ehird, when is "chap" used then?
19:40:42 <ehird> never. chap is phony bullshit!
19:41:06 <AnMaster> I guess Hollywood got that wrong too :)
19:44:26 <ehird> Our moon seems to disappear during an eclipse. Some people say this is because an old lady covers the moon with her cloak. She does this so that thieves cannot steal the shiny coins on the surface. Which of these would help scientists to prove or disprove this idea?
19:44:27 <ehird> A) Collect evidence from people who believe the lady sees the thieves
19:44:29 <ehird> B) Shout to the lady that the thieves are coming
19:44:31 <ehird> C) Send a probe to the moon to search for coins
19:44:33 <ehird> D) Look for fingerprints
19:44:35 <ehird> — http://news.bbc.co.uk/1/hi/education/7967600.stm
19:47:12 <fizzie> Look for fingerprints in what, exactly?
19:47:52 <bsmntbombdood> i seem to remember memcached switching to a custom memory allocator after discovering malloc was too slow
19:48:46 <fizzie> I would think most non-mallocy memory allocation things use either sbrk to grow the data segment, or mmap to allocate.
19:48:51 <AnMaster> bsmntbombdood, simple even, 1) get some huge chunk of memory from system at the start or such, use malloc() or mmap() or whatever. From that point onwards allocate from this block
19:49:15 <ehird> 'AnMaster: uh, no shit' <-- how redundant
19:50:03 <AnMaster> bsmntbombdood, yes then you need to find a good way to allocate for your app, it might be memory pool style with fixed item sizes if you always use the same size, or some other style.
19:50:15 <AnMaster> but I thought you asked about the first step rather than the second
19:50:18 <ehird> bsmntbombdood: :DD
19:50:27 <ehird> bsmntbombdood: now try this every day and you become me
19:50:42 <AnMaster> bsmntbombdood, you weren't precise enough in your question anyway.
19:51:03 <AnMaster> I would suggest studding the source of various allocators if you want to know how they work. It can be rather interestign
19:51:35 <fizzie> The interwebs say it's a slab-style allocator. There's a free-list of all 2^n sizes for 64, 128, ... 1MB, and they just round up.
19:52:02 -!- Mony has quit (Read error: 110 (Connection timed out)).
19:52:11 <AnMaster> bsmntbombdood, "<bsmntbombdood> i wonder how that works" I interpreted as custom allocators in general
19:52:26 <fizzie> So no memory fragmentation in the classic sense, but high overhead for wonky-sized allocations.
19:53:08 <AnMaster> btw, it seems x86_64 supports the following pages sizes: 4 kb, 2 MB, 4 MB, 1 GB
19:53:21 <AnMaster> interesting jump to 1 GB there..
19:53:42 <bsmntbombdood> fizzie: you mean internal rather than external fragmentation
19:54:16 <fizzie> Linux kernel has that SLAB allocator for in-kernel use, and I think they relatively recently switched to SLUB ("unqueued allocator") as the default allocator there. I don't know how the newer one works.
19:54:40 <fizzie> "minimizes cache line usage instead of managing queues of cached objects" is about all the help text says.
19:55:00 * kerlo frowns at the idea of "A is evidence for B" meaning something other than P(A and B) > P(A)*P(B)
19:55:27 <AnMaster> fizzie, iirc they recently changed to one called "SLUB", don't know the details
19:55:39 <fizzie> That is just what I said, isn't it?
19:55:50 <ehird> fizzie: he has no scrollback, remember
19:56:20 <fizzie> A single-line window with no scrollback would make for quite a surreal IRC experience. But → really.
19:59:20 <AnMaster> ehird, I agree about finns and saunas
19:59:33 <AnMaster> even though we have saunas in Sweden too we aren't as crazy about them
20:00:42 <ehird> hey, I have my ghc setup working
20:00:56 <AnMaster> ehird, did you have issues with ghc before?
20:01:05 <ehird> AnMaster: bootstrapping ghc is a bitch.
20:01:10 <ehird> and it has some issues on os x
20:01:14 <bsmntbombdood> that "splitting the heap" thing with compacting gcs really bugs me
20:01:17 <ehird> configure.ac and stuff
20:01:30 <AnMaster> ehird, iirc they provide binaries for most platforms that are already patched?
20:01:40 <ehird> AnMaster: that they do.
20:01:52 <AnMaster> ehird, so why did you need to build your own?
20:01:57 <ehird> but they're compiled with the extralibs package, which I don't want, and for something I use as heavily as ghc I like to compile my own
20:02:27 <ehird> it'll be easier next time
20:02:33 <ehird> since I'll have a ghc already installed to bootstrap with
20:02:40 <AnMaster> btw, do you have saunas in UK?
20:02:41 <ehird> and the new build system they're making
20:02:59 <ehird> http://www.google.com/search?client=safari&rls=en-us&q=uk+sauna&ie=UTF-8&oe=UTF-8
20:03:03 <ehird> Gay Sauna Listings
20:03:03 <ehird> Gay and gay friendly sauna listings for the whole of the UK. Simple easy to read layout make the list the most comprehensive on the Internet.
20:05:14 <ehird> Deewiant: i get .cabal/config contains the stuff for docs & profiling, but what about when I'm manually installing a cabal package
20:05:20 <ehird> [like to get cabal-install's deps :P]
20:05:41 <Deewiant> ehird: runhaskell Setup.hs configure --help
20:06:15 <ehird> I don't see anything relevant
20:06:23 <Deewiant> --enable-profiling for the other
20:06:46 <ehird> haddock Generate Haddock HTML documentation.
20:06:51 <ehird> wonder if install will do that
20:07:15 * ehird modifies cabal-install's bootstrap.sh
20:07:36 <Deewiant> AnMaster: How can I make CMake use a C++ compiler which needs flags to work? It either looks for 'foo --bar' and says file not found or tries to test it using only 'foo sometestfile' which fails
20:07:54 <ehird> Deewiant: does haddock go before or after build?
20:08:06 <AnMaster> Deewiant, err you mean passing CXXFLAGS=
20:08:24 <ehird> --hoogle Generate a hoogle database
20:08:24 <AnMaster> like: CXX=foo CXXFLAGS="--blah" cmake ..
20:08:25 <Deewiant> AnMaster: I'm editing stuff in ccmake and putting them in CMAKE_CXX_FLAGS doesn't work
20:08:55 <AnMaster> Deewiant, ah you can't set CC or CXX there. Those two must be set before. Once cmake or ccmake starts they are fixed for this build directory
20:09:11 <Deewiant> Right, that makes sense. (Not!)
20:09:18 <AnMaster> Deewiant, agreed it doesn't make sense.
20:09:32 <ehird> Error during cabal-install bootstrap:
20:09:32 <ehird> The Haskell package 'parsec' is required but it is not installed.
20:09:35 <AnMaster> Deewiant, however, not sure about the flags bit if it is needed to work
20:09:44 <ehird> can't you fucking install that, dipshit program
20:09:51 <AnMaster> Deewiant, you really need to be more specific about what the issue is
20:09:54 <Deewiant> ehird: Well, it expects you have the extralibs that come with GHC
20:10:04 <ehird> Deewiant: yeah, I don't want extralibs :)
20:10:27 <Deewiant> AnMaster: I'm trying to use 'schroot -pq -- g++' as my C++ compiler.
20:11:47 <ehird> Deewiant: --prefix=${HOME}/.cabal"
20:11:53 <ehird> does that actually do anything?
20:11:55 <ehird> It has --user before
20:12:21 <AnMaster> Deewiant, the easiest way is probably creating a shell script which runs that. like #!/bin/sh\nschroot -pq -- g++ "$@"
20:12:26 <AnMaster> then using that as the C++ compiler
20:12:32 <ehird> Deewiant: there's not --enable-profiling, just --enable-{library,program}-profiling
20:12:40 <ehird> Deewiant: I assume I just want library profiling?
20:12:43 <AnMaster> Deewiant, I suspect you can do it some other way too, I just got no idea how
20:12:52 <Deewiant> ehird: Well, unless you want profiled executables. :-P
20:12:59 <ehird> Deewiant: what would that entail
20:13:08 <Deewiant> ehird: I don't know, I've never used it.
20:13:14 <AnMaster> Deewiant, stuff like: CC=$HOME/local/llvm/bin/llvm-gcc cmake .. works fine
20:13:19 <ehird> Setup.hs: At least the following dependencies are missing:
20:13:38 <Deewiant> mtl is needed by approximately every second program :-P
20:13:41 <AnMaster> kill nao? why? Apart from the lag from europe
20:14:15 <ehird> Warning: The documentation for the following packages are not installed. No
20:14:15 <ehird> links will be generated to these packages: rts-1.0
20:14:20 <ehird> Deewiant: is that normal?
20:14:29 -!- FireFly has quit ("Later").
20:14:36 <ehird> Deewiant: can you generate docs for rts?
20:15:55 <ehird> The Haskell package 'parsec' is required but it is not installed.
20:15:57 <ehird> I just installed it
20:16:11 <ehird> I installed parsec 3
20:19:22 <ehird> Deewiant: yow, profiling libs compiles everything twice
20:19:26 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:19:37 <Deewiant> ehird: Yes, that's rather the whole point
20:20:35 -!- ais523 has joined.
20:21:34 <ehird> http://gandolf.homelinux.org/~smhanov/blog/resume_comic.png "-1 Has Ph.D" s/programmers/shit \0/
20:22:19 <ehird> Deewiant: I have no .cabal/config
20:23:19 <ehird> Deewiant: You said read .cabal/config to see the defaults
20:23:25 <ehird> If I create one htf do I do that
20:23:38 <Deewiant> ehird: Have you run cabal-install even once?
20:23:50 <ehird> You can edit the cabal configuration file to set defaults:
20:23:50 <ehird> /Users/ehird/.cabal/config
20:24:43 <ehird> had to run an actual operation
20:24:44 <ehird> "Writing default configuration to /Users/ehird/.cabal/config "
20:25:24 <ehird> that was nice and easy
20:25:49 <ehird> ais523: I am about to make you scream, with just three words.
20:25:53 <ehird> ais523: "Nethack in Haskell".
20:26:12 <ais523> that doesn't make me scream
20:26:16 <ais523> I was planning to rewrite it in Prolog
20:26:16 <ehird> http://www.ioccc.org/1987/wall.hint <- Perl v0.1
20:26:43 -!- Sgeo has joined.
20:27:07 <Deewiant> Silly compilers confusing =+ and +=
20:27:40 <ehird> THINGS THAT MAKETH ME SAD: ghc doesn't work on osx/64bit
20:29:11 <ehird> THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a"
20:32:13 <Deewiant> Doesn't stop me from calling them silly :-P
20:35:00 <AnMaster> <ehird> THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a" <-- process still running invisible or something?
20:35:18 <ehird> AnMaster: forked ghc or sth
20:35:23 <ais523> why is (let a a = a) a loop anyway?
20:35:40 <ais523> I find it hard enough figuring out what it does at all
20:35:43 <AnMaster> ehird, I assume killing the relevant processes help?
20:36:03 <ehird> ehird: THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a"
20:36:03 <ehird> 19:28 ehird: a = a
20:36:04 <ais523> that makes a lot more sense
20:36:11 <ehird> ais523: let a a = a is just \x -> x
20:36:23 <ehird> ais523: because it's
20:36:23 <Deewiant> ehird: That could easily have been a correction from 'a= a' to 'a = a'
20:36:29 <ais523> do the first and second as there have different scopes?
20:36:32 <ehird> so the binding trivially shadows it
20:36:42 <ais523> it's just very confusing seeing that particular shadowing
20:36:48 <ais523> I suppose that's why shadowing is looked down on
20:37:02 <ehird> Prelude> let a a a = a a a
20:37:02 <ehird> <interactive>:1:6:
20:37:03 <ehird> Conflicting definitions for `a'
20:37:05 <ehird> In the definition of `a'
20:37:13 <ehird> Prelude> let a = \a -> \a -> \a -> a a a
20:37:13 <ehird> <interactive>:1:26:
20:37:14 <ehird> Occurs check: cannot construct the infinite type: t = t -> t -> t1
20:37:18 <ehird> So it does check for argument shadowing.
20:43:36 <ehird> cabal-install says I can upgrade cabal, haddock and process
20:43:42 <ehird> I guess upgrading cabal isn;t too clever
20:44:02 <Deewiant> No, you can do that fairly safely IME
20:44:12 <ehird> haddock and process too?
20:44:28 <ehird> why; what's wrong with upgrading process?
20:44:47 <Deewiant> Upgrading such libraries tends to break things
20:44:59 <ehird> Eh, I'll leave them unupgraded for now
20:45:01 <Deewiant> Or at least, make it hard to get them working properly :-P
20:45:07 <AnMaster> Why would cabal even offer the possibility then?
20:45:12 <ais523> what's scroll-down in less if you can't use the arrow keys?
20:45:26 <ais523> Deewiant: apparently not
20:45:29 <AnMaster> ais523, why can't you use the arrow keys though?
20:45:49 <ais523> AnMaster: because I'm using CDE over X forwarding, and it doesn't seem to like arrows
20:46:00 <ais523> and I guessed j because less is similar to vi
20:46:12 <AnMaster> ais523, enter and space works here
20:46:21 <ais523> oh, I see what happened
20:46:25 <ehird> 19:44 ehird: ais523: enter
20:46:25 <ais523> it opened more, not les
20:46:32 <ais523> and more doesn't support arrow keys
20:46:34 <ais523> ehird: enter worked fine
20:46:44 <ehird> ais523: yes, but everyone kept saying other things after
20:47:29 <AnMaster> I wonder why more even exists?
20:48:01 <ehird> what a stupid question
20:48:05 <ehird> why does ed exist?
20:49:00 <AnMaster> ais523, what do you gain with more?
20:49:19 <ais523> AnMaster: it's smaller and simpler
20:49:33 <ais523> for instance, I imagine more is a better fit for busybox than less
20:49:50 <ehird> AnMaster: more was made before less
20:49:54 <AnMaster> ais523, you don't even gain any memory unless the user scrolls down, but if the user waits until all output is produced you still have to wait as much
20:49:55 <ehird> do you want a time machine or something
20:50:00 <ais523> busybox more works, and busybox less doesn't
20:50:16 <ais523> AnMaster: more is a smaller binary than less, I imagine
20:50:25 <AnMaster> <ais523> busybox more works, and busybox less doesn't <-- it has both iirc?
20:50:27 <ehird> my more is less(1) anyway
20:50:30 <ehird> so wtf are you talking about
20:50:33 <ais523> $ ls -l `which more` `which less`
20:50:34 <ais523> -rwxr-xr-x 1 root root 30316 2008-09-25 14:08 /bin/more
20:50:36 <ais523> -rwxr-xr-x 1 root root 120884 2008-02-02 03:51 /usr/bin/less
20:50:43 <ais523> AnMaster: well, my busybox doesn't have less compiled in
20:50:48 <ais523> why would it, that's missing the point of busybox
20:50:49 <ehird> Missing filename ("less --help" for help)
20:50:59 <AnMaster> ais523, why should it have http at all?
20:50:59 <ais523> also, interesting to see that more is in /bin but less is in /usr/bin
20:51:17 <AnMaster> that is a way more interesting question
20:51:27 <ais523> that means that more has to fit on the root partition, but less can be in a separate /usr partition
20:51:40 <ais523> makes sense, you have more for troubleshooting mount problems, and the larger less for everyday use
20:52:35 <AnMaster> http://sources.busybox.net/index.py/trunk/busybox/networking/httpd.c?view=markup btw
20:52:46 <oklowob> from time to time i reduce all learning into one integer, which simply measures the time spent learning, and start wondering whether it's actually any use studying, as people will learn from everything anyway
20:53:06 <oklowob> i mean clearly there's a different learning factor for each activity
20:53:07 <ais523> wow, busybox httpd actually works on here
20:53:11 <ais523> I wonder how good the httpd is?
20:53:15 <ais523> and it makes more sense than less
20:53:21 <oklowob> if you sleep, you won't learn as much as when actually studying
20:53:26 <ais523> busybox httpd is a very small and simple httpd
20:53:31 <ais523> busybox more is a very small and simple more
20:53:34 <AnMaster> ais523, was the pun unintentional?
20:53:35 <ehird> ais523: it has a config size
20:53:42 <ehird> ais523: and does cgi
20:53:56 <ais523> ehird: still pretty simple compared to most
20:53:58 <oklowob> but for some reason my intuitive factors oscillate between sensible values, and equals for all activities
20:55:33 <ehird> ais523: that httpd is 743 lines with comments, cpp and blank lines stripped
20:55:44 <ehird> cc -E httpd.c | sed 's/#.*//' | sed '/^$/d'
20:55:51 <ehird> pretty small for its features
20:55:58 <AnMaster> ehird, it uses some commented out areas with #if 0 though
20:56:45 <AnMaster> ehird, -E would include headers though
20:58:29 <ehird> AnMaster: it ony lincludes libbb.h
20:58:33 <ehird> which I don't have, so that works fine
21:02:58 <ehird> this mouse wheel is unfortunately tall; finger that rests on it's hurting
21:03:10 <ais523> ehird: you rest a finger on the mouse wheel?
21:03:20 <ais523> when I use a mouse, I have a finger on left-click and a finger on right-click
21:03:28 <ais523> and move from left-click to wheel to use the wheel
21:03:33 <ehird> ais523: I use the scrollwheel every few seconds, and I middle click to open links in a new tab
21:03:43 <ehird> I use the middle button and wheel more than the right button
21:04:09 <ehird> index finger on left button, middle finger on scrollwheel, ring finger on right button
21:04:26 <ehird> wish I was polydactyl
21:04:42 <ehird> that would be awesom
21:04:47 <AnMaster> index finger on right, middle finger on left for me, or the opposite. I tend to use the mouse equally well with either hand
21:05:56 <AnMaster> I always move the index finger when scrolling though it seems
21:06:06 <ehird> oklowob: are you polydactyl
21:06:42 <ehird> bsmntbombdood: no, because it'd be like 35 lines in a scripting lang [for a prototype i don't care about speed]
21:06:44 <AnMaster> only issue is that I can type well with only left hand, but not with only right
21:07:48 <ehird> bsmntbombdood: fu _|_
21:08:03 <ehird> the gc itself would be trivial but i cba to write memory management shit for a proof of concept interp
21:09:14 <ehird> bsmntbombdood: i said proof of concept
21:09:33 <ehird> sure I could spend my whole life perfecting it like the boehm guys but I don't want to at first, just want to prove it works
21:09:46 <ehird> I've never seen an impl.
21:10:30 <ehird> So I want to write one.
21:11:16 <ehird> why? that's wasted work until I can prove it works well
21:11:20 <ehird> and doesn't sound as fun.
21:12:50 <AnMaster> bsmntbombdood, ehird is right in this case.
21:13:14 <ais523> AnMaster: retract that statement, not because ehird is wrong but because it'll cause a rift in the universe if you personally say that too much
21:13:37 <ehird> ais523: i'm talking with a slight swedish accent these days
21:14:35 * ais523 hopes ehird is lying, to save the integrity of their brain
21:14:58 <ehird> ais523: oh I'm sorry, do you need ~ markers to detect jokes? ;P
21:15:04 <ehird> ... AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:11 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:13 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:14 <ehird> AAAAAAAAAAAAAAAAAAAAAA
21:15:16 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:18 <AnMaster> ehird, even I saw it was a joke...
21:15:20 <ais523> but the mere possibility you weren't joking was too horrible to contemplate
21:15:30 <ehird> you all missed the metajoke
21:15:33 <AnMaster> also I thought ais523 was meta-joking...
21:15:43 <ehird> 20:14 ehird: ais523: oh I'm sorry, do you need ~ markers to detect jokes? ;P <---- this is something AnMaster would say
21:15:51 <ais523> well, I thought someone was metajoking, but I couldn't figure out who
21:16:02 <ais523> and I mentally filter out smileys
21:16:05 <ais523> they tend not to mean much anyway
21:16:06 <ehird> the AAAAAAAAAAAAAAAA was the last vestiges of ehird panicing inside
21:16:08 <AnMaster> ais523, aren't we still meta-joking?
21:16:11 <ais523> apart from :>, because it brings back fond memories
21:16:22 <ais523> wait, I think we've got up to at least two metas now
21:16:22 <AnMaster> ais523, fond memories or what?
21:16:38 <ais523> sometimes I fly around in a spaceship :>
21:16:53 <ais523> it's still parked, by the way
21:17:04 <ehird> every time I read that line I get a full mental picture of the lil' :> smiley in a tiny spaceship buzzing around space
21:17:22 <ehird> ais523: it's not parked parked; i could renew it for the regular cost right now
21:17:45 <ais523> ehird: I get a mental image of a spaceship that looks like a :>
21:18:01 <ehird> ais523: oh, that wasn't the intention, the :> was what the author of the sentence looked like
21:18:14 <ehird> I suppose a :> spaceship could work, but it's less amusing IMO
21:18:24 <AnMaster> so which side of the keyboard you prefer to put the mouse on? Or are you equally good with either side?
21:18:34 <ehird> AnMaster: er, right handed people at right sid
21:18:44 <AnMaster> ehird, I manage both equally well
21:18:51 <ehird> then you're ambidextrous
21:19:00 <AnMaster> ehird, yet I'm right handed when I use a pencil
21:19:09 <AnMaster> can't use a pencil with my left hand at all really
21:19:20 <ais523> maybe you're ambisinistrous
21:19:40 <AnMaster> oh and for fork/knife I'm definitely left handed. Always swap compared to the usual style
21:19:49 <ehird> http://moonpatio.com/vacuum/gallery/dblist.html
21:19:53 <ehird> http://moonpatio.com/vacuum/
21:20:36 <ehird> an int should be but isn't.
21:21:00 <AnMaster> bsmntbombdood, depend on *which* 64-bit platform...
21:21:11 <ehird> AnMaster: the answer is 'yes'
21:22:24 <ais523> ehird: did you try my Enigma level, btw?
21:22:42 <ehird> nope; relink and i'll dl
21:24:07 <ais523> http://filebin.ca/gexxmq/ais52306_1.xml
21:24:10 <ais523> not sure if it's still there
21:24:18 <AnMaster> ehird, Is it specified anywhere that long corresponds to machine word size?
21:24:31 <ais523> in theory int corresponds to machine word size
21:24:35 <ais523> but that fails on an 8-bit system
21:24:38 <ais523> and on some 64-bit systems
21:24:48 <ais523> in practice, long corresponds to machine word on 32 and 64 bit
21:24:52 <ais523> but in theory that's incorrect
21:25:08 <AnMaster> ais523, C99 specs indicate that long must be at least 32 bits. It specifies minimum acceptable values for LONG_MAX and such
21:25:18 <ais523> C89 indicates that long's at least 32, too
21:25:29 <ais523> which means it never corresponds to machine word if the machine word's shorter than 32
21:25:30 <AnMaster> that would fail on a 8-bit machine
21:25:40 <ais523> back when systems were either 16 or 32, int was the one that corresponded to word size
21:25:52 <ais523> but so many programmers assumed int=32 that most 64-bit C compilers also have int=32
21:26:04 <ais523> even though int=64 is theoretically correct on those
21:26:18 <AnMaster> bsmntbombdood, thus long is 64 bits in practise on 64-bit platforms, but it isn't guaranteed.
21:26:21 <ais523> (not to mention, you'd have to use int16_t to get a 16-bit int, because short would presumably be 32-bit)
21:26:24 <AnMaster> bsmntbombdood, might be useful to know
21:26:45 <ais523> in theory, long can be 128 on a 64-bit platform, but nobody does that
21:26:56 <ais523> normally even long long is 64, although it can be 128
21:27:06 <AnMaster> ais523, in practise long long is also 64 bits on 64 bit platforms iirc
21:27:24 <ais523> bsmntbombdood: only two longs can be stacked
21:27:24 <AnMaster> bsmntbombdood, syntax error I think
21:27:32 <ais523> AnMaster: no, it's equivalent to long long I think
21:27:40 <ais523> just like you can write const const int and it works, IIRC
21:27:42 <AnMaster> bsmntbombdood, use C99 and then include stdint.h. Much better
21:28:04 <AnMaster> bsmntbombdood, that is non-standard
21:28:13 <AnMaster> bsmntbombdood, most implementations doesn't have it
21:28:39 <ais523> stdint is allowed to have an int128_t by the standard
21:28:42 <ais523> but it isn't mandatory
21:28:55 <ais523> in fact, it's allowed to have an intN_t for any N
21:29:01 <ais523> even if it isn't a multiple of the bitwidth of char, IIRC
21:29:14 <ais523> although uintN_t must have N a multiple of CHAR_BIT
21:29:22 <AnMaster> ais523, that would make no sense
21:29:23 <ais523> because uintN_t can't have padding
21:29:34 <AnMaster> ais523, err... why can't they?
21:29:38 <ais523> AnMaster: yes it would, most likely it would be stored in one byte, with 3 bits value and 5 bits padding
21:29:41 <ais523> and because the standard says so
21:29:50 <SimonRC> http://i33.photobucket.com/albums/d87/peavypeavy/farnsworth.jpg
21:29:52 <AnMaster> any reason for the no padding bit?
21:30:12 <ais523> AnMaster: presumably so you can specify exact-sizes properly
21:30:24 <ais523> if you don't care about exact size, why aren't you using uint_fastN_t?
21:30:26 <AnMaster> ais523, what about bit addressable systems?
21:30:38 <ais523> AnMaster: C doesn't support those directly
21:30:42 <ais523> because CHAR_BIT has to be at least 8
21:30:49 <AnMaster> ais523, maybe because you need to optimise memory usage rather than speed in the specific application?
21:31:10 <AnMaster> ah true, forgot about that one
21:32:23 <AnMaster> why does most system only use ring 0 and ring 3? I mean there are two more levels in between on x86...
21:32:40 <AnMaster> what would they be useful for anyway?
21:35:55 -!- k has joined.
21:36:18 -!- kar8nga has quit (Nick collision from services.).
21:36:20 -!- k has changed nick to kar8nga.
21:38:19 -!- revcompgeek has joined.
21:44:48 -!- FireFly has joined.
21:54:23 <AnMaster> heh some x86 data structures are crazy
21:54:40 <SimonRC> a processor has datastructures?
21:54:42 <AnMaster> I mean 20 bit field for segment limit?
21:54:54 <AnMaster> SimonRC, stuff like TLBs, segment descriptors and such
21:55:15 <AnMaster> well not TLBs, they are the caches for the page translations
21:55:26 <SimonRC> If you can see segments, you're likely to be doing it wrong
21:55:32 <AnMaster> SimonRC, you know about interrupt vectors?
21:56:11 <SimonRC> well, the first thing most modern OSes do on the x86 is turn off segmentation
21:56:26 <AnMaster> SimonRC, well yes, but the registers are still used partly for some stuff
21:56:29 <SimonRC> what are x86 interrupt vectors like?
21:56:46 <AnMaster> SimonRC, don't remember off hand. Anyway the page entries have crazy formats too
21:57:13 -!- ais523_ has quit ("http://www.mibbit.com ajax IRC Client").
22:01:10 <AnMaster> SimonRC, the stuff it pushes on the stack though for interrupt vectors seems crazy
22:01:47 <AnMaster> SimonRC, packed odd sized words...
22:02:36 <AnMaster> SimonRC, I'm reading the AMD64 docs btw..
22:04:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
22:04:39 <AnMaster> SimonRC, ever seen the x87 saved state format? It is possibly even worse
22:04:55 <AnMaster> that is used during task switching to store and restore the register state
22:05:21 <SimonRC> 80-bit FP stack saved in a funny way?
22:05:52 <AnMaster> SimonRC, yes and SSE registers are saved into some reserved space in there :D
22:05:58 -!- revcompgeek has left (?).
22:06:54 <SimonRC> causing slow context-switches, surely?
22:08:19 <AnMaster> SimonRC, not really, also the OS can do it lazily, that is set some flag that causes an interrupt when the app tries to use floating point, thus avoiding setting it up when not used
22:08:33 <AnMaster> I know Linux makes use of that, at least in recent versions
22:09:30 <SimonRC> AnMaster: I heard of it first in Synthesis (which you must have read about)
22:10:08 <AnMaster> anyway the format of the dump from FSAVE is described using a diagram which covers two pages in the pdf
22:10:17 <SimonRC> AnMaster: (ah, you might be interested to read about the synthesis OS then)
22:10:36 -!- ais523 has joined.
22:10:59 <Deewiant> AnMaster: New CCBI/Mycology up.
22:11:15 <SimonRC> (its idea is that you don't do lots of ifs and table lookups every time someone wants to read a load of bytes froma file, instead you compile a custom reading function when the open the file.)
22:13:17 <AnMaster> SimonRC, not sure how much that would help. Also self modifying code would mean invalidating lots of cache lines
22:13:32 <AnMaster> so usually not a good idea for files
22:14:33 <ais523> what does G in STRN do?
22:15:06 <SimonRC> AnMaster: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871
22:15:25 <fizzie> ais523: Reads a zero-terminated string from funge-space with a fixed delta of x=1, y...=0.
22:15:43 <ais523> oh, and it infinite-loops if there isn't a zero
22:16:11 <ais523> well, it's pretty hard to test for a tight infinite loop using nothing but standard Befunge...
22:16:11 <Deewiant> Thanks to Mycology most interpreters actually reflect there :-P
22:16:23 <Deewiant> ais523: Yeah, that was my original thought
22:16:28 <ais523> Deewiant: how? by checking the entire Lahey-line to see if there isn't a 0?
22:16:33 <oklowob> i'm going to be a millionaire
22:16:52 <ais523> oklowob: seriously? the lottery has negative expectation, on average you lose money
22:17:08 <Deewiant> ais523: Once you've come back to where you started you know there's no 0
22:17:13 <fizzie> I'm sure oklowob's reality-warping properties can help there.
22:17:18 <oklowob> ais523: yes, but it has a great standard deviation, and that's all that matters if you only live once
22:17:30 <AnMaster> actually runtime specialising constants is a cool idea...
22:17:35 <ais523> oklowob: err... but what if you lose rather than win?
22:17:38 <ais523> that's more likely, after all
22:17:38 <AnMaster> I was considering it for cfunge (seriously)
22:17:45 -!- tombom has joined.
22:17:56 <AnMaster> I mean I can know if tracing is enabled once I parsed arguments
22:17:57 <oklowob> it's much more probably to become a millionaire playing lottery than playing a game with smaller prices and 99% expectation
22:18:17 <ais523> but on average, you'll lose more than a million pounds trying
22:18:23 <ais523> and you don't /have/ a million pounds
22:18:30 <oklowob> i won't live nearly long enough to use that much
22:18:42 <oklowob> i'll probably stop after losing a few thousand
22:18:44 <Slereah> No, but he weighs a million pounds
22:18:51 <ais523> that's a rubbish rimshot
22:18:56 <oklowob> but at least i've given perfect life a shot
22:19:06 <ais523> I wouldn't say a million is enough for a perfect life nowaday
22:19:18 <ais523> you'd be hard-pressed to buy a 1-bedroom house in Central London for that
22:19:40 <AnMaster> Deewiant, iirc you reflect if you pass the edge at all?
22:19:55 <AnMaster> Deewiant, I think that is what you made me implement as a result. IIRC
22:19:58 <SimonRC> AnMaster: ah, but the code do
22:20:00 <Deewiant> AnMaster: Possibly... that's a bug then ;-)
22:20:09 <AnMaster> Deewiant, you suggested that iirc.
22:20:09 <oklowob> sure is, you can get two pizzas every day just from the interest
22:20:21 <SimonRC> I meant, the problem of chache lines is analysed in the paper
22:20:27 <Deewiant> AnMaster: Well, it's UNDEF as usual.
22:20:38 <fizzie> Deewiant: You could also argue that since G doesn't do space-suppression, passing the edge means you have to return an infinite string.
22:20:41 <oklowob> ais523: why would i want a bigger house than i have now
22:20:43 <AnMaster> Deewiant, not going to be corrected for this version anyway
22:20:52 <Deewiant> fizzie: Ah right, that'd explain why.
22:20:54 <ais523> oklowob: not a case of bigger, it's a case of nearer
22:21:01 <ais523> and not at today's interest rates you won't
22:21:10 <oklowob> i just want to be able to universitize all my life
22:21:33 <Deewiant> Well, Funge doesn't support infinite strings.
22:21:35 <ais523> oklowob: you'd be hard-pressed even paying international university fees + accomodation on the interest from a million pounds
22:21:39 <oklowob> ais523: the uni is about 500 meters away
22:21:41 <Deewiant> So reflecting is the only option.
22:22:27 <oklowob> international maybe not. finnish definitely yes.
22:22:30 <AnMaster> Deewiant, indeed. Also you could argue that it was due to OOM. My computer doesn't support a string that is 2^31 chars (and even less 2^63)
22:22:31 <fizzie> Deewiant: You could fake it by marking that particular stack-stack to return 32 on underflow instead of 0. Although then there's y and such.
22:22:39 <AnMaster> Deewiant, I have 1.5 GB RAM "only"
22:23:05 <AnMaster> though you could write a bit at either extreme
22:23:31 <Deewiant> AnMaster: And yes, that's exactly why.
22:23:54 <AnMaster> Deewiant, anyway I think fizzie's explanation makes sense
22:24:03 <AnMaster> which is why I will continue to reflect
22:24:39 <Deewiant> Are you sure? You could save a few cycles by looping infinitely ;-)
22:25:09 <AnMaster> Deewiant, profiling doesn't show it as a major bottle neck currently
22:25:16 <AnMaster> I prefer to spend time where it actually helps
22:25:29 <Deewiant> AnMaster: For kicks you can try the 64-bit CCBI binary and see how slow it is
22:25:46 <AnMaster> Deewiant, 32-bit or 64-bit funge space?
22:26:05 <Deewiant> I'm not sure actually. Probably 32-bit.
22:26:37 <AnMaster> Deewiant, I thought it was D not C..?
22:26:53 <Deewiant> AnMaster: I've told you many times before that the D standard libraries include the C standard library.
22:27:14 <AnMaster> Deewiant, well here that ends up as 64-bit
22:27:18 <fizzie> On this box, based on a very cursory header-look, I've got an 8-bit int_fast8_t, and 64-bit in_fast{16,32,64}_t.
22:27:22 <AnMaster> hope your y reflects that correctly Deewiant?
22:27:26 * ais523 wonders how easy it would be to write a Funge-98-like interp that gets a BAD on every single test in Mycology that it can without exiting, yet nevertheless manages to run through to the end
22:27:27 -!- GregorR has quit (Connection timed out).
22:27:31 -!- GregorR has joined.
22:27:59 <AnMaster> anyway that is plain wrong. 32-bit funge space is always faster for cfunge on x86/x86_64
22:28:26 <AnMaster> ais523, there are a few tests you must do GOOD on to continue though
22:28:56 <ais523> yes, I know, that's why I said "without exiting"
22:28:57 <oklowob> can someone link current mycology?
22:29:11 <ais523> even more interestingly, is it possible to fail sanity.bf yet pass mycology.bf?
22:29:28 <AnMaster> replace ccbi-linux/changelog.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
22:29:52 <ais523> well, maybe it might fail on small files for some reason
22:30:23 <AnMaster> Deewiant, you managed to get the +x bit correct this time. Congrats!
22:31:04 <oklowob> Deewiant: that's not current mycology, but thanks anyway
22:31:15 <AnMaster> Deewiant, then D differs from C.
22:31:29 <AnMaster> $ time ~/src/cfunge/trunk/other/ccbi/ccbi_linux/ccbi.32 mycology.b98 >/dev/null
22:31:42 <AnMaster> time ~/src/cfunge/trunk/other/ccbi/ccbi_linux/ccbi.64 mycology.b98 >/dev/null
22:32:11 <AnMaster> Deewiant, still quite a bit to go to reach even cfunge with full env and output to stdout
22:32:16 <oklowob> Deewiant: yes, that's why i thanked
22:32:34 -!- neldoret1 has joined.
22:32:35 <AnMaster> Deewiant, when not redirecting ccbi to /dev/null I get times around real 0m0.812s
22:32:52 <AnMaster> and 0m0.895s for the 64-bit one
22:32:54 <oklowob> got that's a lot of befunge
22:32:59 <Deewiant> I wonder why the 32-bit one is faster.
22:33:20 <oklowob> probably asked this, but is that time traveling thing tested? (TRDS?)
22:33:23 <AnMaster> Deewiant, no idea. Maybe your compiler sucks?
22:33:27 <Deewiant> oklowob: mycotrds.b98 is there.
22:33:31 <AnMaster> Deewiant, also didn't you test locally?
22:33:43 <AnMaster> Deewiant, that should work well
22:33:54 -!- revcompgeek has joined.
22:33:56 <AnMaster> Deewiant, what CPU did you optimise for though?
22:34:10 <AnMaster> for me you would need whatever means the same as GCC's -march=k8
22:35:24 <Deewiant> For LDC it's -mcpu and not -march, evidently. In any case, I guess it's best to not do anything for public binaries.
22:36:38 <ais523> Deewiant: I've just noticed something in your Mycology testing output
22:36:42 -!- neldoreth has quit (No route to host).
22:36:44 <AnMaster> Deewiant, oh ok. I always do that when comparing. setting CFLAGS='-O3 -march=k8 -msse3' at least
22:36:49 <ais523> you're marking programs as wrong when they claim the path separator is / on Windows
22:36:59 <AnMaster> -O3 -march=k8 -msse3 -ftree-vectorise -DNDEBUG -pipe -fweb -ftracer -frename-registers -fprefetch-loop-arrays -fomit-frame-pointer -fmodulo-sched -fgcse-sm -fgcse-las -fgcse-after-reload -funsafe-loop-optimizations -fno-math-errno -fno-trapping-math -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvariable-expansion-in-unroller -fbranch-target-load-optimize
22:37:08 <ais523> modern Windows supports either / or \ as the path separator, certain methods of determining the separator on Windows give / as the output
22:37:10 <ais523> because after all it works
22:37:38 <Deewiant> ais523: It doesn't work in all contexts, which is why I'd prefer \.
22:37:54 <ais523> \ doesn't work in all contexts either, IIRC
22:37:58 * AnMaster waits for anyone to comment on that list above...
22:37:59 <Deewiant> AnMaster: I wonder how much difference the UPX compression makes?
22:38:09 <AnMaster> Deewiant, oh that would slow down definitely
22:38:10 <ais523> I'm not entirely sure, I haven't used Windows for ages
22:38:16 <ais523> but if you're trying to create a file called CON or something
22:38:28 <ais523> there's a trick involving multiple forwards slashes and various other incantations
22:38:31 <AnMaster> Deewiant, I don't remember. time it yourself
22:38:39 <AnMaster> Deewiant, I haven't used UPX for years
22:38:51 <ais523> oh, apparently prefixing \\.\ works too
22:38:57 <ais523> so maybe it can be done with just backslashes
22:39:08 <Deewiant> AnMaster: I don't have cfunge to test against, since bzr is broken.
22:39:20 <AnMaster> Deewiant, your bzr is broken? huh
22:39:28 <AnMaster> Deewiant, even 0.92 should work iirc...
22:39:28 <Deewiant> AnMaster: Not mine, all bzr are broken.
22:39:35 <Deewiant> AnMaster: I posted the bug report earlier today.
22:39:35 -!- oerjan has joined.
22:39:36 <fizzie> Should've used ctdrl, eh?
22:39:37 <AnMaster> Deewiant, what do you mean all bzr are broken?
22:39:45 <AnMaster> Deewiant, how are they broken?
22:39:48 <Deewiant> 2009-03-28 15:15:34 ( Deewiant) Yay, bzr assumes that gethostname() returns ASCII
22:39:52 <Deewiant> 2009-03-28 15:16:48 ( Deewiant) https://bugs.launchpad.net/bzr/+bug/193089
22:39:59 <lifthrasiir> i spent all night optimizing PyFunge... (it's 6:30 AM here) it's now 20x faster than original. hmm.
22:40:06 <AnMaster> Deewiant, err how does that affect cfunge?
22:40:19 <Deewiant> AnMaster: It means that no matter what bzr command I run it crashes at start.
22:40:32 <AnMaster> 20.82.202.67.in-addr.arpa domain name pointer rage.kuonet.org.
22:40:41 <Deewiant> AnMaster: My hostname, not yours.
22:40:50 * oerjan ponders an alternative way of making unlambda palindromes
22:41:05 <Deewiant> AnMaster: -mcpu=core2 made practically no difference for CCBI here, maybe 0.01s.
22:41:09 <AnMaster> Deewiant, Read the last comment to that bug
22:41:13 <AnMaster> Deewiant, I don't have a core2
22:41:25 <Deewiant> AnMaster: Yes, but I do, my point being that the difference is likely to be small.
22:41:30 <AnMaster> Deewiant, anyway for cfunge -msse3 does make a difference since I use -ftree-vectorise
22:41:41 <Deewiant> AnMaster: Yes, I read it and laughed: "we should probably" a year ago.
22:41:45 <ais523> how can every bzr everywhere be broken
22:41:52 <ais523> surely they wouldn't have pushed an update that didn't work?
22:42:03 <Deewiant> ais523: A bug tends to affect all binaries, not just one. ;-)
22:42:18 <ais523> Deewiant: I mean, why didn't they test before distributing the binaries?
22:42:20 <Deewiant> ais523: Of course, whether that bug affects you or not depends on various things, but the bug still exists.
22:42:24 <AnMaster> ais523, it is broken when you have a hostname like ööö.lan
22:42:27 <fizzie> Deewiant: I hate to say it, but I think it's your fault for having a "funny" hostname.
22:42:34 <ais523> it's not "why does the bug affect all binaries", but "why did they let everyone have a buggy binary"
22:42:42 <lifthrasiir> Deewiant: is the non-ascii hostname common btw?
22:42:45 <Deewiant> ais523: Bugs happen, you can't fix them all.
22:42:54 <Deewiant> fizzie: Yeah, I figured someone would say that. :-P
22:42:57 <ais523> lifthrasiir: does PyFunge pass Mycology yet?
22:43:02 <AnMaster> Deewiant, actually is that even valid? I mean DNS uses the odd -- notation for a reason
22:43:10 <Deewiant> AnMaster: No reason why it shouldn't be.
22:43:15 <AnMaster> I have to agree with fizzie here
22:43:52 <AnMaster> Deewiant, anyway, fix your hostname I'd say
22:44:16 <oerjan> um i thought there was international agreement that unicode hostnames were to be made legal
22:44:18 <AnMaster> Deewiant, I think it isn't valid currently.
22:44:35 <fizzie> It's not a valid DNS name as-is, but I don't see why it couldn't be a hostname.
22:44:36 <AnMaster> oerjan, err what about the punnycode thing or whatever the name was.
22:44:41 <Deewiant> AnMaster: I'd rather that programs wouldn't do stupid things like crash on non-ASCII.
22:44:53 <AnMaster> anyway why should it care about encoding at all
22:44:59 <AnMaster> it is just bytes for gods sake
22:45:09 <oerjan> AnMaster: i didn't read the conversation
22:45:10 <Deewiant> AnMaster: It is also X.org and KDE.
22:45:11 <AnMaster> it is a high level unicodeish stringy
22:45:15 <fizzie> Well, they need to show the bytes to the user.
22:45:21 <Deewiant> AnMaster: Two other things that have broken.
22:45:33 <Deewiant> Or I'm not 100% sure about KDE.
22:45:39 <AnMaster> fizzie, that's up to the terminal!
22:45:49 <AnMaster> Deewiant, how should the system know what encoding is used
22:45:52 <Deewiant> But 'iceauth' in X.org had a completely pointless isascii() check for the whole of the hostname.
22:46:11 <AnMaster> Deewiant, well I use sv_SE locally on some system that has en_US for root
22:46:22 <fizzie> If you want locales, then gethostname should return the name in the current ctype.
22:46:23 <Deewiant> In any case, Postel's law, for crying out loud.
22:46:23 <AnMaster> Deewiant, still think locale makes sense?
22:46:37 <AnMaster> Deewiant, the locale that root user could differ from the user locale
22:46:39 <lifthrasiir> Deewiant: well... it seems to be unbuffered I/O still get BAD
22:46:44 <Deewiant> AnMaster: So use the root user's locale?
22:46:54 <Deewiant> lifthrasiir: It shouldn't, I tested it
22:46:58 <lifthrasiir> message has been changed but condition looks same
22:47:02 <AnMaster> Deewiant, how would you be able to find that in a distro independent way?
22:47:05 <ais523> Deewiant: by the way, are you planning to get comparisons between Befunge-93 interps using Mycology-93?
22:47:17 <AnMaster> Deewiant, your idea just doesn't work.
22:47:21 <ais523> Deewiant: well, I suppose so
22:47:28 <ais523> there are lots of fun corner cases in -93 too
22:47:33 <Deewiant> AnMaster: Is there no way to find it out?
22:47:39 <ais523> for instance interfunge crashes if given a program bigger than 80x25, rather than trimming it
22:47:45 <ais523> but I think that's legit behaviour
22:47:55 <AnMaster> Deewiant, well you could have a list of distros and try to find the relevant file in /etc, which varies between distros
22:48:00 <AnMaster> some might not even have it there at all
22:48:04 <Deewiant> AnMaster: And in any case, how likely is it that you run sv_SE.iso88591 under en_US.utf8 or whatever
22:48:05 <AnMaster> but I don't think that is a good idea at all
22:48:16 <AnMaster> Deewiant, the opposite happened though
22:48:45 <Deewiant> AnMaster: In which case there'd be no special characters in the hostname since it's en_US :-P
22:48:53 <AnMaster> Deewiant, fr_CA.isowhatever for system and locally I used sv_SE.utf8
22:49:29 <AnMaster> Deewiant, I don't even remember what distro it was, it might have been bsd even
22:49:42 <AnMaster> Deewiant, anyway point is you can't really solve this
22:50:13 <AnMaster> Deewiant, how can you figure out what encoding is used?... A lot of strings could be several
22:50:19 <fizzie> Personally I would really not rather mix up gethostname and locales.
22:50:32 <AnMaster> I'd say "not a bug" for that bzr bug
22:50:36 -!- revcompgeek has left (?).
22:50:47 <Deewiant> lifthrasiir: So what's your 1y pushing??
22:51:16 <AnMaster> Deewiant, did you fix that incorrectly? heh
22:51:24 <AnMaster> as in change the text but not the check
22:51:26 <Deewiant> AnMaster: Well, it was already broken.
22:51:34 <Deewiant> AnMaster: No, I'm not that stupid. :-P
22:52:18 <Deewiant> lifthrasiir: What exact value? 0b10011?
22:52:22 <ais523> That this Funge has 1 dimensions
22:52:24 <ais523> BAD: should be 2, or we wouldn't have got this far
22:52:37 <AnMaster> ais523, it is off by one in the stack
22:52:49 <AnMaster> Deewiant, he already said 0x11
22:52:53 <ais523> still a beautiful error message though
22:52:54 <fizzie> They still could easily make the bzr code not *crash* when given strange bytes from gethostname, and that way make it more robust.
22:53:25 <AnMaster> Deewiant, you should be able to convert that to binary easily :P
22:53:40 <Deewiant> I'm no good at reading hexadecimal
22:53:54 <ais523> I'm pretty good at reading hex
22:53:58 <AnMaster> 1> io:format("~.2B~n", [16#11]).
22:54:15 <AnMaster> erlang rocks for working with unusual bases for numbers
22:54:25 <fizzie> "bc" works for that too.
22:54:31 <Deewiant> Gah, now it works only for 0b11111 or anything below 0b10000.
22:54:44 <AnMaster> Deewiant, how did you manage that?
22:55:05 <Deewiant> I don't know, but I have a hunch.
22:55:22 <AnMaster> I wonder why q(). in erlang returns you to a prompt and then quits about a second later
22:55:33 <AnMaster> I guess it is async but it seems a bit weird
22:55:45 <AnMaster> (also that is just a erlang shell mapping to init:stop() iirc)
22:56:23 -!- kar8nga has quit (Remote closed the connection).
22:56:54 <Deewiant> Man, this piece of code is starting to annoy me.
22:56:57 <AnMaster> Deewiant, interesting hostname btw. Why did you select that?
22:57:02 <Deewiant> This is like the 20th time I've fixed it.
22:57:19 <AnMaster> Deewiant, test it for all possible combinations. There aren't that many
22:57:20 <Deewiant> AnMaster: Is it visible somewhere?
22:57:39 <AnMaster> Deewiant, it says "bartimäus" in https://bugs.launchpad.net/bzr/+bug/193089 yes
22:57:43 <Deewiant> AnMaster: Yes, I know, the problem is more fixing it.
22:57:55 <AnMaster> Deewiant, I thought you said it was?
22:58:05 <AnMaster> Deewiant, so what is your host name then?
22:58:40 <fizzie> Deewiant: Yes. If it's sufficently funny, we might let you keep it.
22:58:49 <AnMaster> Deewiant, anyway my plan is to release cfunge 0.4 on Monday. Just FYI.
22:58:54 <Deewiant> I'm going to keep it anyway and bitch at broken programs
22:59:08 <fizzie> POSIX gethotname just says it returns a null-terminated array of bytes, and does not specify any limits except a maximum length of HOST_NAME_MAX bytes, so we don't even have the law on our side, really.
22:59:38 <fizzie> Heh, that would be a useful library function.
22:59:53 <fizzie> I could just call gethotname() when I need a name for a project.
23:01:05 <AnMaster> host names are defined as "network host names" it seems
23:01:18 <fizzie> Yes, but that does not really imply any rules.
23:01:58 <fizzie> The 'nodename' field for uname is defined to "contain the name of this node within an implementation-defined communications network".
23:02:45 <fizzie> And anyway, you could argue that it's legal and sensible to have a (say, UTF-8) hostname and a punycoded unicode-DNS-name pointing at that host.
23:05:36 <fizzie> OS X probably has a reasonably well-defined encoding for the host name, actually; and I'm sure non-ascii names are far more common there, since it's very logical to write funny characters in pretty dialogs.
23:05:52 <AnMaster> "it's very logical to write funny characters in pretty dialogs"
23:06:22 <Deewiant> AnMaster: Well, I guess his point was that command line users know to be careful with non-ASCII.
23:06:27 <fizzie> With an interface that pretty, I personally would have the feeling that it's okay to stuff unicode in.
23:06:59 <fizzie> Though gethostname() on OS X seems to do some sort of magic related to reverse-lookups and whatnot, based on the fact that the hostname shown in bash prompt tends to change when I connect to different wlans and such.
23:07:14 <fizzie> While the defined-in-the-pretty-dialog "computer name" does not.
23:07:37 <fizzie> Still, I'd guess it uses that name *somehow* if there's no network connection.
23:11:44 <fizzie> On that system the hostname corresponds to a kern.hostname sysctl entry, but I can't find any documentation about what "string" there means, encoding-wise. Just the property names are specified to be ASCII.
23:13:00 <AnMaster> "hostname shown in bash prompt tends to change when I connect to different wlans and such"
23:13:13 <AnMaster> fizzie, that would seriously suck
23:13:16 <fizzie> Heh, Linux sysctl syscall manpage: "Glibc does not provide a wrapper for this system call; call it using syscall(2). Or rather... don’t call it: use of this system call has long been discouraged, and it is so unloved that *it is likely to disappear in a future kernel version*. Remove it from your programs now; use the /proc/sys interface instead."
23:13:41 <fizzie> I haven't seen how to turn it on, but generally most things tend to be possible.
23:13:44 <AnMaster> fizzie, yeah because it was a pain to maintain iirc
23:14:08 <AnMaster> fizzie, for gentoo just tell dhcpcd to not accept hostname
23:14:31 <ais523> fungot: show me some nonsense
23:14:32 <fungot> ais523: mine*: made by the way. it captures its prey by remaining very still and blending into the dust; the red marble table in front of him does not imply being happy and that another covered his ears, and elrond their child. ( knight of the tatra mountains.
23:14:33 <AnMaster> dhcp_eth0="nodns nontp nonis nosendhost"
23:14:56 <AnMaster> it is because I have a local caching dns server
23:15:23 <fungot> AnMaster: trolls are born again.
23:15:33 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
23:15:38 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
23:16:06 <fizzie> rumors.fal:They say that most trolls are born again.
23:16:59 <fizzie> I'm not sure why that's classified as a false rumor, since I think trolls do revive? Unless you do something to the corpse, anyway.
23:17:09 <Deewiant> lifthrasiir: Mycology should be fixed now.
23:17:33 <Deewiant> I didn't try all 32 permutations but it really should work this time. :-P
23:17:57 <fizzie> That wikia-nethack-thing has some very "practical" methods for troll removal: "Completely fill the level with monsters so that the troll has nowhere to revive."
23:18:12 <Deewiant> lifthrasiir: Does it work now?
23:19:39 <Deewiant> http://mailman2.u.washington.edu/pipermail/alpine-info/2008-September/001220.html says that iPhones can have UTF-8 hostnames.
23:19:53 <ais523> fizzie: well, that's the only known way to get rid of the Horsemen of the Apocalypse
23:19:59 <ais523> so you may as well kill spare trolls while you're at it
23:20:02 <oerjan> ais523: `?d`?c`?d`?c`?d`?c`?d``v````````````.H.e.l.l.o.,. .W.o.r.l.di`d```````````````d`id.l.r.o.W. .,.o.l.l.e.H.````````````v``d?`c?`d?`c?`d?`c?`d?`
23:20:31 <ais523> oerjan: what does `?d do if you've never input anything?
23:20:37 <lifthrasiir> Deewiant: well, this time it doesn't work correctly with buffered i/o... :S
23:20:50 <oerjan> same as no match, iirc
23:20:54 <Deewiant> lifthrasiir: Which bit pattern?
23:21:00 <ais523> also, you're rather taking advantage of the fact that hello world ends in a legal Unlambda comman
23:21:02 <fizzie> "Death farming", what an amusing concept.
23:21:06 <lifthrasiir> i'm testing with all possible 32 combinations.
23:21:10 <ais523> fizzie: fastest way to score points
23:21:26 <oerjan> ais523: yes, but i explained on the wiki the substitution we discussed
23:21:46 <Deewiant> lifthrasiir: Oh, wait, you're right, it doesn't work here either. O_o
23:21:56 <Deewiant> I think I'm just too tired, I shouldn't be doing this now. :-P
23:22:10 <fizzie> ais523: It still sounds hilarious. "If the number of death-dropped items exceeds 32,767 on the same square, the game will probably crash, so periodically checking Death's square and redistributing the items (possibly by teleporting them away, or polymorphing them together) is necessary."
23:22:18 <Deewiant> Well, looks like it just broke the stack, the test itself works.
23:22:44 <ais523> oerjan: really? I see in the recent changes log your solution, but not an explanation of it
23:22:46 <oerjan> as for taking advantage, i have a feeling it should be possible for this particular case to do some of the work in the padding, e.g. by starting with `.d
23:22:48 <ais523> should I look at the actual page?
23:23:23 <oerjan> it mentions the substitution
23:23:27 <lifthrasiir> yes the test works. sanity test (is it less than 32?) is also okay.
23:23:37 <oerjan> of course i don't use it here because it's unnecessary
23:24:11 <Deewiant> There's a 0 on the stack; where is it coming from, I wonder?
23:24:32 * lifthrasiir wonders if some crazy interpreter returns negative number for 1y
23:25:00 <AnMaster> lifthrasiir, I do in efunge for size of cells. Since it use bignums I just say -1
23:25:00 <ais523> are you using `vd`padding to get rid of the padding?
23:25:26 <oerjan> ais523: um neither wiki example avoids the padding
23:26:26 <oerjan> but if i were to let the padding do work then it would have to be v d based rather than e of course
23:27:00 <ais523> cheating in esolangs is generally allowed, though
23:27:08 <Sgeo> (_a)0*= does nothing, right?
23:27:13 <oerjan> it has the advantage that you return the right evaluated result
23:27:18 <Sgeo> Would (_a)0= make _a hold a pointer?
23:27:42 <comex> http://qoid.us/cgi-bin/scribd.cgi
23:27:52 -!- tombom has quit ("Peace and Protection 4.22.2").
23:28:26 <oerjan> ais523: until today i thought it couldn't be done without e
23:28:54 <oerjan> since the padding must start with `. or `?, and without e there is no way to avoid applying those
23:29:26 <ais523> because you'd get spurious printing?
23:29:26 <ais523> you may be able to do it with k and d, actually
23:29:26 <oerjan> (well, for general programs. since Hello, world ends with d that might still work
23:29:32 <Deewiant> lifthrasiir: That doesn't sound good ;-P
23:30:07 <lifthrasiir> Deewiant: it now screws the stack for 16(0b10000) to 31(0b11111)... i think.
23:30:18 <oerjan> um well since ?x without a previous @ always applies to v ....
23:30:34 -!- swistakm has joined.
23:30:40 <Deewiant> Hmm, you're right, why did that change do that
23:30:50 -!- calamari has joined.
23:30:53 <Deewiant> I thought this code wasn't even run for that case :-/
23:32:34 <oerjan> now if it was possible to avoid both ?x and e altogether we might have an 1.0 solution
23:33:51 <lifthrasiir> Deewiant: still same. ...well do i have the most recent version?
23:34:26 <Deewiant> Ah, that's another one where 0b11111 works but not any other unbuffered one
23:35:28 <Deewiant> I blame all my troubles on zero-terminated strings
23:35:47 <lifthrasiir> Deewiant: what do you use when editing funge code?
23:35:55 <Deewiant> Seriously, for the past 15 minutes all I've been doing is trying to zero-terminate a string
23:36:18 * SimonRC recalls a trefung editor written in trefunge somewhere
23:36:33 <Deewiant> I forget what it's called but it should be googlable
23:37:53 <Deewiant> lifthrasiir: And what do you use, then?
23:38:48 <lifthrasiir> (i tried some of combinations and all works)
23:38:55 <Deewiant> Annoying piece of string-printing code that can be entered from four different contexts :-P
23:39:04 <fizzie> I don't think there is such a thing as a GLfunge editor mode.
23:39:34 <fizzie> Although certainly there was a vision of one.
23:40:06 <lifthrasiir> i just looked up man pages from google, so obviously i don't know whether it is implemented.
23:40:15 <Deewiant> fizzie: It has a command line option for editor mode, but it doesn't seem to do anything
23:40:28 <fizzie> Deewiant: Heh, that's sad.
23:40:32 <Deewiant> lifthrasiir: There are two Befunge editors, both of which crash quite early in Mycology
23:41:07 <SimonRC> I thought mycology was a test of interpreters, not an interpreter itself
23:41:32 <Deewiant> By 'Befunge editor' I meant 'Befunge editor'
23:41:36 <Deewiant> Not 'editor written in Befunge'
23:42:01 <Deewiant> Or strictly speaking 'Befunge editor with bundled interpreter', I guess. What other use would a Befunge editor be?
23:42:03 <fizzie> Deewiant: Your "Befunge editor" seems to imply that the editor is also capable of interpreting.
23:42:13 <Deewiant> fizzie: And yes, that's what I implied.
23:42:25 <SimonRC> Deewiant: well, it could invoke a seperate bef terp
23:42:29 <Sgeo> !glass {M[m (_t)(_o)O!(_t)(_o)o.?]}
23:42:40 <Sgeo> ..why didn't I get a response?
23:42:46 <fizzie> For Trefunge, a good editor even without a bundled interp might be good.
23:42:53 -!- ehird has left (?).
23:42:54 <Deewiant> SimonRC: But what kind of stuff could it do without builtin functions that practically make it an interp?
23:42:58 <fizzie> Ooh, the glfunge98 sourceforge page has a very old, very non-working email address, too. Must be why I get no feedback.
23:43:03 <Sgeo> !glass {M[m(_o)O!"Test"(_o)o.?]}
23:43:16 <Sgeo> !glass {M[m(_o)O!"Hello World!"(_o)o.?]}
23:43:22 <Sgeo> Is the interpreter here?
23:43:24 <Deewiant> Hmm, GLfunge98 segfaults on mycology
23:43:31 <SimonRC> Deewiant: well, defaulting to overstrike mode, and moving rectangles around easily
23:43:31 <fizzie> Deewiant: That's unsurprising.
23:43:39 <ais523> what's glfunge98 like?
23:43:45 <SimonRC> they would apply to any grid language, not just befonge
23:44:00 <Sgeo> How do I test my glass then
23:44:02 <Deewiant> SimonRC: Most decent editors can do that.
23:44:13 <Deewiant> And I actually prefer not being in overstrike mode most of the time.
23:44:15 <SimonRC> Deewiant: how do you make vim do it?
23:44:29 <Deewiant> SimonRC: Replace mode for the former and visual block mode for the latter.
23:44:38 <fizzie> Deewiant: Do you use the virtualedit thing?
23:44:57 <Sgeo> oerjan, are there any Glass interpreters?
23:45:00 <Deewiant> virtualedit=block,onemore IIRC.
23:46:13 -!- swistakm has quit ("Lost terminal").
23:46:16 <SimonRC> Deewiant: well I never knew visual block did that
23:46:49 -!- ehird has joined.
23:48:21 -!- swistakm has joined.
23:48:57 <fizzie> I think I wrote a bit of Glass-to-Java compiler, but I'm not sure how finished it ever was. Probably not very.
23:49:52 <Sgeo> Hm http://esoteric.voxelperfect.net/files/glass/
23:49:53 <ehird> also lol@okloplottery
23:49:58 <ehird> swistakm: hi. you new?
23:50:12 <ais523> ehird: swistakm was in #IRP, looking for information
23:50:57 <ehird> 14:19:06 <ais523> I wouldn't say a million is enough for a perfect life nowaday
23:51:01 <ehird> depends on your definition of perfect life
23:51:05 <ehird> who would want to live in london? :-)
23:51:10 <lament> wow, there's still someone in #IRP?
23:51:13 <fizzie> Sgeo: I have here glass-0.{9,10,11}.tar.bz2 (the remains of that broken befunge.org link in the esolangs wiki, I let the domain expire) but if that place has glass-0.12.tar.bz2, I guess that's not very useful
23:51:37 <ais523> lament: not only that, several people in #IRP
23:51:48 <ais523> (your reaction seems typical of #esotericers, though)
23:52:00 <ais523> #IRP's like alt.lang.intercal; still read-active, but people rarely speak there
23:52:09 <ehird> yeah we higher #esotericians are full of disdain for the hoi polloi #IRP
23:53:33 -!- swistakm_ has joined.
23:53:47 <ehird> i can't believe the lottery is so popular in the uk
23:53:51 <ehird> do people have no brains?!
23:54:00 <fizzie> Looking at the topic, I had a sudden urge to set it "it's been [0] days since the topic was last changed", and tell you to keep it updated.
23:54:18 <ehird> they don't even guard the stupidity of it behind some stupid game
23:54:23 <ehird> which is common enough
23:54:42 <swistakm_> ehird: some people have brains. They make loteries
23:54:48 <lament> ehird: wanna play a game?
23:54:55 <lament> ehird: if you give me $100, there's a chance i'll give you $1000000 back
23:55:04 <ehird> lament: and this chance is?
23:55:16 <SimonRC> ehird: I dunno, the lottery isn't that sutpid
23:55:21 <ehird> if it's something like 7 gajillion to one consider me uninterested
23:55:22 <lament> ehird: i can't quantify it exactly. It's quite small.
23:55:34 <SimonRC> utility isn't linear with amount of money, y'know
23:55:35 <lament> It depends on the number of tickets sold.
23:56:07 <ehird> SimonRC: the fact is that lottery players (and I generalize here because the winners are few enough to be statistically insignificant) waste one pound a week continuously
23:56:29 <lament> let's just say the return expectation value is positive for one of us
23:56:54 <SimonRC> OTOH, it is wise to buy one's lottery ticket as late as reasonably possible
23:57:12 <lament> just like ebay auctions
23:57:14 <SimonRC> to reduce the chance of being killed in a road crash below that of winning, or whatever
23:57:36 <ehird> reminds me of Sgeo's time traveling computer
23:57:37 * SimonRC can't recall that actual time
23:57:39 <Sgeo> SimonRC, so basically, if you get killed, you won't have wasted the lottery ticket money
23:57:46 <lament> ehird: are you risk-neutral?
23:58:22 <ehird> lament: it depends.
23:58:22 <SimonRC> and there are silly things like a cab to the airport being far more dangerous than the airplane ride itself
23:58:43 <ehird> more risk averse than seeking, in general
23:59:05 <Sgeo> Which death sounds better: The death being on the national news (airplane), or local news (cab ride)?
23:59:28 <ehird> err, why the fuck does it matter, I'm dead :D
23:59:58 <lament> isn't buying lottery tickets the risk-averse thing to do?