00:00:33 <Vorpal> <elliott> Vorpal: You should integrate -fguess-at-hard-math into the cfunge build process <-- what
00:00:40 <elliott> Vorpal: see the line above
00:01:13 <quintopia> 16*8=128 okay...since when is 128 a euro symbol >_>
00:03:00 <oerjan> quintopia: no, someone mentioned the other it's windows-something-or-other
00:03:58 <oerjan> which is based on 8859-1, but fills in the 128-159 characters with its own values i think
00:05:17 <oerjan> but those chars are useless i think, anyway
00:05:44 <oerjan> quintopia: oh. it's the recode_fallback setting
00:05:49 <elliott> pikhq: Vorpal: xeyes running on Gentoo/Interix/WinNT, displayed on an X server running on Win32/WinNT: http://ompldr.org/vNzV6OA
00:06:21 <oerjan> i changed it to iso-8859-1 myself when changing to unicode, but it was windows-something before
00:06:28 -!- Behold has quit (Remote host closed the connection).
00:06:55 <oerjan> which might be why we see different things
00:07:13 <oerjan> ^bf ++++++++++++++++[>++++++++<-]>.
00:07:20 <oerjan> there, no i see a euro sign too
00:07:36 -!- pikhq has quit (Ping timeout: 272 seconds).
00:08:01 <quintopia> ^bf ++++++++++++++++[>++++++++<-]>.
00:08:13 <oerjan> i think i'll keep the CP1252, someone (i think it was pikhq) said it was the defacto thing for irssi when not doing utf-8
00:08:35 <oerjan> quintopia: yay we switched settings ;D
00:09:12 <elliott> "ps -A" will show windows processes on Interix
00:09:16 <elliott> because ps is backed by the actual NT process tree
00:09:26 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
00:09:26 <quintopia> i'm going back to CP1252 also. at least it displays something meaningful there :P
00:09:49 <oerjan> huh that didn't show right
00:09:58 <quintopia> no this one has a lot of cool characters at the end
00:10:18 <oerjan> i guess that had so many strange chars that irssi thought it couldn't be cp1252
00:11:20 <oerjan> or that it thought it was utf-8
00:11:32 <fungot> .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
00:11:55 <oerjan> ^bf ++++++++++++++++[>++++++++<-]>[.+]
00:12:38 * oerjan considers going back too
00:13:07 <oerjan> ^bf ++++++++++++++++[>++++++++<-]>[.+]
00:13:22 <oerjan> now at least the proper iso chars show right
00:15:29 -!- pikhq has joined.
00:15:36 <elliott> pikhq: http://ompldr.org/vNzV6OA
00:16:05 <quintopia> i don't understand why they put mu in there but not pi
00:19:20 <oerjan> quintopia: SI prefix, i guess
00:20:21 <pikhq> elliott: If I had need to use Windows as my main OS, I would probably have a similar setup.
00:21:53 <elliott> pikhq: Now to replace cmd.exe with a decent terminal emulator.
00:22:01 -!- poiuy_qwert has joined.
00:23:34 <Ilari> For some reason houston estimate has now frozen on Feburary 2nd...
00:28:21 <oerjan> Ilari: all mathematically based estimates are obviously obsolete at this moment
00:29:21 <elliott> they'll be useful for RIR depletion once the allocation actually gets made :P
00:29:23 <elliott> [[The remaining hurdle was that several of the VM's low-level subroutines were written directly in GNU assembler, and not C++. Microsoft's toolchain uses a different assembler syntax, and I don't fancy writing the same routines twice, especially since the code in question is already x86-specific. Instead, I've decided to eliminate assembly code from the VM altogether. Factor's compiler infrastructure has perfectly good assembler DSLs for x86 and Po
00:29:23 <elliott> C written in Factor itself already.
00:29:23 <elliott> Essentially, I rewrite the GNU assembler source files in Factor itself. The individual assembler routines have been replaced by new functionality added to both the non-optimizing and optimizing compiler backends. This avoids the issue of the GNU assembler -vs- Microsoft assembler syntax entirely. Now all assembly in the implementation is consistently written in the same postfix Factor assembler syntax.]]
00:29:33 <elliott> Factor is the most advanced language that nobody wants to use ever.
00:32:34 -!- Mathnerd314 has quit (Ping timeout: 246 seconds).
00:32:53 <pikhq> That is the correct answer for doing assembly in a Forth-like.
00:33:07 <elliott> Factor isn't a Forth-like.
00:33:22 <elliott> hmm, what does it mean if you have PermitEmptyPasswords yes, but you can't log in to a user with no password via ssh?
00:33:26 <elliott> results in "Access denied"
00:33:36 <pikhq> Concatenative stack-based language?
00:33:40 <pikhq> I'm calling that a Forth-like.
00:34:33 <elliott> double { double double } "cdecl"
00:34:36 <elliott> pikhq: "Joy-like" is far more appropriate
00:34:51 <elliott> pikhq: Forth is based around peeking and poking random memory locations. Forth code has no structure, no quotation, no lambdas, no combinators.
00:35:03 <elliott> Joy and Factor are heavily based around purely-functional combinators and quotations.
00:35:16 <elliott> As such, they bare little relation to Forth other than being concatenative.
00:35:46 <pikhq> Oh, it's not that low-level?
00:36:07 <elliott> pikhq: In fact, Factor does not let you have words with inconsistent stack effect.
00:36:28 <oerjan> <elliott> hmm, what does it mean if you have PermitEmptyPasswords yes, but you can't log in to a user with no password via ssh? <-- perhaps empty is not technically the same as none, in this case?
00:36:28 <pikhq> Okay, then. At most, Forth-inspired. Which is of course short for concatenative. :P
00:36:37 <elliott> oerjan: no, it has an empty password :P
00:36:42 <elliott> pikhq: And functional combinators like "bi" make up a large part of Forth code.
00:37:01 <oerjan> elliott: ok, disregard wild speculation then
00:37:20 <elliott> I'm just going to give the account a password :P
00:38:30 <pikhq> elliott: You could just give it an SSH private key...
00:40:12 <elliott> pikhq: this is just for local use though
00:45:29 <elliott> hmm, how the hell does ssh decide what your HOME is?
00:46:35 <pikhq> Normal login process?
00:47:13 <elliott> pikhq: yeah, how does that work, there's no /etc/passwd on interix :)
00:49:31 <pikhq> Clearly the interix libc does magic.
00:50:04 <elliott> pikhq: prolly, thing is, when i start interix from cmd.exe or whatever it gets my home directory that i changed since installing thingybob...gentoo prefix
00:50:08 <elliott> but ssh, it uses the old one
00:52:19 <elliott> pikhq: I feel my inclination to work on Kitten increasing.
00:52:35 <elliott> Mostly because this NanoXP installation's usage has actually been smoother than Ubuntu and that's just not right...
00:54:01 <elliott> pikhq: HAVE I MENTIONED HOW EASY IT IS TO CREATE A KITTEN PACKAGE LATELY
00:57:09 -!- pumpkin has changed nick to HaskellLove.
00:57:40 <elliott> HaskellLove: no haskell love allowed!
00:58:38 -!- HaskellLove has changed nick to copumpkin.
00:59:05 <elliott> copumpkin: hey you should give me +o on #haskell, that would be a brilliant idea
01:00:35 <oerjan> to spread a little joy and chaos, obviously
01:01:56 <elliott> copumpkin: ah, but to be able, for a day, to show the world love.
01:06:56 <elliott> I like the part where Windows let me just choose not to enter a serial key and it didn't complain.
01:07:03 <elliott> "Oh, you don't want to? That's... that's okay, I guess."
01:25:56 <pikhq> Not entering a serial key?
01:26:33 <elliott> pikhq: I think the iso might be cracked or something. Although IIRC it's an OEM ISO of some kind.
01:27:23 <pikhq> elliott: That's quite abnormal.
01:33:34 <elliott> pikhq: Next up: Gentoo Prefix on Win7!
01:34:02 <elliott> Meanwhile: http://i.imgur.com/UAjbo.jpg
01:34:37 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:41:29 -!- j-invariant has quit (Quit: leaving).
01:45:51 <elliott> pikhq: I have come to the conclusion that all the POSIX layers on Windows are braindamaged.
01:46:05 <Ilari> Haha... Binary file format with a text header (so that the header stuff would be easily editable with a text editor)...
01:46:25 <elliott> pikhq: Even Cygwin wants to exist in its own universe by having its own interpreters for Python, etc.
01:46:49 <elliott> pikhq: So if all you want is to be able to use bash, coreutils, gcc, etc. on Windows, you're basically out of luck.
01:51:32 <Sgeo> elliott, what does MinGW do? Or is it not a POSIX layr
01:51:49 <elliott> MinGW is just gcc-for-Windows; its POSIX layer is MSYS, which is a bad, old, outdated fork of Cygwin.
01:51:50 <Gregor> MinGW is a nothing layer, it's just a bunch of ports.
01:52:36 <elliott> The basic problem is that Cygwin tries to be "too much" ... meaning that it utterly fails to integrate with command-line Windows programs.
01:55:08 <elliott> Also it maintains its own home directory which is just silley.
01:59:04 <Gregor> I believe that decision predates Windows having such a concept.
01:59:49 <elliott> Gregor: Probably... but hysterical raisins are rarely good justifications for not /fixing/ something.
02:00:03 <elliott> If you don't break minor compatibility every decade or so, your software is never going to get any better.
02:00:49 <elliott> Gregor: ...besides, My Documents has always existed.
02:01:13 <elliott> The fact that its name is cringe-worthy (well, was; it no longer exists) doesn't mean it isn't a home directory :P
02:01:34 <Ilari> ... Well, at least until text editor corrupts the binary part when editing the text part... :-)
02:01:39 <Gregor> There weren't per-user home directories in 9x, although there were (poorly-implemented) users.
02:01:52 <elliott> Gregor: Yeah, but nobody used the multiple users.
02:02:04 <elliott> Gregor: Although maybe the sort of people who use Cygwin did.
02:02:22 <elliott> Perhaps they called one of them "root", and refused to install any software with their (equally-privileged) own-name account.
02:02:32 -!- copumpkin has joined.
02:03:51 <elliott> Oh wow, in 1999 Cygwin was released as a commercial product.
02:04:05 <elliott> I cannot imagine a bigger letdown of a purchase.
02:05:10 <pikhq> elliott: Dude, it got you a Win32 build environment before such a thing was cheap-to-free.
02:05:32 <elliott> pikhq: No. Cygwin does not and never has provided a Win32 build environment.
02:05:36 <elliott> It provides a *Cygwin* build environment.
02:05:54 <elliott> (OK, you can do -mwindows and some hackery... but I think it still depends on cygwin1.dll in the end.)
02:06:00 <pikhq> It can build native Win32 programs.
02:06:03 <elliott> (And you don't get Win32 API headers, of course.)
02:06:08 <elliott> pikhq: *If* you have the headers...
02:06:27 <Gregor> You can build native Win32 programs on Cygwin, and its installer can install the relevant headers etc.
02:06:29 <pikhq> Haven't those been readily available?
02:06:40 <elliott> <pikhq> elliott: Dude, it got you a Win32 build environment before such a thing was cheap-to-free.
02:06:45 <elliott> So this only applies *before* MinGW existed.
02:06:56 <elliott> Before MinGW existed, Cygwin was not a viable environment to build Windows programs.
02:07:39 <elliott> pikhq: And I'm sure Wacom or something was available pretty cheap before Cygwin was released in 1999.
02:07:52 <elliott> ("not free!" -- neither was Cygwin.)
02:09:04 <pikhq> elliott: Y'know what? Fuck Win32. As a whole.
02:09:41 <elliott> pikhq: Totally...but I can't really shake this feeling of irritation until Windows in a VM isn't outperforming its host.
02:10:18 <elliott> Ooh, perhaps I could advertise Kitten like that: "The only Linux distribution that lets you watch Windows perform worse!"
02:11:30 <pikhq> elliott: You *could* strip down a Linux distro until it's as featured as Windows XP.
02:11:44 <elliott> pikhq: Windows XP isn't featured?
02:11:56 <elliott> I doubt removing random commands would make a Linux distro go faster.
02:12:06 <elliott> pikhq: It's X11, really. Sigh.
02:12:08 <pikhq> Removing most of a DE would, though.
02:12:41 <elliott> pikhq: In fact, if someone wrote an Xlib replacement that somehow talked to Win32, and then removed every Windows program, it'd probably make any X11 program 10x snappier :P
02:13:12 <pikhq> That would be, uh, an X server.
02:13:21 <elliott> pikhq: No. I said Xlib replacement.
02:13:39 <pikhq> It would be a lot *of* an X server, then.
02:13:41 <elliott> pikhq: Note the lack of message generation/parsing and network round-trips.
02:13:51 <pikhq> IIRC Xlib lets you directly generate messages.
02:13:55 <elliott> pikhq: Yes. But it would differ in the important ways.
02:14:02 <elliott> OK, don't implement that part :P
02:14:07 <pikhq> And you know full well that X on localhost uses shared memory, anyways.
02:14:24 <pikhq> Still, the message generation and parsing is ridiculous.
02:14:29 <elliott> Sure... but it's still more overhead than sticking the GUI in the kernel :P
02:14:45 <elliott> (Yes, this is architecturally unsound, but so is the rest of Linux.)
02:15:02 <pikhq> There's really not much overhead in sticking the GUI in the kernel (see: Windows).
02:15:29 <elliott> Perhaps Wayland will be better, but I'm sceptical.
02:15:37 <pikhq> At least compared to X11, which has more context switches then directly calling into the kernel.
02:15:44 <elliott> I fear that a lot of window managers will be lost in the tradition as Wayland is much less flexible there.
02:15:54 <pikhq> elliott: Actually, it's much more flexible.
02:15:57 <elliott> Anyone want to bet on whether Ratpoison will work in/be ported to Wayland?
02:16:03 <elliott> pikhq: Programs decorate their own windows.
02:16:29 <pikhq> elliott: s/decorate/can decorate/
02:17:30 <elliott> pikhq: Anyway, WMs still need porting.
02:18:18 <elliott> pikhq: And of course the sun will go cold before a lot of people abandon X11, so I imagine that for the next N years, anything other than Gtk/Qt desktop programs will be relegated to running under rootless X.
02:19:25 <pikhq> elliott: Still quite likely an improvement.
02:19:38 <pikhq> elliott: After all, moving Gtk and Qt over gets you 99% of what normal people use.
02:19:46 <pikhq> With X as the legacy technology.
02:20:11 <elliott> pikhq: Yes -- but I'm not normal. OK, so most things I use are Gtk, but, dammit, WMs.
02:20:39 <pikhq> *In theory*, writing a Wayland compositor will be no harder than writing an X WM.
02:22:20 <elliott> pikhq: *In theory*. But anyway, it's not the difficulty, it's whether it will happen.
02:22:31 <elliott> pikhq: Want to bet on whether dwm/wmii will be officially ported to Wayland before the decade's out?
02:23:00 <elliott> pikhq: How about ratpoison, now that it's abandoned for Stump-"Oh-god-SBCL-is-a-royal-pain-in-the-arse"-WM?
02:23:20 <elliott> (Oh dear, turning every name into a comment on what it's naming. Am I turning into tuomov?)
02:23:55 <pikhq> It must be said that Wayland's *rendering model* is at least much better than X's.
02:24:27 <pikhq> Here is how you do graphics on Wayland: write to buffer. Tell compositor that the buffer changed.
02:24:42 <elliott> pikhq: Here's how you do graphics on Plan 9: Write to /dev/screen.
02:25:00 <pikhq> elliott: Yes, yes, Plan 9 does it all better.
02:25:30 <elliott> pikhq: Here's how you write a WM on Plan 9: Set up /dev/{screen,keyboard,mouse} (IIRC) in child processes to point to buffer. Decorate windows however you wish, spit out the result to /dev/screen.
02:25:38 <elliott> Erm, just /dev/screen is a buffer.
02:25:47 <elliott> /dev/keyboard and /dev/mouse you just filter on whether the window is active or not.
02:26:50 <pikhq> Oh dear *God* the context switches you get with a compositing manager.
02:27:14 <elliott> pikhq: Plan 9 has no compositing because fuck you.
02:27:31 <pikhq> Let's say you click on a button in a window.
02:27:55 <pikhq> Kernel → Server → Client → Server → Compositor → Server → maybe kernel
02:28:47 <elliott> Plan 9: kernel -> wm -> window
02:29:35 <elliott> Kernel notices mouse event, writes it to /dev/mouse, WM reads it, decides to write to the window's /dev/mouse, does so via the kernel, the window reads it via the kernel, and handles it.
02:30:53 <elliott> pikhq: I'M SORRY, I CAN'T HEAR YOU, THERE'S TOO MUCH PLAN 9 IN MY EAR.
02:31:50 <elliott> pikhq: SAD THING OF THE DAY: The wonderful ratpoison logo was changed.
02:32:16 <oerjan> THOSE RATS POISONED THE LOGO
02:32:31 <elliott> pikhq: Wonderful old logo: http://upload.wikimedia.org/wikipedia/commons/9/9d/Ratpoison.png
02:32:37 <elliott> pikhq: Rubbish new logo: http://upload.wikimedia.org/wikipedia/commons/3/3d/Ratpoison_new.png
02:35:19 <elliott> Why'd you switch to xfce again?
02:37:10 <elliott> pikhq: Oh, switching to Debian?
02:38:40 <pikhq> No, it was before that.
02:39:23 <elliott> Series 2 of Yogscast Minecraft SMP starts tomorrow!
02:39:36 <elliott> Maybe they'll set the server to hellworld rather than wait for fixed Nether portals. Well, presumably.
02:40:44 <elliott> pikhq: Have you watched the Yogscast.
02:40:52 <pikhq> elliott: Should I?
02:41:07 <elliott> pikhq: Oh god yes. It's hilarious and amazing.
02:41:34 <elliott> pikhq: Start with the plain Survival Multiplayer videos, then go on to Survival Island. You can skip the other misc. videos they have if you want -- they're just filler -- but they *are* amusing filler.
02:41:59 <elliott> pikhq: Note that the series isn't strictly a Let's Play, it's kind of scripted... oh, I can't explain, just watch them.
02:42:47 <elliott> pikhq: A lot of the time it's two British people doing stupid things and reacting hilariously dimly, and you can't go wrong with that.
02:43:47 <elliott> pikhq: Lemme get you a playlist link.
02:44:01 <elliott> pikhq: http://www.youtube.com/view_play_list?p=F60520313D07F366
02:53:00 <elliott> pikhq: ARE YOU WATCHING also i thought this was in -minecraft
02:58:35 <elliott> pikhq: Should I write a WM or resist the temptation.
03:04:52 <elliott> quintopia: Oh certainly, but I might just ship dwm or wmii or something.
03:05:26 <elliott> quintopia: Currently I just need to figure out how to make the PUREST FORM OF A PACKAGE MANAGER.
03:06:41 <quintopia> i think the purest form would be no package manager :P
03:07:04 <elliott> quintopia: that's not the purest form.
03:07:09 <quintopia> just a database filled with websites where you can get the source
03:08:06 <elliott> quintopia: that lacks such things as "uninstallation"
03:08:14 <quintopia> it never puts stuff in places where you can't find it, because you had to put everything everywhere yourself
03:08:32 * Sgeo emotionally ills
03:09:23 <elliott> Sgeo: I don't care how bad you're feeling, (1) ill is not a verb, and (2) "emotionally ill" is a silly phrase.
03:09:55 <copumpkin> what amuses me is that my iphone corrects ill to i'll
03:10:21 <pikhq> elliott: Yay British people reacting dimly.
03:10:27 <elliott> copumpkin: iphone autocorrection is both the only thing that makes the keyboard even vaguely acceptable, and the thing that makes typing correctly with it nearly impossible
03:10:27 <Sgeo> My Android turns Il to I'll, but Ill stays Ill
03:10:34 <pikhq> elliott: Oh, I think I've seen a couple of their videos.
03:10:40 <elliott> pikhq: Wait until it gets a plot.
03:10:43 <Sgeo> As I feel like I need to type out i l l, it gets really annoying
03:10:44 <elliott> pikhq: (Yes, it gets an overarching plot.)
03:10:51 <elliott> (Impossible to explain, just keep watching it in order.)
03:10:54 <Sgeo> elliott, what is "it"?
03:11:00 <quintopia> my android phone does none of the above because i turned that shit off
03:11:06 <elliott> Sgeo: The Yogscast: Minecraft Survival Multiplayer.
03:11:20 <elliott> i have a new life philosophy which is not to type on phones
03:12:30 <quintopia> i like how that's one of the cases where you must split the infinitive for it to parse correctly
03:12:44 <elliott> I split infinitives like ATOMS.
03:12:48 <quintopia> or use the present participle i suppose
03:12:50 <elliott> (In large, well-funded research facilities.)
03:14:05 <oerjan> quintopia: um i thought not splitting the infinitive had the same meaning in that case...
03:14:50 <oerjan> might depend on stress when spoken?
03:15:03 <elliott> my new policy is not to type on phones, i.e. my policy is something other than "type on phones"
03:15:12 <elliott> admittedly the stress could change the meaning to the intended one, yes
03:15:25 <elliott> "not to" and "to not" are almost equivalent when you're speaking at conversational speeds anyway
03:15:40 <elliott> hooray for redundancy in language
03:17:37 <Sgeo> (to not type) seems like a verb, while not (to type) seems like a negated verb
03:18:46 <elliott> Sgeo: "my policy (is not) to type" is how it parses by default
03:18:53 <elliott> whereas I want "my policy is to (not type)"
03:19:12 <Sgeo> Ooh, that's a non-equivalent parsing
03:21:58 <pikhq> "Find some coal", eh? Well. Who needs coal when you've got a hole?
03:21:58 <elliott> pikhq: I might keep developing Kitten in a VM.
03:22:30 <pikhq> Sadly, this predates charcoal.
03:23:10 <elliott> pikhq: They get more competent as time goes on. :)
03:23:16 <elliott> pikhq: You're looking through the eyes of the first-time player.
03:23:29 <elliott> Lewis (the other one) is ... _meant_ to be more competent :P
03:23:31 <pikhq> elliott: I read about it first. :P
03:23:40 <elliott> pikhq: Yes, but instead of the wiki, Simon has Lewis!
03:23:47 <elliott> And Lewis is hilarious, unlike wikis!
03:26:53 <oerjan> "The only winning move is not to play."
03:27:27 <oerjan> "The important thing is not to stop questioning."
03:27:49 <elliott> oerjan: "is to not" reads better, anyway
03:28:07 <oerjan> the next example agrees with quintopia: "Your task is not to seek for love"
03:28:48 <oerjan> "The object of war is not to die for your country but to make the other bastard die for his."
03:29:23 <oerjan> i skipped "The main thing is not to install Flash!"
03:29:57 <elliott> pikhq: Top comments on Part 3:
03:29:58 <elliott> i die inside when he breaks dirt with a pickaxe.
03:29:58 <elliott> I cringed when he used the pick-axe to dig dirt.
03:29:58 <elliott> SaotaTheSangheili 1 week ago 36
03:30:13 <oerjan> "The scope of this document is not to tell you how to install and set up a. LATEX system"
03:31:05 <quintopia> does dirt wear out pickaxes? or is it just the inefficiency compared to shovels?
03:31:34 <elliott> quintopia: everything wears out tools
03:31:50 <oerjan> quintopia: we might suspect that the "rule" against splitting infinitives is the reason why it's ambiguous in the first place
03:31:56 <elliott> oerjan: well consider that "is not to" is basically a typo of sorts
03:32:00 <quintopia> i meant at an unreasonably fast rate of course
03:32:05 <elliott> although given time it will probably become equivalent
03:32:11 <elliott> quintopia: well picks are precious
03:32:12 <oerjan> elliott: even in the wargames quote? :D
03:32:15 <elliott> quintopia: it's just OCD :)
03:32:30 <elliott> oerjan: well, not typo. just misuse. but ofc misuse is just innovation a few years early.
03:32:35 <pikhq> quintopia: Using the wrong tool will wear it out doubly.
03:32:50 <quintopia> oerjan: it's not really a rule. people just say whatever sounds best.
03:33:10 <oerjan> elliott: the thing is that some people have considered "is to not" to be wrong in principle, even it's a misguided rule
03:33:20 <elliott> oerjan: yeah, but they're stupid
03:33:42 <Sgeo> Split infinitives. Only in English.
03:33:44 <elliott> oerjan: "To not type is my new policy" is the correct way or something i guess
03:33:49 <Sgeo> [Note: Possibly not true]
03:34:26 <oerjan> elliott: well "to not type" looks ugly to me...
03:34:37 <elliott> oerjan: looks fine to me, you're insufficiently native
03:34:53 <oerjan> elliott: or maybe i'm just _old_
03:35:16 <elliott> oerjan: yeah you're what, 57?
03:35:39 <elliott> man, i'm only going to be like 45 to 55 when oerjan dies
03:36:01 <elliott> oerjan: sign up for cryonics kthxbai
03:36:09 <elliott> otherwise who will make puns after the singularity?
03:37:05 <oerjan> Sgeo: other germanic languages also have splittable infinitives
03:37:25 <elliott> oerjan you haven't yet reacted to my perfect argument for cryoncis
03:37:38 <Sgeo> Is English considered a Germanic language?
03:37:50 <elliott> we're all germans, thanks to wwii
03:37:57 <oerjan> english may be the only one which has a "rule" against doing it though
03:37:59 <elliott> oerjan i get the feeling you don't think much of my argument
03:38:51 <oerjan> elliott: i am not going to sign up for cryonics while i don't have a good feeling about living forever
03:39:05 <elliott> oerjan: then who will make puns after the singularity?
03:39:27 <elliott> also, it's pretty much assumed that suicide will be an option in any post-revival scenario, but whatever :P
03:40:18 <oerjan> elliott: the possibility of a crapsack singularity is not something to be brushed aside
03:40:41 <elliott> oerjan: a crapsack singularity isn't just going to be a naff, boring after-life, it's going to be paperclip-tiling
03:41:04 <elliott> oerjan: a singularity that results in just a "naff" post-singularity environment wouldn't revive cryonics patients
03:41:09 <Sgeo> elliott, it could be a hellish afterlife
03:41:20 <elliott> what has that got to do with cryonics?
03:41:28 <Sgeo> <elliott> oerjan: a crapsack singularity isn't just going to be a naff, boring after-life, it's going to be paperclip-tiling
03:41:38 <elliott> that doesn't answer my question
03:41:47 <elliott> your statement made no sense
03:41:51 <Sgeo> I just decided to use the word you used
03:42:21 <Sgeo> What I meant was, it might not be paperclipfilling. It could be deliberately torturing every single human who ever lived that the AI can access
03:42:26 <elliott> Sgeo: the only way a superintelligence would both keep humans alive *and* revive cryonics patience to experience hell would be if it was deliberately and explicitly programmed to do so
03:42:37 <Sgeo> elliott, or so you think
03:42:39 <elliott> there's no way coherent extrapolated volition etc. could backfire in that way
03:42:43 <elliott> Sgeo: no, or not "so I think"
03:42:55 <elliott> it turns out that you can apply sound logic without having to say "or so I think"
03:43:27 <elliott> the probability is lower than the probability that cryonics is impossible, anyway
03:45:28 <elliott> oerjan: anyway, the (negligible) risk is worth it for pun delivery
03:51:38 <pikhq> DON'T PUNCH THE FURNACE AWAY
03:51:56 <elliott> I'm rewatching and I'm only on part 3.
03:52:53 <Sgeo> I'll have to watch that when I'm not on the verge of tears
03:53:17 <elliott> Sgeo, either tell us what's wrong, or shut up.
03:53:40 <Sgeo> I think I seriously offended a close friend talking about religion
03:53:46 <Sgeo> We usually talk about religion though
03:53:50 <Sgeo> Or, well, often
03:54:09 <elliott> If you said something insensitive, apologise. If they're just being stuck up, don't.
03:54:20 <elliott> If they don't accept your sincere apology, they're a dick.
03:54:36 <pikhq> I also want to let these guys know that spiders are neutral in light...
03:54:56 <elliott> pikhq: They figure it out in the $many main series episodes and $many Survival Island episodes ahead. :p
03:55:01 <elliott> pikhq: (Survival Island is part of the main plotline.)
03:55:06 <oerjan> pikhq: THAT'S WHAT THEY WANT YOU TO THINK
03:56:12 <elliott> pikhq: Here, have a package installer: $pkg/preinst && tar -C / -xf $pkg/root.tar && $pkg/postinst
03:57:23 <Sgeo> I pretty much asked "We are still friends, right?"
03:57:39 <Sgeo> I don't think what I said was insensitive, so much as.. made me seem like a brick wall to her
03:58:16 <elliott> Sgeo: Friends who won't accept sincere apologies when misunderstandings come up = not real friends.
03:58:29 <Sgeo> I didn't quite apologize
03:59:23 <elliott> Sgeo: What did you say...?
03:59:44 <Sgeo> It wasn't really one thing
04:00:07 <Sgeo> It was the entire discussion. She pretty much said that I hold the things I read online to a different standard than what she holds as true
04:00:57 <elliott> Sgeo: I asked what you said, not what she said.
04:01:08 <elliott> (Even if that's what she said hur hur)
04:01:31 -!- azaq231 has joined.
04:01:39 <Sgeo> I pretty much described how I learn about experiments that occur, hearing about those things, reading about research, etc.
04:01:43 -!- azaq231 has quit (Changing host).
04:01:43 -!- azaq231 has joined.
04:01:59 <Sgeo> Earlier in the day, I was saying that I don't consider the Bible to be good evidence
04:02:06 <elliott> Sgeo: OK. So you said absolutely nothing wrong.
04:02:10 -!- azaq23 has quit (Ping timeout: 240 seconds).
04:02:11 <elliott> You didn't impose your views upon others.
04:02:16 <elliott> You didn't insult anyone for their views.
04:02:29 <Sgeo> elliott, and I'm not entirely sure if she's "done with" me, or just the discussion
04:02:31 <elliott> And you didn't even say anything even vaguely controversial beyond not being religious.
04:02:33 <pikhq> Not your fault that she has a stick logged firmly in anus.
04:03:00 <elliott> Sgeo: Look -- if she'll stop talking to you for saying those perfectly valid, non-offensive things, then she wasn't your friend in the first place.
04:03:59 <elliott> Sgeo: Even by /American/ standards you have nothing to apologise by; your country isn't quite so bad as to consider "I don't believe the Bible to be factually accurate" as taboo (well, unless you're in the deep south).
04:04:38 <Sgeo> From her perspective, I'm holding what she believes to a different standard from what I believe
04:04:40 <elliott> If it was "I don't like religion and I think it's bad and I don't think anyone should be religious"... that would be a stupid thing to say to someone. But you didn't say that or anything of the sort, and you've said nothing wrong.
04:05:04 <elliott> Sgeo: Her not talking to you for that is just the same as you not talking to someone for being Christian.
04:05:21 <Sgeo> elliott, it has nothing to do with the raw fact that I'm an atheist
04:05:24 <elliott> "I think your beliefs are wrong so we're not friends any more" = asshole.
04:06:01 <pikhq> TAKE YOUR COAL OUT OF THERE YOU'RE BURNING COAL FOR NO REASON
04:06:02 <Sgeo> I think it would be more comparible to, after a debate, me not being friends with someone because they completely ignored my argument about something
04:06:18 <pikhq> Oh, okay, they're done wasting it. Good.
04:06:27 <elliott> Sgeo: That's just as stupid...
04:06:46 -!- oerjan has quit (Quit: leaving).
04:06:48 <coppro> Sgeo: #1 mistake in religious debates is to take the other side as absolutely wrong
04:06:58 <coppro> 99% of the time, neither side can convince the other
04:07:08 <quintopia> #2 mistake in religious debates is having one
04:07:23 <coppro> it is entirely possible to have a cordial religious debate
04:07:31 <elliott> Sgeo: Well, anyway, regardless of whether you should apologise or not (I think definitely not), there are two possibilities: either she'll keep talking to you, or not. In the latter case, you have two options: Accept it, or apologise. If you apologise and she accepts it, you've reduced it to the first situation. If you apologise and she doesn't accept it, you don't want to be friends with her anyway.
04:07:37 <coppro> but both parties are involved for the sake of the debate
04:07:43 <coppro> and not for the sake of convincing the other side
04:07:45 <elliott> Have I expanded the decision tree enough do you think?
04:07:54 <quintopia> coppro: then let me add "with strangers on the internet"
04:08:02 <coppro> quintopia: ok, that's usually a mistake
04:08:08 <coppro> but that's not what we're talking about with Sge
04:08:16 <elliott> Sgeo is obvs not talking about stranger on internet
04:08:19 <coppro> Sgeo: apologize profusely
04:08:28 <coppro> make it clear you respect her beliefs
04:08:40 <coppro> (if this would be a lie, learn why that's dumb, learn to respect her beliefs, then tell her)
04:08:51 <elliott> Sgeo: anyway there is no reason to cry over that, either it's easily resolvable, or she's not a good friend anyway.
04:08:55 <coppro> and attempt to maneuver to an agreement to disagree
04:09:09 <Sgeo> I'm hoping the reason she's not responding to me right now is either that she's busy, or maybe she'll just talk tomorrow or something
04:09:12 <Sgeo> She hasn't blocked me
04:09:26 <Sgeo> Maybe I just need to eat
04:09:36 <elliott> That is indeed a requirement of human life.
04:22:55 <elliott> pikhq: What part are you on now, 20? :P
04:25:50 -!- augur has joined.
04:26:02 <elliott> Ah, edging towards THINGS HAPPENING.
04:26:05 <pikhq> Where it becomes clearly at least forward-planned.
04:27:23 <Sgeo> It occurs to me where I saw an interesting discussion she might just have wanted to learn about what I think
04:29:21 <elliott> pikhq: You know what's awesome? dmenu.
04:29:44 <Sgeo> elliott, that looks like a lojban word
04:30:33 -!- Mathnerd314 has joined.
04:31:14 <elliott> pikhq: The KITTEN DESKTOP ENVIRONMENT's start menu: dmenu loaded with all the programs on the path, plus the history patch (ordered by most frequent use).
04:34:01 <pikhq> GOD DAMMIT YOUTUBE
04:34:12 <pikhq> THE BUFFER IS MUCH LARGER THAN WHAT I'VE SEEN SO FAR.
04:34:19 <pikhq> STOP REQUIRING LARGER BUFFERS.
04:36:30 <elliott> pikhq: Use an HTML5 YouTube player extension like I do. :p
04:42:37 <elliott> pikhq: Question. What's a decent terminal _that handles multibyte_?
04:42:44 <elliott> That isn't tied to a desktop environment.
04:44:09 <elliott> pikhq: That's a "none", then.
04:44:18 <elliott> I wonder if st's multibyte support has improved?
04:44:22 <elliott> I assign you to go and check.
04:44:39 <elliott> pikhq: 2 months agoAurélien Aptel utf8 support! print text in delicious unicode greatness! all hail to the glorious Damian Okrasa for the patch!changeset | files
04:45:00 <elliott> pikhq: You should try it again!
04:45:03 <elliott> http://hg.suckless.org/st/archive/tip.tar.gz
04:46:10 <elliott> pikhq: INSUFFICIENT APPRECIATION OF MY RESEARCH
04:47:44 <pikhq> You should be able to smelt mossy cobblestone into mossy smooth stone.
04:47:53 <pikhq> Or make mossy tools.
04:49:00 <elliott> pikhq: EXCUSE ME ST DOES UNICODE NOW
04:54:17 -!- zzo38 has joined.
04:55:21 -!- zzo38 has set topic: Impossible House | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:55:34 <zzo38> Today I received a game in the mail.
04:55:39 -!- elliott has set topic: anything is possible house http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:55:46 <elliott> you removed my formatted logs
04:55:55 <quintopia> does urxvt not handle multi-byte then?
04:56:02 -!- zzo38 has set topic: anything is possible house | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:56:03 -!- elliott has set topic: anything is possible house | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:56:27 <zzo38> elliott: No, it is not a hat game. It is a cross between a card game and a fighting game.
04:56:30 <pikhq> Okay, well, it does...
04:56:34 <pikhq> That being the whole point.
04:56:35 <elliott> pikhq: have you tested st yet
04:56:41 <elliott> http://hg.suckless.org/st/archive/tip.tar.gz
04:57:21 <zzo38> No. Not like that.
04:57:58 <zzo38> The game has ten decks, with fifty-six cards each, although two of them are removed from the deck before play begins.
04:57:59 -!- quintopia has set topic: anything is possible rhar | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:59:59 <zzo38> There are no rares and no random packs. The cards that are not removed consist of Ace to King in each of four suits, and two jokers; but each card also hasa picture and two special effects depending on which direction you play the cards.
05:01:16 <Sgeo> I wonder how much of this teariness is just caused by me being hungry
05:01:23 <Sgeo> All I ate today was a 440 calorie danish
05:02:03 <elliott> in which Sgeo discovers that eating is not optional
05:03:10 <elliott> there was an anorexic at the unit. it was uh, interesting
05:03:27 <elliott> the unit's advanced psychiatric treatment consisted of telling her to eat until she ate
05:03:41 <elliott> it...was...not terribly effective
05:03:51 -!- Vorpal has quit (Ping timeout: 272 seconds).
05:04:05 <elliott> she was on a feeding tube pretty often
05:04:17 <quintopia> treatment for anorexia doesn't even suck that bad in america
05:04:22 <Sgeo> My parents threatened me with a feeding tube once
05:04:50 <elliott> Sgeo: yes but we've established on many occasions that you're parents are incompetent psychos who shouldn't be allowed to breed
05:04:56 <elliott> well ok, so that line just established it far more
05:05:10 <elliott> Sgeo: move the fuck out already
05:05:24 <Sgeo> elliott, when I said parents, I wasn't referring to my step-mom
05:05:33 <elliott> Sgeo: i am aware of that fact
05:07:08 <Mathnerd314> Gregor: do you have any more more music similar to superturing?
05:07:19 <Sgeo> Considering that I want to try F# at some point, should I cancel the VS2008 install and install VS2010?
05:07:23 <elliott> That is such an insult to Gregor.
05:07:32 <elliott> Mathnerd314: Opus 13 is like SuperTuring, perhaps even more cheesy though!
05:07:45 <Gregor> Mathnerd314: http://codu.org/music/vg/ is the only other electronic music I've made.
05:07:56 <quintopia> elliott: you're good at this insulting gregor thing
05:08:08 <elliott> tbh though i think all of Gregor's music is like
05:08:20 <elliott> it's hilarious, he pretends to have talent so well
05:08:27 <quintopia> i hear that gregor couldn't figure out how to use a non-piano instrument...not even a player piano.
05:08:36 <elliott> lol he can't play the piano
05:08:50 <Mathnerd314> elliott: am I missing something, or is this just general insanity?
05:08:55 <Gregor> I just poke keys and go "zomg sounds it's SATAN D-8"
05:10:56 <copumpkin> woot, I'm up to 65 karma on mathoverflow
05:11:14 <copumpkin> one mathoverflow point = 1000 stackoverflow points
05:11:36 <elliott> now sleeeeeepsuckitudylesseryiminy
05:11:51 <elliott> iy960rpe;d.cv,mbhjy69504[ws'c.v,gkyi69043[
05:12:04 <Mathnerd314> copumpkin: and 1000 stackoverflow points = $0 ?
05:13:11 <copumpkin> pff, who needs money when you have karma
05:13:39 <copumpkin> with all my newfound stackoverflow credibility, I can tell lowly programmers that the solution to their programming problem is to clean my house and drive me around
05:16:08 -!- elliott has quit (Ping timeout: 240 seconds).
05:29:42 <zzo38> Gregor: Maybe you should write more music, write John Stump style music. Probably GNU Lilypond can do that.
05:30:02 <Gregor> GNU Lilypond can't write music :P
05:30:20 <zzo38> You can use GNU Lilypond for writing music.
05:30:45 <Gregor> You can use GNU Lilypond for /notating/ music.
05:30:57 <zzo38> Your files are in GNU Lilypond, that's what I saw, I think.
05:31:21 <Gregor> Yes, that's what I use for notation. Notating music != writing music.
05:32:01 <zzo38> Then make a John Stump style music and notate it with GNU Lilypond.
05:32:45 <zzo38> I read that DVI files created with Lilypond will not contain note heads. Is that right? If so, that is a serious problem.
05:34:11 -!- Vorpal has joined.
05:36:42 <Gregor> I have no idea, I've only ever created PDF files with it.
05:56:45 <zzo38> Why does netcat need a CRLF option, you can just type: unix2dos | nc
05:57:20 <quintopia> so you don't have to have that program
05:57:23 <zzo38> If I make my own, it will certainly be different, it will have different options.
06:01:01 <zzo38> Is it possible to send a print job to a PCL network printer (with an IP address) by using a command such as: dvilj | nc
06:03:19 <coppro> theory: the zero wing introduction probably has the highest density of a single source introducing new phrases to english in the last century
06:03:46 <zzo38> Did you that Android includes constants for the gravity for all of the planets in this solar system?
06:05:55 <zzo38> coppro: I don't know.
06:06:29 <Sgeo> zzo38, do you know why I don't like food?
06:07:12 <zzo38> Sgeo: Is it because that food is no good to eat?
06:27:31 -!- poiuy_qwert has quit (Ping timeout: 255 seconds).
06:27:36 <quintopia> beer is liquid bread it's good for you
06:27:41 -!- augur has quit (Read error: Connection reset by peer).
06:28:01 -!- augur has joined.
06:30:23 -!- poiuy_qwert has joined.
06:36:04 <pikhq> coppro: I had a friend who thought that food sucked.
06:36:22 <pikhq> As it turns out, his mother was just an incredibly awful cook.
06:38:01 -!- azaq231 has quit (Quit: Leaving.).
06:40:55 <pikhq> So, Sony released a new PS3 update.
06:41:27 <pikhq> They changed a number of keys.
06:41:32 <pikhq> All of them symmetric.
06:41:56 <pikhq> The new update has *already* been unpacked and the new keys extracted.
06:43:34 <pikhq> Seriously, it took an hour.
06:48:15 <pikhq> In short, Sony seems to have completely misunderstood the whole entire hack.
07:02:39 <quintopia> ohey. google is 100% and inarguably evil now. sure they pushed the boundaries a few times before, but they have finally totally fallen to the dark side.
07:02:59 <quintopia> http://torrentfreak.com/google-starts-censoring-bittorrent-rapidshare-and-more-110126/
07:04:35 <pikhq> That's pretty evil.
07:24:21 <myndzi> The search engine now actively censors terms including BitTorrent, torrent, utorrent, RapidShare and Megaupload from its instant and autocomplete services.
07:24:33 <myndzi> lots of stuff gets struck off those lists, for good reason
07:25:02 <myndzi> it probably opens them up to legal action to be actively suggesting results for searches that relate to piracy
07:25:15 <myndzi> for example: type artist name, get suggestions for download links
07:25:31 <myndzi> everybody likes to forget that all you have to do is hit enter
07:28:42 <myndzi> i think google gets too much shit about their don't be evil line. what it means is that they should try to do right in all cases, but what people hold them to is "don't make me angry"
07:38:58 <quintopia> fuck that man. they crossed the line. when you start suggesting A but not suggesting B because C asked you to, you are failing to be what a search engine is supposed to be.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:23:46 -!- copumpkin has quit (Ping timeout: 246 seconds).
08:24:12 -!- copumpkin has joined.
08:26:37 -!- cheater00 has quit (Ping timeout: 240 seconds).
08:27:37 -!- cheater00 has joined.
09:06:22 <zzo38> I made JavaScript preprocessor.
09:07:54 <fizzie> I've used cpp on some javascript earlier, but I've completely forgotten the reason.
09:10:49 <zzo38> I would not expect the C preprocessor to work properly on JavaScript, especially if your program contains regular expressions!!
09:17:36 <zzo38> My program works also with regular expressions, but it has other features, too.
09:18:36 <quintopia> we don't need preprocessing for js. we have eval :P
09:18:38 <zzo38> Instead of (function(x,y){return x+y;}) or function(x,y)(x+y) you can type @(x,y;x+y)
09:18:59 <zzo38> There is also \def and \enum command.
09:20:22 <zzo38> http://zzo38computer.cjb.net/tex-js/jspp.js
09:22:00 <quintopia> what kind of input does http://zzo38computer.cjb.net/tex-js/tex-js.htm take?
09:22:23 <zzo38> (At least, not yet.)
09:22:33 <zzo38> (But that file is not part of JSPP anyways)
09:23:13 <zzo38> I will try to implement TeX.
09:23:33 <zzo38> I might later also implement TeX in C (with Enhanced CWEB) as well.
09:23:52 <zzo38> But I don't know for sure.
09:25:08 <zzo38> You can also make suggestions of JSPP, if you want to.
09:26:07 <zzo38> Note the regular expression /./ does not match line breaks, but /[^]/ matches any character.
09:28:59 <fizzie> Funny that JavaScript regexps do the /.../i case-insensitive and the /.../m multiline modifiers, but not the /.../s "dot matches newlines" one.
09:30:12 <zzo38> Yes, I don't know why they didn't put that in. But at least you can still use [^] if you want newlines matched as well. Maybe I could add a feature in JSPP supporting /.../s modifier.
09:31:08 <quintopia> it'd just be a matter of replacing all . with [^] yes?
09:31:22 <zzo38> Yes, just look if the "s" modifier is set, replace all . with [^] unless preceded by \ or inside of a [...] group
09:31:57 <zzo38> Except for things like /\\./s where the . is not considered preceded by \ because the \\ is one token by itself, and . is the next one.
09:33:05 <zzo38> These aren't really special cases, just use a proper regular expression that matches them properly.
09:34:11 <zzo38> (Actually MDC says to use [\s\S
09:34:20 <zzo38> (Actually MDC says to use [\s\S] but [^] works too)
09:34:46 <quintopia> still, you can't just replace . with [^]. it'll be a tricky regex
09:34:47 -!- poiuy_qwert has quit (Ping timeout: 272 seconds).
09:35:24 -!- poiuy_qwert has joined.
09:35:28 <zzo38> quintopia: Yes, you are right about that. It will be a bit tricky, but it is doable.
09:49:59 -!- cheater00 has quit (Ping timeout: 240 seconds).
09:52:27 -!- cheater00 has joined.
09:52:43 <zzo38> OK, I added that feature now.
09:55:37 <Ilari> Current RIR depletion estimates: APNIC at October 2011, RIPE at Sepember 2012, ARIN at November 2012, AFRINIC in June 2015 and LACNIC in Novameber 2016. Of course, run-on-the-bank could move those much earlier, and the AFRINIC and LACNIC probably don't deplete.
09:58:30 <Ilari> Oven deLong predicts that IPv6 will last 30-50 years. After that, migration to new protocol for yet unknown reasons (not exhaustion of address space).
10:00:37 <zzo38> Maybe the reason is quantum computer.
10:02:27 <fizzie> zzo38: Your Rnumber regex doesn't seem to match numbers of the form ".5" or "1e9" or "1.5E3".
10:02:49 <zzo38> fizzie: Oops, sorry. Now I will fix that.
10:03:16 <Ilari> His estimate of the total address space given to RIRs is 15 blocks...
10:03:37 <fizzie> Or I guess "+5" or "-7" either.
10:04:03 <zzo38> I don't need to match "+5" or "-7" because those are just treated as an operator followed by a number.
10:04:29 <Ilari> Even with the present system, there are 512 of those total.
10:05:06 <fizzie> Syntactically speaking the sign is part of a number in JavaScript, but I guess it works for preprocessing.
10:05:45 <fizzie> But you need to match it in the exponent, because 1e+9 and 1E-3 are legal.
10:11:53 <zzo38> I have now corrected that problem.
10:12:52 <zzo38> fizzie: Did you find any other mistakes in this program?
10:14:30 <fizzie> Well. Technically speaking for identifiers you would need to match all Unicode letters (categories Lu, Ll, Lt, Lm, Lo and Nl) and digits (Nd), as well as combining marks and connector punctuation (Mn, Mc, Pc); and also allow Unicode escape sequences ("\uXXXX", where Xs are hex digits) in the identifiers, but only when the escape sequence denotes and otherwise legal character.
10:14:35 <fizzie> But that would be pretty ugly.
10:16:17 <zzo38> So I will not allow Unicode identifiers in JSPP.
10:17:19 <fizzie> Also for strings you perhaps should use that "\\[^]" in place of "\\.", because a multi-line string with an escaped embedded newline like "foo\
10:21:12 <zzo38> I would like to know if there are any additional features you think is needed?
10:31:16 <fizzie> Can't think of any right now. I'm not sure where you match the + in something like "2 + 2", though; it doesn't seem to be Roperator, which is what I'd have guessed from the name.
10:32:19 <fizzie> Is it just a generic fall-through sort of thing?
10:37:57 <zzo38> The + is matched there.
10:38:34 <zzo38> So are other operators. It just uses ranges since the ASCII numbers for the operators are close together.
10:39:28 <fizzie> Ah, (-\/ -- it's not exactly very clear, but sure.
10:40:22 <zzo38> OK I added a comment there now.
11:04:46 -!- ais523 has joined.
11:05:18 -!- hiato has changed nick to clue.
11:06:30 -!- clue has left (?).
11:06:45 <Ilari> "Here we are discussing the exhaustion date and most of the world doesn’t know ipv6 exists :p"...
11:08:08 <cheater00> fizzie: what about composition of letters by say umlauts?
11:16:10 <fizzie> cheater00: What about it? It is legal in identifiers (the combining diaeresis has the Mn "non-spacing mark" category), though the identifier ä (single char) is not equal to ä (a + diaeresis). (The spec says the source is supposed to be converted to normal form C beforehand.)
11:19:09 -!- cheater00 has quit (Ping timeout: 240 seconds).
11:19:31 -!- cheater00 has joined.
11:20:48 -!- ais523 has quit (Remote host closed the connection).
11:24:23 -!- ais523 has joined.
11:33:24 -!- ais523 has quit (Read error: Connection reset by peer).
11:33:59 -!- BeholdMyGlory has joined.
11:34:44 -!- ais523 has joined.
11:46:15 -!- FireFly has joined.
12:03:31 -!- cheater00 has quit (Ping timeout: 240 seconds).
12:03:50 -!- cheater- has joined.
12:20:43 -!- cheater- has quit (Ping timeout: 240 seconds).
12:23:08 -!- cheater- has joined.
12:29:12 -!- Tritonio has joined.
12:30:47 -!- ais523_ has joined.
12:32:32 -!- choochter has joined.
12:39:11 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
12:44:08 <Ilari> Haha... This must be the most misinformed article about IPv4 exhaustion I have seen in a while: http://www.foxnews.com/scitech/2011/01/26/internet-run-ip-addresses-happens-anyones-guess/ (but hey, it is Fox News).
12:45:14 <Ilari> Containing gems like "a system that recognizes six-digit IP addresses rather than four-digit ones." (err...). Oh, and it is 'Huston', not 'Hutson'.
12:46:08 -!- ais523_ has quit (Quit: Page closed).
12:47:38 <fizzie> Well, you know, it's "v4" and "v6" and the addresses are longer, so...
12:48:35 -!- poiuy_qwert has joined.
12:50:42 <fizzie> The end of the article links to http://www.news.com.au/technology/the-internet-has-run-out-of-ip-addresses-and-what-happens-after-that-is-anyones-guess/story-e6frfro0-1225995086627 which has pretty much identical text except "Web developers have compensated for it by creating IPv6 - a system which recognises 128-bit addresses as opposed to IPv4's 32-bit addresses."
12:51:03 <fizzie> Apparently that somehow got turned into "four-digit" and "six-digit".
12:53:14 <Ilari> And also that news.com.au article has that name spelled correctly...
12:55:00 <Ilari> That "at best it is slow" thing is present in both...
12:55:58 <fizzie> Yes, I think there the train of thought has gone "well the incompatible protocols are a bit like a square peg and a round hole, and you can sort of fit them together if you just hammer really much, but it's not going to go in smoothly".
12:57:28 <Ilari> Well, IPv6 is bit slower: In fast ethernet link (100Mbps), one can transfer data over IPv6 at 11.6MB/s. IPv4 is bit faster at about 11.8MB/s.
12:59:42 <fizzie> Yes, but the point was that it's "clunky and slow" when you're accessing the IPv4 sites with it. Though maybe it's referring to some sort of a clunky translation mechanism.
13:01:13 <Ilari> Transferring 700MB (one CD full) of data, that would correspond to about 1s difference (out of about 60s transfer time)...
13:01:58 <Ilari> Holds irrespective of speed, so IPv6 slows down data downloads by about 1s per minute...
13:03:33 <Ilari> Also, translation mechanism? Yes, there is NAT64, but nobody in their right mind is going to use it...
13:05:28 <fizzie> I meant something like that SIIT thing.
13:05:46 <fizzie> And those aren't the only ones.
13:07:10 <fizzie> Really, it's a bit hard to say what they meant there, if anything.
13:08:11 <Ilari> I guess that "IPv6 connection timeouts and the client falls back to IPv4" issue.
13:12:58 <fizzie> This is a longer (and possibly a bit less vague) article about his talk: http://www.smh.com.au/technology/technology-news/crunch-time-for-upgrade-of-internet-addresses-that-are-running-out-20101116-17v26.html
13:15:48 <fizzie> "Anyone purchasing new hardware or software that has any sort of internet connection should ask if it is v6-capable, because most modems and routers on the market are not and those devices that are can be costly.
13:15:48 <fizzie> The same philosophy applies to new computers, though by now, they should all be running v6-compatible operating systems."
13:17:15 <Ilari> Is there an OS that is neither IPv6 capable nor end-of-lifed?
13:17:42 <fizzie> I would think most of the consumer things that do internets (or at least complicated internets, like routers) actually run on operating systems that are v6-capable (embedded Linux seems to be pretty popular) in theory, so logically speaking it'd just be a matter of a firmware upgrade.
13:17:43 <fizzie> (Discounting the fact that the device manufacturers are probably more interested in selling new boxes instead of for-free upgrading old.)
13:18:25 <Ilari> I mean computer OS...
13:19:57 <fizzie> Not anything popular, at least.
13:20:22 <fizzie> http://isoc.org/wp/newsletter/?p=2902 "for the first global-scale trial of the new Internet Protocol, IPv6" well that's also quite curiously said.
13:22:58 <Ilari> Worst case, world IPv6 day will be after APNIC depletes... Ouch.
13:26:36 -!- Mathnerd314 has quit (Ping timeout: 250 seconds).
13:27:04 <fizzie> Sadly the Great IPv6 Porn Experiment (which was going to start "real soon now" for years) never happened; the domains now redirect to some "regular" porn site.
13:28:08 <fizzie> While trying to re-find the experiment by googling I did come across two other IPv6-only porn sites, but from the looks of it, not even the lure of porn seems to be enough for widespread (no pun intended) IPv6 adoption.
13:29:41 <fizzie> (Also one of the sites doesn't even have an AAAA record, so I'm a bit suspicious. There's no IPv6 connectivity here at work, unfortunately.)
13:55:04 -!- cheater- has quit (Ping timeout: 240 seconds).
13:57:42 -!- cheater- has joined.
14:23:35 -!- ais523_ has joined.
14:25:05 -!- pingveno has quit (Ping timeout: 264 seconds).
14:25:27 -!- cheater- has quit (Ping timeout: 240 seconds).
14:26:34 -!- cheater- has joined.
14:26:59 -!- pingveno has joined.
14:30:32 -!- Wamanuz has quit (Remote host closed the connection).
14:32:39 -!- Wamanuz has joined.
14:34:21 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
14:34:47 -!- nddrylliog has joined.
14:38:55 -!- Ilari_antrcomp has quit (Quit: Experimenting with routing...).
14:40:40 -!- ais523_ has quit (Quit: Page closed).
14:48:05 -!- MigoMipo has joined.
14:50:40 -!- Ilari_antrcomp has joined.
14:58:30 -!- ais523 has quit (Read error: Connection reset by peer).
14:59:18 -!- ais523 has joined.
15:07:07 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
15:09:17 -!- yorick has joined.
15:13:10 -!- BeholdMyGlory has joined.
15:21:16 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
15:41:01 -!- cheater- has quit (Ping timeout: 240 seconds).
15:41:29 -!- cheater- has joined.
15:46:36 -!- copumpkin has joined.
15:46:51 -!- copumpkin has quit (Client Quit).
15:47:38 -!- copumpkin has joined.
15:56:47 -!- elliott has joined.
15:57:59 <elliott> "Is it just me or did Oracle just break every schemaLocation in the Java universe?"
15:58:18 <ais523> elliott: technically speaking those URIs are just names, they don't have to correspond to anything
15:58:21 <ais523> but in practice everyone ignores that
15:58:34 <elliott> ais523: the W3C took down the DTDs for HTML a while ago, IIRC
15:58:41 <elliott> because it was killing their servers
15:58:54 <elliott> (not altogether, just from the "standard" location)
15:58:55 <ais523> elliott: really? I thought they put something like a 10-second delay on serving them
15:59:06 <ais523> so you could still access them if you wanted to
15:59:15 <ais523> but the idiots downloading them in a loop without caching had their programs break
16:00:16 <elliott> oh wow, quality zzo38 in the logs today
16:01:16 <elliott> nddrylliog: wow, i was just thinking that you didn't come back after the first time you were here a short while ago
16:01:35 <ais523> I wasn't here the first time, I imagine
16:01:38 <ais523> as I've never met nddrylliog before
16:01:53 <elliott> ais523: nddrylliog is the INVENTOR OF http://ooc-lang.org/
16:02:04 <elliott> *INVENTOR OF the language but not the site about it which is at
16:02:15 <elliott> (yes, I'm going to do that every time, nddrylliog, I'm sorry :/)
16:02:19 -!- oerjan has joined.
16:02:31 <ais523> hmm, why is that site trying to set a cookie?
16:02:37 <elliott> because it's an awful site >_>
16:02:58 <ais523> and why does it have a sidebar which is mostly blank space, apart from a position:static link to Twitter?
16:03:09 <elliott> because it's an awful site >_>
16:03:11 <elliott> This app would like to be able to do the following:
16:03:11 <elliott> Read your public information.
16:03:14 <elliott> Update your public repository info.
16:03:17 <elliott> why on earth does it let me log in with github :D
16:03:35 <elliott> don't blame nddrylliog anyway he didn't make it, as I've taken it upon myself to painstakingly point out for him
16:03:47 <ais523> also, the type of reduce there looks dubious
16:04:06 <ais523> (Func (T, T) -> T) -> T?
16:04:09 <elliott> err, yes, wtf is with that reduce type, nddrylliog?
16:04:30 <nddrylliog> elliott: also, next time please just tell people I eat shorts, it'll be easier to justify
16:04:39 <nddrylliog> oh, don't ask. I was young. I've drank a lot to forget all about it.
16:04:40 <elliott> it seems to create an iterator for nothing at the start :D
16:04:40 <ais523> the implementation itself looks suitably eso, too
16:05:16 <ais523> aha, is the list argument there implied?
16:05:24 <elliott> i hope not, that sounds terrifying
16:05:36 <elliott> it reduces...over everything...which is nothing
16:05:36 <ais523> that function/method almost makes perfect sense if you assume there's a list argument there that isn't mentioned anywhere
16:05:45 <ais523> nddrylliog: oh, that's meant to go in a List class?
16:05:51 <ais523> that does make sense now
16:06:00 <elliott> but anyway folds are (Func (A, B) -> B) -> B or (Func (A, B) -> A) -> A
16:06:06 <nddrylliog> I guess I'll have to ask my webmaster to make the "Object-oriented" words bigger
16:06:06 <elliott> so that type is NEEDLESSLY RESTRICTIVE!
16:06:16 <nddrylliog> elliott: yes. Also it needlessly compiles :)
16:06:21 <ais523> no, I noticed it was object-oriented
16:06:23 <elliott> well usually you don't see a method on the List class right after a main function declaration
16:06:25 <nddrylliog> elliott: whereas the less restrictive version.. well who knows
16:06:32 <ais523> just that it was taken out of context
16:06:51 <elliott> let's stop talking about ooc!
16:06:59 <ais523> elliott: hmm... is reduce/fold normally implemented taking the element at one end of the list as a starting point, or asking for a zero as a starting point?
16:07:17 <elliott> ais523: the latter in Haskell, the former in Python
16:07:31 <ais523> yep, I realised that langs were generally inconsistent about it
16:07:35 <ais523> and were wondering which was more common
16:07:44 <elliott> nddrylliog: if it's any consolation it doesn't seem that bad a language really :P
16:07:50 <ais523> (also, which is more useful; the two can trivially be converted between each other if you have cons/car/cdr)
16:07:57 <elliott> ais523: SRFI-1 takes a zero... the best way is to take a zero
16:08:11 <elliott> ais523: implementing the zero-taking right fold
16:08:15 <elliott> with the end-of-list right fold
16:08:21 <elliott> ais523: can be inefficient in a strict language
16:08:26 -!- j-invariant has joined.
16:08:26 <elliott> since you have to do "lst ++ [zero]"
16:08:31 <ais523> ah yes, because it basically involves reversing a list
16:08:31 <elliott> ofc in a lazy language it's the same
16:08:46 <elliott> it just involves appending an item
16:08:51 <elliott> which iterates through the list
16:08:54 <ais523> elliott: that is basically reversing a list
16:09:00 <elliott> well...same complexity, but?
16:09:02 <ais523> because you can only append items to the start of a list
16:09:13 <ais523> hmm, it makes sense in my head, anyway
16:09:24 <elliott> ais523: yes, but then so does Feather almost
16:09:25 <ais523> lazy ++ is great btw, derlo does that even though Underload is a strict language
16:09:38 <ais523> because it turns out that * being lazy is impossible to detect from inside the language
16:09:57 <ais523> why would you make ! lazy?
16:10:12 <ais523> admittedly, it hardly makes a difference, as it's going to be forced with the next command if it's anything but ()
16:10:20 <ais523> and if it /is/ (), then lazifying the ! just wastes memory
16:11:13 <elliott> ais523: EVERYTHING SHOULD BE LAZY
16:11:35 <ais523> elliott: well, if you implemented, say, an Underload -> Haskell compiler, it probably would be
16:11:38 <elliott> so ais523 when you gonna delete ClearBF :p
16:11:50 <ais523> let's give it a couple more days, and wait for a few more responses
16:11:54 <ais523> I don't see how it's hurting anything
16:12:03 <elliott> it's hurting ... uh ... um
16:12:10 <ais523> in fact, I've half a mind to just pick a title, and write '''title goes here''' is an esolang that does not exist.
16:12:27 <ais523> and put it in [[Category: Languages]][[Category:2011]][[Category:Unimplemented]] and see if anyone does anything about it
16:12:52 <ais523> hmm, should be marked {{stub}} too
16:12:55 <elliott> 10:25:59 <fizzie> Well. Technically speaking for identifiers you would need to match all Unicode letters (categories Lu, Ll, Lt, Lm, Lo and Nl) and digits (Nd), as well as combining marks and connector punctuation (Mn, Mc, Pc); and also allow Unicode escape sequences ("\uXXXX", where Xs are hex digits) in the identifiers, but only when the escape sequence denotes and otherwise legal character.
16:12:56 <elliott> 10:26:03 <fizzie> But that would be pretty ugly.
16:13:03 <oerjan> <elliott> so that type is NEEDLESSLY RESTRICTIVE! <-- um no, note there is no initial value
16:13:11 <lambdabot> forall a. (a -> a -> a) -> [a] -> a
16:13:17 <elliott> oerjan: oh right... i thought we were not discussing it any more
16:13:22 <elliott> ais523: btw that proves that the zero-taking version is more powerful i think
16:13:26 <elliott> because the zero can have a different type
16:13:31 <elliott> (only in strongly-typed languages)
16:13:51 <elliott> ais523: although you could apply the folding function once on the last element and the zero, say
16:13:57 <elliott> and then handle the rest with the fold1
16:14:02 <elliott> but by that point you might as well just recurse
16:14:24 <ais523> elliott: oh, I didn't assume we had /recursion/
16:14:50 <ais523> (perhaps because SCI has fold but not recursion, and I've been working with it quite a lot)
16:15:13 <elliott> ais523: foldr f z xs = foldr1 f (allButLast xs ++ [f (last xs) z])
16:15:24 <oerjan> <ais523> (also, which is more useful; the two can trivially be converted between each other if you have cons/car/cdr) <-- not with strong static typing involved
16:16:21 <oerjan> <ais523> because you can only append items to the start of a list <-- *prepend
16:16:53 <ais523> oerjan: that's a sort of appending!
16:18:54 <oerjan> <ais523> in fact, I've half a mind to just pick a title, and write '''title goes here''' is an esolang that does not exist. <-- see also [[Schrodilang]]
16:19:07 <ais523> oerjan: but that one might
16:20:49 <elliott> <oerjan> <ais523> (also, which is more useful; the two can trivially be converted between each other if you have cons/car/cdr) <-- not with strong static typing involved
16:20:53 <elliott> that's what I /just told you/....
16:21:27 -!- Tritonio has quit (Read error: Connection reset by peer).
16:21:27 <ais523> oh, the zero can have a different type
16:21:37 <oerjan> <ais523> oerjan: hmm? <-- see the difference in type between foldl and foldl1, the former cannot be written in terms of the latter without using something like an Either value
16:21:53 <ais523> and that is ofc useful, such as reducing a list of integers into a string
16:22:28 <elliott> <elliott> ais523: foldr f z xs = foldr1 f (allButLast xs ++ [f (last xs) z])
16:22:28 <oerjan> <elliott> oerjan: oh right... i thought we were not discussing it any more <-- beware the power of the annoyingly backscrolled! *MWAHAHAHA*
16:24:49 <oerjan> elliott: nope, the type of that is wrong i believe
16:25:09 <oerjan> :t let foldr f z xs = foldr1 f (allButLast xs ++ [f(last xs) z]) in foldr
16:25:09 <lambdabot> Data.List drop :: Int -> [a] -> [a]
16:25:16 <elliott> oerjan: there's no allButLast
16:25:27 <oerjan> :t let foldr f z xs = foldr1 f (init xs ++ [f(last xs) z]) in foldr
16:25:27 <lambdabot> forall a. (a -> a -> a) -> a -> [a] -> a
16:31:59 <oerjan> oh hm there's another way
16:32:26 -!- impomatic has joined.
16:33:43 <elliott> so ais523, is kitten the best, or the best?
16:34:08 <oerjan> :t let foldr f z xs = (foldr1 (.) $ id : map f xs) z in foldr
16:34:09 <lambdabot> forall a a1. (a -> a1 -> a1) -> a1 -> [a] -> a1
16:34:14 <ais523> elliott: with those as the choices, do you even need to ask me?
16:34:58 <ais523> elliott: this is some strange meaning of the word "which" that I'm not familiar with
16:35:11 <elliott> choose from the set {best, best}
16:35:36 <ais523> elliott: that isn't a set
16:35:49 <ais523> or, if it is, has only one element
16:36:00 <elliott> sure, so pick which of its one elements Kitten is
16:36:03 <ais523> and a choice of one element is rather tautologous
16:36:45 <ais523> oerjan: heh, you beat me to reverting that last spambot
16:36:58 <ais523> probably because my all-edits-to-esolang feed isn't realtime
16:37:02 <ais523> so I only notice a few minutes later
16:37:18 <oerjan> it was just because i was looking up schrodilang
16:38:08 <elliott> we should have a bot in there that notifies of every edit to esolang (that you can temp-turn-off with a command for spam floods)
16:38:14 <elliott> the wiki is pretty darn low-traffic, after all
16:38:38 <ais523> if there's a flood, it should be dealt with via deleting the edits in question from recent changes
16:38:49 <ais523> which I've been doing to spambots recently in order to help keep it uncluttered
16:39:15 <elliott> ais523: yes, but while no admins are online, etc.
16:39:17 <elliott> it would flood the channel
16:39:22 <elliott> so it just needs a shutup command
16:39:26 <ais523> you could ratelimit it instead
16:39:40 <elliott> nah, the only time it'd ever flood is when there's a spambot attack
16:39:46 <ais523> like Rodney in #nethackwiki, which goes ...and 6 more changes or whatever
16:39:58 <ais523> ratelimits would just automatically detect spambots, effectively
16:40:10 <elliott> that's way too much work :)
16:40:16 <Sgeo> elliott, "Civil Defense" is shaping up to be awesome
16:40:20 -!- pingveno has quit (Read error: Operation timed out).
16:44:28 -!- pingveno has joined.
16:47:01 <j-invariant> If pi is the RATIO of a circle's circumference to its diameter, why is pi irrational? (self.math)
16:47:05 <oerjan> elliott: come to think of it, my last implementation of foldr above is essentially the default definition for the Data.Foldable.foldr method
16:47:16 <elliott> j-invariant: because it just doesn't make sense!
16:47:20 <ais523> j-invariant: because one or the other must be not an integer
16:47:45 <j-invariant> http://www.reddit.com/r/math/comments/f9ije/if_pi_is_the_ratio_of_a_circles_circumference_to/
16:47:57 <elliott> ais523: um you do realise it was a quote
16:48:10 <ais523> elliott: indeed, I can answer a question in a quote can't I?
16:48:25 <ais523> and the nickping was just to identify which thread of conversation my reply was in
16:48:32 <elliott> ais523: well, it's a stupid question :P
16:48:34 <elliott> hmm, I wonder why dwm installs to /usr/local by default
16:48:45 <ais523> elliott: giving stupid questions sensible answers is part of a day job for a teacher
16:48:54 <ais523> elliott: don't all programs install to /usr/local by default, more or less?
16:49:00 <ais523> (if they don't install to Program Files?)
16:49:13 <elliott> ais523: yes, but with dwm all configuration is by editing the configuration header
16:49:18 <elliott> ais523: and often you use patches
16:49:24 <elliott> so nobody has the same dwm binary, essentially
16:49:32 <elliott> and, as such, putting it in /usr/local is ridiculous
16:49:41 <elliott> as it's plainly a per-user binary
16:50:08 <ais523> well, it's a case of forgetting to change usually sane defaults when they happen to be insane in your particular project
16:50:49 <elliott> actually dwm causes me a bit of a headache for Kitten, as I want to include it by default, but a binary package will be useless for almost everyone, as it would be uncustomisable
16:51:56 <ais523> simple, modify it to be a quine
16:53:06 <elliott> j-invariant: best reply from that thread: "Pi has been struggling with alcohol and drug issues for many years now. A lot of his behavior makes more sense when it is seen through this lens."
16:53:18 <Vorpal> elliott, patch it to add a config file
16:53:28 <ais523> hmm, I was reading through recent xkcds, and one mentioned the Wikipedia article "List of common misconceptions"
16:53:34 <Vorpal> elliott, preferably xml based for extra insanity
16:53:34 <elliott> Vorpal: I'm not going to destroy the whole ethos of the programs I include by default...
16:53:39 <elliott> besides, most dwm users use patches
16:53:46 <elliott> do you want me to have a program that automatically applies patches on dwm startup? :)
16:53:49 <ais523> I find it hilarious that they're not just sourced to show that the misconception is wrong, but many are also sourced to prove that the misconception is indeed commonly believed
16:54:08 <elliott> ais523: reading through recent xkcd? my condolences
16:54:12 <Vorpal> elliott, hm I guess dwm depends on libxlst nowdays due to xcb
16:54:12 <ais523> elliott: dwm should be able to be given a patch as argument and recompile itself
16:54:15 <ais523> elliott: some of them aren't bad
16:54:22 <ais523> today's made me laugh, for instance
16:54:25 <elliott> Vorpal: clearly it should be rewritten to use raw x11 protocol
16:54:31 <ais523> I agree that the average quality is quite poor, though
16:54:35 <elliott> ais523: it's picked up _very_ slightly as of late
16:55:09 <elliott> ais523: but 600-8xx were pretty much the worst ever
16:56:02 <oerjan> there was no xkcd today. or was there?
16:56:11 <Vorpal> or yesterday or whatever
16:56:14 <elliott> latest xkcd would be best without the last panel
16:56:20 <Vorpal> I don't read it on daily basis
16:56:26 <Vorpal> elliott, a bit slow to get to the joke too
16:56:32 <elliott> Vorpal: that's part of the humour
16:56:37 <elliott> but the last one is just a "now that the joke is over, I'm going to kill it by explaining it!" panel
16:56:40 <elliott> which randall can never seem to avoid
16:57:03 <Vorpal> elliott, also given it is him I assume he did the math for this. And that's quite interesting then.
16:57:29 <elliott> http://xkcd.com/851/ <-- is the omission of hey jude intentional, I wonder
16:57:50 <elliott> "I can't believe I forgot Hey Jude.
16:57:50 <elliott> I don't get do-overs, but I couldn't resist making this fixed version."
17:00:16 <Vorpal> elliott, uh is that comic about generic song texts or the problem with remembering song texts. (It does remind me of how people sing the national anthem generally)
17:00:28 <elliott> it's not about anything, it's not even a joke
17:01:39 <ais523> it's just a guide to songs that start with lots of "na"
17:01:46 <elliott> just have them in the hook
17:01:57 <elliott> ais523: wtf, the esolangs wiki doesn't have the API enabled
17:02:03 <ais523> elliott: it's off by default
17:02:11 <ais523> and there are security issues in it on occasion, perhaps that's why
17:02:29 <elliott> why didn't graue turn it on... OH RIGHT BECAUSE HE HATES US
17:03:01 <Vorpal> http://xkcd.com/850/ <-- ...
17:03:21 <elliott> that one's amusing in theory
17:03:39 <Vorpal> elliott, yes, it is slightly amusing yet not at the same time
17:03:45 <Vorpal> which is a very strange thing to say
17:04:00 <ais523> partly, it's amusing because it's more accurate than you'd expect
17:04:05 <ais523> although far from completely accurate
17:04:13 <elliott> ais523: erm that's the whole joke
17:04:15 <Vorpal> ais523, indeed. the sizes of many things are off
17:04:35 <elliott> wait, since when does dwm have a bottom bar
17:10:37 -!- oerjan has quit (Quit: leaving).
17:14:26 -!- cal153 has quit (Ping timeout: 240 seconds).
17:16:57 -!- Phantom_Hoover has joined.
17:47:23 -!- cal153 has joined.
17:58:56 -!- cheater- has quit (Ping timeout: 240 seconds).
17:59:15 -!- cheater00 has joined.
18:19:21 <Sgeo> People hate "Meridian"?
18:19:30 <Sgeo> If that's the _worst_ of the season...
18:25:40 -!- zzo38 has quit (Remote host closed the connection).
18:38:31 -!- cheater00 has quit (Ping timeout: 240 seconds).
18:44:22 -!- cheater00 has joined.
18:54:59 -!- j-invariant has quit (Quit: leaving).
19:09:17 <elliott> hmm, you should be able to add tags to dwm at runtime
19:22:41 <ais523> asking him not to do what, exactly?
19:22:48 <ais523> publish stuff that's already been mirrored all over the web?
19:22:52 <ais523> that's unlikely to do a lot
19:23:16 <copumpkin> they get to confiscate everything tech-related he owns
19:23:28 <ais523> that isn't a restraining order at all
19:24:35 <copumpkin> it's an additional requirement on the restraining order
19:24:39 <copumpkin> which tells him not to do anything bad
19:25:03 <ais523> ah well, I'll look at the story on Slashdot the day after tomorrow
19:25:09 <ais523> or maybe even tomorrow if they're unusually fast
19:28:30 <quintopia> does he have enough time to wipe all the incriminating shit from them? :P
19:29:35 <quintopia> "in which any circumvention devices are stored"
19:29:52 <quintopia> aka, upload to cloud, delete locally
19:30:00 <quintopia> and then he must give them nothing
19:30:11 <ais523> you aren't allowed to destroy evidence after a court case starts
19:30:42 <quintopia> oh, they've already been through his disks and shit and know what he has?
19:31:04 <ais523> no, but if they can prove he destroyed evidence, he's in trouble
19:31:12 <ais523> later on, in the actual case
19:32:05 <quintopia> even if he just happens to drop a huge magnet on his hard drive?
19:33:03 <quintopia> I ALWAYS PLAY WITH MAGNETS THAT POWERFUL, BUT USUALLY I DON'T HAVE MY HARD DRIVES OUT ON THE TABLE AND I JUST FORGOTTED
19:33:19 <elliott> <copumpkin> they get to confiscate everything tech-related he owns
19:33:19 <elliott> <copumpkin> including USB keys and shit
19:33:33 <elliott> <quintopia> "in which any circumvention devices are stored"
19:33:52 <elliott> ais523: erm I think we're all aware that destroying the evidence would be /illegal/
19:33:54 <ais523> elliott: in SCO vs. IBM, discovery meant that IBM had to sent SCO a huge amount of code for them to look through
19:34:14 <elliott> nonetheless, considering the unjust laws, it is probably the sanest thing to do
19:34:16 <ais523> and they couldn't think of any easy way to ship it, so they physically sent a small mainframe with all the code on it and instructoins for using it
19:34:26 <ais523> elliott: well, in the middle of a court case against you, it would likely be a bad decision
19:34:41 <elliott> ais523: _unless_ you have a reasonable excuse...
19:34:42 <ais523> because in the case itself, they can use it as evidence that you had something to hide
19:34:58 <ais523> whereas if he submitted stuff and nothing turned up, it'd look really good and destroy Sony's case somewhat
19:35:11 <ais523> this is more a case of not shooting yourself in the foot, than legality
19:35:51 <elliott> I doubt that nothing would turn up :P
19:36:09 <elliott> what should I call my recent-changes-ircing bot?
19:36:55 <ais523> no reason to have two separate bots
19:37:01 <elliott> ais523: yes there is, code simplicity
19:37:10 <elliott> ais523: Herobrine is designed for utmost reliability in long-term log storage
19:37:28 <elliott> ais523: I'm not going to add any code that I think would make it less reliable or complicated
19:37:43 <elliott> ais523: it's basically a loggic-design bot
19:38:07 <elliott> ooh, I'll call it SomethingOnWheels
19:38:48 <ais523> wow, I'm near the top of the second screen of Enigma players wrt level completion percentage
19:38:52 -!- elliott has changed nick to onwheels.
19:38:54 <ais523> and that's as of last month, I've done a few monre since
19:39:38 <ais523> and I think I'm second out of esolangers (Safalra is 6 places ahead of me)
19:39:42 <ais523> quintopia: http://enigma-game.org
19:40:06 <ais523> as long as you disregard the tutorial being mostly full of Pelmanism clones, it's an excellent game
19:40:40 -!- onwheels has changed nick to elliott.
19:40:51 <ais523> also, it has some of the worst advertising ever
19:41:21 <quintopia> also, the creator doesn't have very good english
19:41:51 <ais523> most of the main devs are German
19:42:19 <ais523> I find the wording and grammar is mostly good (if a little odd in style), and the punctuation is occasionally insane
19:42:52 <ais523> hmm, that homepage pluralises Unix -> Unices; an interesting decision
19:43:42 <quintopia> "Day by day another level is waiting to no longer hold out living behind a closed door.
19:44:16 <ais523> it's grammatically correct I think, but the style is bizarre
19:44:28 <quintopia> also it's impossible to understand what is meant
19:44:30 <ais523> although "Day by day" should probably be "Every day,"
19:44:44 -!- j-invariant has joined.
19:44:45 <ais523> and the rest of the sentence could do with being rearranged to be a bit easier to parse
19:45:38 <elliott> you know what I love? and by love I mean hate?
19:46:05 <quintopia> saying it's grammatical is like saying "The mouse the cat the dog the boy loved chased ate died." is grammatical. True, but useless.
19:46:07 <ais523> elliott: you don't need to screenscrape, just parse the HTML
19:46:26 -!- augur has quit (Remote host closed the connection).
19:46:28 <ais523> anyway, time to go home ... !
19:46:31 -!- ais523 has quit (Remote host closed the connection).
19:46:32 <elliott> ais523: yes, yes, screenscrape has come to mean that in the common vernacular
19:47:08 <j-invariant> The mouse the cat the dog the boy loved chased ate died. <-- is that danish?
19:47:19 <olsner> no, I think it's english
19:48:20 <quintopia> nested dependent clauses are valid english grammar, but once you nest them too deep, it can't be parsed.
19:48:35 <quintopia> because humans are poor at parsing
19:49:02 <elliott> did i never share scrape.py
19:52:33 <quintopia> can i find out what date a folder was made?
19:52:42 <elliott> no, it is an impossible task
19:52:56 <elliott> scientists have been unable to find out how to do that
19:53:06 <elliott> quintopia: (it is actually impossible on linux i think)
19:53:09 <elliott> iirc ctime is something else
19:54:02 <elliott> st_ctime, a member of the stat structure specifying the last inode change time of a file in a Unix-like filesystem
19:54:54 <fizzie> It's a very poor approximation for "creation time", since it changes if you change the file permissions and stuff.
19:57:07 <fizzie> Well, FAT has an actual creation time, but not a specific "inode change time". (It does have the usual mtime and atime, though.)
20:00:06 <fizzie> And ext4 adds an (I think optional) "creation time" field in the inode structure, but it's very hard to extract since the usual stat() API can't read it.
20:00:29 <fizzie> Or at least it was suggested; don't know if they actually added it.
20:03:16 <fizzie> debugfs's "stat" command does show a "crtime" field, but the contents are as bogus as the atime on this "noatime"-mounted system.
20:04:00 <fizzie> (It shows Sep 7, 2010 for atime and crtime; I don't really know what time that is. Maybe the filesystem creation time.)
20:05:02 <fizzie> No, because show_super_stat's "filesystem created" time is Mar 30, 2010. Weird.
20:08:14 <fizzie> Hmm, actually I think I was just looking at an old file instead of a new one.
20:08:19 <fizzie> It does record the creation time.
20:09:43 <fizzie> http://p.zem.fi/crtime -- so that's how you get the creation time if you happen to have an ext4 system there.
20:10:17 <fizzie> (Just substitute the proper /dev/ path to the filesystem, and copy the inode number from ls -i.)
20:12:04 -!- jix has quit (Ping timeout: 240 seconds).
20:13:19 <Ilari> Hmm... APNIC pool free figures have been at 1.38x/8 for three days in row...
20:14:34 <fizzie> Also if you happen to have a noatime-mounted fs, then atime == creation time.
20:14:46 -!- jix has joined.
20:14:49 -!- jix has quit (Client Quit).
20:14:59 -!- jix has joined.
20:15:46 -!- augur has joined.
20:16:17 <Gregor> Ilari: I feel like I'm not clear on the terminology, even though it should be obvious. What this means is that there are 1.38*2^24 IPs available, yes? I mean, if it's only .38 of a /8, it's not a /8 at all, so does this really imply that there's a whole /8 free? Or is it just a needlessly-bizarre counting system?
20:16:47 <fizzie> It's just multiples of 2^24, AFAIK.
20:17:09 <Ilari> The standard allocation block at RIR level is /8 for IPv4 (/12 for IPv6).
20:17:35 <Gregor> (Yeesh, it should be friggin' /32 at least for IPv6 X_X)
20:17:58 <elliott> Gregor: Thank god there's more of us that think the IPv6 allocation policies are harmful.
20:18:27 <elliott> It's like we suddenly found this fuel source in massive abundance that'll last us meeeeellions of years, and so we decide to increase our energy consumption a hundredfold.
20:18:53 <Gregor> "A hundredfold" ... more like a hundred orders-of-magnitude-fold (OK, not quite that much :P )
20:19:19 <fizzie> But the routing table! (I mean, that's what I always hear as the justification of the giant blocks; more space to do network-hierarchical assignments so that you can aggregate routes better.)
20:19:25 <elliott> It's like we realise that IPv6 could last us FOREVER, we just don't want it to :P
20:19:59 <Gregor> elliott: When they have IPv8 (there will be no IPv7), it'll have 512-bit addresses, and be assigned in /13s.
20:20:24 <elliott> But hey, EvilMegaCorp thanks you for your donation of as many IPv6 addresses as are inside the entire IPv4 space; they will be useful to assign to pitiful, mortal slaves once our master plan is in action.
20:20:36 <elliott> (I cannot think of any other way a single organisation could use up an allocation that big.)
20:20:54 <elliott> Gregor: IPv17 -- one megabyte addresses, allocated in /1s.
20:21:18 <Ilari> The present IPv6 allocations: Over 10^24 per capita. IIRC, the similar number is something like 0.5 addresses...
20:21:19 <Gregor> Why don't we have bignum IPs? *runs*
20:21:29 <elliott> Gregor: BEST WORST IDEA EVER
20:21:56 <elliott> OK, whyTF is ii acting up.
20:22:20 <elliott> Meanwhile, the fabled "if switch" statement:
20:22:21 <elliott> 237 if(buf[2] == ' ' || buf[2] == '\0') switch (buf[1]) {
20:22:23 <Gregor> elliott: The greatest thing is that even if we could make it work, they would just assign some massive space at the 32-bit level, then leave a sliver of that free for 64-bit-long addresses. Then they'd assign a sliver of that space for 128-bit addresses. So if the address was 64-bits long, by definition you'd know the first 32 :P
20:22:40 <fizzie> Well, if they do run out of space from 2000::/3 in the next twenty years, maybe they'll try out smaller blocks in 4000::/3, 6000::/3, 8000::/3, a000::/3 and c000::/3, which are all equally large and in the "regular addresses" class.
20:22:55 <elliott> Gregor: So once the first 32-bits die, we can just start referring to 64-bit addresses as their 32-bit suffixes!
20:23:00 <elliott> OMG YOU SOLVED BOTH DEPLETION AND LONG ADDRESSES IN ONE GO
20:23:48 <elliott> The allocation policies aren't THAT crazy.
20:24:02 <Ilari> There also are 1000::/4 and E000::/4... But Those are /4s...
20:25:00 <Gregor> Ilari: So that you can simulate a complete IPv4 internet at the molecular level?
20:25:44 <elliott> Gregor: We should go back to the old !-separated addresses.
20:26:02 <elliott> Gregor: After all, the rest of the bang path was interpreted however the first host wanted to interpret it, so it's DISTRIBUTED.
20:26:08 <elliott> And those are ALL qualities we like!
20:26:41 <elliott> Gregor: I wish I was around when bang paths were... I'd set up a host that interpreted the rest of the path as an esoprogram before routing it.
20:26:42 <fizzie> Maybe just use interface index numbers. 0!3!2!66!12!5!22!13!...
20:26:47 <fizzie> Easier for them routers.
20:26:50 <elliott> And make sure all my mail had to come through that.
20:27:02 <Gregor> PACKET ROUTING WAS A MISTAKE
20:27:16 <elliott> Let's go back to banging rocks together.
20:27:27 <Gregor> I'm pretty sure that's what we did before computers.
20:27:27 <olsner> "note: the european router has been reorganized, please replace the 7 with 5 for talking to the US"
20:27:52 <Gregor> olsner: Oh god but how do you send that note nooooooooooo oh wait it's simple, flooding.
20:27:55 <elliott> Gregor: Then someone came around and discovered fire, and somebody sent fire down an integrated circuit made out of transistors, and here we are today.
20:28:14 <elliott> ACCURATE HISTORY OF COMPUTING
20:28:14 <olsner> yeah, all routing changes will be broadcast over the internet, obviously
20:28:41 <Ilari> The presently defined IPv6 ranges (bit combined) are: 0000::/6, 2000::/3 and FC00::/6...
20:28:42 <olsner> *routing changes and penis enlargement schemes
20:29:22 <Gregor> olsner: Well naturally.
20:29:49 <olsner> elliott: let me guess: you're doing it wrong
20:29:57 <elliott> olsner: unlikely!!!!!!!!!!!!!!
20:30:07 <Ilari> So there are 27 undefined /5s...
20:30:11 <elliott> * [onwheels] (~onwheels@91.105.119.236): William
20:30:12 <elliott> * [onwheels] hubbard.freenode.net :Pittsburgh, PA, US
20:30:12 <elliott> * [onwheels] is logged in as onwheels
20:30:12 <elliott> * [onwheels] End of WHOIS list.
20:30:14 <elliott> WHY WON'T YOU JOIN THE FUCKING CHANNEL
20:31:34 <fizzie> elliott: Well, APNIC did change their policies so that the "default" size for an end-site is /56, not /48.
20:31:59 <fizzie> I'm finding it hard to find a proper changelog.
20:32:11 <fizzie> But their graph page says "The graph on this page shows a levelling of growth from the IPv6 address size point of view. This is a direct result of the policies to reduce the end-site assignment from /48 to /56, and the change of the HD ratio, where Members can obtain additional IPv6 addresses, from 0.8 to 0.94"
20:32:15 <fizzie> http://www.apnic.net/publications/research-and-insights/stats/ipv6-distribution
20:32:23 <Gregor> fizzie: But that means you can only have 1,099,511,627,776 IPv4 Internets at an end site D-8
20:32:28 <Ilari> ARIN is proposing policy that would bump the allocation sizes for LIRs (presently mostly /32) a lot..
20:32:28 <fizzie> Unfortunately the graph itself gave me a "O3 Portal error" and a long stack-trace.
20:32:54 <elliott> this is completely fux0ed0ejreodklm
20:33:08 <quintopia> elliott: re: history of computing. was that integrated circuit made of redstone by any chance?
20:33:18 <elliott> quintopia: no, it was made out of rocks
20:33:42 <quintopia> good thing we discovered magic then
20:33:45 <fizzie> Gregor: It would be more correct to say that you can only have 256 subnets at and end-site, since you can't split networks smaller than /64 really.
20:36:47 <olsner> or rather, what are you failing at?
20:37:11 <olsner> that much is assumed, what else?
20:37:47 <elliott> yay, at least it breaks now
20:38:08 -!- onwheels has joined.
20:38:17 <olsner> I've just discovered that my thing that works fine in bochs is completely broken on qemu
20:38:19 -!- onwheels has quit (Remote host closed the connection).
20:38:30 <quintopia> this looks like a job for me! so everybody just follow me! cuz we need a little controversy! cuz it feels so empty without me!
20:38:33 <elliott> ./onwheels: 5: cannot create irc/irc.freenode.net/in: Directory nonexistent
20:38:33 <elliott> ./onwheels: 6: cannot create irc/irc.freenode.net/#esoteric/in: Directory nonexistent
20:38:33 <elliott> tail: cannot open `irc/irc.freenode.net/#esoteric/out' for reading: No such file or directory
20:38:33 <elliott> tail: cannot watch parent directory of `irc/irc.freenode.net/#esoteric/out': No such file or directory
20:39:10 <olsner> the directory doesn't exist, obviously
20:39:19 <olsner> maybe you should create it?
20:40:09 <olsner> what is that and why may I be one?
20:40:40 -!- onwheels has joined.
20:40:49 <olsner> right, because of the sjdgflking
20:41:13 -!- onwheels has quit (Remote host closed the connection).
20:41:47 -!- onwheels has joined.
20:41:52 -!- onwheels has quit (Remote host closed the connection).
20:42:11 <olsner> because it and so on etc, is it?
20:42:25 <elliott> yes but with the and of it whit's on end if i could
20:42:27 -!- onwheels has joined.
20:42:54 <olsner> how is babby formed? onwheels!
20:43:07 <olsner> on wheels, is babby formed
20:43:16 <elliott> well kelps are kind of like that?
20:43:54 <elliott> methinks it is like a weasel
20:45:54 -!- onwheels has quit (Remote host closed the connection).
20:46:50 <elliott> hmm, what's a reliable way to set up that x in "x &" will terminate when the script does?
20:48:59 -!- onwheels has joined.
20:49:06 <Gregor> elliott: If you don't know how many things may be started and just want to assert that everything gets killed, a reliable but sort-of silly way is while ! kill %; do sleep 1; done
20:49:18 <Gregor> Err, sorry, while kill %, not while ! kill %
20:49:23 <elliott> Gregor: That doesn't run when the script exits, dude :P
20:49:26 <elliott> I mean when it exits abnormally.
20:49:31 <Gregor> Ohhhhhhhhhhhhhhhhhhhhhh
20:50:42 -!- onwheels has quit (Remote host closed the connection).
20:51:53 <elliott> How often do you think I can poll the recent changes page without Graue hating me
20:52:06 <Gregor> Once every 6 milliseconds.
20:56:12 <quintopia> wut. "in 60 years, technology will be far past irc bots and myself"
20:56:27 -!- Slereah has quit (Ping timeout: 240 seconds).
20:56:51 <quintopia> it means that irc bots won't be around in 60 years! D:
20:57:16 <j-invariant> somehow my whole cactus thing and the mine underneath ithave disappeared
20:57:28 <j-invariant> i dont know to blame optimine/etc or thm egame itself
21:03:50 -!- Guest34714 has joined.
21:03:54 -!- Guest34714 has changed nick to Slereah.
21:18:12 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.16/20101130074636]).
21:21:20 <elliott> Anyone know why MediaWiki's recent changes feed is so terrible?
21:29:37 <quintopia> if i forgot to put the right options in useradd to make the home dir, can i just cp /etc/skel /home/user?
21:32:06 <j-invariant> http://math.stackexchange.com/questions/17152/given-an-infinite-number-of-monkeys-and-an-infinite-amount-of-time-would-one-of jeff atwood is a fucking idiot
21:35:24 <copumpkin> so math.stackexchange.com is for low-level math questions and mathoverflow is for fancy math questions?
21:35:31 <copumpkin> I didn't even realize there was a math.stackexchange.com
21:35:52 <elliott> math.stackexchange.com is for stupid questions, mathoverflow is for people who are actually mathematicians
21:36:13 <elliott> why did jeff atwood close that question
21:36:19 <elliott> is it because he's a moron
21:36:22 <elliott> or because he's a fucking moron?
21:36:23 <copumpkin> damn, they should expel me from mathoverflow
21:36:33 <elliott> i think it's because he's a fucking moron, yeah
21:37:04 <elliott> I closed this question as it's attracting a lot of "fun" answers which aren't helpful. I also marked it community wiki so these "fun" answers aren't reputation factories for stuff that really isn't about math. – Jeff Atwood♦ Jan 15 at 6:16
21:37:10 -!- variable has joined.
21:37:19 <variable> this might be of some interest to people: http://blog.regehr.org/archives/364?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+EmbeddedInAcademia+%28Embedded+in+Academia%29
21:37:31 <copumpkin> I SHALL ENFORCE MY LIMITED VIEW OF MATH
21:37:51 <variable> copumpkin, I am part of math. I am fun. QED. You are wrong.
21:38:06 <elliott> oh don't do it variable j-invariant will get started
21:38:21 <elliott> mention program verification :)
21:38:34 <variable> elliott, you did it - not me :-)
21:40:45 <variable> elliott, IMHO program verification is useful if done well and for the critical components of a system.
21:47:11 -!- Mathnerd314 has joined.
21:50:57 <elliott> mycroftiv: you should talk more
21:59:13 <pikhq> What the *fuuuck*.
21:59:22 <pikhq> The TRO against George Hotz et al. was granted.
22:00:13 <pikhq> Jurisdiction still in question.
22:00:18 <elliott> does anyone have vagrant.py
22:00:32 <elliott> i replaced this with two statements
22:02:23 <pikhq> Yes, it is still in question *whether* the Northern District of California has the power to grant a TRO against George Hotz, but they went ahead and did so.
22:04:37 -!- acetoline has joined.
22:06:01 -!- Mannerisky has quit (Ping timeout: 265 seconds).
22:06:41 <pikhq> Near as I can tell (IANAL), George Hotz would be entirely in the clear to completely ignore this until the time of the jurisdiction hearing.
22:07:54 <pikhq> Hahahah you're 13 I get it.
22:08:30 <pikhq> Nope, the claim is that the plaintiff has "met its burden to show that the Court *may* exercise specific jurisdiction over Hotz"...
22:08:47 <pikhq> That is really frightening precedent.
22:15:02 <copumpkin> is there a different between being 13 and being TOTALLY 13?
22:18:26 <Mathnerd314> in the meantime, anyone willing to explain to a dumb guy on the internet why formatting functions aren't invertible?
22:19:19 <elliott> gee, don't be so hard on yourself!
22:19:26 <elliott> (this joke will fail if Mathnerd314 is actually referring to himself)
22:20:17 <Mathnerd314> elliott: do you count figments of my imagination as myself?
22:21:04 <Mathnerd314> j-invariant: invertible in the sense of "determine formatting string from various input-output pairs"
22:21:08 <acetoline> Mathnerd314, you mean like to_number() ?
22:21:14 <pikhq> ... Okay, the TRO is even worse.
22:21:23 <pikhq> It's a restraining order against every sentient being.
22:21:51 <elliott> Mathnerd314: printf("%.2f", 0.123) == printf("%.2f", 0.1234)
22:21:58 <elliott> or do you mean reverse to the string?
22:22:01 <acetoline> Mathnerd314, as soon as you define 'invertible' I will answer your question.
22:22:06 <pikhq> Yes, the court is exercising universal jurisdiction.
22:22:07 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:22:17 <elliott> printf(" %d",3) == printf("% 2d",3)
22:23:00 <pikhq> So. I do believe his lawyer has cause to move for a mistrial.
22:23:06 <Mathnerd314> elliott: reverse to the string; but it has to satisfy an arbitrarily large number of I-O pairs
22:23:17 <elliott> Mathnerd314: there is no such printf string
22:23:21 <elliott> all printf strings take a fixed number of arguments
22:23:54 <acetoline> Mathnerd314, that is as far removed as 'invertible' as I could imagine
22:24:23 <acetoline> you don't know what you're talking about
22:24:31 <Mathnerd314> acetoline: I have a printf function of type String -> Input -> Output. but this is currying, so I am reversing from (Input -> Output) to String
22:24:55 <elliott> Mathnerd314: a computable function cannot analyse a function fully
22:24:59 <elliott> only a finite number of input/output pairs
22:25:00 <j-invariant> Mathnerd314: f is invertible if there exists some g such that fg = id and gf = id
22:25:09 <elliott> therefore, no computable function can establish a bijection String <-> (Input -> Output)
22:25:20 <elliott> if i said something wrong, that's cuz i'm tired!
22:25:32 <elliott> ofc Mathnerd314 might mean non-computably.
22:25:52 <copumpkin> Mathnerd314: there's no difference between (s)printf("123") and (s)printf("%d", 123), or (s)printf("1%d%d", 2, 3)
22:26:27 <Mathnerd314> copumpkin: yes, there is, because they take different argument inputs
22:26:30 <elliott> copumpkin: you can show that "123" and "%d" differ by simply feeding both two different inputs
22:26:36 <elliott> you can only ever feed a finite number of inputs
22:26:39 <copumpkin> oh you're talking about a fixed format string?
22:26:45 <elliott> so you will be able to foil it
22:26:53 <elliott> (assuming the inversion has to be computable)
22:26:53 <acetoline> copumpkin is right; you can't do it because it's not injective.
22:27:55 <Mathnerd314> elliott: but I don't think format strings are Turing complete
22:29:17 <Mathnerd314> j-invariant: are there only a finite number of format strings that can produce a given input-output pair?
22:31:01 <Mathnerd314> j-invariant: so, take one input, feed it to a formatting function, calculate possible format strings from the output, and find distinguishing inputs until the format string is reversed
22:32:31 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:33:14 <elliott> <Mathnerd314> j-invariant: are there only a finite number of format strings that can produce a given input-output pair?
22:33:18 <elliott> i don't think this is true at all
22:34:29 <pikhq> Judging from previous rulings by Illston, I can conclude one thing.
22:34:38 <pikhq> Judge Illston loves her bribes.
22:34:45 <Mathnerd314> elliott: what about an ordering by # of characters?
22:34:48 -!- cheater00 has quit (Ping timeout: 240 seconds).
22:34:57 <elliott> Mathnerd314: what do you mean
22:35:24 <Mathnerd314> elliott: there are only a finite number of format strings of a given length that produce an input-output pair
22:36:20 <pikhq> "n February 2004, Illston ruled that the company's software, which was intended, according to the company, to allow consumers to make backup copies of DVDs by "circumventing" so-called "copy protection" methods, was illegal under Federal law."
22:36:51 <pikhq> Dear God that's awful.
22:36:57 <Mathnerd314> elliott: so by testing each length in order, you're guaranteed to halt if the given formatting function is defined by a finite format string
22:37:10 <pikhq> She made a ruling on a *federal crime* in a *civil suit*.
22:37:23 <elliott> Mathnerd314: i don't see how this is an algorithm for doing what you say
22:37:35 <elliott> Mathnerd314: how does that change the black-box formatting function back into its string?
22:37:52 <pikhq> That is completely contrary to hundreds of years of precedent.
22:38:09 <elliott> your mom is completely contrary to hundreds of years of precedent
22:38:18 <pikhq> Going back *several languages*.
22:38:18 <elliott> by breaking all the accepted theories of MAXIMUM FAT
22:38:51 <pikhq> elliott: Actually, this breaks common law. Seriously, she broke it on a whim.
22:39:07 <elliott> they decided to fix the maximum legal fat value centuries ago
22:39:08 <pikhq> I walked into that.
22:39:42 <elliott> Mathnerd314: you can enumerate all format strings but there is no way you can decide if "blackbox == format_function_for(str)"
22:40:08 <elliott> because equality on functions with infinite inputs isn't computable etc etc etc
22:40:40 <Mathnerd314> elliott: you're given a "white box": a function that you know has been defined by a format string
22:40:55 <elliott> Mathnerd314: but the point is that you simply can't identify it with a string
22:40:59 <elliott> because that involves checking infinite inputs
22:41:05 <elliott> pikhq: │ If you want the uClibc math library to contain the full set C99 │
22:41:06 <elliott> │ math library features, then answer Y. If you leave this set to │
22:41:06 <elliott> │ N the math library will contain only the math functions that were │
22:41:06 <elliott> │ listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard. │
22:41:08 <elliott> │ Leaving this option set to N will save around 35k on an x86 system. │
22:41:45 <Mathnerd314> elliott: when do you need an infinite input?
22:41:57 -!- cheater00 has joined.
22:42:05 <elliott> Mathnerd314: ok let's make this simpler. let's say we only allow format strings with one input, an arbitrary natural.
22:42:07 * pikhq suspects that the entire US legal system needs to be razed to the ground.
22:42:15 <elliott> Mathnerd314: and let's say that this is a format string:
22:42:46 <pikhq> Fucking remove it all.
22:42:54 <Mathnerd314> pikhq: duh. endsoftwarepatents.org has been around for ages
22:43:06 <elliott> Software patents == entire legal system
22:43:09 <elliott> format string is literal text interspersed with <format>. <format> := '% ' nat 'd'
22:43:10 <pikhq> And forbid all those involved in it from acting in the successor.
22:43:26 <elliott> i dunno this is making my head hurt, back to configuring uclibc
22:43:28 <pikhq> Seriously, near as I can tell it's a gigantic kangaroo court system.
22:45:09 <elliott> taht would be a good court system
22:45:14 <elliott> all judges are gigantic kangaroos
22:48:10 <Mathnerd314> elliott: test 1, 10, 100, etc. - the nat is finite, sooner or later you'll stop
22:48:37 <elliott> fmt1(1) == fmt1(1), ok keep going
22:48:44 <elliott> fmt1(2) == fmt1(2), ok keep going
22:48:55 <elliott> fmt1(g64) == fmt2(g64) ...
22:49:01 <elliott> you can decide inequality in finite time
22:49:06 <elliott> pikhq: http://cxx.uclibc.org/
22:49:24 -!- Mannerisky has joined.
22:49:28 <j-invariant> elliott: this augur guy in #haskell is a real dick head
22:49:38 <elliott> augur is in here you moron
22:50:52 <augur> HEY GUYS SOMEONE IN ANOTHER CHANNEL WAS MEAN TO ME :(((((((((((((
22:50:54 <elliott> j-invariant: you just hate everyone
22:51:16 <augur> j-invariant: im a dick to you because you were a dick to me back when you called yourself fax.
22:51:25 <augur> not that you can see what i just said, but
22:54:13 -!- Behold has joined.
22:55:07 -!- BeholdMyGlory has quit (Ping timeout: 255 seconds).
22:55:09 <elliott> j-invariant: how was augur a dick?
22:58:48 -!- oerjan has joined.
22:58:58 <elliott> pikhq: WHY DOESN'T UCLIBC SUPPORT ZONEINFO
23:01:51 -!- coppro has quit (Read error: Operation timed out).
23:01:55 -!- coppro has joined.
23:02:20 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
23:08:24 <oerjan> elliott: i'm not sure if augur just tried to drop a "bomb" or not.
23:10:41 <oerjan> j-invariant: in any case, some of us knew already, personally i just didn't want to embarass you unless you wanted to tell it yourself.
23:10:52 <elliott> j-invariant has augur on ignore doesn't he
23:11:19 <elliott> that's what he said in the #haskell logs i read before he called augur a dickhead in here :p
23:13:16 -!- Mathnerd314 has joined.
23:13:18 <oerjan> j-invariant: also you're welcome here as far as i am concerned
23:14:12 <elliott> i have no idea what's going on
23:14:38 <oerjan> and _i_ am having this awkward deja vu feeling :(
23:15:22 <oerjan> i don't know it's sort of dream-like
23:15:43 <elliott> have i mentioned that everyone is happy and life is wonderful
23:15:55 <elliott> thought you might like to know
23:16:35 <oerjan> i'm feeling rather counter-examply
23:17:10 <elliott> oerjan: well when people aren't happy it's generally because they're not being happy enough
23:17:15 <elliott> watch, this is the correct way to do it:
23:17:18 <elliott> ^_____________^!!!!!!!!!!!!!!!!
23:17:23 <elliott> :)))))))))))))))))))))))))))))))
23:17:34 <elliott> haaaaapyyyyyyptykptorkyopojdfjshglfdjJO!IJOI!J!!!!!!!!!!!!!!!!!
23:17:52 <elliott> let's have a party in here right now please
23:18:06 <elliott> i don't think anyone is lame
23:18:18 <oerjan> quintopia: oh btw you asked whether you could fold over a list without recursion didn't you?
23:18:40 <quintopia> if foldl could be implemented without calling itself
23:18:56 <oerjan> quintopia: you can do it if you _implement_ lists as the corresponding foldr function
23:18:59 <quintopia> if it calls something else recursive, that's fine
23:19:06 <elliott> quintopia: the thing is that haskell doesn't actually come with any functions or data types
23:19:18 <elliott> so there's no "primitive" functions foldl could be implemented in terms of
23:19:21 <elliott> what oerjan said would work, though
23:19:24 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> b
23:19:33 <elliott> type List a = (a -> b -> b) -> b -> b
23:19:44 <oerjan> you want a forall on that type though
23:19:44 <elliott> cons :: a -> List a -> List a
23:19:53 <quintopia> well, it doesn't need to be primitive. just other standard library functions...
23:20:00 <elliott> cons x xs = \f z -> f x (xs f z)
23:20:18 <elliott> quintopia: you can do foldl in terms of foldr
23:20:44 <elliott> ask oerjan, i've forgotten
23:20:50 <elliott> and he's not as happy as me but he should be!!!!
23:21:55 <Sgeo> elliott, should I bother watching Past Tense, Parts I and II, considering that I've seen the ending before?
23:22:04 <elliott> /tmp/ccKnb956.o: In function `main':
23:22:04 <elliott> foo.c:(.text+0x11): undefined reference to `__printf_chk'
23:22:46 <elliott> guys i have an important announcement to make
23:22:47 <quintopia> that's pretty cool, elliott. i can see why you're so happy
23:22:51 <elliott> mur furzur curbur turbu duh
23:23:20 <elliott> j-invariant: are you feeling the happy
23:23:44 <elliott> you guys are dicks ... be more happy
23:25:42 -!- Mannerisky has quit (Ping timeout: 255 seconds).
23:26:12 * pikhq still can't believe that the court has claimed jurisdiction over all of everything.
23:26:56 <pikhq> coppro: The Northern District of California, in SCEA v. George Hotz et al.
23:27:41 <quintopia> elliott: only if it's better than mine: a horse walks into a bar and orders a beer. the bartender says "sure, but why the long face?" and the horse says "my wife is dying of an inoperable malignant brain tumor."
23:28:27 <pikhq> coppro: http://www.scribd.com/doc/47676627/50-Order-GRANTING-TRO
23:28:30 <quintopia> i didn't give you permission to tell a joke that was worse than mine
23:29:45 -!- FireFly has quit (Quit: swatted to death).
23:29:48 <quintopia> shut up. i just poisoned your water and you are dying
23:30:37 <oerjan> :t let foldl f start l = foldr (\y g t -> g (f t y)) id l start in foldl
23:30:37 <lambdabot> forall a a1. (a -> a1 -> a) -> a -> [a1] -> a
23:30:42 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
23:31:06 <elliott> man wtf this is some shitty shit
23:31:25 <oerjan> elliott: ARE YOU REFERRING TO MY foldl
23:31:28 <elliott> so oerjan are you still using winghci:DDDDDDDDDD
23:31:41 <elliott> can you shout FOLDL is it POSSIBLE what are these people doing...?
23:31:51 <quintopia> oerjan: could you explain what that does in plain english to a non-haskeller?
23:32:03 <oerjan> elliott: actually i fired up winhugs last because i was checking the Foldable source code
23:32:34 <coppro> pikhq: it hasn't explicitly asserted jurisdiction has it?
23:32:35 <lambdabot> expecting variable, "(", operator or ")"
23:32:53 <elliott> @pl \f start l -> foldr (flip (.) . flip f) id l start
23:32:54 <lambdabot> flip . flip foldr id . (flip (.) .) . flip
23:32:58 <elliott> quintopia: it's just flip . flip foldr id . (flip (.) .) . flip
23:33:02 <oerjan> quintopia: basically it uses a foldr to build up the \x -> foldl f x l function for a list
23:33:20 <quintopia> oh, it's just using the trick of flipping a list and then foldring it?
23:33:45 <oerjan> quintopia: that's not how i thought of it
23:34:21 <quintopia> yeah i'll just wait until i learn haskell i suppose
23:34:38 <oerjan> quintopia: but think about it this way, if you know how to foldl over a list l, how can you foldl over the list (x:l)? once you have that you can use _foldr_ to build the function for foldling over any list
23:35:33 <oerjan> the g in there is the function that foldl's over l. oh.
23:35:36 -!- pikhq has quit (Ping timeout: 264 seconds).
23:35:49 <oerjan> quintopia: s/x/y/ to match the variables better with what i wrote
23:36:34 <elliott> oerjan i don't think much of your happiness levels
23:37:04 <elliott> are all norwegian mouths pointy like that?
23:37:18 <quintopia> oerjan: i don't think much of your happyness levels. can I get a "HAHAHAHAFAWAHAHAHA"
23:37:26 <elliott> quintopia: oh that would be the best est!
23:37:45 <elliott> this isn't working i wonder why
23:37:55 <oerjan> quintopia: i would need to ponder my plans for world domination for that, and i'm not sure that would be good
23:38:09 <elliott> in the post-oerjan world, do we get happies
23:38:17 <quintopia> oerjan: just don't ponder them out loud. if you don't expose them, we can't foil them
23:39:13 <elliott> it would probably be quite nice
23:39:32 <oerjan> (btw when i checked the Foldable source code was earlier today, i didn't look for this function there)
23:41:41 <oerjan> elliott: happies or harpies, i haven't quite decided yet
23:42:17 <elliott> oerjan: i am no longer so supportive of your dictatorship
23:42:39 <oerjan> elliott: but but harpies, free weight loss program!
23:42:56 <elliott> oerjan: are the harpies the free weight loss program?
23:43:21 <oerjan> ...i thought that was obvious
23:45:18 <elliott> so anyway i realised something i was doing was stupid
23:45:27 <elliott> Some other configuration options are:
23:45:27 <elliott> make oldconfig - Update an old .config file for a newer version of busybox.
23:45:28 <elliott> make allyesconfig - Select absolutely everything. This creates a statically linked version of busybox full of debug code, with dependencies on selinux, using devfs names... This makes sure everything compiles. Whether or not the result would do anything useful is an open question.
23:45:28 <elliott> make randconfig - Create a random configuration for test purposes.
23:45:32 <elliott> HEAD EXPLODING FROM AWESOME
23:46:13 -!- pikhq has joined.
23:46:22 <elliott> pikhq: i realised something i did was stupid
23:50:01 <pikhq> Oh motherfucking hell.
23:50:21 <pikhq> Apparently Sony is claiming jurisdiction based on the terms of use on their website.
23:50:37 <pikhq> Somehow, by visiting a website you can be submitted to personal jurisdiction.
23:50:51 <pikhq> elliott: No, just not responding to you.
23:50:58 <elliott> pikhq: i do not understand why you would do that!
23:51:21 <pikhq> "However, even if the firmware was downloaded pursuant tothe PlayStation website as done by Hotz’s attorney, the user is still subject to the PlayStationwebsite’s terms and conditions athttp://us.playstation.com/support/termsofuse/index.htm.These terms prohibit, among other things, “using, making or distributing unauthorizedsoftware or hardware in conjunction with the Sites, or taking or using any data from the Sitesto design, develop or
23:51:28 <pikhq> The terms also includea forum selection clause and consent to jurisdiction in San Mateo County, California. They also incorporate by reference the terms of the PSN User Agreement. Therefore, a user who downloads the firmware via the PlayStation website, instead of the PSN, nonethelessconsents to jurisdiction in California."
23:51:50 <elliott> typedef signed char smallint;
23:52:02 <pikhq> By visiting that site you... Come under the jurisdiction of California‽
23:52:11 <elliott> pikhq: so you know how I fixed #!/usr/bin/env by adding an interpreter thing
23:52:25 <elliott> since i have no /usr/bin/env
23:52:36 <elliott> to add the magic for "#!/usr/bin/env"
23:52:41 <coppro> pikhq: I see the reasoning
23:52:47 <elliott> pikhq: well i don't need to write my own processor -- i can just specify the interpreter as /bin/env!
23:52:50 <elliott> that is my realisation for the day
23:53:00 <coppro> but IIRC those sorts of nonnegotiable consent-to-jurisdiction clauses are typically ill-received
23:58:13 -!- pikhq has set topic: By joining this chatroom you consent to the jurisdiction of Agora Nomic. | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
23:58:34 <pikhq> Now to convince their lawyers to join #esoteric.
23:58:52 <elliott> gcc: /usr/x86_64-linux-uclibc/usr/lib/crt{1,i,n}.o: No such file or directory
23:59:02 <coppro> courts historically are not a big fan of "<BIG CORPORATION> implements non-negotiable required unreasonable arbitration clause"
23:59:17 <pikhq> coppro: Well, they didn't laugh it out of court.
23:59:26 <pikhq> coppro: Instead, the TRO was granted.
23:59:30 <elliott> wow, this is working how is this working ...?
23:59:54 <coppro> pikhq: it could be a) the judge is simply incompetent
23:59:55 <pikhq> coppro: As I have suggested before, the judge may like bribes.