00:01:39 <olsner> lol you can't write functions in python
00:02:02 <AnMaster_ipv6> ehird, and yes I saw it was python and tried it in python
00:02:45 <ehird> Meaning: Taking type parameter T, a function taking T and returning T.
00:02:57 <ehird> To clarify, (Int, Int)String would be "Takes two ints and returns a string."
00:03:12 <ehird> And [T](T, Int)Int would be "taking a type parameter T, takes a T and an Int and returns an Int."
00:03:20 <ehird> Of course, you don't need to specify [T] as it's inferred from the argument.
00:03:31 <ehird> It is like Haskell's "forall a."
00:03:43 <ehird> Scala is similar to Haskell.
00:03:50 <ehird> It runs on the JVM and has many OOP features.
00:03:56 <ehird> And also a lot of Haskell-esque things.
00:04:01 <ehird> And a lot of Ruby-esque things.
00:04:36 <AnMaster_ipv6> didn't scala do some publicity stunt with a suicide recently</bad_taste>
00:05:07 <ehird> Tony Morris is back to being annoying on reddit.
00:05:19 <ehird> The guy who was going to off himself.
00:05:28 <lament> did he ever post an apology?
00:05:41 <ehird> AnMaster_ipv6: The post saying he shot himself was a troll.
00:06:10 <AnMaster_ipv6> ehird, so the police managed to find him in advance of that or
00:06:12 <ehird> And the whole thing was that he'd said he'd going to on IRC (and email simultaneously: it was automated), had already taken his motorbike and couldn't be found.
00:06:18 <ehird> AnMaster_ipv6: Yes. The police found him.
00:06:36 <lament> ehird: do you know what happened since? Did he post anything?
00:06:42 <lament> apart from reddit trolls
00:06:56 <AnMaster_ipv6> ehird, a cron job would have made sense though for it
00:07:02 <ehird> lament: He replied to the message saying he'd been found saying he's doing much better now and then returned to insulting christians on reddit
00:07:03 <lament> he's in #Scala so i assume he apologized somehow
00:07:25 <ehird> lament: An apology was never expected afaik,.
00:07:40 <lament> they were talking about ostracizing him
00:07:55 -!- FireFly has quit ("Later").
00:07:55 <ehird> Right, it's lament's-troll-reality.
00:07:55 <lament> when they were searching for him
00:08:03 <lament> eh, check the logs if you want
00:08:11 <ehird> They never said anything of the sort, and I was there for it.
00:09:10 <oerjan> so, basically, if he later really commits suicide, no one will care?
00:09:34 <ehird> lament: The most I heard was one of the people who regularly talked to him saying they were going to shout at him for saying he'd do it.
00:09:51 <ehird> Based on your less-than-immaculate reputation for, uh, truth, I'm inclined to believe my, more probable, version.
00:10:22 * oerjan needs to recall what it was about
00:10:36 <lament> eh, i could check the logs for the exact quote, but it's easier to just ban you
00:10:46 <ehird> Feel free to do either.
00:12:04 <oerjan> you would think the GM had learned by now ;)
00:12:14 <ehird> lament: I'm waiting!
00:14:50 <oerjan> AnMaster_ipv6: also, my evil thought is known as the story of "The boy who cried wolf"
00:20:56 * Sgeo wants to play Paranoia again at some point
00:22:14 <ehird> "If Google would have actually put a fraction of the effort that they put into dreaming up the April's Fools joke into actually *doing* something about AGI , we'd be there by now."
00:23:31 <Sgeo> A fraction of a fraction of the effort they normally do?
00:24:03 <oerjan> well, i'm sure their server clusters would be useful for it
00:28:50 <ehird> "First of all," Akon said. "First of all. Does anyone have any plausible hypothesis, any reasonable interpretation of what we know, under which the aliens do *not* eat their own children?"
00:28:51 <ehird> — Eliezer Yudkowsky, Three Worlds Collide, "The Baby-Eating Aliens"
00:31:35 <oerjan> hm the title sounds like one of my theories for why aliens don't show up in public
00:32:13 <oerjan> (basically, we are so prejudiced that we would hate them if we knew their culture)
00:32:53 <oerjan> (to be clear, for much less than eating babies)
00:33:38 <ehird> http://www.overcomingbias.com/2009/01/the-babyeating-aliens.html first part of http://www.overcomingbias.com/2009/01/three-worlds-collide.html
00:33:46 <ehird> which is, in typical yudkowsky fashion, about rationality.
00:36:19 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
00:36:38 -!- psygnisfive has joined.
00:41:31 -!- M0ny has quit ("PEW PEW").
00:44:04 <ehird> "And ancient environmentalist arguments about population control, plus... oh, dear. I don't think they've realized that Adolf Hitler is a bad guy."
00:44:11 <ehird> (from the second part)
00:51:40 <ehird> [[Akon flipped a hand. "I don't think we'll run short of volunteers to watch disgusting alien pornography. Just post it to the ship's 4chan, and check after a few hours to see if anything was modded up to +5 Insightful." ]]
01:20:52 <oklopol_> oerjan: i like it, maybe you can put that in your comic
01:21:17 <oklopol_> "i read adolf hitler is a dead guy" and i was like wut
01:21:25 <oklopol_> but then i realized my silly mistake.
01:22:19 <oklopol_> oerjan: comic for you, rest for no one
01:22:37 <oklopol_> well "silly" was for ehird, and also "then"
01:23:41 * oerjan refrains from believing anything oklopol_ just said
01:24:15 <oklopol_> haven't i told you like a million times i want you to make a comic
01:24:28 <oklopol_> because if you made one, it would awesome (as a verb)
01:25:11 <oerjan> although if you reduce that million a bit, i'm not entirely sure
01:25:17 <oklopol_> and that comic thing was a reference to this
01:25:57 <oklopol_> actually i think it was my catch phrase at some point, so probably more.
01:26:12 <oklopol_> anyway sleep time, you get working on your mathketeers
01:44:10 <olsner> very much sleep-time indeed, 3 am dammit
01:44:29 <olsner> and here I'm supposed to get up to work later this morning
01:45:37 <olsner> very cool novella about the aliens btw
02:01:42 <Sgeo> I think I just thought of what it might be a metaphor for, but I might be completely misunderstanding
02:25:01 -!- Gracenotes_ has joined.
02:47:19 -!- Gracenotes has quit (Connection timed out).
02:53:48 -!- rodgort has quit (Client Quit).
02:57:01 -!- rodgort has joined.
02:58:14 -!- Gracenotes_ has quit (Connection timed out).
03:35:29 -!- Asztal_ has quit (Read error: 110 (Connection timed out)).
03:51:11 -!- Gracenotes has joined.
04:01:05 <kerlo> oklopol_: do you have a real name?
05:04:08 -!- mtve has quit (Read error: 110 (Connection timed out)).
05:26:51 -!- GreaseMonkey has joined.
06:21:18 -!- jix has quit (Read error: 60 (Operation timed out)).
06:21:35 -!- jix has joined.
06:28:55 -!- neldoreth has quit (Read error: 113 (No route to host)).
07:24:25 -!- neldoreth has joined.
07:31:49 -!- mtve has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:05 <Sgeo> http://qntm.org/?leak <== ALL Fine Structure fans, READ
08:15:03 -!- Sgeo has quit ("Leaving").
08:28:03 -!- Mony has joined.
08:28:31 -!- Mony has changed nick to Guest43671.
08:29:06 -!- Guest43671 has changed nick to M0ny.
09:03:16 -!- FireFly has joined.
09:22:54 -!- BeholdMyGlory has joined.
09:51:48 -!- Judofyr has joined.
09:54:51 -!- FireFly has quit (Read error: 110 (Connection timed out)).
09:57:07 -!- FireFly has joined.
10:03:32 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
10:04:41 -!- Judofyr has joined.
10:08:24 -!- olsner has quit ("Leaving").
10:26:50 -!- Gracenotes has quit ("Leaving").
10:27:35 -!- Gracenotes has joined.
10:35:46 -!- Asztal_ has joined.
10:38:59 -!- tombom has joined.
10:47:41 -!- FireFly has quit ("Later").
11:08:40 -!- FireFly has joined.
11:16:00 -!- FireyFly has joined.
11:17:07 -!- FireFly has quit (Nick collision from services.).
11:17:11 -!- FireyFly has changed nick to FireFly.
11:17:45 -!- AnMaster_ipv6 has changed nick to AnMaster.
11:38:40 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
12:04:24 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
12:06:04 -!- Judofyr has joined.
12:55:05 -!- M0ny has quit (Read error: 104 (Connection reset by peer)).
12:55:24 -!- Mony has joined.
12:55:51 -!- Mony has changed nick to Guest87749.
12:58:27 -!- Guest87749 has changed nick to M0ny.
13:25:28 -!- FireFly has changed nick to FireMipo.
13:27:27 -!- Judofyr has quit ("raise Hand, 'wave'").
14:00:17 -!- oerjan has quit ("leaving").
14:12:51 -!- victor______ has joined.
14:21:49 <victor______> hello! i just wrote cli bf debugger. does anybody know what to do with it ? :)
15:08:33 -!- victor______ has left (?).
15:10:08 -!- fungot has quit (Read error: 145 (Connection timed out)).
15:10:27 -!- und3f has joined.
15:11:47 -!- fizzie has quit (Read error: 145 (Connection timed out)).
15:13:42 -!- victor______ has joined.
15:14:24 <Slereah> <victor______> hello! i just wrote cli bf debugger. does anybody know what to do with it ? :) < try eating it
15:15:52 -!- fizzie has joined.
15:17:20 <victor______> thanx i try maybe. i mean i can put it somewhere if anybody need
15:18:04 <Slereah> Well, you can link it on the wiki
15:39:58 -!- KingOfKarlsruhe has joined.
15:58:20 -!- FireMipo has changed nick to FireFly.
16:16:46 <victor______> i just didn't found one for command line. mm. 'next instruction', 'set breakpoint' etc
16:18:18 <AnMaster> as in break when a specific cell is written/read
16:19:26 <AnMaster> so what lang did you write the debugger in?
16:20:34 <AnMaster> new here or just long time idler?
16:20:51 <AnMaster> (A nick like that I think I would remember)
16:21:18 <AnMaster> so, have you made this debugger public? It sounds interesting.
16:21:44 <AnMaster> though I don't know much perl.
16:22:30 <victor______> yes, but i'm looking for free ftp to put it. it terrible, all services needs javascript enabled
16:23:00 <AnMaster> if it is a single perl file, why not use a pastebin
16:24:21 <AnMaster> no criticism, I don't know enough perl be sure if that is a good or bad thing.
16:25:14 <victor______> "real programmers who use fortran for strings" don't need strict
16:25:47 <AnMaster> fortran for strings? I'm afraid I don't get that part of the reference
16:26:33 <AnMaster> (C, Scheme, Erlang, Bash I know well, Befunge98 too, haskell I want to learn as soon as I have some free time for that)
16:26:54 <AnMaster> (oh and I can read python and a few other langs too)
16:26:58 <victor______> ive found howto about real programmers in isolnag today :)
16:27:28 <AnMaster> victor______, hm "print "[1B\r" . (' ' x 50);" looks odd
16:27:59 <AnMaster> it looks like an embedded "char missing" here
16:28:35 <AnMaster> well it should work, but not in firefox :P
16:28:41 <AnMaster> (where I was viewing the paste)
16:29:25 <victor______> its possible to rewrite it using ANSI::color module
16:29:56 <AnMaster> that would mean I would have to deal with cpan :(
16:30:30 <AnMaster> ah no, this distro does have a perl-core/Term-ANSIColor package
16:31:28 <AnMaster> no need. I'm not heavily into bf anyway, there are others here (seem to be idling atm though) who may be more interested
16:31:41 <AnMaster> ^bf +++++[->+++++[->+++++<]<]>>----[->+>+<<]>-----------------.---.>.
16:33:50 <AnMaster> victor______, but the debugger looks nice, haven't tried it, since 1) I don't know perl well enough 2) I am paranoid 3) no offence meant.
16:34:50 <AnMaster> well I'll just create another user I guess.
16:36:01 <victor______> and, if you were looking at the sources i already know your root pass :)
16:36:14 <AnMaster> http://dpaste.com/25639/plain/ is mangled it seems
16:39:04 <AnMaster> victor______, when run in interpreter mode do you optimise the program btw?
16:39:41 <victor______> except sum simple things like caching ']' and '['
16:40:11 <AnMaster> hm tried the lost kingdom program in it? (a text adventure in bf, file is around 1.7 MB or something iirc)
16:40:28 <AnMaster> http://jonripley.com/i-fiction/games/LostKingdomBF.html
16:42:34 <lifthrasiir> AnMaster: but that is compiled from BFBASIC... :p
16:42:52 <AnMaster> but it is a good way to test bf interpreters
16:43:10 <AnMaster> I mean, somewhat like a acid test for bf interpreters
16:43:25 <lifthrasiir> i'd like to see bigger brainfuck program, so it can be used as milestone for optimization.
16:43:47 <lifthrasiir> (as like mycology suite have been informally used for funge-98 performance test)
16:44:30 <AnMaster> lifthrasiir, well, lostking.b can be optimised optimised even on a bf level iirc
16:44:58 <AnMaster> lifthrasiir, also I prefer to compile bf really
16:46:22 * AnMaster waits for perl -i bfg.pl LostKingdomBF/LostKng.b
16:48:14 <victor______> Error: Program is too large, maximum is 65535 operations.
16:49:11 <AnMaster> $ perl bfg.pl -p -i LostKingdomBF/LostKng.b
16:49:24 <AnMaster> and yes I put the -i in the wrong place indeed
16:49:42 <victor______> preprocess. it is necessary because it includes '!' and it is end of code like in dbfi
16:49:55 <victor______> but with '-p' it skip comments, insert includes, etc
16:50:38 <AnMaster> well you should skip every unknown char in bf
16:51:00 <AnMaster> what value does that push to the program
16:51:38 <AnMaster> what do you think about befunge btw?
16:52:44 <AnMaster> ok. A self modifying two dimensional language.
16:52:57 <AnMaster> http://esolangs.org/wiki/Befunge
16:54:27 <victor______> awib segfaults when tried to compile lostkindom
16:56:03 <AnMaster> victor______, I wrote a "bf-to-C" compiler once, it worked and so on and optimised code somewhat, it compiled everything into one function though, when compiling the resulting C file for lostkingdom, GCC ran out of memory
16:57:02 <AnMaster> anwyay... maybe I should try again now that GCC 4.3 is stable on gentoo...
16:57:38 <victor______> is let gcc to segfault only once using -fast-math and -whole-program
16:58:18 <AnMaster> I'm sorry, but I didn't understand that..
16:58:43 <AnMaster> well true. 4.3.2 is stable here on Gentoo x86_64 (which I run) at least
16:58:58 <victor______> my english is too bad? i learned it only from perl
16:59:13 <AnMaster> (I'm not a native speaker either anyway)
17:00:21 <oklopol_> you learned english from perl? :D
17:00:24 <AnMaster> also why would I want to use -fwhole-program, most of the time it doesn't help very much, and it requires a special build system.
17:01:42 <victor______> i tried to use it once, it was c++ programm with a lot of templates so main.cpp includes almost everything
17:08:17 <AnMaster> as for -ffast-math, unless you know exactly how the program works and how it will be affected it would be a bad idea
17:09:22 <victor______> i knew. it was a boring math program partly written in assembler which had only two target users
17:13:51 <AnMaster> Deewiant, I'm going to merge the exact bounds stuff back into cfunge trunk, so that other branch will soon be deprecated.
17:16:24 <AnMaster> next item: error handling cleanup
17:16:37 <AnMaster> less random fputs and abort, and some central system
17:17:26 <ehird> 15:24 victor______: i think it won't copile with strict :)
17:17:48 <AnMaster> ehird, it's rather eso isn't it?
17:18:04 -!- ais523 has joined.
17:18:21 <ais523> AnMaster: that was fast, and hi
17:21:43 <AnMaster> ais523, since you know gcc so well, any idea why -fgcse-sm and -fgcse-las are not enabled at any -O level by default?
17:21:48 <AnMaster> they don't seem to break anything
17:22:14 <AnMaster> and for cfunge they offer a measurable speed-up on certain processors (such as one of mine)
17:22:15 <ais523> common subexpression elimination can make programs slower
17:22:35 <AnMaster> ais523, certain types of gcse is enabled by -O and higher though
17:22:45 <ais523> presumably those are the ones more likely to help
17:22:50 <AnMaster> When -fgcse-lm is enabled, global common subexpression elimination will attempt to move loads which are only killed by stores into themselves. This allows a loop
17:22:50 <AnMaster> containing a load/store sequence to be changed to a load outside the loop, and a copy/store within the loop.
17:23:15 <AnMaster> When -fgcse-sm is enabled, a store motion pass is run after global common subexpression elimination. This pass will attempt to move stores out of loops. When used
17:23:15 <AnMaster> in conjunction with -fgcse-lm, loops containing a load/store sequence can be changed to a load before the loop and a store after the loop.
17:23:19 <AnMaster> When -fgcse-las is enabled, the global common subexpression elimination pass eliminates redundant loads that come after stores to the same memory location (both
17:23:20 <AnMaster> partial and full redundancies).
17:23:44 <AnMaster> ais523, at least the latter I can't see how it would slow down things
17:24:54 -!- fizzie has quit (Remote closed the connection).
17:25:25 <AnMaster> ais523, also we had someone new here today, who wrote a brainfuck debugger in perl heh
17:25:33 <AnMaster> <victor______> http://dpaste.com/25639/
17:29:16 -!- Judofyr has joined.
17:30:40 <AnMaster> ais523, what would you call a error/warning/notice handling code file. errors.c seems wrong...
17:30:52 <AnMaster> and it isn't a full "logging framework" or such
17:31:14 * ais523 steals naming ideas from the C standard
17:33:41 <ais523> no, it's a term defined by the standard
17:33:45 <ais523> that's used to represent errors and warnings
17:33:55 <ais523> lots of things require a diagnostic, according to the standard
17:34:04 <ais523> which means that a compiler must give an error or warning if you try them
17:34:10 <ais523> that's what -pedantic does
17:34:14 <ais523> it adds all the required warnings to the code
17:34:21 <ais523> in the form of "warning: ANSI C requires..."
17:34:33 <ais523> the gcc people think they're silly warnings because it's obvious what you meant
17:34:44 <ais523> but technically complying with the standard is always a good idea IMO
17:34:51 <ais523> at least, if it's a sensible standard
17:36:08 <AnMaster> btw why is it: fputs(string, file); but fprintf(file, string, ...)
17:36:14 <AnMaster> I mean, why not always put file first
17:36:28 <AnMaster> I see why putting it last in fprintf would be an issue yes
17:36:31 <ais523> except in fprintf, where that would be an issue
17:36:45 <AnMaster> what is the reason for putting it last?
17:37:24 <ais523> well, all the file I/O puts it last
17:37:34 <ais523> presumably it's so you can just put a ,file at the end of the command and an f at the start
17:37:44 <ais523> and C89 wasn't designed to be consistent, but to model common practice
17:37:57 <ais523> so presumably that weird practice sprung up before it was standardised
17:37:57 <AnMaster> ais523, that would be as easy as f at the start and file, just after (
17:38:12 <ais523> don't ask me to justify C to you, though, I didn't invent it
17:42:57 <AnMaster> ais523, what is a safe way to print "out of memory" and exit.
17:43:14 <AnMaster> I mean, I need to pre-allocate in some way I guess
17:43:21 <ais523> if you use write to print a constant string, it should be safe
17:43:32 <ais523> using write means that you don't have trouble with stdio buffering
17:43:49 <ais523> and constant string means it's loaded into memory already, so you don't have to allocate the string you're printing
17:44:09 <AnMaster> fputs("FATAL: Out of memory!\n", stderr);
17:44:34 <ais523> probably the stdio buffers won't be extended anyway
17:44:38 <AnMaster> ais523, any reason to not use fputs()?
17:44:41 <ais523> but in theory, I think an interp's allowed to allocate them lazily
17:44:56 <ais523> it's a very unlikely problem to come up in practice, though
17:45:12 <ais523> (if you're really insane, you could statically allocate the stdio buffer for stderr yourself, to avoid the implementation coming up with one0
17:45:52 <AnMaster> ais523, no, and I do that for stdout already in cfunge if -b is passed
17:46:00 <AnMaster> you would say -b is insane I bet...
17:46:28 <ais523> -b = you allocate your own stdio buffers yourself, rather than relying on the defaults?
17:46:37 <AnMaster> ais523, -b = fully buffered output
17:47:12 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:47:23 <AnMaster> make a large difference in mycology when not redirecting stdout to /dev/null
17:47:50 <AnMaster> ais523, meh, stderr is fd 2 right?
17:51:34 * AnMaster tries to remember how to use vfprintf
17:52:24 <AnMaster> personally I very seldom write code using variable argument count to functions
17:53:36 -!- und3f has left (?).
17:55:55 <ais523> AnMaster: run va_start, pass the result to vfprintf, run va_end
17:56:09 <ais523> va_end is a no-op on more or less all architectures, but the ones that need it need it badly
17:56:56 <ais523> I'm just repeating the standard c.l.c answer
17:57:23 <ais523> presumably it would be useful on an architecture with strange calling conventions
17:58:11 <ais523> <C Standard Rationale> "va_end must also be called from within the body of the function having the variable argument list. In many implementations, this is a do-nothing operation; but those implementations that need it probably need it badly."
17:58:30 <Deewiant> Sounds like they don't know either :-P
18:10:47 <AnMaster> I was just complaining about having to loop it up..
18:11:37 * AnMaster wonders if there is no better way than:
18:11:38 <AnMaster> void diag_error_format(const char* format, ...)
18:12:00 <Deewiant> And it should be fputc, not putc
18:12:28 <Deewiant> Oh right, putc is that stupid thing which is the same as fputc
18:12:53 <AnMaster> It is not advisable to mix calls to output functions from the stdio library with low-level calls to write(2) for the file descriptor associated with the same output
18:12:53 <AnMaster> stream; the results will be undefined and very probably not what you want.
18:13:06 <ais523> AnMaster: yes, undesirable to mix
18:13:12 <ais523> are you stdio-writing to stderr?
18:13:18 <AnMaster> ais523, so why did you suggest write() for fatal
18:13:22 -!- Judofyr has left (?).
18:13:34 <ais523> you can mix safely if you do fflush(stderr) in between
18:13:37 <AnMaster> ais523, doing fprintf and such to stderr
18:13:50 <ais523> in that case, it's probably safest to just fputs the string
18:14:21 <AnMaster> but isn't stderr unbuffered anyway?
18:14:45 <ais523> I can't remember if it's unbuffered or line-buffered by default
18:14:53 <ais523> and I can't remember if the default's the same on all systems, either
18:17:12 <AnMaster> why does gcc hate returning results from GCC docs, and prefer to return irrelevant ones from mailing list.. meh
18:18:16 -!- kar8nga has joined.
18:23:17 -!- olsner has joined.
18:35:29 -!- neldoreth has quit ("Lost terminal").
18:36:34 -!- fizzie has joined.
18:38:13 <fizzie> I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.)
18:45:20 <AnMaster> another question, any way to set ulimits for a process you debug under gdb
18:50:05 <fizzie> Er, what I just said about broken interwebs is directly related to fungot's non-appearance. It @s at a socket read error, and is not in a crontab or anything.
18:50:07 <ais523> AnMaster: you could use the ulimit syscall inside the process
18:52:24 <fizzie> Don't know about gdb + ulimit. If you don't mind changing the program being debugged, adding a suitable strlimit call at start of main should be enough, though.
18:52:39 <ais523> ulimit's the old interface to the same syscall
18:53:27 <fizzie> The AI tournament I've been incessantly bothering you about uses a JNI-callable blob which uses setrlimit to implement the "each player has one hour of thinking-time per game" feature.
18:54:07 <ais523> could you add your own JNI-callable blob to cancel the limit?
18:54:10 <ais523> or are they using hard limit?
18:54:37 <fizzie> ais523: Assuming unbroken Java sandbox implementation, no, since they run under a securitymanager with no privileges.
18:54:53 <fizzie> And it is also the hard limit, I think, so it can't be raised again.
18:55:38 <fizzie> Anyway, I could've of course done the ulimit before starting the Java VM, but I also need to call getrusage to report to the programs how much thinking time they have left.
18:56:07 <AnMaster> rlimit.rlim_cur = (rlimit.rlim_cur > 25000) ? 25000 : rlimit.rlim_cur;
18:56:30 <AnMaster> yes I know it is a silly way to write it
18:58:06 <fizzie> There's the sequence point inherent in ?:, but I let ais523 to decide.
18:58:35 <ais523> you're using the value twice to the right of the =, those are both reads so legal
18:58:44 <ais523> and for the write, the value written depends on the value read
18:59:48 <fizzie> ais523: How about "foo = (++foo > 42) ? 6667 : foo;"? There's a sequence point between the evaluation of ?:'s conditional and the selected operand, after all.
19:00:30 <ais523> fizzie: that's legal I think, foo = foo is legal, ++foo ? anything : anything is legal if the anythings are legal
19:01:20 <fizzie> (In the sense of "okay, good to know", not in the sense of "yes, you got it right".)
19:03:54 <AnMaster> gdb is failing step when there is an inline asm statement in the way it seems
19:04:43 <ais523> yes, longjmp confuses it too
19:04:52 <ais523> if you put a breakpoint on the other side and continue instead, though, it's fine
19:05:38 <AnMaster> ais523, it fails because there is a label inside the asm block
19:05:43 <AnMaster> but I need that since it contains a loop
19:05:50 <AnMaster> but it seems to think it is a new function
19:06:54 <AnMaster> ais523, this was funny: <ProN00b> can i expect a slowdown of only 1000x ?
19:07:14 <AnMaster> ais523, someone finding out his platform lacked hardware watch point support in gdb
19:07:25 -!- tombom has quit ("Peace and Protection 4.22.2").
19:23:50 -!- ehird has left (?).
19:24:17 -!- ehird has joined.
19:26:38 <ehird> 17:38 fizzie: I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.)
19:26:45 <ehird> mine does that daily
19:26:49 * ehird is gonna buy wrt router todays
19:26:56 <ehird> 16:44 AnMaster: void diag_oom(void) {
19:26:56 <ehird> 16:44 AnMaster: fputs("FATAL: Out of memory!\n", stderr);
19:26:57 <ehird> 16:44 AnMaster: abort();
19:27:09 <ehird> AnMaster: if you're oom, chances are you don't get to print
19:27:28 <AnMaster> ehird, see other related discussion...
19:27:30 <ehird> malloc actually returning NULL is vanishingly rare and you'll have bigger problems than cfunge
19:27:38 <Robdgreat> fizzie: they got word you'd hyped them and wanted to discredit you
19:27:45 <ehird> AnMaster: also, you can save a branch each allocation by not checking malloc
19:27:48 <ais523> ehird: the trick is to try to survive on a null malloc
19:27:48 <ehird> which should save a lot
19:27:53 <ehird> so IMO i'd remove the check
19:27:55 <ehird> ais523: yes, but this is for cfunge
19:28:05 <ehird> ais523: null mallocs happen basically never
19:28:13 <ehird> and when you do, you have problems bigger than cfunge exiting gracefully
19:28:24 <ehird> and you get a speedup by not checking
19:28:42 <AnMaster> the trick to survive may be to free some memory I guess. Since you are about to exit anyway just free some huge memory pool
19:28:55 <ehird> Nobody ever listens...
19:29:22 <ehird> guys have i mentioned scala is great?
19:29:59 <ais523> AnMaster: the trick is not to call anything that might malloc
19:31:01 <AnMaster> ais523, hm I guess free() might call malloc
19:31:10 <ehird> i think that's very unlikely.
19:31:22 <AnMaster> ehird, well not guaranteed afaik
19:31:22 <ehird> I'd punch anyone who made a malloc impl that requires free to allocate
19:39:36 <AnMaster> anyway if you malloc() a large block and get NULL you most probably have some free memory around
19:39:46 <AnMaster> and then I'm talking of 100 kb or so
19:40:15 <AnMaster> (of course it might be you don't, but it is rather likely)
19:42:49 <ehird> http://www.endpcnoise.com/cgi-bin/e/index.html
19:42:54 <ehird> people are as obsessed as me!
19:47:53 <AnMaster> fputs("FATAL: Out of memory at " __FILE__ ":" CF_CPP_STRINGIFY(__LINE__) ": " m_reason "\n", stderr); \
19:48:07 <AnMaster> ais523, gcc compiled: DIAG_OOM() without complaining
19:48:17 <ehird> the argument is the null string
19:48:19 <olsner> AnMaster: empty argument is valid
19:48:38 <AnMaster> that doesn't make much sense though.
19:49:41 <olsner> just gets expanded to ... ": " /* empty string from argument m_reason */ "\n"
19:53:00 <AnMaster> FATAL: Out of memory at ../src/interpreter.c:630:
19:53:18 <AnMaster> (changed a bit, and using ulimits to test this=
19:59:20 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
20:13:28 -!- jix has quit ("...").
20:28:29 -!- Sgeo has joined.
20:30:25 <fizzie> Here and there, everywhere.
20:31:05 <AnMaster> fizzie, 1) where is fungot? 2) I found a solution to that "want %rsp for funge stack, but breaks in signal handlers"
20:31:45 <fizzie> 1) Still offline, but since the interwebs seem to be working, I guess I could bring it back. 2) Oh, what's the solution?
20:32:04 <AnMaster> fizzie, I suspect sigaltstack(2) is the solution
20:33:07 <AnMaster> fizzie, possibly sigaction() with SA_ONSTACK
20:34:34 <fizzie> Yes, although I wonder if I only need them for signals I actually want handled. If it's a handle-as-default, die-or-whatever signal, maybe it won't crunch up with a very nonstandard %rsp.
20:34:36 <Ilari> What "want %rsp for funge stack, but breaks in signal handlers"
20:35:18 <fizzie> Ilari: I was just wondering if I could abuse the normal stack pointer register to work as the funge stack in jitfunge-generated code, at least in portions that don't call any external functions.
20:35:24 <ehird> fizzie: WHERE IS FUNGOT
20:36:03 -!- fungot has joined.
20:36:13 <AnMaster> each part would monitor the others, and if one went down another would connect and replace it
20:36:39 <AnMaster> ehird, what do you suggest instead?
20:37:10 <ehird> Your idea lacks interest; mine requires much less effort for the same amount of interest.
20:37:55 <ehird> So, logically, mine is the better option.
20:38:15 <ehird> Because the interest level is the same and it has the advantage of requiring less effort.
20:38:18 <ehird> This is rather trivial.
20:38:26 <AnMaster> ehird, you forgot uptime advantage of mine
20:38:32 <Ilari> fizzie: If you could guarantee that code doesn't generate any hardware faults and that its quite quick (say, few cs at most) you could block signals and unblock them later. Also has advantage of not calling stuff in odd contexts.
20:38:37 <ehird> Fungot has been down, oh, 3 times.
20:38:44 <ehird> A distributed system would be down more.
20:38:47 <AnMaster> Ilari, he depends on catching sigsegv...
20:38:48 <ehird> They are brittle in small sizes.
20:39:12 <AnMaster> ehird, it would be massively distributed of course, every person in here would run one of them
20:39:21 <Ilari> Well, Maybe have dedicated stack for SIGSEGV...
20:39:41 <fizzie> Yes, with the sigaltstack trickery.
20:39:54 <AnMaster> fizzie, wonder if it breaks stuff though
20:40:45 <fizzie> I have not really seen much reliable documentation about how safe it is to mess around %rsp (well, %esp in my code). It certainly could break some types of interrupt-handling, but I guess in the sensible systems I target they use a different, kernel-side stack.
20:42:11 <AnMaster> fizzie, you could ignore some signals you didn't care about, and provide dummy ones for the other ones
20:42:44 <AnMaster> fizzie, and you would still need to restore it whenever you go back to the C++ part of the program
20:48:20 <fizzie> Hrm. I guess I'll still have to try it, in the off chance I do get back to jitfunge mode some day.
20:54:41 <AnMaster> fizzie, you basically gave it up?
20:56:35 -!- atrapado has joined.
20:57:22 <fizzie> No, no, it's not yet that far gone; I would've moved it to my ~/src/abandoned/ in that case.
20:58:58 <ehird> but jitting befunge has Been Done before
20:59:14 <AnMaster> ehird, or, show me the source in question
20:59:32 <ehird> It was on the wiki as a dead link.
20:59:42 <AnMaster> well, then we don't really know
21:00:29 <fizzie> It's certainly not a very original idea, that's for sure. A Mycology-okay jit-interpreter is something that should exist, anyway.
21:00:32 <ehird> Could be pink fuckin' elephants, AnMaster.
21:00:38 <fizzie> I guess I should work on it, otherwise someone will STEAL it. But I have too much to do right now, with this AI tournament nonsense (them scripts are having some issues) and such.
21:00:50 <AnMaster> ehird, well that would be how they reproduce
21:00:58 <ais523> fizzie: are you participating in the tournament, or running it, or both
21:01:08 <fizzie> ais523: Just running it.
21:01:22 <fizzie> "39 bot(s) => 1482 match(es) -- so far played: 330"
21:01:37 <fizzie> It's proceeding reasonably, there have just been... issues.
21:02:00 <AnMaster> <Robdgreat> fizzie: they got word you'd hyped them and wanted to discredit you <-- what was that about hm
21:02:14 <AnMaster> (and if it was private it shouldn't have been in channel duh)
21:02:17 <fizzie> AnMaster: Sure it made.
21:02:17 <ehird> fizzie: what is the game?
21:02:29 <ehird> AnMaster: sure it had context
21:02:32 <AnMaster> fizzie, not to me... and I did look at your 20 last lines
21:02:32 <ehird> it just went back further than 5 lines
21:02:38 <ehird> you should extend that buffer
21:02:58 <fizzie> "fizzie> I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.)"
21:03:16 <Ilari> 1482? Isn't all pairs once would be 1481 matches?
21:03:34 <Robdgreat> it was only a few lines up that that line was repeated by ehird
21:03:50 <AnMaster> Robdgreat, I thought it was about the tournament you see
21:04:05 <ehird> 21:02 ehird: fizzie: what is the game?
21:04:10 <fizzie> Ilari: My count would put all-pairs-once as 741; but this is all-pairs-twice; each bot plays each other once as the "blue" player and once as the "red" player.
21:04:21 <fizzie> ehird: http://www.niksula.hut.fi/~svirpioj/hierarkia/
21:04:43 <ehird> fizzie: I was hoping something silly like iterated Prisoner's Dilemma
21:05:13 <fizzie> One of the tournament issues was caused by someone submitting a .jar file which had only the Java sources, no .class files at all. Even though I've told then in about thirteen different places to test the .jar file they submit with a script that runs it under the tournament mess.
21:05:31 <Robdgreat> note to self: never talk in here when malcontents are around
21:06:06 <ehird> Robdgreat: which malcontents?
21:06:25 <Robdgreat> anyone who'll give me unwarranted grief about something that didn't even concern them
21:06:38 <ehird> Robdgreat: ah, AnMaster.
21:06:46 <ehird> that's an even harsher view of him than I have
21:06:52 <ehird> I must applaud you
21:07:11 <ehird> well i'm not sure I can applaud passive-agressiveness
21:07:17 <ehird> you can have a one-handed clap
21:07:39 <AnMaster> Robdgreat, then you can never talk I guess. since I never disconnect my client except for kernel upgrades on the system running the bouncer, and then I real log
21:08:02 <ehird> AnMaster: your bouncer isn't you.
21:08:22 <ehird> and the day you are in #esoteric talking continuously is the day you die of starvation or w/e
21:08:23 <fizzie> ehird: Are you sure? Maybe AnMaster is just a very advanced piece of software.
21:08:31 <ehird> fizzie: I dispute the advanced qualifier
21:08:44 <fizzie> Certainly it makes more sense than fungot.
21:08:45 <fungot> fizzie: i'll take a look
21:09:02 <ehird> I'm pretty sure I could make a bot emulating AnMaster accurately about 60% of the time
21:09:38 <Deewiant> Anybody want to tell me what's wrong with my ELF/program/section header that's making my process get SIGKILL'd immediately?
21:09:59 <AnMaster> ehird, you told me to expand scrollback. :P
21:10:37 <AnMaster> <ehird> you should extend that buffer <-- So I did (lazy evaluation though)
21:10:59 <Ilari> Deewiant: It contains something the kernel doesn't like...
21:11:16 <Deewiant> Ilari: Yeah, any idea what it could be?
21:11:17 <fizzie> Deewiant: Your system has developed a sense of taste (probably due to exposure to Mycology) and dislikes your hacky binary.
21:11:19 <Deewiant> I'm running out of ideas myself.
21:11:37 <AnMaster> Deewiant, use a kernel level debugger
21:11:38 <Deewiant> fizzie: Where's the sense of taste stored, so I can wipe it?
21:11:46 <Ilari> Deewiant: Errors after exec has passed point of no return (old mm destroyed) and control being passed to interpretter/program cause SIGKILL to be sent.
21:12:15 <fizzie> Deewiant: I'm sure the FHS has a well-defined place for that.
21:12:41 <Deewiant> AnMaster: Too bad this machine doesn't even have a serial port :-P
21:12:42 <oklopol_> Deewiant: you heartless monster
21:12:50 <AnMaster> Deewiant, you can use firewire too
21:13:01 <Deewiant> Ilari: Well, it's happening before any code is executed
21:13:10 <oklopol_> if you knew where my port is, would you make me forget?
21:13:19 <Deewiant> I guess that the entry point might be somehow incorrect
21:13:34 <fizzie> You could take a peek at the Linux ELF-loading code. I assume it's not something ld-linux.so involves itself with?
21:13:35 <Deewiant> AnMaster: I don't have a firewire cable :-P
21:13:55 <AnMaster> Deewiant, well, check the relevant kernel code
21:14:03 <Ilari> Deewiant: Yes. Almost entiere ELF loading occurs when kernel can't abort exec anymore but needs to kill the process if it goes wrong.
21:14:55 <AnMaster> Deewiant, do a bisect of revision history to find what revision introduced the issue?
21:15:18 <AnMaster> Deewiant, add logging statements to the code to find what way it kills in?
21:15:28 <fizzie> Another way of running kgdb is qemu, I guess. But that really might be more trouble than what it's wrong.
21:15:34 <Deewiant> Do you honestly think I would'nt've noticed that my program doesn't even start, for many revisions? :-P
21:15:54 <ehird> 21:14 AnMaster: Deewiant, do a bisect of revision history to find what revision introduced the issue?
21:15:56 <AnMaster> Deewiant, set up linux under bosch (sp?) and use it's built in debugger
21:16:22 <AnMaster> Deewiant, do you seriously not detect sarcasm.
21:16:48 <Deewiant> AnMaster: If I detected sarcasm with you I'd laugh at half of what you say.
21:17:01 <Ilari> Deewiant: First thing that can go wrong is that if BRK setting goes wrong when loading section.
21:17:04 <ehird> AnMaster: the problem is that sarcasm has to convey a point
21:17:15 <ehird> if you got that, our meters would set off
21:17:19 <ehird> as is it's indistinguishable from stupidity
21:17:30 <fizzie> Deewiant: The load_elf_binary function of Linux's fs/binfmt_elf.c is a very sequential piece of code, with SIGKILLs very visible; I guess you could read about the checks it makes, see if it gives you any inspiration.
21:17:47 <AnMaster> ehird, no, this is post-nonsense sarcasmic art.
21:18:06 <ehird> AnMaster: What you're saying is, "um... err... LA LA LA"
21:18:12 <ehird> "You're wrong 'cuz I said so."
21:18:38 <fizzie> (It is, however, quite long, too.)
21:18:53 -!- neldoreth has joined.
21:19:42 <AnMaster> ehird, that was the point all along. A post-modern social experiment over irc. You seriously claim you haven't understood that after these years...
21:20:19 <ehird> AnMaster: You have been in here than less than a year. And I think you'd better know that I despise the common human excuse of papering over logical argument with bad jokes.
21:20:28 <AnMaster> no, more than a year I'm pretty sure.
21:20:53 <AnMaster> ehird, what date did I first join then?
21:20:55 <ehird> It feels like it because you slow time down by packing as much annoyance in to it as possible.
21:21:00 <ehird> AnMaster: Watch as I magic grep:
21:21:21 <Ilari> Deewiant: If you want just to test the executable code, load aout module and use that. Aout is vastly simpler than ELF.
21:21:28 <AnMaster> actually cfunge is over a year old now.
21:21:29 <fizzie> [2007-11-05 04:03:25] ... AnMaster_ [n=AnMaster@unaffiliated/anmaster] has joined #esoteric
21:21:39 <ehird> I distinctly recall 2008.
21:21:50 <ehird> 07.10.31:15:10:56 <AnMaster> <IhopE> Or Rodger Tokigun Helios EgoBot Gregor-Reddak-Ehird-Anmaster-Tritonio, which would be very weird. <-- huh?
21:21:59 <ehird> One day after joining, you establish your catchphrase.
21:22:00 <Deewiant> Ilari: Nah, the program is fine, I want proper ELF.
21:22:01 <fizzie> I seem to be missing a bit there, since I don't have a 2007-10 mention. Might've been my "forgot to rejoin" period.
21:23:23 <Ilari> Deewiant: 'objdump -x' on it says anything that could be hint?
21:23:54 <Deewiant> Ilari: It and readelf dump the values that I expect; of course, I don't know what could be incorrect :-)
21:24:13 <Ilari> Deewiant: Can you pastebin such dump?
21:24:54 <AnMaster> Deewiant, /usr/src/linux/fs/binfmt_elf.c and grep for KILL ?
21:25:07 <AnMaster> it seems pretty easy to follow
21:25:21 <Deewiant> AnMaster: Been there 10 minutes ago; nothing obvious jumps out
21:26:50 <Deewiant> http://www.pastie.org/private/gaqgo3ngwfhpvcnattprkq
21:28:46 <fizzie> Er, are you sure Linux is happy to load stuff at 0?
21:29:05 -!- victor______ has left (?).
21:29:19 <AnMaster> fizzie, hm that sounds right. It shouldn't be
21:29:21 <Deewiant> My primary suspicion is that it doesn't like my virtual addresses, indeed
21:29:39 <AnMaster> Deewiant, try to change that then
21:30:57 <fizzie> I'm also not sure if there was some funkitude about the file offset needing to be align-aligned (while 146 % 8 != 0), but that sounds a bit too picky.
21:31:37 <Deewiant> Added 400000h (seems to be what /bin/ls uses) to the entry point + program header entry's virtual address + executable section's virtual address, still dies
21:31:45 <ehird> Bit-C dies: http://www.coyotos.org/pipermail/bitc-dev/2009-April/001784.html
21:32:02 <Deewiant> Changed alignment to 1: still dies
21:32:39 <AnMaster> Deewiant, did you use a.out before or? When did it start dying?
21:33:00 <Deewiant> It started dying when I started writing my own ELF data instead of using the assembler's
21:33:16 <AnMaster> Deewiant, compare it's and your own
21:34:01 <AnMaster> then start changing each of the assemblers ones to your until it breaks+
21:34:14 <Deewiant> They differ in many places because its headers are somewhat crap
21:34:41 <Deewiant> For certain values of 'working', yes
21:35:11 <AnMaster> Deewiant, being able to run the program is a quality of "working" to me
21:37:34 <Ilari> Deewiant: ph vaddrs and paddrs seem to be the same in dumping working executable...
21:37:53 <Deewiant> Ilari: According to the spec paddrs are ignored
21:38:31 <fizzie> Deewiant: Do you know if the loader looks at the section headers at all (if they happen to be there), or just the program headers?
21:38:45 <Deewiant> Ilari: Just to humour you, doesn't make a difference
21:39:33 <Deewiant> fizzie: I don't know how important it considers them, but looking at the code it does do something with them
21:40:21 <Deewiant> Hmm, maybe my virtual address should start at 400000h + the header size
21:40:46 <fizzie> Deewiant: You could also try doing what most executables I've seen do, and just load the whole program starting from file offset 0.
21:40:51 <Ilari> fizzie: AFAIK, it only looks at program headers.
21:41:05 <fizzie> Into 400000h. And do remember to alter your entry point when you change the vaddr value. :p
21:41:31 <Ilari> From one test executable I made with NASM + LD: LOAD 0x000000 0x08048000 0x08048000 0x00064 0x00064 R E 0x1000
21:42:29 <Deewiant> Okay, now I got past SIGKILL, yay
21:42:30 <Ilari> That is, file offset 0, virtaddr and physaddr 0x08048000, file and memory size 0x64, Readable Executable, alignment 0x1000 (1 page)
21:43:06 <Deewiant> Making the virtaddr be 0x400000 + the size of the headers was what made it work
21:43:07 <fizzie> Using a page-sized alignment was another thing I was going to suggest in LOADed phdr entries, since that seems to be a habit of ld too.
21:43:40 <fizzie> Deewiant: It is really more common just to load from 0 and include the headers, but if it works...
21:44:58 <Deewiant> fizzie: Oh, you mean include the headers in the area specified by the program header?
21:45:28 <Deewiant> Seems weird to include them in the segment IMO :-P
21:46:29 <Ilari> Deewiant: Presumably yes.
21:47:50 <fizzie> That's what people do, though.
21:48:05 <Deewiant> Hmm, but now it seems that all memory accesses are offset
21:48:23 <Deewiant> By an amount of bytes equal to negative the virtual address, I suspect :-P
21:48:34 <fizzie> Are you sure your assembler knows where the code starts?
21:49:02 <Deewiant> That's kind of why I wanted to specify a virtual address of zero
21:49:23 <Ilari> Deewiant: You would need to write relocations table in that case.
21:49:39 <AnMaster> Deewiant, let it generate it's own ELF header instead?
21:49:51 <Deewiant> AnMaster: And have objdump and other tools not work because they think it's borked? Nah.
21:50:12 <AnMaster> Deewiant, use a different assembler?
21:50:25 <AnMaster> which one did you use you said?
21:50:41 <fizzie> Anyway, I suspect that they include the headers because it makes no difference whether you start from vaddr 0x400123 and file offset 0x123, or start from vaddr 0x400000 and file offset 0x0, it's not like it's leaving those 0x123 bytes of the start of the first page unallocated.
21:50:44 <Deewiant> And it has an 'org' directive which allows me to tell it the virtual base address
21:50:50 <AnMaster> Deewiant, it isn't even in my package manager
21:50:55 <AnMaster> and why are you using fasm anyway
21:51:04 <fizzie> An assembler without a org-like directive would be a rather crappy assembler.
21:51:39 <Deewiant> Currently I start from vaddr 0x146 and file offset 0x146.
21:51:48 <AnMaster> Deewiant, is the code position independent?
21:52:13 <Deewiant> PIC code is a bit of a pain to code by hand
21:52:36 <AnMaster> Deewiant, I have done that though in cfunge, have a pic and a non-pic variant
21:52:42 <Ilari> Deewiant: What ORG value you use?
21:53:07 <Ilari> Deewiant: I think the correct one is loadbase + size of headers.
21:53:47 <Ilari> Deewiant: Or actually, loadbase of program text.
21:53:48 <Deewiant> I.e. printing string constants gives exactly the string.
21:54:53 <fizzie> The correct ORG value is (pretty much by definition) wherever the code ends up being.
21:55:14 <Deewiant> This is a bit annoying though: I need to assemble my program to know its binary size for the headers, and I need to assemble my headers to know the ORG value for the program.
21:55:51 <Deewiant> Is there a command-line tool I can use to write values into specified positions of a binary?
21:56:00 <fizzie> Aren't you just including the headers in the assembler file?
21:56:30 <Deewiant> No; the final tool that compiles my program is 'cat'
21:56:31 <fizzie> I mean, you could use .ORG 0, then start writing ".db" pseudo-ops or whatever fasm uses, and then assemble as a "flat binary" file.
21:57:11 <Deewiant> ehird: I'd rather not depend on non-coreutils stuff
21:57:29 <ehird> I thought you meant manually
21:57:29 <fizzie> You can abuse dd for writing too; "echo <bytes> | dd of=file bs=1 count=len skip=offset conv=notrunc".
21:57:48 <fizzie> Uh, s/skip/seek/ there of course.
21:58:18 <Sgeo> [this is for a puzzle] In trinary, if I have no access to "2", can I always express a number as a - b with a and b only containing 0s and 1s in their representation?
21:59:02 <Deewiant> AnMaster: Actually, trinary is a synonym of ternary.
21:59:17 <AnMaster> Deewiant, yes but I just strongly prefer ternary. And so do wikipedia.
21:59:29 * Sgeo hms at http://en.wikipedia.org/wiki/Balanced_ternary
21:59:30 <kerlo> That's balanced ternary.
21:59:32 <Deewiant> Prefer what you will but it wasn't incorrect.
21:59:32 <fizzie> The one time I manually did an ELF file, I found it very pleasant to include the headers in the assembler file, a bit like the teensy-elf-executable-guy is doing.
22:00:14 <AnMaster> Deewiant, Ternary numeral system (Redirected from Trinary)
22:00:15 <Deewiant> fizzie: I just expect to have to write non-ELF headers as well, which means I need to keep the headers separate from my code.
22:00:21 <kerlo> It *is* balanced ternary.
22:00:29 <Sgeo> ..and that page basically says that it's the solution for the puzzle
22:01:19 <kerlo> After the winner wins, tell me what the puzzle is...
22:01:50 <Sgeo> kerlo, it's the Enigma puzzle
22:02:08 <AnMaster> Deewiant, write a tool to generate elf headers
22:02:26 <Deewiant> AnMaster: It's called a 'compiler' :-P
22:03:52 <kerlo> I've seen that puzzle before at least twice, I believe.
22:05:41 <Sgeo> "Your password has been emailed to your address on record."
22:05:47 <AnMaster> hm gcc has __float128 on x86_64 too..
22:05:49 <Sgeo> This, coming from a security site
22:06:32 <Sgeo> AnMaster, Enigma as in the contest in Agora
22:12:51 <Ilari> One from context of one custom level Enigma (the game): How to draw random nxn matrix over GF(2) that is invertible at uniform (assuming ideal RNG is available)?
22:18:11 -!- ais523 has quit.
22:18:39 <AnMaster> start program which will call abort(), do: display errno, do: r (answer yes to question about restarting), wait for abort() call
22:28:33 -!- atrapado has quit ("quita").
22:31:37 -!- Sgeo_ has joined.
22:45:06 <fizzie> (Though not for long.)
22:46:36 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
22:50:27 <ehird> fizzie: I was wondering if you could share your supar-secret DPI calculation formula.
22:53:10 <fizzie> What is such a thing? I just did {X,Y}-resolution/{X,Y}-visible-size-in-inches. I don't think that's much of a formula.
22:54:04 <ehird> Well, yes. That could work.
22:54:07 <ehird> I was thinking more the diagonal DPI.
22:54:12 <ehird> 15:24:53 <AnMaster> oerjan, there is no strip on the page?
22:54:12 <ehird> 15:24:54 <AnMaster> ??
22:54:14 <ehird> 15:25:00 <AnMaster> or do I have to enable java script
22:54:16 <ehird> 15:25:02 <AnMaster> I hope not
22:54:18 <ehird> How little things change
22:55:38 <ehird> You're welcome, Sgeo_?
22:56:17 <Sgeo_> I thought you were pasting what I missed?
22:56:20 -!- psygnisf_ has joined.
22:56:57 <ehird> this is from 2007.
22:57:27 <Sgeo_> I might have missed stuff from 2007
22:57:53 <ehird> Sgeo_: do you want all the logs of before you came in here?
22:57:58 <ehird> 05.09.17:14:16:35 --- join: Sgep (n=sgeo@ool-182e9882.dyn.optonline.net) joined #esoteric
22:58:00 <ehird> So, just a few years.
22:58:16 <ehird> 05.09.18:15:10:28 <Sgep> n00b's (read:my) attempt to design something: http://esolangs.org/wiki/User:Sgeo/binbf
22:58:17 -!- psygnisf_ has changed nick to psygnisfiv.
22:58:21 -!- psygnisfiv has changed nick to psygnisfive_.
22:58:27 <ehird> (Well okay it's not that bad)
22:58:46 <fizzie> If you want some sort of diagonal DPI, you can compute sqrt(xres^2+yres^2)/sqrt(xsize^2+ysize^2), but I assume in most cases the pixels tend to be quite square. In which case xres=k*xsize and yres=k*ysize and the diagonal-DPI sqrt(xres^2+yres^2)/sqrt(xsize^2+ysize^2) = sqrt(k^2) = k.
22:59:18 <ehird> fizzie: Yes, well, diagonal-DPI is quite the standard, since nobody buys narrowscreens any more.
23:09:59 -!- FireFly has quit (Excess Flood).
23:10:38 -!- FireFly has joined.
23:14:53 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
23:16:07 <Deewiant> printf "0: %016x" $$sz | xxd -r | od -vAn -tdL | xargs printf "0: %016x" | xxd -r | dd of=$$tmp bs=1 count=8 seek=$$(($$o)) conv=notrunc 2>/dev/null
23:42:10 -!- olsner has quit ("Leaving").
23:44:19 <psygnisfive_> do you know of any app that does actual analysis of musical structure beyond just, say, trying to find its "musical fingerprint"
23:45:03 <ehird> what, from pcm data?
23:45:07 <ehird> that sounds kind of difficult
23:45:13 <ehird> there is a thing which purports to separate all the notes
23:45:14 <ehird> so you can tweak them
23:45:15 <oklopol_> i recall telling somewhere it would be cool to have a thingie you could give a melody to, and it would tell you the song
23:45:18 <ehird> but apparently it doesn't work
23:45:21 <ehird> and apparently it works
23:45:29 <oklopol_> ehird sounds like someone who'd say that
23:45:47 <oklopol_> ehird: what do you mean it doesn't work?
23:46:21 <ehird> well you are meant to give it to a recording of a song
23:46:22 <psygnisfive_> lastfm unfortunately doesnt organize artists based on their musical similarities
23:46:25 <ehird> and then excels in the area of failing to recognize the song you play it
23:46:29 <oklopol_> i mean it's not like it's possible to fail at what i'm talking about, you'd just need to actually have such a system
23:46:40 <oklopol_> ehird: well that's absolutely useless, trivial and stupid
23:46:56 <ehird> psygnisfive_: actually it categorizes them based on
23:47:00 <ehird> (2) who listens to both artists
23:47:04 <ehird> so it's pretty, um, shit
23:47:39 <ehird> does it track genre
23:47:43 <ehird> I think you do that via trags
23:47:46 <ehird> also: I am king of the world.
23:48:00 <oklopol_> ehird: i mean just give it 7773....5552.... and it'd say ...well umm whatever that piece is some famous beethoven thing
23:48:07 <psygnisfive_> micky erbe and maribeth solomon, tho, show similar artists as being other soundtrack artists, especially scifi soundtracks
23:48:12 <ehird> um it must be noted that I'm doing that thing where I write in a specific style that doesn't come naturally because I can' tnot
23:48:12 <fizzie> There was a music analysis workshop at Nokia Research Centre around two years ago, but I've forgotten most of what was presented there.
23:48:21 <ehird> so if that happens welp watch out oky
23:48:44 <ehird> psygnisfive_: well you could compare musical fingerprints i mean that might work acceptably for the amount of work it'd take which is roughly none i mean if you use one of those library things to do it and do it in chunks and stuff you know?
23:49:35 <ehird> psygnisfive_: errrrrrrrrrrrrrmmmmmmmmm like that foosic site has an open source thing for musical fingerprinting I think? ? ?
23:50:24 <ehird> hey talking like this is fun wish it came naturally
23:50:33 <oklopol_> you can't categorize music music are an individual..........
23:50:34 <fizzie> As I recall, most papers there were about things like query-by-humming-a-melody and such.
23:50:58 <oklopol_> yeah ehird isn't that how you always talk!
23:51:04 <ehird> psygnisfive_: have you like not noticed how I am talking super weird on purpose
23:51:14 <ehird> because I can't talk if I don't don't don't talk this way?
23:51:29 <ehird> well then it is clear you have a low perception like of my talkingnessbecause if you were paying attention i think you would notice it okay
23:53:42 -!- BeholdMyGlory has quit (Remote closed the connection).
23:57:25 <fizzie> There's at least one paper about using HMM-style statistical models on MFCC features to analyse musical similarity of (here classical) sampled music.
23:58:08 <oklopol_> has anyone read music and probability?
23:58:27 <oklopol_> i performed some glancing upon it, and looked pretty neat
23:59:02 <fizzie> Given how hip and pop recommendation systems are, I'm sure there are a lot of them, and not *all* of them can be trivial wrt. the similarity measuring side.