00:03:49 <CakeProphet> elliott_: how does ghci handle the IO monad?
00:06:02 <CakeProphet> does it execute IO actions if they're top level?
00:06:23 <elliott_> Yes, it acts like a "do" block in the IO monad.
00:06:27 <CakeProphet> for instance, will it modify IOrefs if you tell it to.
00:06:35 <elliott_> Except you can also put expressions in.
00:06:42 <lambdabot> <no location info>: parse error on input `...'
00:12:02 <CakeProphet> I was thiking one improvement to these demonstrations would be a way to pass around mutable IOref parameters to these sound generators.
00:12:20 <CakeProphet> but I think that would greatly complicate the syntax.
00:13:16 <lambdabot> Control.Parallel.Strategies (:=) :: a -> b -> Assoc a b
00:15:59 <elliott_> CakeProphet: what are you looking for
00:16:11 <elliott_> and what you demonstrated looked totally pure
00:16:15 <elliott_> why force it into the IO monad?
00:18:49 <Sgeo> I hope what I just posted to the LSL list wasn't downright stupid
00:19:02 <elliott_> Sgeo: the odds are not on your side.
00:19:05 <CakeProphet> elliott_: and I was seeing what other operators looked like that, as I was thinking of my own operators to use.
00:20:40 -!- aloril has joined.
00:20:55 <Sgeo> http://pastie.org/private/60bknz58chvetmttccch0w
00:21:48 <CakeProphet> elliott_: though with his emacs interface he really doesn't need to use IOref. He just changes the parameters by hand and reloads it via some black magic.
00:23:33 <CakeProphet> I wish Google could search for non-alphanumeric characters better.
00:24:27 <elliott_> CakeProphet: it's IORef not IOref btw
00:24:36 <elliott_> <CakeProphet> elliott_: and I was seeing what other operators looked like that, as I was thinking of my own operators to use.
00:24:43 <elliott_> it's reserved for types and type constructors
00:24:57 <elliott_> s/type constructors/constructors/
00:26:29 <CakeProphet> elliott_: Hoogle doesn't show the fixity declaration though, which is what I'm looking for.
00:27:15 <lambdabot> The operator `GHC.Base.$' [infixr 0] of a section
00:27:31 <elliott_> oerjan knows the proper trick for that
00:27:33 <lambdabot> The operator `GHC.Num.+' [infixl 6] of a section
00:27:40 <lambdabot> The operator `GHC.Real./' [infixl 7] of a section
00:27:52 <elliott_> ($) :: (a -> b) -> a -> b -- Defined in GHC.Base
00:28:14 <CakeProphet> I wonder if Haskell will let me define a negative precedence level. :3
00:29:48 <elliott_> actually using 0 is a bad idea...
00:29:53 <elliott_> because it will stop people using $
00:30:33 <CakeProphet> "name" := someUngodlyFunction $ someUngodlyParameters ...
00:31:06 <CakeProphet> ah well I guess I'll just have to settle with parenthesis
00:31:13 <CakeProphet> or, you know, I might not even implement something like that at all.
00:31:33 * Sgeo is impatient for a reply
00:31:44 <elliott_> CakeProphet: enjoy creating the worst haskell library of all time :x
00:32:16 <CakeProphet> don't worry, I haven't created anything yet.
00:32:33 <Sgeo> Is Haskell's printf type-safe? I mean, it type-checks just fine, but
00:33:20 <elliott_> and there's a way to do much the same thing safely
00:33:40 <elliott_> it just looks like: printf ("foo " $$ str $$ " bar") "abc"
00:34:00 <CakeProphet> the thought was that in a live coding environment the less typing you have to do the better. Also, being able to put everything in one line is a place. Anything besides string requires previous setup of some kind. If I can do that and have it not be a pain then I'll use that approach, but otherwise I am using strings and you will hate it. :P
00:34:02 <elliott_> printf ("foo " $$ (int % pad0 9) $$ " bar") "abc"
00:34:06 <elliott_> printf ("foo " $$ (int % pad0 9) $$ " bar") 9
00:34:10 <elliott_> which is easier to read anyway.
00:34:29 <elliott_> CakeProphet: then don't use haskell
00:34:43 <elliott_> CakeProphet: variables need initial values
00:34:57 <elliott_> default all integers to 0 and lists to [] and the like with a typeclass? ahahaha
00:35:17 <CakeProphet> er, no. The idea is that the names refer specifically to one type. a sound generator of some kind.
00:35:51 <elliott_> i thought you didn't want that which was why you were using strings.
00:36:52 <CakeProphet> I just wanted to use strings as names in, perhaps, a mutable map or something, instead of passing around IO refs. It's one option of many.
00:37:12 <elliott_> I'm just saying that strings, apart from being totally type-unsafe and ugly and not even giving you any kind of error for using an undefined variable,
00:37:20 <elliott_> don't absolve you of the need to initialise -- i.e. declare -- variables
00:38:02 <CakeProphet> right, but they save you effort in that they're effectively global throughout IO, without the need to pass around the reference. I'll probably end up using IORef if anything for mutable parameters.
00:38:08 <pikhq_> Man. For coming from the guy who brought us PulseAudio, systemd actually seems like a sane, intelligent design.
00:38:42 <pikhq_> elliott_: Are there any non-aesthetic complaints you have?
00:38:52 <elliott_> those are technical complaints
00:38:58 <elliott_> ini files are terrible, especially the way it uses them
00:39:13 <elliott_> and the only reason it exists is because Poettering hates sh
00:39:32 <elliott_> if Lennart Poettering is behind it, you can basically assume it'll be horrible shit and also, that he'll be a jackass about it
00:39:59 <elliott_> IIRC he responded to a criticism of -- was it systemd? -- at a presentation, by accusing the criticiser of hating disabled people :)
00:40:19 <pikhq_> At least how sh is used *currently* in init, sh seems to suck for the purpose.
00:40:31 <pikhq_> That is a motherfucking *fuckton* of boilerplate.
00:40:39 <elliott_> when did i say that was a good idea
00:40:53 <elliott_> but his whole goal is "omg sh should never be called during boot"
00:41:00 <pikhq_> You seemed to say that "no sh" was a technical complaint against systemd.
00:41:15 <elliott_> yes, because it means you can't do tons of shit easily
00:41:21 <elliott_> "i want sh exactly like it is in current init omg"
00:41:46 <pikhq_> Admittedly, it's probably a good idea to also have a more flexible language in your init system.
00:41:55 <pikhq_> By all means, make it so the common case is easily configurable.
00:42:18 <pikhq_> But you should make the easy bits easy and the hard bits possible.
00:42:18 <elliott_> pikhq_: the people in #musl know more about systemd than me anyway, but i heard enough to make me dislike it
00:42:28 <elliott_> (note: going in to #musl to ask about systemd may not be a good idea :P)
00:42:29 <pikhq_> Rather than the easy bits easy and the hard bits akin to getting raped.
00:42:31 <CakeProphet> pikhq_: so you're saying init should be in Perl?
00:42:45 <pikhq_> CakeProphet: No, no, just in *a* flexible language.
00:42:51 <pikhq_> sh is not terrible for the purpose.
00:43:05 <pikhq_> If you can get rid of the pointless, irritating boilerplate.
00:43:14 -!- Gregorzilla has quit (Quit: Leaving).
00:43:18 <elliott_> how is there any boilerplate in starting e.g. an httpd with sh
00:43:32 <elliott_> nobody is advocating /etc/init.d here, that is a strawman
00:43:54 <pikhq_> elliott_: Obviously, the means of getting rid of boilerplate is not necessarily getting rid of sh.
00:44:07 <elliott_> there is no boilerplate to get rid of
00:44:17 <elliott_> that's assuming we're all talking from the "systemv init" frame of reference
00:44:36 <pikhq_> Just making it so that you literally don't have to stick the basic, barebones logic of the *entire* init system in the configuration files for it.
00:44:42 <CakeProphet> so, I'm little murky on the differences between sh, bash, and dash. Can someone enlighten me?
00:44:47 <pikhq_> elliott_: I have been talking from a systemv init frame of reference.
00:45:04 <pikhq_> If we talk from other frames of reference, there may well be little to no boilerplate.
00:45:13 <elliott_> CakeProphet: sh is too vague to define, be more specific; bash is GNU's shell
00:45:27 <elliott_> dash is the Debian Almquist shell
00:45:29 <pikhq_> Certainly, there's no boilerplate to: for /etc/services.d/*;do sh $i;done
00:45:39 <CakeProphet> as in, is sh just the name for the system's shell program, whatever it may be?
00:45:39 <elliott_> a descendent of NetBSD's version of the Almquist shell
00:45:55 <elliott_> CakeProphet: yes. POSIX defines what sh has to be, but it's a rather minimal specification.
00:45:55 <pikhq_> CakeProphet: The system's *Bourne-like* shell.
00:46:21 <pikhq_> CakeProphet: There's a few requirements on that beyond "it can spawn processes"... In practice, though, that means "any shell but csh and tcsh".
00:46:26 <CakeProphet> I notice when I "man sh" I get a page for dash, when originally I thought sh was bash on Ubuntu.
00:46:44 <pikhq_> sh is now dash on the Debian family distros.
00:46:54 <CakeProphet> is there like, a huge difference I should note?
00:47:08 <elliott_> Unless you use bash's advanced features.
00:47:14 <elliott_> (Hint: You probably don't. Not in your scripts anyway.)
00:47:26 <CakeProphet> yes I doubt it. I don't even know what those are.
00:47:29 <elliott_> ((I mean really advanced, not "the advanced section of My First Bash Script".)
00:48:00 <pikhq_> Yeah, a barebones Bourne shell offers like 99% of what *anyone* uses in shell scripting.
00:48:10 <CakeProphet> I think the most obscure thing I've used so far is the ${foo%bar} thing
00:48:45 <pikhq_> Yeah, that's Bourne, I'm pretty sure.
00:49:38 <elliott_> dash is quicker and leaner for scripts
00:49:42 <pikhq_> Bash is a superset of the capabilities of the Bourne shell.
00:49:44 <elliott_> and using bash for scripts leads you into the trap of using bash-only features
00:49:47 <elliott_> which makes your scripts non-portable
00:50:07 <pikhq_> elliott_: Oh, is it? Hmm.
00:50:14 <elliott_> CakeProphet: basically: obviously you don't want to use dash for interactive use.
00:50:24 <elliott_> but if you are writing scripts then dash will probably do you fine, and will produce more portable scripts.
00:50:35 <elliott_> you will not notice any difference
00:50:40 <CakeProphet> when I'm using terminal in Ubuntu I'm using dash right?
00:50:55 <pikhq_> Aaah, the language that dash supports is POSIX *and* a few BSD extensions.
00:51:19 <elliott_> GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
00:51:31 <pikhq_> (which, being extensions that made their way into Korn, are essentially ubiquitous, anyways)
00:52:15 <pikhq_> The Bourne shell itself, BTW, is basically the first UNIX shell that was reasonably useful for programming.
00:52:39 <pikhq_> And replaced the Thompson shell in V7.
00:53:26 <pikhq_> Which itself was the first shell ever, and only really had pipes and file redirection.
00:54:47 <pikhq_> Huh. rc and mk were originally written for UNIX.
00:56:19 <pikhq_> Shame rc's not ubiquitous; it's got such a better language.
01:01:39 <pikhq_> And would you look at that. Sabotage, that distro using musl as its libc, builds with mk.
01:04:34 <elliott_> isn't it a heap of shell scripts mostly :)
01:05:08 <pikhq_> elliott_: Well, yes, probably.
01:05:16 <Lymia> That ' in the middle looks suspicious.
01:05:28 <Lymia> I can't help but laugh when myndzi does that to Perl code.
01:05:38 <Sgeo> elliott_, do you think CoffeeScript is a decent language?
01:10:46 <pikhq_> elliott_: Inquiry: what do you think is an actually decent init system?
01:18:30 <pikhq_> Hey, non-revolting use of sh.
01:19:45 -!- pikhq has joined.
01:23:19 -!- pikhq_ has quit (Ping timeout: 260 seconds).
01:26:39 -!- Mannerisk has joined.
01:27:12 -!- Mannerisk has left.
01:27:32 -!- jwest has joined.
01:28:29 <jwest> Hi, could anyone give me an idea on how you'd, go backwards in the data list in brainfuck until a counter is 0?
01:28:42 <jwest> not sure where else to ask
01:30:54 <elliott_> i.e. "repeat < the number of times as indicated in the current cell"
01:31:02 <jwest> but n being an input
01:31:33 <elliott_> jwest: you may be interested in an array type solution
01:31:47 <elliott_> 1 | element | 1 | element | 1 | element | 0
01:32:03 <elliott_> making it very convenient to seek around, etc.
01:32:11 <elliott_> and you can use these "indicator" cells to pass around a counter
01:32:16 <elliott_> letting you move N places in the array, etc.
01:33:01 <jwest> yeah i'll look into that
01:33:39 <pikhq> http://1.bp.blogspot.com/-HU3XrGrDAZ4/TeVGS5sea-I/AAAAAAAAADk/r4hnr1X5YKQ/s1600/Netflix%2BPerformance%2Bon%2BTop%2BISPs%2B-%2BUSA.png This makes me sad.
01:33:45 <pikhq> Note the units on the graph.
01:34:15 <elliott_> jwest: http://esolangs.org/wiki/Brainfuck_algorithms is sometimes helpful
01:34:33 <elliott_> oh wow, the netfuck saga continues
01:34:49 <elliott_> he can write interpreters in qbasic and has developed simple chats over nullmodem :o
01:35:08 <pikhq> elliott_: ... Wut?
01:35:08 <jwest> what do the temp1 etc things in the example code mean?
01:35:53 <elliott_> pikhq: "I still don't get your problem. This is so petty and you search every error in my sentense to critisize me... I have already written a full functional interpreter in QBasic and developed simple chats over nullmodem, so I don't really see why NF should be so worse in your opinion. --87.165.166.97 00:34, 1 June 2011 (UTC)"
01:36:18 <jwest> thanks for your help
01:37:31 <elliott_> Lymia: talk:netfuck on the wiki
01:38:13 <pikhq> Hmmm. Maybe I should actually upload all my code somewhere again.
01:38:44 <Lymia> I've failed to find it.
01:38:51 <elliott_> see recent changes, i have a headache and closed the tab
01:38:53 <elliott_> pikhq: I have a VPS I'm doing nothing with that runs thttpd :P
01:39:05 <elliott_> (Note: I am an unreliable person.)
01:39:11 <elliott_> pikhq: ooh, do the NetFuck challenge and you'll get
01:39:22 <pikhq> elliott_: I was thinking more like one of those git hosting sites.
01:39:52 <pikhq> Be nice to have dimensifuck up somewhere.
01:39:58 <pikhq> And PEBBLE and PFUCK.
01:40:02 <Lymia> This is Brainfuck... with support for two IO channels?
01:40:03 <elliott_> pikhq: I was going to go "GIT :( USE DARCS" but then I realised that the darcs hosting sites suck.
01:40:07 <pikhq> And other random snippets.
01:40:13 <elliott_> Well, darcsden is alright but it's... barebones.
01:40:28 <elliott_> oh hm, it seems to have been made less barebones as of late, nice
01:42:36 <pikhq> Opinions on git hosters?
01:43:17 <elliott_> pikhq: If you're looking to be ais-style obnoxiously legalistic and principled about things, something that isn't GitHub. Otherwise, seriously, just use GitHub.
01:43:45 <pikhq> elliott_: What negatives exist at all?
01:44:37 <elliott_> pikhq: Uhh... their terms of use once disallowed people to block ads on the site (note that GitHub has never even had ads, and this clause is now long-gone). Also, things like issues, the wiki system, and pull requests are "lock-in" features in that they're not implemented with any standard protocol and don't interoperate with non-GitHub sites.
01:44:48 <elliott_> Oh, and the issue system requires JS.
01:45:02 <elliott_> But it's a well-designed, fast site with lots of good functionality, and it's incredibly popular /shrug
01:45:22 <elliott_> And the inability to use the pull request system directly if the person who made the changes doesn't use GitHub is... not the biggest issue ever.
01:45:38 <pikhq> Mmkay, then I suppose GitHub, then.
01:45:46 <elliott_> GitHub is the only host which offers dynamic tarball downloads of the tip too I think, which is nice because you can link to them.
01:45:47 <pikhq> If I don't like it, well, it's not hard to migrate elsewhere with git.
01:46:28 <elliott_> Honestly, in my mcmap development I look at exactly two things on GitHub:
01:46:36 <elliott_> - The commit list (and the commits themselves)
01:47:14 <elliott_> Developed by fizzie; I wrote some parts.
01:47:31 <pikhq> Un momento; time to use ssh-agent again.
01:47:32 -!- pikhq has quit (Quit: leaving).
01:48:11 -!- pikhq has joined.
01:52:49 <jwest> Hey, just one more question, does the fact that brainfuck is turing complete mean that anything written in another turing complete language can be written in brainfuck? I suspect not.
01:53:28 <pikhq> jwest: That is *precisely* what Turing completeness means.
01:53:36 <jwest> it's just hard to believe
01:53:38 <Lymia> Note that Turning Complete only considers computational power.
01:53:48 <Lymia> Things like IO, Networking, etc are not covered.
01:53:52 <jwest> i guess i should look it up and study it a bit
01:54:30 <Lymia> jwest, you could, for example, write an x86 emulator in Brainfuck.
01:54:34 <Lymia> This has obvious implications.
01:56:39 <CakeProphet> finding a well-documented low-level audio playback library in Haskell is proving difficult.
01:56:45 -!- TeruFSX has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.).
01:57:17 <jwest> Lymia: does the 30000 byte limit stop this at all?
01:57:26 <jwest> (assuming that is taken as necessary)
01:57:43 <Lymia> Turning Complete, assuming infinite memory.
01:58:14 <Lymia> Does the C spec break down with infinite memory, and infinite word size?
02:00:33 <CakeProphet> I assume the only problem the C spec would have with infinite memory would be addressing it all. With infinite word size, that wouldn't be a problem.
02:01:16 <Patashu> Infinitely long typecasts would be a problem
02:01:36 <Lymia> With infinite word size...
02:01:38 <Lymia> What is sizeof(int)
02:02:29 <Patashu> If everything is infinitely large then sizeof() is useless
02:02:48 <jwest> i gotta go, thanks for the help and interesting info, see ya
02:02:51 -!- jwest has quit (Quit: Page closed).
02:03:22 <Lymia> Patashu, but what would sizeof(int) return?
02:03:59 <Patashu> How would you express negative numbers? The most infinite bit is set to 1? But infinity has no last bit
02:04:19 <Lymia> You don't use twos compartment.
02:04:31 <Lymia> You could use sign and magnitude, right?
02:04:42 <CakeProphet> malloc(sizeof(int)) would return the starting address of the infinite memory you just allocated in your infinite memory heap... which I'm pretty sure wouldn't terminate.
02:05:07 <CakeProphet> but then again, I don't really know how malloc works.
02:05:07 <Lymia> Would infinite memory C be a Deathstation 9000?
02:05:43 <CakeProphet> C with infinite memory is possible, provided you address memory with bignums. However, infinite word size makes things difficult, it seems.
02:05:46 <Lymia> What about the various undefined interactions?
02:05:57 <Lymia> undefined behavior, etc.
02:07:54 <Patashu> How are you going to make this work with the guarantee that you are able to touch every bit in memory, e.g. chars are consecutive and leave nothing out
02:08:31 <CakeProphet> I don't really understand what you mean exactly.
02:09:36 <CakeProphet> hmmm, well. you could have a floating point addressing scheme.
02:09:55 <Patashu> Let me see if I can find it
02:11:04 <Patashu> Hmm I don't know where it is, but I know that the C programming language guarantees that chars are consecutive and allow you to touch every bit of memory
02:11:07 <CakeProphet> ptr+1 points to the next char in the string, and all of the bytes of the infinite width char are represented as decimal points (but then they become uncountable, which is another problem I think)
02:11:14 <Patashu> How do you reconcile this with words being infinitely large?
02:11:24 <Patashu> It doesn't make sense to have an infinity after an infinity, I guess
02:12:09 <pikhq> Hmmmm. What else should go up?
02:12:32 <Lymia> Does C break down when you do crap like that?
02:13:49 <Patashu> Can I address memory in smaller than infinitely large chunks, e.g. 8 bit chunks?
02:14:04 <Patashu> If so, what is the address of the 8 bit chunk at the start of the third infinitely large chunk?
02:14:09 <CakeProphet> well, yes. as it currently stands, I think every implementation of C would not be able to handle infinite memory. Especially considering that no physical computer can do that.
02:14:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
02:15:28 <Lymia> Basic question is, does the C spec hold up under infinity.
02:15:44 <Lymia> The word size is infinitely large, right?
02:17:01 <CakeProphet> to have infinite memory and word size, the cardinality of our set of memory addresses has to equal that of the real numbers. For finite word size and infinite memory, that would be the same cardinality as the natural numbers.
02:18:13 <CakeProphet> so basically, if you ask "what's the second bit in the fourth word of our computer memory", there is no answer...
02:18:29 <CakeProphet> it would be like asking, what's the next real number after 4?
02:19:08 <pikhq> Mmkay, a few bits of code are now up on git. Whooo.
02:20:25 <CakeProphet> Lymia: but, let's assuming you have a arithmetic processing unit that can handle addition of infinite words. Then you don't need to reference those bits individually, you just have your miraculous device perform basic arithmetic for you.
02:20:57 <CakeProphet> and to get the next word in memory, you just say char_ptr+1
02:22:11 <pikhq> https://github.com/pikhq A handful of things.
02:22:14 <CakeProphet> and because you can refer to consecutive words, you can make assertions such as "an integer is 4 words long"
02:23:40 <CakeProphet> which malloc can happily allocate, most likely.
02:24:10 <CakeProphet> with its magic algorithm, operating on magical infinite-sized words.
02:24:16 <Patashu> But what do I do if I want to reference memory in smaller chunks than a word
02:24:21 <Patashu> I guess I wouldn't really need to
02:24:27 <Patashu> If I needed byte arithmetic I can fake it with modulus
02:24:33 <Patashu> And my copmuter is apparently infinitely fast now
02:24:54 <CakeProphet> I don't see how it would be possible for bitwise operations, including arithmetic, to ever terminate on an infinite word, however.
02:26:41 <CakeProphet> well, to contain infinite memory I think a computer would need to occupy infinite space.
02:27:25 <CakeProphet> so if you have an infinitely large ALU with infinite circuitry to handle infinite bytes, etc...
02:28:02 <CakeProphet> then we don't have to worry about "terminating" in the algorithmic sense because we have an endless supply of physical space to simultaneously move electrons around.
02:30:08 <CakeProphet> ...though I can't imagine what that adder circuit would look like. You'd need a "..." in the schematic.
02:35:05 <CakeProphet> I think that's enough speculation for me tonight...
02:43:43 <pikhq> For the first time in ages, I actually have a place to shove code at.
02:44:02 -!- Patashu has quit (Ping timeout: 240 seconds).
02:49:17 <pikhq> https://github.com/pikhq/pebble Anyone give a fuck?
02:52:31 -!- copumpkin has joined.
02:52:47 <pikhq> Something I wrote back in 2006 through 2007, due to boredom with classes in high schoo.
02:52:56 <CakeProphet> pikhq: so it's a high level brainfuck of sorts?
02:53:06 <pikhq> Macro language for Brainfuck, rather.
02:53:24 <pikhq> It directly targets Brainfuck.
02:54:44 -!- Patashu has joined.
02:55:48 <CakeProphet> so whatever happened to giving brainfuck better IO capabilities?
02:56:28 <CakeProphet> heh, bash is brainfucks advanced IO platform? :D
02:57:25 <CakeProphet> this is cool though. It's like a high-level assembler for BF. :)
02:57:55 <pikhq> Yeah, it was pretty fun to write.
02:58:08 <CakeProphet> can you mix brainfuck code into the language?
02:58:16 <pikhq> https://github.com/pikhq/pfuck You might be interested in this.
02:58:29 <pikhq> You *could*, but it'd break on non-Brainfuck backends.
02:59:37 <pikhq> It also has a C backend, and an interpreter.
03:00:34 <CakeProphet> I like pebble because I could write complex code, compile it, and then claim I wrote it all in brainfuck.
03:01:49 <Sgeo> CakeProphet, does PSOX count for your better IO capabilities purposes?
03:02:51 <CakeProphet> I still never really learned how it worked.
03:36:29 -!- azaq23 has quit (Ping timeout: 276 seconds).
03:37:17 -!- azaq23 has joined.
03:43:22 -!- comex has quit (Quit: ZNC - http://znc.sourceforge.net).
04:18:39 -!- Sgeo has quit (Ping timeout: 255 seconds).
04:22:03 <elliott_> <Lymia> With infinite word size...
04:22:08 <elliott_> we've been over this a thousand times
04:22:10 <elliott_> <CakeProphet> Lymia: presumably infinity.
04:22:17 <elliott_> infinity is not a valid value for size_t in any C system
04:22:21 <elliott_> and sizeof must return a size_t
04:22:38 <elliott_> Lymia: <Lymia> Patashu, but what would sizeof(int) return?
04:22:55 <elliott_> Lymia: but you can have char be a bignum
04:23:25 <Patashu> Yeah, that's what we ended up deciding on
04:23:27 <elliott_> <Lymia> Basic question is, does the C spec hold up under infinity.
04:23:30 <Patashu> The minimum word size is (infinity)
04:23:42 <elliott_> im mostly skipping all of this since its a rehash of a discussion we've had about a hundredtimes
04:24:09 <elliott_> oh, and note that you can't have a hosted (= with stdlib) C with bignum char
04:25:04 <elliott_> because ftell and the like are explicitly allowed to just fail if you're too far in to the file to represent in an int
04:25:17 <elliott_> so you can just have an infinite disk
04:25:34 <Patashu> Wait, so what do you do in C for managing files over 4GB
04:25:51 <elliott_> For a start, you still use a thirty-two bit computer?
04:26:04 <elliott_> For a second, it's actually two gigs (int is signed)
04:26:10 <elliott_> For a third, you keep track of your own file position :P
04:28:25 <CakeProphet> aren't things like int defined by word size though? So sizeof(int) would be the same number of words as before.
04:29:00 <pikhq> CakeProphet: No, things like int simply must be a multiple of char sized.
04:29:07 <elliott_> sizeof(t) is equal to the number of chars you need to store a t, basically
04:29:26 <pikhq> There is absolutely, positively no guarantee that an int is a system word.
04:29:56 <pikhq> In fact, there is at least one system in common use where int isn't a system word.
04:30:12 <pikhq> On most x86_64 system, sizeof(int) is 4.
04:30:23 <pikhq> sizeof(void*), however, is 8.
04:30:37 <Gregor> On most 64-bit systems, sizeof(int) is 4, as otherwise there aren't enough type names to cover 1, 2 and 4 :P
04:35:04 <pikhq> Actually, I should specify. On most x86_64 systems, sizeof(void*) is 4.
04:35:48 <pikhq> There's a set of toolchain patches floating around to give you x86_64 with 32-bit pointers as an ABI on a Linux system.
04:36:23 <pikhq> Lemme see if I can find it again...
04:37:42 <pikhq> https://sites.google.com/site/x32abi/ Thar we go.
04:39:07 <copumpkin> you get the extra registers without the extra pointer overhead
04:39:16 <copumpkin> if you're short on memory, it's not bad
04:39:26 <elliott_> you also don't have to deal with the pesky additional address space <:)
04:39:27 <copumpkin> it's very noticeable in certain haskell code I run often
04:39:39 <copumpkin> elliott_: in my case, I have 4G of RAM
04:39:39 <elliott_> well yeah but haskell is really pointer-heavy
04:39:46 <elliott_> probably because of []'s unfortunate ubiquity
04:39:46 <copumpkin> and my program was getting killed at 3G for allocating more than that
04:39:51 <copumpkin> so I recompiled it with the 64-bit GHC
04:40:02 <pikhq> Saving space on pointers can really help with cache.
04:40:07 <copumpkin> and now it swaps and exceeds 4 and doesn't terminate in any reasonable amount of time
04:40:30 <copumpkin> just cause of enormous terms in memory
04:40:33 <elliott_> copumpkin: to be fair, in that case your only recourse without changing the program is to buy more ram :P
04:40:50 <elliott_> coppro: macbook air sbuddies /hifive
04:41:16 <elliott_> well it's nice... apart from the fact that the fan is ridiculously noisy and goes on whenever you do anything
04:41:25 <elliott_> and also the terrible linux support although that isn't really apple's fault :)
04:41:34 <elliott_> also the BREAKING NUMBER KEYS, that's the worst feature imo
04:41:42 <elliott_> copumpkin: it's the newest of the new.
04:41:56 <elliott_> copumpkin: I have really obnoxious standards for fan noise.
04:42:20 <elliott_> It doesn't sound "broken" or anything, but it's a lot louder than the fan on my previous laptop
04:42:27 <elliott_> Which was, admittedly, an ULV processor
04:42:42 <elliott_> It probably is great if you use OS X :)
04:42:46 <pikhq> elliott_: There should be at least *some* better support in Linux 3.0.
04:42:54 <elliott_> pikhq: I thought it had no new features :)
04:43:26 <pikhq> elliott_: Bug workarounds are not new features. :P
04:44:25 <elliott_> copumpkin: Really, I got it because (a) the specifications are quite decently above what I had before and (b) it's not a fragile plastic piece of crap like [insert large PC manufacturer here]
04:44:37 <elliott_> If they still made ThinkPads like they used to, the choice would have been obvious :)
04:45:14 <pikhq> There wouldn't have been a choice, really.
04:47:29 <elliott_> I tried to be an Apple fanboy but they were too crap, whoops
04:48:00 <copumpkin> I just mean to say that thinkpad-of-olde worshippers aren't much better :P
04:48:38 <elliott_> copumpkin: At least with ThinkPads the reputation is well-deserved >:)
04:48:46 <elliott_> OHHHH SNAPPPPPPPPPPPPPPPPPPPPPPPPPPPP ok that wasn't actually much of a snap
04:49:05 <copumpkin> I don't really care that much, just commenting :)
04:49:09 <elliott_> impossible ive caught you in my snap now
04:49:23 <elliott_> http://www.thinkwiki.org/wiki/PC110 best thinkpad
05:05:37 -!- Zwaarddijk has quit (Ping timeout: 248 seconds).
05:13:07 -!- Zwaarddijk has joined.
05:20:33 <elliott_> "In true academic style they define the problem and exhaustively test its parameters. Let's just build something quick and hacky that usually works :)"
05:20:54 <elliott_> are advice dog derivatives dead yet? can we make Terrible Programmer?
05:21:02 <elliott_> FIND DETAILED PAPER ON THING YOU'RE TRYING TO IMPLEMENT
05:27:33 -!- oerjan has joined.
05:28:39 <CakeProphet> I mean, I don't see why they need to be dead in order for you to do that.
05:29:41 <elliott_> CakeProphet: no i'd just like them to be dead because they are terrible
05:29:45 <oerjan> 17:10:17 <elliott_> hm maybe this is the trick
05:29:56 <CakeProphet> I don't know some of Courage Wolf is good.
05:30:52 <oerjan> er wait that was right, or...
05:31:51 <oerjan> 17:12:28 <elliott_> actually using 0 is a bad idea...
05:31:51 <oerjan> 17:12:33 <elliott_> because it will stop people using $
05:32:05 <oerjan> indeed that annoyed me about parsec's <?>
05:32:31 <elliott_> admittedly, in this case (a := b) would never be a function, so $ would not be so useful :)
05:32:39 <oerjan> (even that _could_ have worked well if they had switched the arguments of <?>)
05:33:24 <oerjan> > (0$0 <?>) -- is it in lambdabot?
05:33:56 <oerjan> :t (0$0 Text.Parsec.<?>) -- is it in lambdabot?
05:34:09 <oerjan> :t (0$0 Text.ParserCombinators.Parsec.<?>) -- is it in lambdabot?
05:34:09 <lambdabot> The operator `Text.ParserCombinators.Parsec.Prim.<?>' [infix 0] of a section
05:34:10 <lambdabot> must have lower precedence than that of the operand,
05:34:11 <elliott_> :t (0$0 Text.ParserCombinators.Parsec.<?>)
05:34:11 <lambdabot> The operator `Text.ParserCombinators.Parsec.Prim.<?>' [infix 0] of a section
05:34:11 <lambdabot> must have lower precedence than that of the operand,
05:34:58 <oerjan> infixr 0 and switched arguments, and it would have mixed well with $
05:36:12 <coppro> elliott_: I chose the thinkpad
05:36:38 <elliott_> coppro: there's no way i'm buying a thinkpad since about the time they went widescreen
05:36:56 <oerjan> 17:13:13 <CakeProphet> "name" := someUngodlyFunction $ someUngodlyParameters ...
05:36:59 <oerjan> 17:13:28 <CakeProphet> replace the := with something else
05:37:07 <elliott_> coppro: well, I am not the biggest fan of widescreen formats, but no, that isn't the /reason/
05:37:16 <elliott_> coppro: that was about the time when Lenovo started making new models of their own, though
05:37:25 <oerjan> that too would also have worked with infixr 0, although := is a constructor not a function
05:37:32 <elliott_> this isn't like "zomg chinese maek bad computar" or anything, they're just not as well-designed or constructed IMO
05:38:21 <coppro> they're still, in my opinion, some of the better constructed ones out there
05:38:24 <coppro> and they have mouse nibs
05:38:39 <elliott_> oh, they're one of the better-constructed ones, yeah, I just have a pretty low tolerance for this stuff
05:38:49 -!- lambdabot has quit (Read error: Connection reset by peer).
05:39:11 <oerjan> WHAT DID YOU DO TO HER
05:40:13 <elliott_> its hould be illegal to type wrods
05:40:16 <oerjan> 17:15:13 <Sgeo> Is Haskell's printf type-safe? I mean, it type-checks just fine, but
05:40:20 <oerjan> 17:15:53 <elliott_> Sgeo: no
05:40:33 <elliott_> was that an answer via quote :D
05:41:01 <oerjan> unless you have a strange definition of type-safe
05:41:25 <elliott_> Prelude Text.Printf> :t printf "%d" "abc"
05:41:25 <elliott_> printf "%d" "abc" :: PrintfType t => t
05:41:25 <elliott_> Prelude Text.Printf> printf "%d" "abc"
05:41:25 <elliott_> *** Exception: Printf.printf: bad argument
05:41:31 <elliott_> it's not type-safe in the way sgeo means
05:41:36 <elliott_> as he says, "it type-checks just fine"
05:41:40 <elliott_> but it does not ensure type-/safety/
05:41:49 <oerjan> oh right the type-checking is dynamic
05:41:51 <elliott_> it is easy to commit a type error that is only caught at runtime
05:41:58 <elliott_> which means it's not a type-safe method of doing formatted printing
05:42:47 <elliott_> I should write an ``industrial-strength'' library for the kind I described later, I think Oleg's even done it :P
05:42:57 <elliott_> it would be easy and distract me from the horrors I've been coding lately
05:46:36 <oerjan> elliott_: which reminds me, programming in haskell's type system is essentially dynamic typed >:)
05:46:50 <elliott_> oerjan: indeed, although if you do
05:46:58 <elliott_> class (Result r) => Blah a b r | ...
05:47:05 <elliott_> then it does some "compile-time" checking
05:47:09 <elliott_> and I think you can apply it to the arguments too
05:47:19 <elliott_> class (Foo r) => Blah a r | a -> r
05:47:27 <elliott_> instance Blah (SpecialThing r) r
05:47:31 <elliott_> instance (Foo r) => Blah (SpecialThing r) r
05:47:39 <elliott_> but if you recurse it's all ok and works out
05:47:52 <elliott_> but yeah, it is essentially dynamically typed
05:49:48 <elliott_> ducks are telling me to go to sleep, they are standing here and saying it
05:50:06 <CakeProphet> I'm just glad I'm not a 3 oz. bag anymore.
05:51:02 <elliott_> your all doing really badly at telling me to go to bed
05:58:13 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
05:58:43 * oerjan has a cold but is out of iced coffee :(
05:58:58 -!- copumpkin has joined.
05:59:26 * pikhq has a glass of wine, and it is pleasant.
05:59:33 <elliott_> i kind of want a http://www.thinkwiki.org/wiki/PC110 now as shitty as it is :D
06:02:21 <elliott_> just tried to ?tell someone something
06:03:36 <elliott_> oerjan doesn't appreciate my pain
06:05:29 <elliott_> http://www.writemypapers.org/examples-and-samples/essay-about-friendship.html oh googling keyboard bashes is productive... this really amuses me
06:05:44 <elliott_> "I got used to believe that friendship is an everlasting phenomenon and it is truly forever. I stick to the opinion, that true friendship is never-ending. Life is unpredictable and we never know what may happen tomorrow. I’ve a lot of friends but only few of them are real. We’ve gone through many difficulties together and now my heart is aching at the thought that we are living in different countr
06:05:45 <elliott_> ies because of life circumstances."
06:06:14 <elliott_> oerjan non-human did you write this . . .
06:06:29 <oerjan> elliott_: why the heck don't you register elliott_. or change nick.
06:06:41 <elliott_> id have to type the password for elliott
06:06:52 <elliott_> which involves googling that number to copy it........
06:07:25 <oerjan> when i log in, freenode remembers i logged in even if i change my nick
06:07:57 <monqy> change your password or fix your keyboard
06:08:15 <oerjan> i guess the initial automated login won't work if i'm not on one my nicks
06:09:02 -!- CakeProphet has changed nick to Kallisti.
06:09:08 -!- Kallisti has changed nick to CakeProphet.
06:09:08 <monqy> my automated login works even when I'm not on one of my nicks. I'm too lazy to do it properly, though; maybe it wouldn't work, then
06:09:32 <elliott_> -MemoServ- You are not logged in.
06:09:46 <elliott_> http://esolangs.org/wiki/Special:Recentchanges
06:09:47 <elliott_> http://esolangs.org/wiki/Special:Recentchanges
06:09:49 <elliott_> Requested Range Not Satisfiable
06:10:04 <elliott_> http://esolangs.org/wiki/Special:Recentchanges
06:10:23 <elliott_> http://esolangs.org/wiki/User_talk:Ian/LARSA_Interpreter
06:10:30 <elliott_> quality wiki comments from Maharba
06:13:37 <CakeProphet> your moms vast range is also not satisfiable.
06:14:08 <elliott_> dfgjofhoifgivnigfjioinogvj fpoohignkjbcfiovncixodnvbjidb fnjhfb nvjhbnjhb uiob uib huib hu
06:14:16 <elliott_> im badass cuz i type without words
06:14:50 <elliott_> no please everybody, please, back off, i cannot serve you all at once
06:14:50 <CakeProphet> is a sane base structure that can represent any kind of time varying signal.
06:14:55 <elliott_> my awesomeness is rate-limited
06:15:00 <elliott_> CakeProphet: flavours of frp...
06:15:07 <elliott_> CakeProphet: but um, (Time -> Value) IS A PRETTY GOOD STRUCTURE
06:15:14 <elliott_> time can be a double or just any member of fractional or whatever
06:15:36 <elliott_> i mean come on, a sine wave... what's sin... oh yeah a function over the reals :)
06:15:37 <CakeProphet> and then have derived structures for things like repeating patterns by specifying some kind of period or something.
06:16:47 <CakeProphet> also should probably carry around some information about samplerate.
06:17:27 <monqy> http://esolangs.org/wiki/Talk:NetFuck oh god this is great
06:17:36 <elliott_> monqy: hes so upset with our insults
06:17:47 <elliott_> monqy: HE HAS A DEGREE IN COMPUTER SCIENCE
06:17:51 <elliott_> monqy: HE HAS WRITTEN A QBASIC CHAT CLIENT
06:17:53 <CakeProphet> oh but wait, if I just specify time -> value then I don't really need to worry about sample rate because all sample rate will do is vary the input numbers...
06:18:29 <elliott_> CakeProphet: It would be nice if you could use rationals as time for that extra imaginary "precision" and slowness, but
06:18:46 <elliott_> CakeProphet: So I'd pretty much just fix it to Double
06:18:59 <elliott_> CakeProphet: hmm, samples are actually fractional too, aren't they?
06:19:09 <elliott_> You just map a certain range to N bits to actually quantise it
06:19:14 <elliott_> So you just have (Double -> Double)
06:19:34 <CakeProphet> right, but not everything is a double necessarily.
06:19:52 <elliott_> CakeProphet: Well, you want to be able to use sin, right?
06:20:01 <CakeProphet> right, Double -> Double is the usual case.
06:20:02 <elliott_> Rationals aren't an instance of Floating
06:20:06 <elliott_> So I dunno what else you would use
06:20:24 <CakeProphet> but, for example, if you just have an on/off signal controlling some sample, then that would be Double -> Bool
06:20:34 <elliott_> CakeProphet: ah, but that wouldn't be a signal itself
06:20:46 -!- Vorpal has joined.
06:20:48 <CakeProphet> (or Double -> Double if you just have the result wave as the amplitude, 0 for off, 1 for full)
06:21:24 <elliott_> well, the Double result would be [0,one] right?
06:21:37 <elliott_> so Bool is just it restricted to 0 and 1 :P
06:21:50 <CakeProphet> in the case of a volume on/off signal, yes.
06:22:08 <elliott_> CakeProphet: Erm, in the case of a sample result too, no?
06:22:32 <elliott_> Sixteen-bit or whatever is just a way of mapping a reduced range of [0,1] to some bits
06:22:34 <CakeProphet> well, yes. You could have a [0,1] trigger a sample when it's non-zero, or one, or however you want to do it.
06:23:14 <elliott_> you can just make Signal an instance of Num
06:23:17 <CakeProphet> if you normalize it, then yes it would be [0,1]
06:23:32 <elliott_> CakeProphet: wouldn't you want to do that, so that programs would be sample size independent? :)
06:24:58 <oerjan> what worries me conceptually about Double -> Double without a sample rating is that it cannot be serialized in a reasonable time...
06:25:06 <CakeProphet> for a sampler trigger though multiplying by an on-off signal isn't enough. You would want a True event to trigger the sample to play at that point in time.
06:25:13 <elliott_> CakeProphet: http://sprunge.us/jNQZ
06:25:26 <elliott_> but that's not really related to signals
06:25:52 <elliott_> oerjan: for N khz, just call with sequential values at appropriate precision
06:25:57 <elliott_> scale the resulting doubles to your sample size
06:26:13 <oerjan> elliott_: um that's setting a sample rate in order to serialize, surely?
06:26:31 <elliott_> I'm not sure what you would prefer, nothing else would be this flexible
06:26:47 <elliott_> oerjan: it is kind of like saying the Fran (Coords -> Colour) images are not serialisable in that sense
06:26:53 <elliott_> they're not, but that's where their power comes from
06:27:01 <elliott_> and if you want the "serialisation"... it's the program's source
06:27:27 <CakeProphet> yeah.. I don't really see why it would be a problem to ignore sample rate until you actually want digital audio.
06:28:49 <CakeProphet> but... -ahem- I might end up mucking all of this purity up in IO.
06:29:00 <elliott_> what? there is no reason for a signal to have an IO result type
06:29:10 <elliott_> that is terrible, ruins the entire thing, and is completely pointless :)
06:29:55 <CakeProphet> well, not entirely. Let's say I'm modulating a sound generator with parameters that I want to be able to mutate later on, anywhere else.
06:30:09 <elliott_> yes but that is an _environment_ thing
06:30:21 <elliott_> you really want the "performance" file format to be something else entirely
06:31:16 <CakeProphet> I'll have to wait until I get there I guess. I agree it's best to keep a least the basic processing units pure.
06:31:33 <CakeProphet> and then a more complex "synthesizer" could mess around with IORefs and IO in general.
06:32:30 <elliott_> i'm tempted to mess around with this now
06:32:59 <CakeProphet> well, I'll be starting sometime tomorrow maybe.
06:33:09 <elliott_> bah, who cares about _your_ code
06:33:16 <CakeProphet> I took like 8 mg of melatonin so I should be passing out soon. It's only 2:33 AM here though..
06:33:28 <CakeProphet> elliott_: my code will be awesome you don't even KNOW.
06:33:47 <pikhq> CakeProphet: If you're using IO and not interacting with the outside world, you're doing it wrong.
06:33:57 <elliott_> that's a rather insanely excessive dose, dude
06:34:04 <elliott_> also pikhq is right, if you just want references you want ST
06:34:16 <elliott_> but the topic is now you taking way too much melatonin
06:34:35 -!- oerjan has quit (Quit: Argh).
06:34:38 <CakeProphet> elliott_: well, in the future having both mutable references and interaction with the outside world would be a benefit, so, IO I'd say.
06:34:46 <pikhq> CakeProphet: BEAT BEAT BEAT
06:34:50 <pikhq> CakeProphet: DON'T BE STUPID
06:34:55 <elliott_> CakeProphet: my professional opinion is that you don't know what the hell you're talking about :)
06:35:16 <Vorpal> elliott_, I finished the last exam before the summer holidays. Now it is time to turn my focus towards 1) driving exam 2) ordering that computer
06:35:17 <pikhq> In Haskell, good style involves IO being minimal.
06:35:21 <elliott_> MY CODE WILL THEREFORE BE BETTER NIH TIME
06:35:23 <pikhq> Ideally, 1 line of code.
06:35:34 <elliott_> Vorpal: try driving a lot, driving is great
06:35:38 <CakeProphet> yes I know all about that. You seem to think I'm just going to fill my code with IO now.
06:35:42 <elliott_> computers are terrible they crash and break a lot
06:35:48 <elliott_> CakeProphet: you're proposing putting every signal into io :)
06:35:57 <elliott_> Vorpal: when do cars break? nevre.
06:36:17 <pikhq> CakeProphet: To a Haskellian, you are.
06:36:25 <Vorpal> elliott_, hm I should invite you to planet Earth sometime
06:36:32 <Vorpal> might be fun to see your reaction
06:36:42 <pikhq> Perhaps I should sleep.
06:37:06 <elliott_> thanks for clarifying with that t
06:37:12 <CakeProphet> elliott_: no, I propose putting IO around the code that operates on signals. I think that's a bit more reasonable, since, you know, they have to play audio and stuff. And maybe pull data from websites or files, etc.
06:37:14 <Vorpal> elliott_, wait what, you are still awake?
06:37:18 <elliott_> id assume you meant the zeroth day of the thirty-seventh month otherwise
06:37:32 <elliott_> Vorpal: no this is just an illusion
06:37:36 <pikhq> CakeProphet: NO, NO, NO THEY DO NOT.
06:37:42 <Vorpal> elliott_, carry on then.
06:37:59 <CakeProphet> pikhq: hey you don't know what I plan to do.
06:38:09 <pikhq> CakeProphet: To play audio, you take the output from them and then interact with it in IO.
06:38:25 <pikhq> You don't need your signals to be IN IO for that.
06:38:27 <CakeProphet> I fail to see how we're talking about different things.
06:38:32 <pikhq> You just need your signals to be pure functions.
06:38:43 <pikhq> If it's not what you mean, say what you mean, please.
06:38:45 <elliott_> IF YOU TALK ANGRILY IN CAPS THAT FUCKWIT WILL LISTEN TO YOU.
06:39:04 <pikhq> So, then you claim what you said isn't what you said.
06:39:08 <pikhq> Please, elucidate.
06:39:18 <CakeProphet> as in, the very most recent lines of text. my attention span is somewhat short since I'm drugged and all. :P
06:39:20 <elliott_> im declaring a ten minute silence
06:39:26 <elliott_> no more talking starting from now
06:40:00 <Vorpal> elliott_, you broke it yourself :P
06:40:05 <pikhq> I have infinite health.
06:40:31 <pikhq> You cannot defeat me, I have Single Player Commands!
06:40:43 <elliott_> are you fucking suicidal you idiot youre going to die
06:41:07 <Vorpal> elliott_, this should give you plenty of time to research computer components!
06:41:19 <elliott_> Vorpal: why would i make a computer for a dead man
06:41:43 <Vorpal> elliott_, well, since when did that stop anyone? Just look at discworld
06:41:55 <elliott_> I AM GOING TO FUCKING RIP OUT YOUR SKULLS
06:42:07 <elliott_> YOU WILL HAVE TO FUCKING CODE IN NETFUCK
06:42:30 <elliott_> I AM TAKING CONTROL OF THIS CHANNEL
06:42:31 <Vorpal> elliott_, you yourself spoke during this period of silence.
06:42:38 <elliott_> Vorpal: I'M ABOVE THE FUCKING LAW.
06:42:38 <Vorpal> so you have to kill yourself.
06:42:47 -!- elliott_ has set topic: TRANSITIONARY MILITARY GOVERNMENT | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:42:49 <CakeProphet> I'm not entirely sure why elliott is screaming at me right now.
06:42:57 <elliott_> CakeProphet: TALKING IS DISALLOWED
06:43:10 <Vorpal> CakeProphet, I think it is because he is sleep deprived.
06:43:13 <elliott_> THE LOUDEST TEN MINUTE SILENCE EVER THANKS TO ME
06:43:19 <elliott_> Vorpal: no, you're all just being really stupid right now.
06:43:28 <elliott_> i'm still awake for various complicated reasons
06:43:33 <elliott_> that mostly involve time management
06:43:59 <Vorpal> we will fill the log for you to read when you wake up
06:44:46 <Vorpal> elliott_, the supreme court find that this period of silence is unconstitutional!
06:44:53 <CakeProphet> pikhq: so anyways, perhaps I explained poorly, but I wasn't suggesting that the signal generators themselves have anything to do with IO, just the code that uses it for whatever nefarious purpose.
06:45:34 <CakeProphet> elliott_: you're making lambdabot cry in heaven.
06:46:26 <pikhq> CakeProphet: If they do IO, they should be in IO.
06:46:33 <pikhq> If they do not do IO, they should not be.
06:47:03 <elliott_> can you feel it about to happen
06:47:06 -!- elliott_ has quit (Quit: now).
06:48:37 <fizzie> Let's not count our chickens before they hatch; if you say something sufficiently outrageous, it's possible he'll be log-snooping and rejoining just to reply.
06:49:22 <Vorpal> what about this one: <elliott> Haskell would be better with side-effects.
06:49:57 <Vorpal> fizzie, doesn't seem to have worked. Oh well.
06:50:34 <fizzie> Vorpal: In other news, http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg
06:51:12 <Vorpal> fizzie, hm needs some vertical control lines
06:51:19 <Vorpal> fizzie, otherwise: nice
06:51:29 <fizzie> There's a bit of parallax problems in the chairs nearby, but that's just to be expected.
06:51:31 <Vorpal> err... s/otherwise/other than that/
06:51:59 <Vorpal> fizzie, adding some vertical lines on wall features would help a lot
06:52:30 <fizzie> Yes; I'll try that when at home some point.
06:52:42 <Vorpal> fizzie, oh where are you now?
06:52:59 <fizzie> At work; it's almost 10am already here.
06:53:34 <Vorpal> fizzie, weird they added an extra chair there, there isn't any lack of free seats
06:53:58 <fizzie> The guy in the chair has a video camera on a tripod in front of him; not very clear from the picture.
06:53:58 <Vorpal> or wait, is he recording the thing?
06:54:20 <fizzie> They showed the speaker video on that smaller (rightmost) screen.
06:54:27 <fizzie> And probably archived it somewhere too.
06:54:37 <Vorpal> fizzie, and what is the thin vertical screen for?
06:55:09 <fizzie> I think that's just a lit-up painted piece of cloth/paper with the conference logo fixed on it.
06:55:18 <fizzie> So that we wouldn't forget where we were.
06:56:06 <Vorpal> fizzie, ever played ultima 7?
06:56:44 <Vorpal> I tried it out a few days ago... Interesting. Though the interface is annoying to say the least.
06:56:47 <fizzie> Very little; some moments with exult, that's all.
06:56:54 <Vorpal> fizzie, yes I used exult too
07:02:17 <Vorpal> whoa, lyx has an option "--without-included-boost"
07:02:41 <Vorpal> that anyone would embed a copy of boost that is.
07:03:08 <fizzie> There's that one site about craziness in Ultima 7; e.g. http://www.it-he.org/ultima7.htm#gambling
07:03:25 <fizzie> (It's an unfortunately messy page.)
07:03:59 <pikhq> ... *Embed a copy of Boost*?
07:04:02 <pikhq> Jesus that's scary.
07:04:19 <Vorpal> pikhq, in the source yes...
07:04:44 <pikhq> That is fucking scary.
07:04:55 <Vorpal> ~/src/lyx/lyx-2.0.0 $ du -sh boost/
07:05:06 <Vorpal> not the whole thing I guess
07:06:38 <pikhq> KKK counterprotesting Westboro Baptist.
07:06:57 <Vorpal> pikhq, aren't they roughly on the same side?
07:07:06 <pikhq> Vorpal: Not quite.
07:07:19 <pikhq> Westboro Baptist is convinced that America is horribly evil.
07:07:26 <pikhq> The KKK is hypernationalist.
07:07:44 <pikhq> And Westboro Baptist protests the military quite extensively.
07:07:49 <pikhq> Which the KKK considers almost holy.
07:08:45 <pikhq> Y'know you're bad when a hate group is protesting your hate. :P
07:10:08 * Vorpal wonders how to get data out a RAID-1ed disk of a shut down computer with just one external hd cabinet. Without declaring one disk failed first that is
07:10:25 <Vorpal> I'm only interested in read access... I wonder if it is possible
07:10:45 <pikhq> RAID-1? Uh, just treat it like a single drive.
07:11:06 <Vorpal> pikhq, yes well it is mdraid
07:11:21 <Vorpal> pikhq, I doubt linux will be all that happy to mount it without both disks accessible
07:11:40 <pikhq> You can just mount it directly.
07:11:56 <Vorpal> pikhq, how? some device mapper thingy to skip the mdraid metadata block at the start?
07:12:06 <Vorpal> or wait, was it at the end
07:12:44 <Vorpal> besides it is lvm2 on top of mdraid, and blindly ignoring the metadata block there sounds... dangerous...
07:13:48 <pikhq> Are you going to write to it?
07:14:02 <pikhq> Then there is nothing that can possibly go wrong.
07:14:42 <Vorpal> pikhq, what about the metadata block for mdraid? Won't you need to somehow map it out
07:15:13 <Vorpal> oh hm mdadm has --run to assemble it seems
07:16:02 <pikhq> Eh, just start the RAID up. It'll work just fine off a single disk, since it *is* RAID-1.
07:16:17 <Vorpal> pikhq, yes but when I put these back together, won't it complain hm
07:16:34 <Vorpal> pikhq, even if I mount read only I'm not sure lvm will not touch anything
07:17:02 <pikhq> LVM will only touch things if you directly modify things.
07:17:19 <pikhq> Say, by creating a new volume.
07:17:37 <Vorpal> pikhq, so no updating of last timestamps in metadata blocks or such?
07:18:01 <pikhq> There are no timestamps in the LVM metadata.
07:18:22 <Vorpal> pikhq, well if this doesn't work I know who to blame :P
07:18:25 <pikhq> Nor any means of updating the LVM metadata without directly executing one of the LVM utils, for that matter.
07:19:03 <Vorpal> pikhq, well I will need to execute vgscan and vgchange to detect and enable/disable the vg
07:19:44 <pikhq> Yeah, those only read, so...
07:21:06 <Vorpal> I wonder what use this screwdriver is... the flat head is less than a mm wide
07:22:31 <olsner> for driving 0.6mm screws, of course
07:23:08 <fizzie> The metadata block's at the end of the disk, so you can use it "directly" too; it's just that the default lvm.conf sets md_component_detection = 1, so it will ignore partitions that have md superblocks in order to not be confused when it sees the same physical volume three (or more) times.
07:23:08 <Vorpal> olsner, yeah but come on, even the screws on glasses aren't that small. They are usually 1 mm
07:23:30 <pikhq> fizzie: Oh, that's nice and sane.
07:23:44 <Vorpal> pikhq, was that sarcastic?
07:24:29 <pikhq> Makes sense with how LVM literally scans all attached volumes for LVM physical volumes...
07:25:24 <Vorpal> annoying... I need to remove the AGP card to be able to get the hdd out. Sigh
07:26:04 <Vorpal> makes you wonder how they managed to fit those huge old ISA cards...
07:27:05 <pikhq> Well, you could use an IBM XT in lieu of cinderblocks.
07:28:19 <fizzie> If you want to be extra careful, mdadm has a --readonly command that you can use to mark an array read-only, before running any LVM ops.
07:29:03 <fizzie> The md superblock has a timestamp, but as far as I know it isn't touched unless you do a write request on the array.
07:35:10 -!- azaq23 has quit (Quit: Leaving.).
07:36:56 <Vorpal> I wonder if this external cabinet handles large disks correctly
08:05:01 <Vorpal> fizzie, another thing that annoys me with Ultima 7: The font.
08:05:10 <Vorpal> sure it looks all nice. But it *is* hard to read.
08:05:28 <Vorpal> I'd much rather have a boring sans-serif
08:08:16 -!- MigoMipo has joined.
08:21:31 <Vorpal> why did cdparanoia decide to rip at 1x
08:22:13 <fizzie> It makes the experience more authentic.
08:22:53 <Vorpal> fizzie, well, sometimes it rip at 8x
08:23:05 <Vorpal> I just don't understand how it decides what speed to use
08:24:49 <Vorpal> considering the cd is almost full this is indeed annoying
08:38:12 -!- pikhq_ has joined.
08:38:24 -!- pikhq has quit (Ping timeout: 250 seconds).
08:43:26 -!- monqy has quit (Quit: hello).
09:19:56 -!- Lymia_ has joined.
09:20:00 -!- Lymia has quit (Disconnected by services).
09:20:02 -!- Lymia_ has changed nick to Lymia.
09:20:06 -!- Lymia has quit (Changing host).
09:20:06 -!- Lymia has joined.
09:41:42 -!- Phantom_Hoover has joined.
09:52:06 * Phantom_Hoover remembers that he has an exam in a couple of hours with the guy in his school who reads it.
09:53:34 <Vorpal> Phantom_Hoover, good luck. Yesterday I finished my last exam for a while.
09:53:42 <Vorpal> Well apart from the driving one in a few weeks
09:54:27 <Phantom_Hoover> It is exactly the kind of boring procedural thing you do with an air of infuriating smugness.
09:54:30 <Vorpal> Phantom_Hoover, oh? Well I heard that Sweden have amongst the hardest driving exams in the world
09:54:59 <Phantom_Hoover> You're taking the exam in a few weeks and all you have is international gossip to go on?
09:55:26 <Vorpal> Phantom_Hoover, well I think I will manage it. The theoretical part should not pose any issue.
09:56:51 <Vorpal> Phantom_Hoover, atm I'm playing Ultima VII. My main issue with that game is that the font used for dialogs and so seems to be "Old English" or such.
09:56:57 <Vorpal> rather hard to read anyway
09:57:55 <Vorpal> Phantom_Hoover, are you sure how that typeface is spelled?
09:58:15 <Vorpal> Phantom_Hoover, because iirc the typeface I'm referring to is named "Old English"
09:58:25 <Vorpal> Phantom_Hoover, I'm referring to the typeface, not the language
09:59:18 <Vorpal> Phantom_Hoover, oh and some signs use god damn runes. And no this isn't just a case of your character doing a lore check like in D&D to decode it... The manual has a mapping table
09:59:23 <Vorpal> the rest... is up to you.
09:59:55 <Vorpal> Phantom_Hoover, oh and it uses "thou" and so on instead of "you". The language is fake Olde English.
10:01:04 <Vorpal> Phantom_Hoover, example of the typeface: http://www.it-he.org/u7/u7_bpot2.gif
10:01:24 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:01:53 <Vorpal> while it looks great.... it is harder to read. If it was just the occasional bit of text it wouldn't matter. But every single in game text is either that sort of font, or runes.
10:09:30 <Phantom_Hoover> http://www.reddit.com/r/todayilearned/comments/hnzwx/til_that_a_majority_of_biologists_believe_earth/c1wxejf
10:15:18 <fizzie> I've heard the same gossip w.r.t. the US/UK driver's license tests, in the sense that the UK is notably more difficult. I don't really know where other countries fall in that spectrum.
10:15:44 <fizzie> At least failing it is not considered especially surprising in Finland; though on the other hand passing it on the first try isn't particularly rare either.
10:16:34 <Vorpal> fizzie, sounds like Sweden there
10:16:40 <Phantom_Hoover> fizzie, the impression from people at my school doing the test isn't one of insurmountable difficulty, but I wasn't really paying attention to the people taking it.
10:17:22 <fizzie> Vorpal: Do you have night-driving/winter-driving sessions in the training part?
10:17:53 <Vorpal> fizzie, the latter at least. And you get the former during winter automatically :P
10:18:20 <fizzie> We do it in a special track when it's summer.
10:18:30 <Vorpal> fizzie, well, the latter we do on a special track.
10:18:56 <Vorpal> fizzie, I did it during autumn. They put some bio-degradable oil on the track to simulate slippery surface.
10:19:15 <fizzie> I don't know what they used here, some sort of liquid anyway.
10:21:14 <Phantom_Hoover> fizzie, ah, over here when the roads get slippery we smear them with salt and act like it's unusual.
10:21:36 <Vorpal> Phantom_Hoover, well, over here that isn't realistic :P
10:21:36 <Phantom_Hoover> (There was grit on the path in front of my school until well into spring.)
10:22:59 <Phantom_Hoover> The particles are larger, and there's a lot of salt in it.
10:23:07 <Vorpal> Phantom_Hoover, well we do put sand, and salt on roads. Well salt mostly on the highways and other large roads.
10:23:17 <fizzie> The thing they use for "sanding" (which is what it's called if you just translate literally) is quite a coarse mixture too.
10:23:44 <Lymia> fizzie, where do you live?
10:23:47 <Vorpal> I have never looked closely of what it is made of, but it is called "sanda" in Swedish, so I assumed it was indeed sand
10:23:54 <Lymia> Phantom_Hoover, lowers the freezing tempature, right?
10:23:56 <Vorpal> Lymia, and Sweden for me
10:24:19 <Vorpal> not nearly enough though
10:24:25 <Vorpal> iirc it stops working below -15 C or so
10:24:48 <Lymia> How did I accidentally omit a subjcet?
10:24:57 <Phantom_Hoover> Although according to WP CaCl_2 is preferred since it dissolves exothermically.
10:25:56 <Vorpal> "While salt was once a scarce commodity in history, industrialized production has now made salt plentiful. Approximately 51% of world output is now used by cold countries to de-ice roads in winter, both in grit bins and spread by winter service vehicles." <-- heh, 51%... that is quite a bit
10:26:50 * Lymia thinks Japanese is getting to her brain, even though she doesn't really know that much
10:26:54 <Lymia> Guh. What's with my k key.
10:27:21 <Phantom_Hoover> According to WP it's -21°C theoretically, although you can practically go down to -22°.
10:27:38 <Lymia> Can you make it go lower with other chemicals?
10:27:48 <Vorpal> Phantom_Hoover, that is unusual. Often the theoretically limit is further out than the practical one!
10:28:14 <Vorpal> Lymia, you mean like glycol?
10:28:38 <Phantom_Hoover> While salt... I think we get it mostly from a mine in Ireland here.
10:28:50 <Vorpal> Phantom_Hoover, yeah you don't need much.
10:30:07 <Vorpal> Phantom_Hoover, I mean, aren't there palms in south UK iirc. Not native, but as far as I heard, they survive along the south coast in some places.
10:30:11 <Vorpal> not sure if this is true
10:32:57 <Vorpal> Phantom_Hoover, btw, they do use antifreeze on runways sometimes. And on the outside of planes
10:33:25 <Vorpal> specifically ethylene glycol
10:33:38 <Lymia> Phantom_Hoover, if antifreeze doesn't work, wood + fire will.
10:33:54 <Vorpal> Lymia, where do /you/ live?
10:34:12 <Vorpal> somewhere hot probably
10:34:22 <Vorpal> because that idea is outright silly for deicing roads.
10:35:18 <Lymia> Vorpal, it's a joke.
10:35:41 <Lymia> Burning stuff on the roads is never a good idea, don't you think?
10:35:46 <Lymia> Because roads are near houses.
10:36:03 <Vorpal> Lymia, only sometimes. Most of the time roads are next to forests rather
10:36:21 <Vorpal> Lymia, plus of course it would block the road for non-fireproof cars
10:36:32 <Lymia> Vorpal, screw that.
10:36:35 <Lymia> All cars should be fireproof.
10:36:36 <Vorpal> Lymia, yes, quickly defrosts a large area. There might be side effects
10:37:19 <Vorpal> but I doubt wildfires are likely during winter. The snow would melt ant quickly put it out.
10:37:29 <Lymia> If fire doesn't work, use bombers.
10:37:38 <Vorpal> Lymia, how would that help?
10:37:44 <Lymia> By blowing up the ice.
10:37:54 <Lymia> Explosions always, help, right.
10:38:02 <Lymia> Uh.. the road being damaged?
10:38:08 <Lymia> Acceptable collateral damage.
10:38:21 <Vorpal> Lymia, what when the ice is the road though?
10:38:43 <Vorpal> Lymia, we have some lake roads during winter when the ice is thick enough to drive a car on.
10:39:00 <Vorpal> I think Finland have a few of those too
10:40:34 <Lymia> Vorpal, apply napalm.
10:40:50 <Vorpal> Lymia, that would make the road non-functional :P
10:42:37 <Lymia> The goal is deicing, right?
10:42:52 <Vorpal> hm this one looks like it is in bad condition... http://en.wikipedia.org/wiki/File:Ice_road_saimaa.JPG
10:43:26 <Lymia> People actually use shortcuts like that often?
10:43:39 <Lymia> Vorpal, the solution to that is a sander.
10:43:41 <Vorpal> Lymia, mostly they go to islands that have ferry services during summer.
10:43:56 <Lymia> So during winter...
10:44:07 <Vorpal> Lymia, I heard they use hovercrafts during the periods neither cars nor boats can pass them.
10:44:17 <Vorpal> Lymia, coolest school bus ever.
10:44:24 <Lymia> Technology to the rescue..
10:44:33 <Lymia> Why don't they use hovercrafts when boats work?
10:44:55 <Vorpal> you mean, even during the periods when cars work?
10:45:24 <Lymia> Even during the periods when the boats work.
10:45:40 <Lymia> How much more expensive is it?
10:45:49 <Vorpal> Lymia, more expensive. Besides I don't we have many gigantic hovercrafts in Sweden. While there are quite a lot of ships.
10:46:09 <Vorpal> and there are always the ubiquitous yellow public service free ferries.
10:48:09 <Phantom_Hoover> <Lymia> Why don't they use hovercrafts when boats work?
10:48:19 <Vorpal> Lymia, typical Swedish ferry: http://sv.wikipedia.org/wiki/Fil:MSFredrika.jpg
10:48:36 <Phantom_Hoover> You need to run the fans on the bottom, and they can't be very fuel-efficient.
10:49:02 <Vorpal> Phantom_Hoover, I know for a fact that they use hovercraft for schoolbus service during the period neither boats nor cars work on an island some 30-40 km from here.
10:49:11 <Phantom_Hoover> Although we did have one going across the Firth of Forth for 12 days, apparently.
10:49:50 <Phantom_Hoover> Which is odder still, since there are not one but two perfectly functional bridges going across it already at about the same place.
10:49:53 <Vorpal> Phantom_Hoover, for 12 days? Not a long term investment there
10:50:46 <Phantom_Hoover> (Well, OK, it cut out a large U-turn between Portobello and Kirkaldy, so it was probably faster.)
10:51:03 <Vorpal> http://sv.wikipedia.org/wiki/Fil:By%C3%A4lvan1.JPG<
10:51:15 <Vorpal> come a bridge there would be cheap
10:52:26 <fizzie> We do have ice roads, too; though only four official ones, and they're all pretty short.
10:52:39 <Vorpal> fizzie, I think we have some 8-12 or so
10:53:26 <Vorpal> Lymia, which country? You never told me when I asked above.
10:53:31 <fizzie> The Vuonislahti/Koli one is quite a shortcut, though; it drops the Lieksa-Koli trip from 92 km to 41 km, even though the road itself is short.
10:53:52 <Vorpal> Lymia, really? I would have expected some in Alaska
10:54:05 <Vorpal> Lymia, wikipedia claims Canada have a few though
10:54:05 <Lymia> I'm currently in China on a visit to family.
10:54:27 <fizzie> Aw, Google Maps doesn't show the ice roads.
10:54:39 <Lymia> fizzie, does it use it in instructions?
10:55:03 <fizzie> Maybe they alter the maps when it's open.
10:55:18 <fizzie> OpenStreetMap has a line for it.
10:55:30 <fizzie> http://osm.org/go/02NwdNs--
10:56:22 <fizzie> Sounds like university entrace exams out there.
10:56:24 <Vorpal> fizzie, no ferry service during summer?
10:56:38 <fizzie> There's a ferry service directly to Lieksa.
10:56:45 <fizzie> For some reason it's only shown one zoom-level deeper.
10:57:07 <fizzie> Or maybe that dashed line is something else.
10:57:11 <fizzie> There's a ferry, anyway.
10:57:27 <Vorpal> the island named "Vinön" on here http://osm.org/go/0ZoOVcB has a winter road
10:58:02 <fizzie> Vorpal: http://p.zem.fi/mzt7 -- Google Maps has the ferry line.
10:58:14 <Vorpal> Vuonislahti, 81590 Lieksa, Finland to Koli
10:58:14 <Vorpal> Lieksa, Vuonislahti, Finland to Koli
10:58:35 <fizzie> Oh, it must not know all the context in the link or something.
10:58:35 <Vorpal> weird, worked when I retried it
10:58:43 <Lymia> Does Google still tell you to swim to China?
10:59:18 <fizzie> They removed the "swim across the Atlantic Ocean" one, but I think they left the "kayak across the Pacific" in.
10:59:37 <Vorpal> fizzie, the link for the ferry line prefers the line route
10:59:58 <Lymia> Does it path things that would have been "swim across the Atlantic" across the Pacific now?
11:00:05 <Vorpal> "We could not calculate directioWe could not calculate directions between Westminster, London, UK and Beijing, China.ns between Westminster, London, UK and Beijing, China." <--- aww
11:00:42 <Vorpal> hm "We could not calculate directions between Westminster, London, UK and Beijing, China." now it worked
11:00:56 <Vorpal> why did it not work properly first time, and no I didn't double paste
11:01:21 <fizzie> Lymia: I think it does say "can't route" to some. But if you ask for driving directions from, say, San Francisco to somewhere in Japan, it'll say "Kayak across the Pacific Ocean (6243 km)" as one step.
11:01:57 <fizzie> "We could not calculate directions between New York, NY and Helsinki, Finland." :/
11:02:37 <Patashu> I wonder if the 'swim across the ocean' thing is a google joke
11:02:48 <fizzie> San Francisco, CA, United States → Nagoya, Aichi Prefecture, Japan gives you a nice 35-day trip, though.
11:02:57 <Patashu> It was giving directions that made you go across the ocean, or it was found that it could
11:03:04 <Lymia> fizzie, Alaska->Daiichi?
11:03:15 <fizzie> It also does "Kayak across the Pacific Ocean" twice; first to Hawaii, then from there on.
11:03:24 <Vorpal> fizzie, gah you beat me to that.
11:04:07 <Vorpal> fizzie, it doesn't seem to follow great-circle paths though hm
11:04:37 <fizzie> I assume they've added single ferry-line style "kayak across" links there.
11:04:47 <fizzie> Instead of being able to just kayak everywhere.
11:04:58 <fizzie> It doesn't route me from Anchorage, Alaska to Japan at all.
11:05:02 <Lymia> If I was a programmer, I would add in code for that just for the lulz.
11:05:14 <Lymia> Cacluate a few roads of minimum kayak distance.
11:05:26 <Vorpal> fizzie, since it doesn't go from SF directly out, but first up to Seattle, I think you are right
11:05:47 <fizzie> It also doesn't route you through the Bering Strait at all.
11:05:51 <Vorpal> http://maps.google.com/maps?f=q&source=s_q&hl=sv&geocode=FVJmQAIdKAe0-CkhAGkAbZqFgDH_rXbwZxNQSg%3BFRCUIAIduoZTCCnnVy7whxtdYDGJG1cii2EBLg&q=San+Francisco,+Kalifornien,+USA+till+Tokyo,+Japan&aq=&sll=37.714245,-122.500305&sspn=0.646385,1.466675&ie=UTF8&ll=47.6468,-122.341089&spn=0.017203,0.045834&z=15&saddr=San+Francisco,+Kalifornien,+USA&daddr=Tokyo,+Japan
11:06:41 <fizzie> You sometimes get ridiculous-looking walking directions since it considers taking a ferry "walking", and those don't count in the distance. I think I had a screenshot and/or link somewhere.
11:07:39 <Vorpal> fizzie, wait it suggested water scooter from Japan to china!!
11:07:52 <fizzie> Yes, I thought there was some third one like that.
11:08:16 <fizzie> http://zem.fi/~fis/google-walk.png -- from Copenhagen to Amsterdam, the best way to walk is via two cities in Norway and one in the UK.
11:08:45 <fizzie> At least you'll see the sights.
11:09:07 <Vorpal> fizzie, did you actually want those walking directions=
11:09:32 <fizzie> I wanted train routes, but it didn't do trains at that point.
11:09:33 <Lymia> Why does Google not have a warning asking "are you sure you want walking directions?"
11:09:44 <fizzie> The driving directions were a better approximation, though.
11:10:18 <fizzie> It does public transit, but only in a very limited set of locations.
11:10:22 <fizzie> "Your search for transit directions from Copenhagen, Denmark to Amsterdam, Netherlands appears to be outside our current coverage area. Please consult our list of participating public transit agencies."
11:11:13 <fizzie> I think it only does intra-city public transportation, mostly.
11:11:57 <fizzie> Helsinki and Oslo have "transit layer" maps, but no schedules; nothing in Sweden.
11:14:29 <fizzie> The "transit layer" for Helsinki seems pretty pointless, too. From what I can tell, it has our single subway line, and then a map of the tram network but not even the routes designated, just the tracks in single color.
11:15:10 <fizzie> Oh, if you zoom in enough it shows the tram stops too.
11:15:15 <fizzie> But the tooltips are in Japanese.
11:15:51 <fizzie> I wonder if that's because the first thing I did this session was the driving directions from Nagoya, Japan to the US.
11:15:57 <fizzie> Maybe it remembers that.
11:16:49 <fizzie> http://maps.google.com/maps?f=d&source=s_d&hl=en&mra=ls&noexp=0&noal=0&sort=def&sll=51.628248,-0.241699&sspn=1.239506,2.458191&ie=UTF8&ll=60.161593,24.945188&spn=0.007762,0.019205&z=16&lci=transit_comp&start=0
11:17:02 <fizzie> I think that should open Helsinki and the transit layer too after a moment.
11:17:19 <Vorpal> Japanse busstop tooltips for me yea
11:17:39 <fizzie> Opening them gives the proper (Finnish) name of the stop, as well as list of trams that stop there.
11:17:51 <Vorpal> fizzie, report the bug?
11:18:38 -!- FireFly has joined.
11:18:46 <fizzie> One tooltip is with the Cyrillic alphabet.
11:19:41 <fizzie> Too amusing to report.
11:19:58 <Vorpal> fizzie, cyrillic too? heh
11:20:35 -!- Sgeo has joined.
11:20:58 <Vorpal> Lymia, wikipedia says there is an ice road in mainland US
11:22:14 <fizzie> What an egoistic name for a lake.
11:22:17 <Vorpal> and at least two in Alaska
11:22:24 <fizzie> What, it's better than all the other lakes, huh?
11:22:46 <Vorpal> fizzie, http://en.wikipedia.org/wiki/Lake_Superior#Name
11:23:04 <Vorpal> or at least that is the reason for the name
11:25:12 <fizzie> Admittedly it's quite big.
11:25:24 <fizzie> Something like three times the surface area of the Gulf of Finland; and something like 20% of the Baltic Sea.
11:25:36 <fizzie> To put it in more familiar context as seen from this end of the world.
11:27:18 <fizzie> (18.7 times the size of the largest lake in Finland.)
11:29:07 <Lymia> "Lake Superior is the largest freshwater lake in the world by surface area"
11:29:17 <Lymia> At least it isn't a misleading name.
11:29:54 -!- BeholdMyGlory has joined.
11:31:52 <fizzie> It's not the size of the lake, it's... uh, how you... use it? Anyway. It's still a pompous name.
11:35:33 -!- Sgeo has quit (Read error: Connection reset by peer).
11:36:03 -!- Sgeo has joined.
11:36:14 -!- cheater_ has quit (Ping timeout: 258 seconds).
11:36:20 <Sgeo> Why _shouldn't_ I randomly lose my Internet connection?
11:36:27 <Vorpal> Lymia, what about volume?
11:36:54 <fizzie> "Water volume 2,900 cu mi (12,000 km3)"
11:36:55 <Vorpal> Lymia, besides you can't model a lake as a rectangular box.
11:37:05 <fizzie> Sounds like a bit rounded figure.
11:37:20 <Vorpal> fizzie, slipped on the keyboard?
11:37:39 <Lymia> Vorpal, no, but it is a good estimation.
11:37:44 <Lymia> As long as they provide average depth.
11:38:10 <Lymia> Actually, isn't average depth*surface area equal to the total volume
11:38:39 <Vorpal> Lymia, how do you define average depth? sampling lots of points on a regular grid and taking the mean value?
11:39:02 <fizzie> Integrating over the lake, obviously.
11:39:23 <Vorpal> fizzie, hm... was that a joke?
11:39:29 <Lymia> Vorpal, I was talking more mathematically, but that works as an approximation, I guess.
11:39:53 <fizzie> That's funny; the Lake Superior article is inconsistent. In the intro paragraph it says "It is the second largest freshwater lake in the world by surface area, after Lake Michigan-Huron (which though traditionally considered two lakes is hydrologically one lake),[2][3][4] and is the world's third-largest freshwater lake by volume.[5]"; while inside the article it says: "Lake Superior is the largest freshwater lake in the world by surface area, and empties into
11:39:53 <fizzie> Lake Huron via the St. Marys River and the Soo Locks. Lake Baikal in Russia is larger by volume, as is Lake Tanganyika."
11:40:56 <Lymia> By surface area vs volume.
11:41:05 <Vorpal> Lymia, even so they manage to confuse that
11:41:14 <Patashu> what if I want to go 1D and compare them by perimeter
11:41:42 <fizzie> The "by volume" part is consistent -- "third largest" and lists two larger ones in the article itself.
11:41:57 <Vorpal> Patashu, you have a fractal issue then
11:42:05 <fizzie> But the "by surface area" part is not; it can't be both the second largest and the largest by surface area.
11:42:27 <Lymia> (which though traditionally considered two lakes is hydrologically one lake)
11:43:39 <fizzie> The data table has a "Shore length is not a well-defined measure" footnote for the perimeter, though it does list a number there.
11:43:42 <Vorpal> Patashu, basically depending on if you follow the contour of every stone along the lake's edge or measure it as a number of straight line segments of longer length you will get different results.
11:43:57 <Vorpal> Patashu, the latter is what measuring it on a map would give you
11:45:23 <Vorpal> fizzie, it is if you give the algorithm used for it. Say, the perimeter of inscribed polygon that encloses the largest surface area where the length of each polygonal segment is 10 meters.
11:45:34 <Vorpal> I *think* that should be well defined
11:45:41 <Vorpal> how useful it is is another matter
11:46:21 <Vorpal> oh and you should be able to give upper and lower bound by listing the same value but with minimal area and the lake inscribed in the polygon
11:46:42 <Vorpal> I'm not sure how tricky this would be to calculate though...
11:47:21 <fizzie> That wouldn't give you an upper bound for the perimeter.
11:47:40 <Vorpal> would just give me lower bounds
11:47:51 <fizzie> You can have a lower bound by taking the straight-line segments of any arbitrary subset of points on the boundary.
11:48:23 <fizzie> The exact boundary gets a bit ambiguous down there, though; especially if you have rivers that flow in/out the lake.
11:48:30 <Patashu> people would argue lividly about which length for polygon segments should be used, because they want their lake to be longer
11:48:33 <fizzie> (That's a problem for the surface area/volume measures too.)
11:48:45 <Vorpal> Patashu, well sure 1 cm works fine
11:48:58 <Patashu> but if you lower it to 1mm my country's lake will be bigger than yours
11:49:02 <Patashu> and I want that spot in the record books
11:49:12 <Patashu> so we get tourism for 'lake with the biggest perimeter in the world'
11:49:22 <Patashu> not catchy but we'll work on it
11:49:24 <Vorpal> Patashu, all lakes would have to use the same length for the values to be comparable
11:49:25 <fizzie> "Lake with the least amount of sense".
11:49:47 <Patashu> what I'm saying is that lake X might have perimeter > Y for 1 cm, but the opposite might be true for 1mm
11:49:56 <Vorpal> fizzie, upper bound isn't infinite though, is it? After all the universe is not infinitely dividable
11:49:57 <Patashu> e.g. if you remeasured both this way
11:50:22 <Vorpal> Patashu, they are only lower bounds though
11:50:48 <fizzie> Vorpal: It's probably even harder to say where exactly the boundary of the lake goes when you start shuffling single particles, I would assume.
11:54:04 <Vorpal> Sweden has the third largest lake in Europe, and the 29th in the world. http://sv.wikipedia.org/wiki/V%C3%A4nern It is unclear if it is volume or surface area.
11:55:16 <fizzie> Surface area is my guess; it's the most usual measurement.
11:55:49 <fizzie> Our Saimaa is the fourth largest; a bit less than 80% of Vänern.
11:55:53 <Vorpal> it says it is Sweden's largest lake both when it comes to surface and when it comes to volume
11:55:58 <fizzie> (Fourth largest in Europe.)
11:56:08 <fizzie> (80% of surface area.)
11:56:14 <fizzie> (More clarifications.)
11:56:57 <Vorpal> fizzie, it seems the top two lakes in Sweden get the same ordering for volume and for surface
11:57:13 <fizzie> Your lake is more single-blob-ish[1] though. [1] Single-blob-ish is not a well-defined measure.
11:57:29 <Vorpal> link to photo of your one from above
11:57:37 <fizzie> http://en.wikipedia.org/wiki/File:GreaterSaimaa.gif
11:57:42 <fizzie> That's a highlighted satellite photo.
11:58:03 <Vorpal> yeah that looks like two ones at least
11:58:11 <Vorpal> are you sure they are connected there in the middle?
11:58:56 <fizzie> It's connected, though the connections are pretty narrow at points.
11:59:14 <fizzie> "Most of the lake is spotted with islands, and narrow canals divide the lake in many parts, each having their own names (major basins include Suur-Saimaa, Orivesi, Puruvesi, Haukivesi, Yövesi, Pihlajavesi, and Pyhäselkä)."
11:59:29 <Vorpal> fizzie, this one is tricky, it is connected (through central Stockholm) to the sea: http://sv.wikipedia.org/wiki/M%C3%A4laren
12:00:14 <Vorpal> it is fresh water however
12:00:23 <fizzie> "Finland is known as The Land of the Thousand Lakes, (actually there are 187,888 lakes in Finland, of which 60,000 are large),[7] and the U.S. state of Minnesota is known as The Land of Ten Thousand Lakes. The license plates of the Canadian province of Manitoba used to claim 100,000 lakes[8] as one-upmanship on Minnesota, whose license plates boast of its 10,000 lakes.[9]"
12:00:31 <fizzie> Everyone wants a piece of the "most lakes" action.
12:00:46 <Vorpal> fizzie, is "large" well defined there?
12:01:31 <fizzie> There is a rather arbitrary threshold that's often used; it's not mentioned there, but maybe [7] itself mentions it.
12:02:12 <fizzie> Heh, [7] just links to the front page of Statistics Finland, the national institution of statistics and stuff.
12:02:30 <fizzie> Anyway, I've heard that number earlier; can't recall what constituted "large" there.
12:02:34 <Vorpal> fizzie, check the link, maybe they moved things around and it redirects everything to the front page
12:02:56 <fizzie> Nope, it's directly to /index_en.html in the Wiki side too.
12:03:16 <Vorpal> hm an image that is 24,576×24,576 pixels. I don't think I will open that one in a browser
12:03:17 <fizzie> The Lake page does already talk of the vagueness between lake and pond, though.
12:05:11 <fizzie> http://en.wikipedia.org/wiki/Lake#Notable_lakes sorts by coastline length too, without mentioning how it was measured.
12:05:19 <Patashu> I told you guys that there was big money in lakes
12:05:30 <fizzie> "Lake Manitou, located on Manitoulin Island, is the largest lake on an island in a freshwater lake."
12:05:44 <fizzie> How about the largest lake on an island in a lake on an island in a freshwater lake?
12:06:11 <Patashu> Except to have an island with a lake on it wouldn't it then be surrounded by a -sea-
12:06:22 -!- wareya has quit (Read error: Connection reset by peer).
12:07:17 -!- wareya has joined.
12:07:39 <fizzie> I guess that depends on the definition; many would insist on saline water for seas.
12:08:57 <Vorpal> what about semi-saline ones?
12:09:02 <fizzie> There's at least one recursive island -- an island in a lake (probably pretty small one) on an island, which in this case I think is in the sea -- somewhere here nearby, though I've forgotten where.
12:09:10 <fizzie> That's either a "lea" or a "sake".
12:10:03 <fizzie> http://blog.toddstadler.com/entry/711 -- related.
12:10:12 <fizzie> That's the same Manitoulin island mentioned above.
12:11:32 <Lymia> fizzie, recursive islands?
12:15:41 <fizzie> Google's zoomed-in satellite photo of Suvisaaristo (a group of islands near the cost here) is... subpar: http://maps.google.com/?ie=UTF8&ll=60.102339,24.711342&spn=0.124411,0.307274&t=h&z=12
12:16:28 <fizzie> Yes; if you zoom one level out it uses a different, cloudless photo.
12:16:55 <Vorpal> what is the difference between continents and islands
12:17:18 <Vorpal> I know australia is a continent and greenland an island
12:17:28 <fizzie> "They [continents] are generally identified by convention rather than any strict criteria, with seven regions commonly regarded as continents --"
12:25:10 <Sgeo> I'm a bit weirded out by Europe and Asia being considered separate continents
12:29:52 -!- azaq23 has joined.
12:31:25 -!- aloril has quit (Ping timeout: 246 seconds).
12:31:47 <Vorpal> Sgeo, generally they aren't
12:32:25 <Vorpal> Sgeo, Eurasia is quite common name on it. Sometimes even Africa is considered part of it (and would be except for a channel)
12:32:41 <Vorpal> same as North and South America is really one single continent
12:44:42 -!- aloril has joined.
12:58:49 -!- cheater_ has joined.
13:06:54 -!- azaq23 has quit (Quit: Leaving.).
13:23:57 -!- MigoMipo has joined.
13:55:15 -!- ralc has joined.
14:04:52 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:05:41 -!- Ycros has quit (Quit: No Ping reply in 180 seconds.).
14:05:47 -!- Ycros has joined.
14:10:04 -!- ais523 has joined.
14:10:47 -!- TOGoS has joined.
14:10:57 -!- TOGoS has left.
14:14:43 -!- MigoMipo_ has joined.
14:14:44 -!- MigoMipo_ has quit (Client Quit).
14:17:37 -!- MigoMipo has quit (Ping timeout: 248 seconds).
14:22:14 -!- ais523 has quit (Remote host closed the connection).
14:24:48 -!- ais523 has joined.
14:27:01 -!- ais523 has quit (Excess Flood).
14:29:12 -!- copumpkin has joined.
14:30:35 -!- ais523 has joined.
14:34:36 -!- ais523 has quit (Excess Flood).
14:37:03 -!- ais523 has joined.
14:37:06 -!- ais523 has quit (Client Quit).
14:39:30 -!- ais523 has joined.
14:39:33 -!- ais523 has quit (Client Quit).
14:40:58 -!- ais523 has joined.
14:41:59 -!- esowiki has joined.
14:42:50 -!- esowiki has joined.
14:44:30 -!- glogbot has joined.
14:44:31 -!- ais523 has quit (Excess Flood).
14:45:55 -!- ais523 has joined.
14:45:56 -!- ais523 has quit (Remote host closed the connection).
14:46:51 -!- cheater_ has quit (Ping timeout: 252 seconds).
14:48:08 -!- cheater_ has joined.
14:48:41 -!- lambdabot has joined.
14:54:15 -!- ais523 has joined.
14:55:09 <ais523> There seems something rather wrong with my connection
14:55:27 <ais523> I'm on a connection that's normally very reliable
14:57:56 <ais523> and the only connection I'm making is this IRC one via telnet, together with some standard stuff like NTP
14:57:56 <ais523> I've seen no response for over a minute from a simple PING command
15:03:38 -!- ais523 has quit (Ping timeout: 250 seconds).
15:15:01 -!- ais523 has joined.
15:15:16 <ais523> that's better, I think
15:15:26 <ais523> it seems that the wireless router here had decided to give both me, and someone else here, the same IP
15:15:29 <ais523> for reasons I don't fully understand
15:16:10 <CakeProphet> ais523: maybe IPv4 ran out of address space.
15:16:19 <ais523> CakeProphet: it's on 192.168
15:16:26 <ais523> and that has plenty enough space for two computers
15:16:29 <ais523> (it's actually being NATted)
15:17:32 <ais523> IRC and email are being sane now, at least
15:17:35 <ais523> let's see if HTTP is too
15:17:44 <Vorpal> ais523, what happened before then?
15:18:05 <Vorpal> ais523, also you should probably file a bug about that dupe ip thingy
15:18:16 <ais523> Vorpal: well, it was like the network was being really buggy
15:18:27 <ais523> it was full of duplicate packets, out-of-order packets, connections dropping, lag...
15:18:37 <ais523> and there was a huge spate of stuff being blocked by the firewall
15:18:46 <Vorpal> ais523, was there a MAC collision?
15:18:52 <ais523> I traced the IP in the end, it was HTTP responses from Facebook that were being sent to my computer
15:18:54 <Vorpal> they aren't actually that unique in practise
15:19:01 <ais523> I could check the MAC at the other side to make sure
15:19:26 <Vorpal> well if there was a MAC collision it would explain it all
15:20:01 <ais523> I don't think there's one
15:20:08 <ais523> also, this doesn't explain why the same thing happened after rebooting the router
15:20:17 <Vorpal> ais523, uh indeed. File a bug.
15:20:22 <Vorpal> ais523, is this at university?
15:20:30 <ais523> I fixed it by repeatedly bringing my own network interface down and up until it got a different IP over DHCP
15:20:33 <ais523> and no, it's at a friend's house
15:20:55 <Vorpal> ais523, well... maybe the other computer is configured for static ip
15:20:55 <ais523> and the router is just a supplied one with default settings (other than password because we're not that stupid)
15:21:05 <ais523> the other computer is dynamic IP too
15:21:17 <Vorpal> ais523, report a bug definitely then
15:21:27 <Vorpal> ais523, unless there is a MAC collision that is
15:21:28 <ais523> and complained about an IP collision for a bit, then decided everything was fine when we clicked the more-info button (it runs Windows)
15:22:16 <Vorpal> ais523, well checking MAC should be a high priority, and if no collision report a bug
15:29:17 <ais523> how do you check MAC under Windows?
15:29:39 <ais523> also, can you just "report a bug" against a commercial home router that's completely uncustomized? it's not like it's one of those crazy DD-WRT things
15:39:17 <olsner> if you have WINDOWS it's not MAC
16:12:37 <Gregor> We have free deluxe soda here at Mozilla. The brand is "Natural Brew". It's easily the worst soda I have ever had the displeasure of trying.
16:13:59 <ais523> Gregor: you work for both Microsoft and Mozilla now?
16:14:13 <Gregor> ais523: Yup. Gonna get Google in there and have the trifecta.
16:14:18 -!- cheater_ has quit (Ping timeout: 244 seconds).
16:15:24 <Phantom_Hoover> Gregor, well yeah, but your judgement can't be trusted, other than on matters of fnarf.
16:17:11 -!- cheater_ has joined.
16:17:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
16:30:48 <Vorpal> <ais523> how do you check MAC under Windows? <-- network interface details iirc
16:31:01 <ais523> I was trying just ipconfig, but it didn't show up there
16:31:36 <Vorpal> ais523, well if it is xp go to network iirc, find the interface, click status. Should get you a dialog with two tabs and some buttons. iirc there is a button on the second tab for it
16:32:06 <Vorpal> ais523, if you have the network card interface symbol in the corner next to the clock you can click on that iirc
16:32:16 <Vorpal> no idea for later versions
16:37:04 * Phantom_Hoover wonders which of the new tracks will be the end of act flash.
16:40:43 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
16:43:12 <Phantom_Hoover> One of the songs is the music from *http://mspaintadventures.com/?s=6&p=002655*
16:43:48 <Phantom_Hoover> That's at *least* a year and around 11 albums until it was released.
16:44:30 -!- FireFly has quit (Quit: swatted to death).
16:55:11 -!- cheater_ has quit (Ping timeout: 252 seconds).
16:56:57 -!- cheater_ has joined.
17:03:41 <Sgeo> Phantom_Hoover, funnily enough, guess what part of the year I was born
17:08:27 <cheater_> would a 1V5 tube deliver 300V?
17:20:19 -!- cheater_ has quit (Ping timeout: 240 seconds).
17:20:42 -!- ralc has quit (Remote host closed the connection).
17:31:50 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
17:37:04 -!- cheater_ has joined.
18:06:24 -!- oerjan has joined.
18:12:16 -!- monqy has joined.
18:20:03 <oerjan> <CakeProphet> so is irssi what all the cool kids use?
18:24:22 <oerjan> zeus, lan a canal, suez
18:29:17 * oerjan laughs at today's http://www.mezzacotta.net/postcard/
18:53:22 -!- wareya has quit (Ping timeout: 260 seconds).
18:54:00 -!- TeruFSX has joined.
19:10:19 -!- wareya has joined.
19:16:26 <pikhq_> It actually installs .la files.
19:17:00 <pikhq_> Which, BTW, do something vaguely similar to pkgconfig --libs. ... If you link all your programs with libtool.
19:20:58 -!- Phantom_Hoover has joined.
19:27:33 -!- elliott has joined.
19:35:46 <elliott> 07:02:17: <Vorpal> whoa, lyx has an option "--without-included-boost"
19:35:54 <elliott> Vorpal: you're _meant_ to use boost by including the header files in your source tree
19:36:17 <Vorpal> elliott, about 15 MB of boost included. plus some library parts of it
19:37:05 <oerjan> templates for disaster
19:39:22 <pikhq_> I *despise* embedding libraries in a package's source tree.
19:39:30 <pikhq_> In UNIX land, it is always the Wrong Thing.
19:39:45 <elliott> pikhq_: Yeah but this is Boost, it doesn't even have object files. :p
19:39:51 <elliott> It is literally composed of headers.
19:40:07 <pikhq_> ... Which makes that even more pointless, TBH.
19:43:44 <pikhq_> Phantom_Hoover: It is a cardinal sin many people are guilty of.
19:44:01 <pikhq_> Some packages even go out of their way to make it difficult to do otherwise.
19:44:06 <pikhq_> (looking at *you*, ffmpeg)
19:44:26 <pikhq_> Phantom_Hoover: I think in part because it's standard practice in Windows development.
19:49:35 -!- pikhq has joined.
19:52:35 -!- pikhq_ has quit (Ping timeout: 252 seconds).
20:01:18 <elliott> http://pedrocr.net/text/how-much-gnu-in-gnu-linux
20:01:26 <elliott> DESKTOP LINUX SYSTEMS CONTAIN NOT ACTUALLY THAT MUCH GNU???
20:01:42 <elliott> Clearly Stallman will now change his nomenclature to KDE/Linux.
20:03:02 <elliott> "/Some/ of Linux code can be built with toolchains other than GCC (e.g. clang). But surely, other portions of it depend on nonstandard GCC extensions and are useless (or require rewrite) without GCC."
20:09:22 <pikhq> elliott: Yeah, nowadays I'm of the opinion that there's just no good way of referring to various distributions of a conglomeration of various bits and pieces into an OS, with Linux as the kernel.
20:10:20 <pikhq> Just "Linux" is a misnomer, and GNU really isn't a more important part, and, uh... Yeah.
20:10:26 <pikhq> There's just no good nomenclature for it.
20:11:10 <elliott> "Linux system" is good enough :P
20:11:23 <elliott> It's common and not entirely inaccurate, so.
20:11:37 <pikhq> I dislike that nomenclature, too, though it at least has common use in favor of it.
20:12:48 <pikhq> It's particularly confusing to the ignorant, as Linux really isn't The Defining Feature in the various Unix-likes built on top of Linux.
20:13:05 <pikhq> It can be replaced, just like every other piece.
20:13:22 <elliott> Yeah but nobody really gives a shit about that. :p
20:13:46 <elliott> I mean, most people who use "Linux" don't even know what Linux is or what a kernel is, so it's fairly irrelevant to them.
20:14:03 <elliott> pikhq: But really, "Unix-alike" is... ugly and inaccurate, but decent.
20:14:30 <elliott> Only useful for the technical-minded, but then the non-technical-minded don't give a shit, just say "Ubuntu" or whatever you're installing for them :P
20:14:57 <pikhq> Yeah, if a specific distro is being discussed, then nomenclature gets really, really easy.
20:15:05 <ais523> elliott: I thought both clang and icc had implemented enough gcc extensions that they could do huge amounts of linux, possibly even the whole thing
20:15:21 <Deewiant> clang can't do the whole thing, at least
20:15:24 <elliott> ais523: Obviously I quoted that and then commented on the ignorance of redditors to show that I agreed with them :P
20:15:31 <pikhq> ais523: I think there's one or two bits that prevent it still.
20:15:31 <elliott> Oh right, it's icc that got a bootable kernel.
20:15:40 <olsner> didn't clang compile the linux kernel already? or was that just a BSD kernel?
20:15:55 <pikhq> Something to do with clang not supporting *all* of the embedded ASM that Linux uses.
20:17:38 <pikhq> Ah, it's possible to build most of Linux with clang, but there's still a few bits broken.
20:17:51 <Deewiant> http://llvm.org/bugs/show_bug.cgi?id=9254 is a WONTFIX that Linux depends on
20:18:05 <pikhq> Module loading straight-up doesn't work, and the VDSO and boot stuff don't build right.
20:18:40 <pikhq> Building the VDSO and boot with GCC gets you a booting Linux kernel, though some non-essential subsystems won't work.
20:18:51 <pikhq> Source: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html
20:19:00 <elliott> array in structure' extension will never be supported
20:19:39 <elliott> "I agree. This an nested functions are two things we really really don't want
20:19:44 <elliott> Deewiant: clang isn't implementing nested functions?
20:20:15 <pikhq> Nested functions are a total bitch to support right, and GCC's support for it is an epic hack, TBH.
20:22:06 <TeruFSX> this might be the wrong place to ask but do you know where I could find somebody who can use CDC Cyber BASIC
20:32:55 <lambdabot> Prelude class (Real a, Fractional a) => RealFrac a
20:33:13 <elliott> does anything actually use RealFrac...
20:33:25 <elliott> oh wait, RealFloat requires it, ugh
20:36:42 <elliott> isIEEE seems like it should be a constant
20:39:35 <ais523> I seem to remember that Algol 68's standard prelude defines + in terms of -
20:41:28 <elliott> http://hackage.haskell.org/package/portaudio-0.0.1 ;; bleh, this is rather incomplete
20:41:46 * elliott looks at the other bindings
20:42:34 <elliott> *Main> length (second (sin :: Signal Double))
20:42:38 <elliott> hmm, that's an off-by-one, isn't it?
20:45:04 <lambdabot> forall a b. (RealFrac a, Integral b) => a -> b
20:45:28 <elliott> oerjan: I'm defining instances for functions, so all my RealFrac functions are const (error "...") :P
20:46:22 <oerjan> > isIEEE (undefined :: Double) -- as close to constant as you can get
20:47:07 <elliott> isIEEE f = isIEEE (f 0) -- ???
20:47:31 <oerjan> i believe not looking at the argument is a requirement for that function
20:47:36 <elliott> Now all my instance functions are point-free ;D
20:48:01 <elliott> oerjan: So I should do "isIEEE _ = isIEEE (undefined :: a)"?
20:48:22 <elliott> Oh, don't even need ScopedTypeVariables.
20:50:18 <lambdabot> Data.Ix range :: Ix a => (a, a) -> [a]
20:50:19 <lambdabot> Language.Haskell.TH.Syntax data Range
20:50:35 <lambdabot> System.Random genRange :: RandomGen g => g -> (Int, Int)
20:50:49 <oerjan> > genRange (undefined :: StdGen)
20:50:58 <elliott> I wish they used Tagged instead
20:51:36 <oerjan> i guess that wasn't invented
20:52:08 <elliott> It's an obvious invention :P
21:10:43 -!- Tritonio has joined.
21:14:53 <elliott> Disasterisk sounds like a metal band.
21:15:00 <elliott> DISASTER + RISK = DISASTERISK
21:20:50 <oerjan> http://www.reddit.com/r/haskell/comments/hoxbo/how_do_i_apply_to_join_the_haskell_cult_yes_i/c1x80kt it's all clear now
21:25:27 <oerjan> > oerjan `elem` REDACTED
21:25:28 <lambdabot> Not in scope: `oerjan'Not in scope: data constructor `REDACTED'
21:26:37 <Gregor> "was that it was to be a" <-- greatest fragment of English ever.
21:27:23 <Phantom_Hoover> The greatest flaw of C++ was that it was to be an OO language based on C, which is just idiotic.
21:27:41 -!- FireFly has joined.
21:27:43 -!- NihilistDandy has joined.
21:32:46 -!- BeholdMyGlory has joined.
21:42:44 -!- pikhq_ has joined.
21:43:00 -!- pikhq has quit (Ping timeout: 260 seconds).
21:43:55 <Phantom_Hoover> <merijn> Phantom_Hoover: Consistent type system -> strong termination -> not Turing complete
21:44:40 <elliott> It's true that the type system has to be sub-TC.
21:44:55 <elliott> Phantom_Hoover: consider that Haskell's type system is inconsistent
21:45:11 <elliott> So yes, a TC language has an inconsistent logic as its type system.
21:45:38 <Phantom_Hoover> But in terms of the actual _type system_, not in terms of the logic it represents.
21:46:06 -!- oerjan has quit (Quit: Good night).
21:46:12 <elliott> Phantom_Hoover: define consistent
21:59:39 <augur> elliott: hey kiddo
22:23:30 -!- ais523 has quit (Remote host closed the connection).
22:28:46 -!- Tritonio has quit (Quit: Leaving).
22:29:49 <elliott> > concatMap (replicate 9) [0,9,0,9]
22:29:49 <lambdabot> [0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9]
22:45:46 -!- FireFly has quit (Quit: swatted to death).
22:54:27 -!- cheater_ has quit (Ping timeout: 252 seconds).
22:58:39 -!- copumpkin has quit (Remote host closed the connection).
23:06:51 -!- cheater_ has joined.
23:25:22 -!- Vorpal has quit (Ping timeout: 248 seconds).
23:42:26 <CakeProphet> this is by far the most active channel I frequent that isn't a programming language channel.
23:48:11 <Gregor> But it IS a programming-language channel!
23:48:23 <elliott> CakeProphet: thanks to MEEE
23:55:32 -!- TeruFSX has quit (Remote host closed the connection).
23:58:11 -!- pikhq has joined.
23:58:23 -!- pikhq_ has quit (Ping timeout: 250 seconds).
00:26:03 -!- NihilistDandy has quit (Ping timeout: 240 seconds).
00:28:08 -!- NihilistDandy has joined.
00:30:52 -!- fizzie has quit (Ping timeout: 240 seconds).
00:36:59 -!- fizzie has joined.
00:41:20 * pikhq is convinced that automotive engineers are assholes.
00:42:01 <pikhq> Why the hell should it be even slightly difficult to do maintainence on an engine?
00:42:33 <pikhq> And why the fuck do I need to jack my car up to get to the battery?
00:42:46 <pikhq> And why should it be a time-consuming affair to replace a headlight?
00:42:49 <pikhq> Assholes, I tell you.
00:43:17 <elliott> Holy shit, Bitcoins have exploded in value.
00:43:34 <elliott> FML for not predicting this
00:43:37 <monqy> congratulations investors
00:43:47 <elliott> I could have eightfolded my money :(
00:43:57 <elliott> Although it might be the dollar decreasing in value instead >:)
00:44:12 <monqy> bitcoins the good and stable currency
00:44:22 <monqy> except when it deflates
00:45:22 -!- zzo38 has joined.
00:46:07 <zzo38> Someone on another IRC told me that all IRC clients and all IRC servers follow the standards/RFC. However, I think on this channel, someone told me that mine is the only one that does, and that you hate it for that reason?
00:47:00 <pikhq> I thought that very *few* IRC servers actually followed a strict reading of the RFC.
00:47:25 <pikhq> And no clients even give a fuck.
00:47:51 -!- TeruFSX has joined.
00:48:13 -!- elliott has quit (Ping timeout: 250 seconds).
00:48:21 <zzo38> pikhq: Really? I think someone on this channel, has, in the past, told me that my client follows the RFC closer than others (and that they hate my client for those reasons). I think it has to do with embedding commands inside of messages, or something like that? I don't remember exactly
00:49:15 <zzo38> Like <CTCP>ACTION this<CTCP>, for example.
00:58:40 <pikhq> People actually ship code with -Werror enabled.
00:58:54 <pikhq> The stupid is palpable.
01:01:26 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:03:41 <zzo38> pikhq: Yes I have seen that. Unfortunately, the warnings that I do want to make into errors (I don't want all warnings to be errors), I cannot control separately from the other warnings/errors.
01:04:06 <zzo38> (What I do is I just keep them as warnings.)
01:04:33 <zzo38> I think the code I have seen with the -Werror is something to do with PXELINUX if I have remembered correctly.
01:04:46 <pikhq> -Werror is just fine when you're developing software.
01:05:21 <pikhq> However, it is positively broken and wrong when you ship the source code with -Werror plugged into your build system.
01:05:41 <pikhq> You never know when a GCC version is going to come along and add a new warning.
01:05:51 <pikhq> Phantom_Hoover: It makes all warnings into errors.
01:06:19 <zzo38> There are some warnings I do not want to make into errors. There are also some warnings I want to suppress. However, not all warnings are controllable.
01:06:51 <pikhq> That *includes* things like a function being made deprecated...
01:11:20 <zzo38> Do you know about what I have done in the past the Icosahedral RPG (where a "mana" is a mathematical kind of thing)? I think that WotC should copy it (as long as they do not violate my license) and call it Advanced D&D.
01:18:10 <zzo38> What is your opinion on this matter?
01:24:43 -!- Patashu has joined.
01:24:51 -!- elliott has joined.
01:29:11 <elliott> oh man, a homestuck update that Sgeo hasn't even bugged me about yet
01:29:19 <elliott> that gives me the opportunity to!
01:29:24 <elliott> an opportunity which i will waste oops
01:32:40 <Sgeo> I have no idea what's going on in the last panel
01:33:05 <elliott> That's because you didn't pay attention for a single second of your binge and, as such, have no recollection of prior panels of any sort.
01:34:45 <elliott> Sgeo: http://www.mspaintadventures.com/?s=6&p=005508
01:34:55 <elliott> Everyone else: Don't click that unless you've read Homestuck or are completely sure you never will.
01:36:14 <zzo38> Someone got a syntax error and posted the message to some public forum. Someone else answered by saying that their problem is that the software they were using was not designed to help, it was designed to teach you arbitrary "syntax".
01:36:25 <elliott> Sgeo: It basically all ties in with the "circumstantial simultaneity" shit.
01:40:19 <elliott> Sgeo: I assume you've been keeping track of the events in the banner of the page.
01:40:37 <elliott> I suspect you have not so, in my thoughtfulness, I have prepared a face to pal-- damn.
01:46:39 -!- copumpkin has joined.
01:48:18 <zzo38> Someone claimed he was the fastest computer programmer, and the reason is that he tosses anything that interferes with productive programming, with apparently includes *all* language and *all* programming tools.
01:48:43 -!- SimonRC has quit (Ping timeout: 260 seconds).
02:00:42 <Patashu> how do you program without syntax
02:01:29 <Patashu> it could always be like scratch
02:01:36 <Patashu> where you plug statements/expressions/functions together like jigsaw pieces
02:02:09 <zzo38> There are other systems, too, that you connect commands together to program.
02:03:05 <Patashu> that's the only thing I can think of - because the GUI controls what input is valid, you cannot give invalid input
02:03:16 <zzo38> But he meant I think, apparently, one where you can think at the highest level and program at the lowest level; and that you have no arbitrary keyboard, because you can configure all the keys to suit you; and I don't know what else. But it involves machine codes.
02:06:17 -!- Phantom_Hoover has quit (Quit: Leaving).
02:16:28 -!- azaq23 has joined.
02:18:58 -!- comex_ has changed nick to comex.
02:25:47 <comex> shadow of the colossus?
02:37:42 -!- pikhq has quit (Ping timeout: 240 seconds).
02:38:03 -!- pikhq has joined.
02:41:19 -!- Ycros has quit (Quit: No Ping reply in 180 seconds.).
02:41:29 -!- Ycros has joined.
02:50:23 -!- TOGoS has joined.
02:51:17 -!- TOGoS has left.
02:53:08 -!- pikhq has quit (Read error: No route to host).
02:53:33 -!- pikhq has joined.
02:53:43 <pikhq> That was... Strange.
02:57:47 -!- elliott has quit (Read error: Connection reset by peer).
03:02:07 <CakeProphet> jesus, I get so frustrated while talking to people on #perl...
03:08:06 -!- elliott has joined.
03:09:49 * Sgeo floods #esoteric with Halon
03:10:10 <Sgeo> Hmm, that's not actually unambiguous, is it
03:13:31 <Sgeo> Hmm, darn, from what I'm reading, Halon flooding isn't actually that dangerous
03:19:31 <elliott> That was... less scary than I was expecting.
03:26:34 -!- poiuy_qwert has joined.
03:30:47 -!- poiuy_qwert has quit (Client Quit).
03:33:35 -!- azaq23 has quit (Ping timeout: 252 seconds).
03:34:44 -!- azaq23 has joined.
03:34:55 <elliott> Ever wondered who is "on top of the Pyramid?" He gives us a clue. The bloodline he represents is well
03:34:55 <elliott> above the Rothschild's in power and in the hierarchy and is extra-terrestrial in origin. The 13 bloodlines
03:34:55 <elliott> we have been talking about thus far on this website and others, with the Rothschild's in a top position
03:34:55 <elliott> together with the Merovingian Nobility, are quite low rank in the Big Pyramid Structure, and are the
03:34:57 <elliott> ones playing a power game here on Earth, only aware of parts of the Big Game (a need to know basis).
03:34:59 <elliott> The bloodline "Hidden Hand" is supposedly belonging to is way more advanced and higher rank."
03:38:19 <elliott> says atlantis is real within paragraphs, this is great
03:40:12 <Sgeo> Homestuck Music Team <3 Walk Smash Walk
03:40:38 <elliott> Patashu: Or troll -- what kind of Illuminati member would decide to engage people on /Above Top Secret/ of all places?
03:40:39 <elliott> http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf
03:40:50 <elliott> but this is interesting in its insaity :)
03:41:03 <Patashu> You'd have to be a really dedicated troll to obsessively come up with complex conspiracy theorieds
03:41:17 <elliott> Patashu: they don't -- they just have to make up consistent bullshit in reply to questions
03:41:31 <elliott> and these guys lap it up so it certainly paid off
03:41:41 <Patashu> But that's tedious if you don't actually believe it
03:41:55 <elliott> Patashu: Why troll in the first place?
03:43:07 <elliott> " Still, even then, you are choosing the Negative
03:43:08 <elliott> Polarity with your own Free Will decisions, with a little 'help' and direction from us. Souls are
03:43:08 <elliott> Harvestable in either 'extreme' of the Polarities, one could say."
03:43:11 <pikhq> Aaah, schadenfreude. Best kind of freude.
03:43:51 <elliott> apart from insurance fraud
03:44:15 <elliott> ATS: Is the Messiah alive today?
03:44:15 <elliott> HH: There is no "Messiah". Stop looking outside of yourself for 'salvation'.
03:44:15 <elliott> Is there what you might call a 'Christ Consciousness' alive, then yes, in a manner of speaking. Though
03:44:15 <elliott> not in your 3rd Density (dimensional) awareness.]]
03:44:20 <elliott> straight to the fourth-dimension bullshit
03:44:24 <elliott> this ticks all the fucking boxes
03:45:23 <elliott> HH: Who says it is the 'true' line? There were Ruling-Bloodlines long before your 'Yahweh' and his
03:45:23 <elliott> 'Christianity' arrived on this planet. Yahweh is 'a' Creator, not 'The' One Infinite Creator. There
03:45:24 <elliott> are other and Higher 'gods' than him. Ultimately, All, are a part of The One, and either consciously,
03:45:24 <elliott> or unconsciously, exercising their Free Will to Create. Begin to study 'outside of the box' for a True
03:45:24 <elliott> understanding of the Creation.
03:46:13 -!- pikhq_ has joined.
03:46:32 <zzo38> OK, does this have a purpose?
03:46:57 <zzo38> Is it anything at all like gnosticism?
03:47:05 <elliott> dunno, ask http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf :P
03:48:00 -!- pikhq has quit (Ping timeout: 258 seconds).
03:48:14 <zzo38> I think that "gods" and "Gods" are different and therefore you have to tell them apart to possibly understand what it means.
03:48:30 <pikhq_> So far, doesn't seem very gnostic.
03:48:47 <elliott> [[ATS: Surely if ruling elite families exist and your a member of one then you must be controlling global
03:48:48 <elliott> events through world governments - tell us 1 major government action from any country that going to
03:48:48 <elliott> I won't be surprised when you refuse to do so.
03:48:48 <elliott> HH: [on Sept. 10, 2008]: I am not at liberty to discuss such intimate immediate detail, [...]]]
03:49:10 <zzo38> Yes, I know, doesn't seem very gnostic.
03:49:20 <zzo38> O, it is Spanish, too?
03:49:26 <elliott> oh, apparently the stock markets should have imploded?
03:49:40 <zzo38> I am not good at reading Spanish, sorry. So I will read English file.
03:49:48 <elliott> zzo38: http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf is not Spanish
03:50:13 <pikhq_> The primary property of gnosticism is the belief in some form of secret knowledge that can be imparted upon you via some divine intermediate (commonly, Jesus, but others are claimed), thereby gaining you salvation.
03:50:25 <elliott> pikhq_: naw, you just have to be born into
03:50:34 <pikhq_> elliott: As I said, not very gnostic.
03:50:37 <elliott> "San Francisco and Damascus, will be uninhabitable by the end of 2010"
03:50:54 <pikhq_> I didn't know San Francisco ever became inhabitable.
03:51:10 <elliott> if you just Put Random Words in Uppercase then you can be Just Like This Guy
03:51:17 <elliott> That is all I have time for at present. I have a Sacrifice I must attend now.
03:51:25 <elliott> ILLUMINATI GUY MAKES SUCH FUNNY JOKES HA HA
03:51:37 <elliott> meh, http://973-eht-namuh-973.com/ looks vaguely more interesting than this
03:51:46 <elliott> crappy reddit post, none of this stuff is mysterious or scary
03:51:56 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/2.jpg oh what
03:51:57 <pikhq_> My Preference is to capitalise Nouns, as such is the proper Practice in our Language.
03:52:23 <Sgeo> Why Not Just Capitalize Every Word?
03:52:47 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/4.jpg oh cool
03:52:59 <zzo38> I don't see the relevance of anything they wrote in this document, so far.
03:53:02 <elliott> Sgeo: We All Have An Important Job To Do
03:53:12 <pikhq_> Sgeo: Such is improper. The historical Practice is to only capitalise Nouns, much as German does now.
03:53:21 <elliott> lets just capitalise nothing
03:54:05 <pikhq_> ACTVALLY, LET'S DO THIS PROPERLY. THERE ARE NO LOVVER-CASE LETTERS. AND ONLY THE LETTERS THAT THE ROMANS VSED ARE PERMISSIBLE.
03:54:13 * Sgeo counts 3 trolls who have said that
03:54:16 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/10.gif
03:55:18 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/evokation/the_evocation_first.htm
03:55:39 <elliott> "JUPITER EQUALS 99 AND 99 EQUALS JUPITER"
03:56:01 <zzo38> I can see what they might say about people being traded by governments, although it is probably only true to a small extent. What what does Polarity have to do with it?
03:56:16 <zzo38> elliott: Jupiter? 99? What...?
03:58:00 <Sgeo> Is it inappropriate to say <3< Vriska?
03:58:17 <elliott> One day I will lock myself into a cupboard and it will be the best cupboard because Sgeo won't be in it.
04:04:00 <zzo38> OK, you are never free because you are stuck on this planet (and to a greater extent, the universe), but I think you can be free in different ways, isn't it? They also seem to believe in some version of the Apocalypse??? The Biblical reference is correct, and it is just metaphorical. And it doesn't mean that now is this time?
04:04:36 <CakeProphet> I like to write statements and then append a question mark?
04:04:45 <zzo38> I am not sure what a "Christ Consciousness" is, here.
04:04:53 <elliott> CakeProphet: I think the pdf may have broken zzo38's brain
04:04:58 <pikhq_> Eh, they've already denied empiricism and logic; useless to attempt to reason with them.
04:05:03 <zzo38> Do you like to use a lot of question marks???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/
04:05:13 <elliott> says the ex-christian (that's your role forever now)
04:05:16 <elliott> zzo38: no i prefer slashes///////
04:05:48 <lambdabot> lexical error in string/character literal at chara...
04:05:49 <pikhq_> elliott: Ah, fuck you.
04:06:18 <elliott> that's hardly something unique to C
04:06:35 <pikhq_> And I don't really think you can call Haskell's String to be C-style.
04:06:36 <elliott> haskell couldn't really use '' for strings, because String = [Char]
04:06:37 <CakeProphet> elliott: as in, '' is character literal. All of the languages I've been using lately (read: Perl, bash) don't work like that.
04:06:42 <elliott> pikhq_: yeah, a better word is "retarded"
04:06:48 <elliott> LINKED LIST OF MACHINE WORDS HERP DERP
04:07:01 <pikhq_> A linked list of Char is *not* the same as a null-terminated chunk of memory.
04:07:02 <elliott> it isn't even an unboxed list
04:07:09 <zzo38> "Yahweh is 'a' Creator, not 'The' One Infinite Creator. There are other and Higher 'gods' than him." Does that mean there are an infinite number of levels?
04:07:18 <elliott> so each char is an allocation NICE
04:07:18 <elliott> pikhq_: its arguably the only thing worse
04:07:34 <CakeProphet> pikhq_: I was referring to syntax not implementation.
04:07:38 <elliott> pikhq_: Text really needs to become the new String :)
04:07:46 <elliott> pikhq_: as soon as we get some kind of generic container typeclass story going
04:07:53 <pikhq_> CakeProphet: Syntax is merely aesthetic.
04:07:54 <elliott> so that we won't lose all list operations because of it
04:07:59 <elliott> pikhq_: doesn't mean it's irrelevant
04:08:13 <Sgeo> Are Javascript's problem syntactic or ... something else?
04:08:28 <Sgeo> I'm thinking that my language will have a Javascript reminiscent syntax
04:08:31 <CakeProphet> javasctipt has a pretty unoffensive syntax in my mind.
04:08:34 <pikhq_> Sgeo: Just a large number of poor decisions.
04:08:42 <zzo38> elliott: Can it have some kind of command to tell it what to do, if ' ' and " " and so on is found in a source file, then?
04:08:44 <pikhq_> Entirely *understandable*, considering the circumstances, but still.
04:08:58 * Sgeo wants to avoid making poor decisions
04:08:58 <elliott> zzo38: well, there is the OverloadedStrings extension...
04:09:15 <elliott> idiotic object system that's half-class, half-prototype
04:09:19 <zzo38> Sgeo: One problem is some Javascript systems will do wrong thing when you add line breaks inside of commands can have doing wrong thing.
04:10:06 -!- pikhq has joined.
04:10:10 <Sgeo> What if I convert blocks to lambdas, do I avoid neglecting block scope?
04:10:18 <Sgeo> Or am I misunderstanding you
04:10:37 <Sgeo> Or what you mean by "block" for that matter
04:10:39 <CakeProphet> > "I like to end my sentences with INFINITE QUESTION MARKS" ++ (repeat '?')
04:10:40 <lambdabot> "I like to end my sentences with INFINITE QUESTION MARKS???????????????????...
04:10:41 <elliott> Uhh, yes, you could wrap the body of every if statement in a (function(){...})()
04:10:48 <elliott> js only has function scope
04:10:53 <elliott> if you declare a variable three blocks nested in
04:10:56 <elliott> it's there for the rest of the function
04:10:56 <zzo38> I don't think the object system is too bad, prototype-based is not bad to me. And the Mozilla extensions to Javascript have some new thing such as __proto__ to access *and change* the prototype of an object, often useful. However you cannot do multiple inheritance. There is other thing too.
04:10:57 <Sgeo> elliott, is that insane for CSP?
04:11:08 <elliott> Sgeo: i don't think you actually know what you're doing, what are you doing
04:11:14 <zzo38> elliott: If you use "let", it is local to the block. If you use "var", it is function scope.
04:11:23 <elliott> zzo38: let is not widely supported afaik
04:11:32 <elliott> that is a mozilla extension, or at least from one of the newer badly-supported standards.
04:11:45 <Sgeo> I thought CSP woud entail having a lot of lambdas after being converted to CSP
04:12:03 <elliott> what are you actually doing
04:12:18 <pikhq> Ultimately, though, the problems with Javascript all spring from how Brendan Eich was forced to design and implement it in 10 days and make it superficially similar to Java.
04:12:27 <Sgeo> Making a language to convert into a pseudobytecode that will be read by an interpreter in LSL
04:12:57 <Sgeo> My current thoughts are leading this language to have a syntax reminiscent of Javascript
04:13:04 <elliott> you mean a terrible syntax
04:13:07 <CakeProphet> elliott: so I'm going to make a language that is somehow a cross between Perl and Haskell. WATCH.
04:13:11 <zzo38> There are, however, problems with Javascript.
04:13:22 <elliott> CakeProphet: btw i wrote a signal thing that can play audio
04:13:23 <Sgeo> What are the problems with Javascript syntax?
04:13:44 <CakeProphet> elliott: you should let me see that so I can figure out how to play audio in Haskell sensibly. :D
04:13:57 -!- pikhq_ has quit (Ping timeout: 276 seconds).
04:13:58 <Sgeo> *clap* *clap* *clap* that's not useful to me!
04:14:02 <elliott> CakeProphet: but you'll just steal it and use it to make an inferior codebase :)
04:14:06 <elliott> Sgeo: yep, but i don't really give a shit
04:14:08 <zzo38> Sgeo: The rule about semicolons. And that lambda functions require the long word "function" which if used a lot, will make a lot of long text.
04:14:20 <CakeProphet> elliott: nope. I will analyze and determine if I can make a superior system, and if not, use yours. :D
04:14:24 <Sgeo> Well, I think my lambdas will be more like Fancy's lambdas
04:14:38 <Sgeo> |string somestring| { ...code here... }
04:14:43 <elliott> CakeProphet: well mine is currently one file. :)
04:15:08 <CakeProphet> elliott: is that your metric of good code? I've heard there are lot of Perl programs that are one file.
04:15:15 <elliott> CakeProphet: but here it is: http://sprunge.us/ZGhA
04:15:19 <elliott> and no, I mean it's literally less than a hundred lines
04:15:27 <elliott> and the vast majority is trivial instances
04:15:32 <zzo38> Maybe like this is OK: (y,x=x;x*y) means to take the current value of "x" and take one parameter "y" to return their product.
04:16:04 <elliott> CakeProphet: btw, I used Float rather than Double because otherwise i would have to do conversion
04:16:10 <elliott> CakeProphet: this way i can output as thirtytwo-bit directly
04:16:10 <zzo38> And if you want statements then you use {} instead of ()
04:16:14 <elliott> and pulseaudio handles the conversion
04:16:31 <elliott> CakeProphet: well there is no point using more precision if you will just throw it away
04:16:36 <elliott> nobody uses >thirtytwobit pcm files :)
04:16:45 <elliott> CakeProphet: because the alsa binding looked ten times as painful
04:16:52 <elliott> the portaudio one is bitrottent and would not even compile
04:17:05 <elliott> I can always make it "pluggable" later, if you look you will see how trivial the pulse-using code is :P
04:18:10 <CakeProphet> elliott: why are there all of these instances that generate errors?
04:18:41 <elliott> CakeProphet: because they are impossible to implement
04:18:44 <lambdabot> forall a b. (RealFrac a, Integral b) => a -> (b, a)
04:18:57 <elliott> (Float -> a) -> (b, (Float -> a))
04:19:10 <zzo38> Another thing is the way the "new" command works in Javascript, I do not like it so much.
04:19:11 <elliott> can't convert a function to a rational
04:19:21 <elliott> the numeric typeclass hierarchy in prelude sucks
04:19:24 <elliott> but it's what we have to work with, so
04:19:34 <CakeProphet> elliott: but you needed to implement those typeclasses to implement more useful ones basically?
04:19:55 <elliott> RealFloat is a real doozy, but it gets us atan2 :D
04:20:12 <elliott> CakeProphet: anyway, "cabal install pulse-simple" and you can run that program
04:21:15 <elliott> similarly, (liftA2 f) in this context is sugar for the obvious
04:21:29 <zzo38> Perhaps helped to make BookRecord={title,author;this.title=title;this.author=author;}.makeClass({toString:(;this.title+" by "+this.author)});
04:21:50 <zzo38> would be a slightly better system than what Javascript currently has.
04:21:53 <lambdabot> (\ d e -> d >>= \ b -> e >>= \ a -> return (b + a))
04:22:14 <elliott> foo f g = \x -> f x `op` g x
04:22:46 <CakeProphet> kind of like `on` but with two functions instead of one it seems.
04:23:08 <lambdabot> forall a b c (f :: * -> *). (Applicative f) => (a -> b -> c) -> f a -> f b -> f c
04:23:13 <elliott> specialised to the function instance of applicative functors :)
04:24:02 <lambdabot> forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c
04:24:15 <elliott> let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . fromEnum . (== 0) . (`mod` 2) . truncate))
04:24:19 <elliott> makes it turn off/on every second
04:25:26 <CakeProphet> there seemed to be a function to do something like that called every in yaxu's library
04:25:42 <CakeProphet> but it took a function parameter and I'm not entirely sure what that function did
04:26:01 <elliott> let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . (`mod` 900) . truncate . (* 900)))
04:26:02 <CakeProphet> but he would often do something like every 3 (<~ 4) ...
04:26:08 <elliott> CakeProphet: it's not quite the same here
04:26:12 <elliott> in that there's no "triggering"
04:26:14 <elliott> just filtering a signal off
04:26:25 <elliott> that sort of stuff can be built on top
04:27:11 <elliott> what do you need fourier for?
04:27:23 <CakeProphet> I think you need to use FFT to do a filter?
04:27:55 <CakeProphet> I'll go through my notes and see if there's a way to implement filters in time-domain.
04:28:18 <elliott> http://hackage.haskell.org/package/fft
04:28:36 <elliott> there's also http://hackage.haskell.org/package/pure-fft but it's pure-haskell and older
04:28:41 <elliott> with a binding the age doesn't matter so much if it compiles
04:28:44 <elliott> since you can still use the newer library...
04:28:59 <elliott> http://hackage.haskell.org/packages/archive/fft/0.1.6/doc/html/Math-FFT.html
04:29:13 <pikhq> Also, you could just write your own damned FFT, it's not *that* hard.
04:29:26 <elliott> CakeProphet: I kind of wish there was "standard" music production software that worked like this
04:29:33 <pikhq> elliott: Well, yes, the efficiency bit is the only hard bit. :P
04:29:41 <elliott> CakeProphet: Well, I suppose Max/MSP /is/ really quite similar to the Text thing yaxu did.
04:29:45 <CakeProphet> elliott: plenty exist, but none are really what I would call standard.
04:29:50 <elliott> CakeProphet: I mean something people actually used ;)
04:30:10 <CakeProphet> some people actually use stuff like Reaktor and Max/MSP
04:30:21 <zzo38> Or maybe, is better having "this" to be an actual argument to the function, similar how Python has it. And then, .makeClass should take two parameters, one is the methods, and the other is properties. And then when making object, add all properties to object with the same name as the properties of "methods", that call them with that object as its first parameter.
04:30:23 <CakeProphet> but that's more in the visual programming domain.
04:30:24 <elliott> CakeProphet: I wouldn't say Reaktor is similar.
04:30:50 <elliott> As a programmer, the only thing I've been able to open up and actually produce some simple sounds with before tearing my hair out is Max/MSP.
04:31:03 <zzo38> I have work with PureData.
04:31:15 <elliott> Everything else, my patience stops, uhh, anywhere beyond a boring trivial piano roll.
04:31:15 <CakeProphet> csound is similar I'd say, minus the functional programming aspect.
04:31:27 <elliott> PureData is like Max/MSP but less usable :D
04:32:34 -!- Kustas has joined.
04:32:44 <CakeProphet> there might be a way to calculate a bandpass filter without using fft though...
04:33:12 <CakeProphet> but you really need filters to produce anything interesting. additive synthesis takes forever and isn't anywhere as natural sounding.
04:33:39 <elliott> what are you talking about,
04:33:40 <CakeProphet> well, there are other methods of course... but subtractive synthesis (aka use filters on pulse waves and white noise and whatnot) works very well.
04:33:41 <elliott> let foo = seconds 9 . sum $ [
04:33:41 <elliott> sinew 900 * (fromIntegral . (`mod` 2) . truncate . (* 90)),
04:33:41 <elliott> sinew 659 * (fromIntegral . (`mod` 4) . truncate . (* 80)),
04:33:48 -!- sebbu2 has joined.
04:33:48 -!- sebbu2 has quit (Changing host).
04:33:48 -!- sebbu2 has joined.
04:33:57 <elliott> by awesome, I mean it sounds like noise
04:34:01 <CakeProphet> good luck producing music people will listen to on that.
04:34:11 <pikhq> I'm genuinely impressed that I'm actually able to grok the examples I'm seeing here.
04:34:19 <elliott> CakeProphet: who cares what other people would listen to
04:34:38 <elliott> pikhq: spoiler: i have no idea what i'm doing either
04:34:43 <pikhq> CakeProphet: "Noise" is a legit musical genre. Need I say more?
04:34:48 <elliott> sinew :: Float -> Signal Sample
04:34:48 <elliott> sinew hz = sin . ((2 * pi * hz) *)
04:34:48 <elliott> in case anyone was confused
04:34:56 <elliott> pikhq: Depends how you define legit ;)
04:35:05 <CakeProphet> I'm just saying, filters are pretty essential tools of electronic music.
04:35:12 <pikhq> elliott: "People actually make and listen to it".
04:35:30 <pikhq> "Music" is, of course, harder to define.
04:35:37 <elliott> pikhq: I am sure by that standard, there is a musical genre called baby-fucking vomitcore.
04:36:15 <pikhq> But I'm going to go out on a limb and call it "sounds made for aesthetic purposes".
04:36:32 <pikhq> Seems sufficiently broad.
04:36:33 -!- sebbu has quit (Ping timeout: 252 seconds).
04:36:36 <elliott> "well that isn't vague at all"
04:37:08 <pikhq> Hey, "music" is quite a broad topic.
04:37:20 <CakeProphet> elliott: so 90 and 80 are sufficient amplitude values?
04:37:30 <pikhq> Hmm. Minor issue... 4'33" might not count.
04:37:38 <elliott> CakeProphet: you're reading it backwards
04:37:42 <CakeProphet> I remember in csound I had to use numbers that were somewhat larger.
04:37:48 <elliott> it timeses the time (in seconds) by 90
04:37:58 <elliott> so the result is like 0 or one
04:38:01 <elliott> or 0 or one or two or three or four
04:38:05 <elliott> and it timeses the sine wave by that
04:38:05 <CakeProphet> well, what do you do to get an audible result?
04:38:09 <elliott> CakeProphet: use a sine wave :)
04:38:17 <elliott> remember that "one" is a perfectly good value
04:38:22 <elliott> that would just give the sine wave back untouched
04:39:19 <CakeProphet> at what point do you add an amplitude value to get an audible result?
04:39:22 <pikhq> Is 4'33" not counting as "music" an actual fault in the definition, though?
04:39:51 <elliott> CakeProphet: nothing is going to be audible if you don't have some kind of wave
04:39:56 <pikhq> Well, fuck. Music is undefinable.
04:40:07 <CakeProphet> elliott: ...I'm not even talking about the inclusion or exclusion of a wave.
04:40:14 <elliott> CakeProphet: then i do not know what you are talking about
04:40:19 <CakeProphet> I'm saying, at what point do you amplify the signal to produce a sound that can be heard? where is the volume?
04:40:19 <pikhq> Fuck you, John Cage!
04:40:19 <Patashu> if we didn't work with aristolean logic this wouldn't be a problem
04:40:53 <elliott> CakeProphet: erm, depends how loud the signal is
04:42:23 <CakeProphet> elliott: so how and at what point do you specify how loud the signal is?
04:42:37 <elliott> i do not understand the question.
04:42:43 <CakeProphet> in my experience it would be amp*sinew(440)
04:43:36 -!- Ycros has quit (Read error: Connection reset by peer).
04:43:38 <CakeProphet> so the amplitude of all of your sign waves is 1, and you get audible playback?
04:43:40 -!- Ycros has joined.
04:43:54 <lambdabot> System.IO openBinaryFile :: FilePath -> IOMode -> IO Handle
04:44:38 <elliott> pikhq: what's an easy way to chuck a bunch of Floats to a file in little-endian thirty-two bit format
04:45:12 <lambdabot> forall a b. (Integral a, Num b) => a -> b
04:47:29 <CakeProphet> elliott: I'm assuming you know how amplitude works right?
04:47:51 <CakeProphet> I just... don't see how you don't understand my question.
04:48:03 <elliott> well, it's almost six am and i need sleep.
04:51:35 <elliott> ".ress is not a TLD, http://ip.add.ress is not a possible address. tldr, fake EDIT: not fake, i misunderstood"
04:53:55 <elliott> http://www.reddit.com/r/AskReddit/comments/hp3vr/whats_the_scariest_wierdest_most_mysterious_web/c1x9so1
04:53:59 <elliott> HOUSE OF LEAVES LEADS TO HOUSE PURIFICATION
04:54:19 <elliott> "If you consider yourself sensitive in a... Spiritual... Manner" has to be the best opening to anything ever
04:55:30 <zzo38> Perhaps that "dialogue_hh.pdf" can be taken metaphorically and with possible errors in the same way the Bible can be taken in this way.
04:56:03 <elliott> copumpkin: House of Leaves?
04:56:08 <elliott> i keep meaning to read it sometime.
04:56:16 <elliott> but there are a lot of books on that list.
04:56:37 <copumpkin> I haven't read it, but have leafed through it
04:56:58 <elliott> the only thing that could make it better is
04:57:00 <elliott> WERE YOU IN A HOUSE AT THE TIME
04:57:39 <Sgeo> http://www.reddit.com/r/todayilearned/comments/hpduk/til_about_the_deep_web_what_it_contains_and_how/c1xa5l1 I hate everyone
04:58:21 <elliott> Sgeo: funny. that's how i feel sometimes. sometimes because of you
04:58:24 <elliott> but why that comment in particular
04:58:30 <elliott> the whole thread is idiocy
04:58:55 <elliott> COPUMpkITS TOO MUCH FOR MY VEINS
04:59:08 <CakeProphet> elliott: if the highest absolute value that you're outputting to PulseAudio is 1, that's an inaudible signal in 32-bit signed floating point LPCM..
04:59:25 <elliott> CakeProphet: im outputting floats in general
04:59:28 <elliott> http://upload.wikimedia.org/wikipedia/commons/d/d1/IAO-logo.png
04:59:36 <elliott> when youre making your freaky spy-on-everything operatinos
04:59:41 <elliott> don't use the fucking all-seeing eye
04:59:45 <elliott> why do you even do that any more
04:59:49 <elliott> are you TRYING to get conspiracies
04:59:52 <CakeProphet> elliott: yes, but in your example you're only outputting sinew, which has an amplitude of 1.
05:00:31 <elliott> CakeProphet: dunno then :)
05:00:40 <elliott> CakeProphet: maybe because it goes negative
05:00:44 <elliott> its interpreted as a wraparound
05:01:18 <CakeProphet> negative values are quite common in an audio signal represented by floating points with a centerpoint at 0
05:01:56 <CakeProphet> I will have to play with this some other time.
05:02:13 <CakeProphet> and MAKE A MORE AWESOME signal processing library than you
05:02:32 <CakeProphet> though with shittier Haskell code, most likely.
05:03:50 <elliott> theres no point free style apart from in the instances
05:03:52 <elliott> which are just boilerplate code
05:03:56 <elliott> this is a five second hack
05:04:29 <CakeProphet> well, I assumed you were going to work on it more.
05:05:12 <CakeProphet> also, for some reason I've seen cos instead of sin used more often in signal processing... I have no idea why though.
05:05:25 <CakeProphet> it shouldn't matter as long as you use one or the other.
05:10:46 <elliott> I guess I should read House of Leaves, I haven't read anything in physical book form in a while.
05:11:01 <CakeProphet> elliott: so do you "implement" RealFrac because you want Floating, or..? I don't really know the numeric typeclass hierarchy.
05:11:22 <elliott> I basically just implemented everything Double has
05:11:35 <elliott> so that everything worked as long as you didn't try and do the impossible :)
05:11:38 <elliott> CakeProphet: really, all of this is just nicety
05:11:44 <elliott> you can easily write it without these instances
05:11:46 <elliott> they are just syntactic convenience
05:11:51 <elliott> would you ever take the sin of a signal itself?
05:11:53 <elliott> i'm not sure but I doubt it.
05:12:04 <elliott> but this way you can say pi*signal
05:12:05 <CakeProphet> the only thing somewhat useful in Floating would be **
05:14:03 <elliott> (^) :: (Num a, Integral b) => a -> b -> a
05:14:07 <elliott> it'll just be defined recursively
05:14:17 <elliott> so it's not in any typeclass
05:16:45 <CakeProphet> it seems using FFT will require an actual sampled signal unfortunately.
05:18:11 <CakeProphet> so there will be the pure functional approach and then another module for working with a sampled signal.
05:18:24 <elliott> CakeProphet: erm, a function + the sample rate == sampled signal
05:18:29 <elliott> just only call at the relevant multiples
05:19:07 <CakeProphet> but either way the result of a FFT will have to be represented by [Float] or [Complex]
05:19:29 <elliott> no, it could easily be a signal
05:19:47 <elliott> (\x -> resultList !! truncate (x*samplerate))
05:19:55 <CakeProphet> I was about ask... are you suggesting I use !!?
05:20:10 <elliott> CakeProphet: Well, I mean, you want something to load a PCM file into a Signal anyway
05:20:19 <elliott> Which would be effectively the same idea as this
05:21:09 <elliott> How is it less efficient than a list
05:22:37 <CakeProphet> because when you convert Signal back into a list for playback you're calling that function for each sample increment, which is O(n**2)
05:24:20 <elliott> CakeProphet: you could easily memoise it :)
05:24:29 <elliott> (\x -> fft foo !! truncate (x*samplerate))
05:24:35 <elliott> let xs = fft foo in (\x -> xs !! truncate (x*samplerate))
05:24:40 <elliott> that way it'll cache results as they're computed
05:25:04 <elliott> so if you only access it at reciprocal of samplerate increments, it'll be exactly the same as a list
05:25:11 <elliott> CakeProphet: or do you mean that it'll have to do "tail" x times?
05:25:16 <elliott> you could use a non-list type as the result
05:25:42 <CakeProphet> I just think the !! would incur performance overhead.
05:26:26 <CakeProphet> whereas manipulating it directly as a list would be more efficient.
05:26:28 <elliott> right, so use a non-list type :)
05:27:35 <elliott> CakeProphet: you could instead do a continuous fourier transform :D
05:27:40 <elliott> also, an array would work fine
05:27:45 <elliott> that's probably what FFTW and the like operate on natively
05:27:54 <elliott> CakeProphet: then it's a function already, not a list ;D
05:28:04 <elliott> numerically approximated, of course
05:28:11 <elliott> i don't think Automatic Differentiation with dual numbers would apply here
05:28:17 <elliott> and certainly not symbolic
05:28:24 <zzo38> All these things that HH said is about as good as any religion in general. It should not be considered different to that. HH has some insanity but that is what helps him to come up with these perspectives! And it is not all bad, either. Yet, like any religious text, you should not take everything literally. It should be questioned, and so can everything be questioned.
05:29:19 <elliott> CakeProphet: who knows though -- maybe it would work :D
05:29:45 <elliott> hmm, I wonder whether this caving story thing will get scary soon
05:31:52 <CakeProphet> elliott: it seems that Math.FFT mostly uses CArray
05:31:52 <pikhq> zzo38: Like all religious texts, it should be taken as 100% bullshit unless shown otherwise.
05:33:01 <zzo38> pikhq: In the same way that other religious texts can be taken as 100% bullshit, yes, so should this one, of course.
05:35:08 <CakeProphet> elliott: actually, do you think CArray would be a good type to use throughout instead of lists? I don't think so because I need signals to be possibly infinite.
05:35:57 <elliott> CakeProphet: you realise haskell has arrays, right? you do not have to use CArray unless you are interfacing with c code manually
05:36:35 <elliott> I think lists are fairly decent for discrete things, and functions are good for continuous things... and usually it's more comfortable to work in the land of the continuous
05:36:56 <elliott> additionally: I wouldn't worry about performance at this stage.
05:38:05 <pikhq> As always, premature optimisation is the root of all evil.
05:38:44 <CakeProphet> the main problem I'd have with fft is that it uses CArray, so I'd need to partition my signal into "chunks" of some sensible length.
05:39:26 <elliott> CakeProphet: right... Well, you know, it may be better to write your own FFI to start with.
05:39:33 <elliott> Get the interface you want then work on optimising it.
05:39:38 <elliott> I mean, see http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/Numeric-FFT.html
05:39:48 <elliott> I dunno whether it is lazy though
05:39:55 <elliott> Can't tell from glancing at http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/src/Numeric-FFT.html#fft
05:41:13 <elliott> hmm, this story may be starting to get a little frekay
05:42:32 <zzo38> HH claims to be working in other solar systems... that is complete nonsense. However, I suppose it works because of higher "Densities", whatever that means. Obviously that is also nonsense. (See? It is the same kind of nonsense and metaphorical and other qualities like other religious texts, just more modern.)
05:44:49 <elliott> "I still harbor the fantasy that there is a hidden entrance to the other side of the passage and years ago Spanish explorers hid their treasures in the cave and sealed up the entrance. And it has remained untouched until we find it! B has a more realistic, although more mundane theory. He figures there is more cave on the other side. We'll see who is right."
05:46:12 <elliott> ooh, this is starting to get spooky :)
05:46:43 <zzo38> elliott: I do suppose B does have a more likely and more realistic theory. However, looking is still the correct way to see who is right (or maybe you are both wrong).
05:47:38 <elliott> zzo38: i'm pretty sure this story is fiction in the horror genre, so more realistic probably means less likely :)
05:48:39 -!- oerjan has joined.
05:48:46 <zzo38> elliott: O, well, I was not answering the question from that perspective. But from that perspective, perhaps you are right about that. (It still doesn't necessarily mean either of those two theories are correct, though>0
05:49:14 <elliott> zzo38: I think a bunch of treasure left my explorers would be a rather crappy ending to a horror story :)
05:50:26 <elliott> oerjan: aha, a decent measurement of your wake-up time >:)
05:50:32 <elliott> unless you just mean morning as in time of day...
05:50:53 <elliott> "We immediately noted the presence of the breeze blowing out of the hole, and the rumbling."
05:51:01 <zzo38> elliott: I suppose you might be correct about that. Which could mean both theories are incorrect, in the context of this story.
05:51:29 <elliott> oerjan: aha, so you DID just wake up
05:51:40 <elliott> zzo38: I suspect B is right in that there's more cave, but I imagine it's No Normal Cave(tm) :-P
05:51:44 <elliott> I'm just reading everything linked from that reddit thread.
05:51:51 <oerjan> the prior just keeps getting adjusted
05:52:04 <elliott> I seem to be a lot harder to scare than I used to be though I'm sure it'll come back to haunt me next time it's dark.
05:53:01 <elliott> great, now it's triggering my latent claustrophobia with a narrow cave passage :)
05:53:31 <zzo38> Perhaps they are *infinite* caves!!! Now you cannot find the way out... too bad!!!
05:55:25 <zzo38> (Note that the HH document also contains some bad typography in some places)
05:58:07 <oerjan> infinite caves with exits in other dimensions
06:03:30 * CakeProphet is reading about how to implement a digital filter... fun.
06:04:13 <CakeProphet> mathematically it's recursive, but I suspect to avoid massive performance overhead I should cache results in a data structure.
06:04:22 <oerjan> just beware of the places where the wind is blowing harder and harder... they lead to vacuum.
06:05:45 <elliott> CakeProphet: just do it naively.
06:06:00 <elliott> if you do it naively, it will be a small enough body of code to throw away.
06:06:14 <elliott> you can worry about performance once you've proved it will work :P
06:07:23 <CakeProphet> uh, okay. But I'll be recursively pulling the value of every previous calculation twice to compute each new value. It's Fibonacci-esque.
06:07:57 <elliott> then yeah, just memoise :P
06:08:01 <CakeProphet> I'm almost positively the naive code will be thrown away.
06:08:22 <elliott> right, I am just saying that writing something you know you will throw away is not a bad thing
06:08:36 <elliott> CakeProphet: http://www.haskell.org/haskellwiki/Memoization
06:08:38 <CakeProphet> true, it will give me an idea of how to write the memoised version.
06:08:46 <elliott> writing a memoised version?
06:08:53 <elliott> just use a memoisation function
06:09:11 <pikhq> Yeah, memoisation is a trivial transform in Haskell.
06:09:31 <pikhq> And why is it that I use the UK spelling of ise/ize?
06:09:49 <oerjan> how should i know, old chap?
06:10:08 <pikhq> And for that matter, why do no UK programmers use "programme"?
06:10:20 <CakeProphet> because it's a horrid way to write program.
06:10:32 <pikhq> Well, yes, I meant "aside from the obvious".
06:10:33 <CakeProphet> they know that their limey ways are filthy.
06:11:02 <elliott> <pikhq> And why is it that I use the UK spelling of ise/ize?
06:11:14 <pikhq> elliott: It's very distinctly non-US.
06:11:15 <oerjan> pragmatic programmer pogroms
06:11:21 <elliott> also this story is starting to get scary finally, yay
06:11:28 <pikhq> And, right, OED *does* use it.
06:12:10 <pikhq> Hmm. I'm not sure which country's variant of gray/grey I use. Rather, I'm not sure which country it belongs to.
06:12:19 <elliott> well etymologically, and pronounci...olity, -ize is correct
06:12:24 <elliott> i use ise though as of late, dunno why
06:12:51 <elliott> CakeProphet: libertarian slave-owner
06:13:02 <elliott> anyway, time to dive in to probably the last chapter of this cave story, i guess for ~~immersion~~ purposes ircing is not a good idea
06:13:12 <pikhq> At least I'm not using "colour".
06:14:06 <CakeProphet> I prefer to use the old school form of 'an'
06:14:15 <CakeProphet> where you take the n and put it at the beginning of the next word.
06:14:31 <elliott> CakeProphet: that's a noutrage
06:14:42 <elliott> anyway, everybody shut up and stop me ircing, i need to spook myself
06:14:58 -!- elliott has set topic: order of the niditioc programmers | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:15:14 <CakeProphet> oerjan: apparently "apron" was originally "napron"
06:15:22 <CakeProphet> but once we switched over to using an the 'n' disappeared
06:17:44 <elliott> oh jesus this is starting to scare me
06:18:27 <elliott> I am quite easily sared. the SCP foundation has given me cold sweats at night many a time
06:18:46 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
06:18:48 <pikhq> The SCP has some legitimately scary stuff, so...
06:18:53 <elliott> I like this story, though -- it's well-written even apart from the fear.
06:19:04 <elliott> http://www.angelfire.com/trek/caver/
06:19:31 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
06:21:02 <CakeProphet> for some reason a list without a [] scares me.
06:21:13 <pikhq> CakeProphet: Why should it?
06:21:36 <CakeProphet> I make no normative claim about my vague fear.
06:21:44 <lambdabot> lexical error in string/character literal at chara...
06:21:55 <pikhq> CakeProphet: And it's not like that's a uniquely Haskell thing, either.
06:22:02 <lambdabot> "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae...
06:22:04 <lambdabot> "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae...
06:22:12 <CakeProphet> pikhq: oh I know. No need to give me a lecture on circular linked lists.
06:22:20 <lambdabot> cycle xs = xs' where xs' = xs ++ xs'
06:22:27 <pikhq> Pffft, I can do lazy infinite lists in C.
06:22:36 <Patashu> is anything in haskell -not- written in haskell?
06:22:40 <Patashu> the language interprets itself O_O
06:23:05 <oerjan> Patashu: it goes fairly deep
06:23:08 <lambdabot> Source not found. Maybe you made a typo?
06:23:11 <elliott> oh jesus christ this is starting to fuck with my head
06:23:18 <pikhq> Patashu: GHC's runtime system isn't entirely in Haskell, as far as I know.
06:23:19 <elliott> Patashu: for a start, GHC is a /compiler/
06:23:24 <oerjan> i'm sure that _used_ to be there :(
06:23:34 <elliott> Patashu: for a second, a lot of GHC's internal implementations of things are Haskell
06:23:38 <elliott> for instance the IO monad type itself and operations on it, etc.
06:23:43 <elliott> but there is C code that makes up the runtime system, of course.
06:23:52 <elliott> like oerjan says, it goes fairly deep :)
06:24:08 <elliott> Patashu: of course there are conventional interpreters like Hugs; I don't know how its IO monad is defined, but probably in Haskell too I would wager
06:24:12 <pikhq> Sadly, GHC's code is pretty poor.
06:24:25 <pikhq> Though, doesn't it predate Haskell 98?
06:25:04 <elliott> lots of parts predate just about everything :)
06:25:09 <elliott> but they're working on cleaning it up
06:25:13 <elliott> and new parts are of course well-written
06:25:24 <elliott> but yeah, there is a lot of recursive functions when combinators would do, etc.
06:25:25 <pikhq> I seem to recall it having multiple implementations of Monad floating around, though.
06:25:40 <oerjan> i recall hearing that too
06:25:41 <pikhq> But, eh, old code base predating modern niceties has that shit happen.
06:25:59 <pikhq> You can see rather a lot of the same in GCC.
06:26:28 <pikhq> Man. It freaking predates C90.
06:26:37 <elliott> ohh jesus this is frekaing me out
06:28:03 -!- Kustas has quit (Quit: gone).
06:28:21 <lambdabot> Can't think of anything more interesting to search for?
06:29:27 <lambdabot> Maybe you meant: keal part pl spell tell url vera
06:30:14 <elliott> CakeProphet: try exclamation mark in place of @
06:31:31 -!- Sgeo has quit (Ping timeout: 248 seconds).
06:34:57 <oerjan> BUT WAIT, THERE'S MORE! WE THROW IN A FREE DECAPITATION FOR JUST _FIVE_ DOLLARS
06:35:11 <elliott> coppro: reading a story linked on thatreddit thread of creepy stuff
06:36:01 <elliott> oh great, go back to the cave, that's the best fucking idea you've had all story
06:36:13 <elliott> you get the award for not doing stupid fucking shit
06:38:11 <elliott> the last page loops back to itself.
06:41:41 -!- Ycros has quit (Ping timeout: 260 seconds).
06:44:22 -!- Ycros has joined.
06:58:12 -!- NihilistDandy has quit (Quit: leaving).
07:00:39 -!- Ycros has quit (Remote host closed the connection).
07:00:43 -!- Kustas has joined.
07:01:17 -!- Ycros has joined.
07:03:22 <elliott> http://areyoutargeted.com/
07:08:14 <CakeProphet> elliott: using ! wouldn't allow me to enact my vengence upon lambdabot for insulting my creativity.
07:08:22 <EgoBot> addinterp: !addinterp <name> <language> <code>. Add a new interpreter to EgoBot. This interpreter will be run once every time you type !<name> <subcode>, and receive the program code as input.
07:09:08 <Kustas> CakeProphet: it's probably because you mistype vengeance
07:09:30 -!- Kustas has changed nick to Kostas.
07:09:34 <elliott> oh hey thisman.org, this is a fun one
07:09:43 -!- Kostas has changed nick to Kustas.
07:09:55 <elliott> Kustas: you mistype Kustas
07:10:19 <Kustas> that other nick is taken.. i must think of something different
07:10:29 <Kustas> or enact my vengeance on the original nick-bearer
07:10:40 <CakeProphet> !addinterp elmer perl for (<>) {s/wr\B/w/i; s/r\B/w/i; print}
07:10:41 <EgoBot> Interpreter elmer installed.
07:10:43 <elliott> "I have never had homosexual relationships or even fantasies. But I dream about having sexing with this man all the time." having sexing with this man all the time
07:10:55 <elliott> CakeProphet: who needs elmer when you have
07:11:25 <elliott> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print}
07:11:26 <EgoBot> There is already an interpreter for elmer!
07:11:33 <EgoBot> Interpreter elmer deleted.
07:11:34 <elliott> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print}
07:11:34 <EgoBot> Interpreter elmer installed.
07:11:55 <Kustas> !swedish rabbit season
07:12:41 <elliott> "It is the most interesting theory and the one that has the greatest implications, but it has also the lowest scientific credibility." --thisman
07:13:01 <elliott> his face is slightly spooky though.
07:13:57 -!- SimonRC has joined.
07:14:19 <elliott> Catherine Kinsbergen, Email, Web Site
07:14:19 <elliott> I've dreamed of this man since i was 5 yesrs old as a vampire which try to kill me. I'm now 18 and I still dream about him.. Can't beleive i'm not alone to see him
07:14:19 <elliott> Linda Borgman, Email, Web Site
07:14:19 <elliott> OMG! I do dream of this man too! I punch him in face but I try to run and cant! He catch me and tell me to do naughty things with him
07:14:41 <CakeProphet> !elmer it's been a long time since I've been wrong about screwy rabbits. Even longer now.
07:14:42 <EgoBot> it's been a long time since I've been wong about scwewy wabbits. Even longer now.
07:14:50 <elliott> !swedish it's been a long time since I've been wong about scwewy wabbits. Even longer now.
07:14:51 <EgoBot> it's beee a lung teeme-a seence-a I'fe-a beee vung ebuoot scvooy vebbeets. Ifee lunger noo. Bork Bork Bork!
07:14:55 <elliott> swedish elmer fudd is a thing of beauty
07:15:28 <CakeProphet> for some reason "long" is not become "wong"
07:16:52 <Patashu> it'd need another regex for that
07:17:31 <CakeProphet> does r\B not match at the beginning of a word?
07:18:07 <Patashu> \B means 'not word boundary'
07:18:36 <CakeProphet> or my brain is currently thinking in engrish.
07:21:44 <EgoBot> Interpreter elmer deleted.
07:21:44 <CakeProphet> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/(?<!i)r\B/w/gi; print}
07:21:44 <EgoBot> Interpreter elmer installed.
07:21:48 <Kustas> simple regexp won't ever do the trick
07:22:17 <elliott> so hey hi Kustas who are you
07:22:22 <elliott> weren't you here a few days ago too
07:22:44 <Kustas> the day before yesterday, maybe
07:23:47 <CakeProphet> my principle of life: regex is adequate to solve every problem.
07:23:55 <CakeProphet> obviously I have gotten very far with this principle.
07:24:07 <Patashu> I think I solved a maze using a regex once
07:24:29 <elliott> Kustas: hmm i've already asked you if you were from the wiki haven't i :D
07:25:26 <Kustas> but this is the first time my attention is on this channel
07:25:41 <CakeProphet> !elmer Wright Brothers read ripe literature
07:25:42 <EgoBot> wight Bwothews wead wipe litewatuwe
07:26:42 <Kustas> it would be far cooler if it would convert based on the pronunciation instead of the spelling
07:26:48 <elliott> !swedish wight Bwothews wead wipe litewatuwe
07:26:49 <EgoBot> veeght Bvuzeevs veed veepe-a leetooetoove-a
07:26:55 <elliott> !elmer veeght Bvuzeevs veed veepe-a leetooetoove-a
07:26:56 <EgoBot> veeght Bvuzeevs veed veepe-a leetooetoove-a
07:27:08 <elliott> until it's just vwwvwvwvw bork bork bork
07:30:35 <EgoBot> Interpreter elmer deleted.
07:30:35 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])r\B/w/g; s/(?<![iou])R\B/W/g; print}
07:30:36 <EgoBot> Interpreter elmer installed.
07:30:49 <CakeProphet> !elmer Wright Brothers read ripe literature
07:30:50 <EgoBot> Wight Bwothews wead wipe litewature
07:31:43 <elliott> CakeProphet: there's a special way you can maintain the case, I think
07:33:00 <EgoBot> Interpreter elmer deleted.
07:33:01 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs?\B/w/g; s/(?<![iou])Rs?\B/W/g; print}
07:33:01 <EgoBot> Interpreter elmer installed.
07:34:06 <Lymia> !addinterp blowup perl fork while fork
07:34:07 <EgoBot> Interpreter blowup installed.
07:34:18 <EgoBot> Interpreter blowup deleted.
07:35:28 <elliott> http://www.catnipples.com/ what
07:35:55 <elliott> Intro by Lloyd Pye: We at the Starchild Project have repeatedly tried to correct the outdated and incorrect information about the Starchild Skull presented in the article on Wikipedia (which I refer to by the more appropriate name “Wackypedia”). Virtually no one realizes that Wikipedia’s stated mission isn’t actually to provide the truth about selected subjects, it is to determine the consensus opinion of what they think most people belie
07:35:55 <elliott> ve to be the truth (Wikipedia, 2010a). In fact, Wikipedia rejects any form of original research (Wikipedia, 2010b). The astounding fact is that current Wikipedia “quality standards” would prevent Darwin, Einstein, Edison, and many other geniuses from contributing their original research. This is why we call them Wackypedia, and it’s why that name is so apt for the entire organization.
07:35:55 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs??\B/w/g; s/(?<![iou])Rs??\B/W/g; print}
07:35:57 <EgoBot> There is already an interpreter for elmer!
07:36:02 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs??\B/w/g; s/(?<![iou])Rs??\B/W/g; print}
07:36:02 <EgoBot> Interpreter elmer deleted.
07:36:04 <EgoBot> Interpreter elmer installed.
07:36:23 <elliott> "Pye's "Starchild Project" supporters claim that the skull is that of an extraterrestrial infant, or the hybrid offspring of an extraterrestrial and a human female."
07:36:38 <Patashu> how bout that original research
07:36:57 <elliott> i'm learning something really comforting from this thread
07:37:16 <Patashu> it's actually pretty impressive that Wikipedia works so well
07:37:24 <elliott> humanity is in exactly equal amounts depraved, idiotic and confused as i thought it was
07:37:27 <Patashu> you'd think it would collapse under its bureaucratic weight
07:37:49 <elliott> nothing has shocked me, nothing has scared me more than anything has scared me before
07:38:00 <elliott> Patashu: It is in a continuous state of collapse.
07:38:17 <elliott> Patashu: not a second goes by without drama somewhere in metaspace on Wikipedia :)
07:38:47 <Patashu> they do a very good job of not having metapollution
07:38:55 <elliott> Unfortunately the systematic bias extends to the administrative body not realising that there's a huge long tail distribution with editors, and so proposals to seriously restrict or disable anonymous editing even get serious consideration...
07:39:05 <elliott> Patashu: Yes, it's true that it doesn't often leak out significantly into article-space.
07:39:39 <elliott> Still, the bad management will start to have an effect sometime. Or maybe it won't, that would be the most comical thing, because it'd prove that the metaspace is completely ineffective.
07:39:59 <elliott> "Linux has a bunch of different ways to reset an x86. Some of them are 32-bit only and so I'm just going to ignore them because honestly just what are you doing with your life. Also, they're horrible. So, that leaves us with five of them."
07:40:19 <Patashu> I once saw an article that claimed wikipedia was failing because less people were editing it over time. But of course less people are editing it, most topics are filled out adequately by now and only experts would have things to add
07:40:40 <elliott> http://www.aaronsw.com/weblog/whowriteswikipedia is a "classic" on the subject.
07:40:45 <elliott> But yeah, Wikipedia is by no means failing.
07:40:51 <elliott> It's certainly mismanaged though.
07:40:57 <EgoBot> Interpreter elmer deleted.
07:40:59 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou]) r ( (?![sS]\b) | \B )/w/gx; s/(?<![iou]) R ( (?![sS]\b) | \B )/W/gx; print}
07:40:59 <EgoBot> Interpreter elmer installed.
07:41:34 <elliott> "Now, I'll admit that this all sounds pretty depressing. But people clearly sell computers with the expectation that they'll reboot correctly, so what's going on here?"
07:42:12 <Patashu> Elliot, what are you quoting?
07:42:17 <elliott> Patashu: http://mjg59.dreamwidth.org/3561.html
07:42:25 <elliott> also: don't you have tab completion? :)
07:42:52 <Patashu> I have tab completion (mIRC), what I lack is a tab completion instinct
07:42:56 <Patashu> I just type out however much of a person's name is enough
07:43:03 <Kustas> elliott: his computer maybe does not reboot correctly
07:43:09 <elliott> Patashu: Clearly not enough, you missed a letter :-)
07:43:21 <elliott> Kustas: I rather think it does :P
07:43:44 <Patashu> It was still uniquely addressing you so i'm down with that
07:43:45 <elliott> "Default until 3.0 has been to try to use the keyboard controller, and if we're still awake after a few seconds then to force a triple fault. This does work on most machines, but since this isn't what modern Windows does there's an increasing number of systems that don't behave."
07:43:56 <Patashu> Wow, I knew wikipedia started out with only a core group of editors, I didn't know it was so tight
07:44:04 <elliott> Pat-a-cake pat-a-cake baker's man: Sure thing bro.
07:44:34 <elliott> Patashu: btw aaron directly contradicts what jimbo says later
07:45:08 <Patashu> ' But that’s not at all what I found. Almost every time I saw a substantive edit, I found the user who had contributed it was not an active user of the site.'
07:45:14 <Patashu> how's that not contradictory? still reading though
07:46:21 -!- zzo38 has quit (Remote host closed the connection).
07:46:28 <elliott> it also provides quite an explanation for how so many high-profile wikipedia editors essentially just do meta-twiddling
07:46:39 <elliott> not that there's anything wrong with meta-twiddling, but looking at active users you wouldn't think anything would ever get written at all
07:48:03 <Kustas> it's all mostly written already, so meta-twiddling is the only thing left to do
07:48:08 <Patashu> Wow, I had no idea rebooting a computer was so hard
07:48:47 <elliott> Kustas: There is always more to write about :)
07:49:20 <Kustas> elliott: i used to think so too.. but then i learned to read
07:49:22 <elliott> although the notability policy's current interpretation seems to be "whatever we currently have an article on is notable, everything else isn't", so maybe as far as wikipedia is concerned there isn't
07:50:51 <EgoBot> Interpreter elmer deleted.
07:50:51 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:50:51 <EgoBot> Interpreter elmer installed.
07:51:02 <EgoBot> yo bwothers you dig my jive?
07:51:59 <CakeProphet> but apparently zero-width assertions within a look-around mess up.
07:53:34 <CakeProphet> now quickly, find a situation in which an r proceeds an i, o, or u but needs to be converted to a w.
07:54:34 <Patashu> o/~ Double fault all the way across kernel space... o/~
07:58:31 <CakeProphet> !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:58:32 <EgoBot> There is already an interpreter for elmer!
07:58:38 <EgoBot> Interpreter elmer deleted.
07:58:39 <CakeProphet> !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:58:39 <EgoBot> Interpreter elmer installed.
07:58:49 <EgoBot> kiww the wabbit, kiww the wabbit
08:03:57 -!- pikhq has quit (Remote host closed the connection).
08:04:14 <Lymia> elliott, so, wait.
08:04:18 -!- pikhq has joined.
08:04:25 <Lymia> Systems should have a way to reboot.
08:04:40 <Lymia> Linux uses at least one that should be standard.
08:04:56 <Lymia> Because Windows uses a slightly different behavior... the standard way doesn't work.
08:05:16 <Lymia> Linux is forced to be bug-compatible... with the hardware.
08:05:28 <elliott> http://www.planecrashinfo.com/lastwords.htm oh this is interesting
08:05:35 <Lymia> Do they not test other operating systems, or...
08:05:40 <Lymia> Follow the standard?
08:06:03 <EgoBot> Interpreter elmer deleted.
08:06:04 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:06:04 <EgoBot> Interpreter elmer installed.
08:09:39 -!- pikhq_ has joined.
08:09:55 <elliott> pikhq: you soifj a ozjidf oniwef
08:13:19 <elliott> http://marineparade.net/wewantyoursoul/ oh sweet
08:13:33 -!- pikhq has quit (Ping timeout: 260 seconds).
08:18:27 <Kustas> !swedish ou soifj a ozjidf oniwef
08:18:28 <EgoBot> ooo sueeffj a oozjeedff ooneeveff
08:19:17 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/or(e\b)?/owuh/; s/ire\b/iyuh/; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:19:18 <EgoBot> Interpreter elmer deleted.
08:19:18 <EgoBot> Interpreter elmer installed.
08:23:16 -!- Kustas has quit (Quit: rejoin).
08:23:31 <oerjan> !elmer horrible traitor
08:23:43 -!- Kustas has joined.
08:24:04 <oerjan> ...wht doesn't that become twaitowuh
08:24:56 <CakeProphet> I should probably take out the or(e\b) case :P
08:27:46 <EgoBot> Interpreter elmer deleted.
08:27:47 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:27:47 <EgoBot> Interpreter elmer installed.
08:28:14 <CakeProphet> and then IPA2english, which is probably even more impossible.
08:28:38 <CakeProphet> english2IPA isn't out of the question with a huge dictionary database.
08:30:23 <Lymia> CakeProphet, English2IPA isn't that difficult if you maintain an exception list.
08:30:31 <Lymia> The other way around?
08:30:54 -!- Kustas has quit (Ping timeout: 258 seconds).
08:31:37 <EgoBot> Interpreter elmer deleted.
08:31:42 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:31:42 <EgoBot> Interpreter elmer installed.
08:31:48 -!- Kustas has joined.
08:31:49 <oerjan> !elmer terrible errors
08:33:09 <oerjan> !elmer horrible tourists
08:33:57 <CakeProphet> oerjan: fine, I promote you to lead designer of elmer.
08:34:46 <CakeProphet> oerjan: I now conscript you into indentured servitude to be lead designer of elmer.
08:35:37 <oerjan> but i'm trying to stay away from the place
08:35:39 <elliott> http://stackoverflow.com/questions/3956478/understanding-randomness
08:37:28 <oerjan> by statistical accident
08:38:20 -!- pikhq has joined.
08:39:04 <elliott> hi pikhq pikhq pikhq Patashu iamcal p iamcal p iamcal Patashu ip pk pikhq Kustas pikhq p
08:39:09 -!- pikhq_ has quit (Ping timeout: 276 seconds).
08:40:19 <elliott> pikhq is Patashu iamcal Kustas HackEgo quintopia
08:40:42 <EgoBot> Interpreter elmer deleted.
08:40:44 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(?<!f)or\b/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:40:44 <EgoBot> Interpreter elmer installed.
08:41:08 <elliott> Patashu aloril TeruFSX aloril sebbu2 HackEgo u iamcal aloril malorie CakeProphet lambdabot Kustas u sebbu2 TeruFSX aloril sebbu2 HackEgo aloril CakeProphet Kustas EgoBot glogbot oerjan quintopia u iamcal n TeruFSX oerjan Patashu iamcal aloril
08:41:11 <elliott> so u and n are uncolonised
08:43:53 <elliott> CakeProphet aloril Kustas EgoBot Patashu rodgort oerjan Patashu HackEgo EgoBot TeruFSX
08:44:01 -!- Sgeo has joined.
08:44:07 <elliott> sebbu2 glogbot EgoBot oerjan
08:44:21 <elliott> nobody has a nick starting with u or n in here
08:44:52 <CakeProphet> !addinterp !loop perl print '`run echo "!loop"'
08:44:52 <EgoBot> Interpreter _loop installed.
08:45:52 <Sgeo> So, I think my official bedtime is now noon
08:46:05 <EgoBot> Installed user interpreters: _loop aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak w
08:46:29 <EgoBot> Interpreter _loop deleted.
08:46:34 <CakeProphet> !addinterp loop perl print '`run echo "!loop"'
08:46:34 <EgoBot> Interpreter loop installed.
08:47:04 <Patashu> !aol The quick brown fox jumps over the lazy dog.
08:47:05 <EgoBot> THE QU1CK BROWN FOX JUMPS UV R THE LAZY DOG!!
08:47:17 <Sgeo> CakeProphet, you're not going to test it?
08:47:31 <CakeProphet> but there might be an ignore list for egobot
08:47:56 <Sgeo> `run echo !ao The quick brown fox
08:48:01 <Sgeo> `run echo !aol The quick brown fox
08:48:27 <elliott> besides, they use that stupid character in front to stop it
08:48:30 <elliott> and also break urlification
08:48:30 <EgoBot> Interpreter loop deleted.
08:48:52 <Sgeo> I only tested it after knowing it wouldn't work
08:49:55 <EgoBot> haskell import System.Random; import Control.Monad; pick a = randomRIO (0, length a - 1) >>= return . (a !!); main = putStrLn . (++".") =<< word; word = join . pick $ replicate 3 (liftM2 (:) vowel word) ++ replicate 2 (liftM2 (:) consonant word) ++ [return ""]; vowel = pick "AEIOUY"; consonant = pick "BCDFGHJKLMNPQRSTVWXZ"
08:50:20 -!- Phantom_Hoover has joined.
08:50:31 <oerjan> CakeProphet: that's a roleplaying name generator zzo38 mentioned, so i made it
08:50:50 -!- Kustas has quit (Ping timeout: 258 seconds).
08:50:58 <CakeProphet> zzo38 likes to play roleplaying games? Awesome. I should ask him if he wants to play Shadowrun.
08:51:01 <elliott> or is it some character that EgoBot is filtering out
08:51:17 <CakeProphet> I made simpleacro. it is superior at its purpose.
08:51:24 <elliott> Patashu: yes but it would filter it out on show too
08:51:25 <CakeProphet> though I need to weight the uncommon starting letters
08:51:25 <oerjan> elliott: it sometimes makes an empty string, so zzo38 suggested adding a period
08:51:36 <CakeProphet> I just don't have data on the most common starting letters for English.
08:52:03 <CakeProphet> so I will probably just continue not caring as I have been.
08:52:13 <Sgeo> Inglip's death is canon now
08:53:48 -!- Kustas has joined.
08:54:14 <CakeProphet> I love how long it takes to compute. it's like a moment of suspense.
08:54:22 <oerjan> well obviously !simplename is based on !simpleacro
08:54:28 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
08:54:44 <CakeProphet> oerjan: I think you actually helped me with some bugs on it.
08:59:08 <oerjan> !redneck We don't take lightly to your kind of people here.
08:59:08 <EgoBot> We don't take lightly tuh yer kinda folks here.
08:59:51 <oerjan> CakeProphet: it's probably from some funny linux package
09:00:06 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez y
09:00:20 <EgoBot> sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g'
09:01:21 <EgoBot> Linux codu.org 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux
09:02:10 <elliott> !ehird cobbles of phantom fuck whats
09:02:11 <EgoBot> cobbles of phantom fuck whats
09:02:52 <EgoBot> vhet is thees I dun't ifee
09:02:57 <oerjan> somehow i doubt bypass_ignore works, if it ever did
09:03:28 <oerjan> oh wait that kind of ignores
09:03:37 <elliott> !bypass_ignore <elliott> ha ha vorpal is a fag
09:03:37 <EgoBot> <elliott> ha ha vorpal is a fag
09:03:51 <EgoBot> vhet is thees I dun't ifee
09:04:05 <elliott> !ehird what is this I don't even
09:04:06 <EgoBot> wut is this I don't even
09:04:18 <elliott> !sffedeesh vhet is thees I dun't ifee
09:04:18 <EgoBot> fhet is zeees I doon't iffee-a
09:04:23 <elliott> !sffedeesh fhet is zeees I doon't iffee-a
09:04:23 <EgoBot> fhet is zeees I duun't iffffee-a-a
09:04:30 <elliott> !sffedeesh fhet is zeees I duun't iffffee-a-a
09:04:30 <EgoBot> fhet is zeees I doooon't iffffffffee-a-a-a
09:04:35 <elliott> !sffedeesh fhet is zeees I doooon't iffffffffee-a-a-a
09:04:35 <EgoBot> fhet is zeees I duuuun't iffffffffffffffffee-a-a-a-a
09:04:53 <CakeProphet> elliott: why don't these other interpreters evoke swedish x number of times?
09:04:54 <elliott> !swedish hey what's this OH SNAP IT'S A FUCKING TIGET
09:04:54 <EgoBot> hey vhet's thees OoH SNEP IT'S A FOoCKING TIGET
09:04:56 <elliott> !swedish hey what's this OH SNAP IT'S A FUCKING TIGER
09:04:57 <EgoBot> hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER
09:05:08 <elliott> !swedish hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER
09:05:08 <EgoBot> hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER
09:05:17 <elliott> !swedish hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER
09:05:18 <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:21 <EgoBot> Interpreter svedeesh deleted.
09:05:33 <elliott> `addquote <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:35 <HackEgo> 433) <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:38 <elliott> oerjan: those are our valuable aliases
09:05:41 <oerjan> !addinterp svedeesh sh chef | chef | fmt -w500
09:05:41 <EgoBot> Interpreter svedeesh installed.
09:05:49 <elliott> !addinterp svedeesh sh chef | fmt -w500
09:05:49 <EgoBot> There is already an interpreter for svedeesh!
09:05:55 <oerjan> elliott: I'M JUST MAKING IT MORE LOGICAL
09:05:56 <EgoBot> Interpreter svedeesh deleted.
09:06:05 <oerjan> !addinterp svedeesh sh chef | chef | fmt -w500
09:06:06 <EgoBot> Interpreter svedeesh installed.
09:06:17 <HackEgo> 41) <Dylan> kaelis: yes kaelis, but however will get the horses to wear knickers?
09:06:18 <HackEgo> 343) 00:07 Sgeo has quit (IRC is taking up too much of my time. I need time to study the Bible and find Christ.) 00:12 Sgeo has joined #esoteric.
09:06:19 <HackEgo> 274) <oklopol> ah yes, indeed, alan turing was gay and stupid
09:06:20 <HackEgo> 365) <Vorpal> elliott, it was an artful robbery! <Vorpal> wait, murder
09:06:21 <HackEgo> 139) <fungot> alise: nobody is allowed to fnord me in soviet russia
09:06:22 <HackEgo> 8) <SimonRC> TODO: sex life
09:06:24 <HackEgo> 176) <cpressey> Never ever use a quote which contains both the words "aloofness" and "gel" (verb).
09:06:24 <HackEgo> 23) IN AN ALTERNATE UNIVERSE: <bsmntbombdood> there is plenty of room to get head twice at once
09:06:26 <HackEgo> 189) <alise> Why do you use random acronyms you know we don't know the expansions of? <pikhq> alise: TLAAW
09:06:27 <HackEgo> 60) <apollo> What is there to talk about besides gay slang?
09:06:41 <elliott> <HackEgo> 365) <Vorpal> elliott, it was an artful robbery! <Vorpal> wait, murder
09:06:47 <HackEgo> 128) <alise> use "grep --crazy" \ 129) * augur rubs alise's bum [...] <augur> what? she said square ped <augur> :| \ 131) <fungot> alise: why internet is like wtf \ 135) <alise> like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English <ais523> alise: that's great filler <alise> ais523:
09:06:58 <elliott> "why internet is like wtf"
09:07:03 <elliott> definitely fungot's proudest moment
09:07:12 <elliott> it finally realises that this human internet is like wtf
09:07:20 <HackEgo> 155) <CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own. \ 156) <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a
09:07:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198
09:08:04 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198
09:08:15 <elliott> the quote system is not that old...
09:08:23 <elliott> those are from a year ago at most
09:08:46 <elliott> `run sed -i 's///g' quotes
09:08:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24384
09:09:09 <CakeProphet> for some reason I thought we had quotes that long ago.
09:09:55 <lambdabot> ari says: The problem I have with grues is that although I know that currently, if it is very dark I am likely to be eaten by one... but how can I tell if grue suddenly became benign at, say, the
09:09:55 <lambdabot> year 2010? The evidence I've gathered so far can't support the idea that that *wouldn't* happen.~
09:10:07 * sebbu2 slaps elliott around a bit with a very large trout
09:10:49 <elliott> oerjan: wow that was the least funny quote ever
09:10:59 <HackEgo> 78) <Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
09:11:00 <HackEgo> 56) <ehird> no Deewiant <Deewiant> No?! <Deewiant> I've been living a lie <ehird> yep. <Deewiant> Excuse me while I jump out of the window ->
09:11:01 <HackEgo> 133) <Quas_NaArt> Hooray! <Quas_NaArt> I'm an idiot.
09:11:02 <HackEgo> 46) <fizzie> Seconds. 30 of them. Did I forget the word?
09:11:02 <HackEgo> 161) <ais523> cpressey: I have actually done a waterfall-model project that almost worked <cpressey> That's where you have a flexible kayak that bobs and weaves between the rocks as it plummets off the cliff
09:17:23 -!- CakeProphet has quit (Ping timeout: 248 seconds).
09:18:05 <oerjan> hey don't run away before i can explain why that was stupid
09:18:50 <oerjan> hm imagine if linux _did_ support lazy argument lists
09:19:38 -!- CakeProphet has joined.
09:19:39 -!- CakeProphet has quit (Changing host).
09:19:39 -!- CakeProphet has joined.
09:20:07 <oerjan> `run echo $(yes | head -5)
09:20:39 <oerjan> CakeProphet: yours probably never finished making the argument list
09:20:48 <CakeProphet> I somehow thought it would be a good idea to run echo $(yes) on my computer...
09:20:55 <CakeProphet> not realizing that I wouldn't be able to ctrl+c
09:21:09 <CakeProphet> as it very rapidly filled all of my mempory.
09:21:21 <elliott> hey Sgeo homestuck update :-P
09:23:06 -!- monqy has quit (Quit: hello).
09:23:19 <CakeProphet> oerjan: I wonder what would be the most effective anti-yes bomb
09:26:20 <EgoBot> /tmp/input.18804: xrealloc: ../bash/subst.c:4757: cannot reallocate 33554432 bytes (0 bytes allocated)
09:27:33 <CakeProphet> a convenient memory exploder for the whole family.
09:30:33 <CakeProphet> so when code golfing bash can you only assume that only the bare minimum in external programs are available in $PATH?
09:31:11 -!- ais523 has joined.
09:31:45 -!- MigoMipo has joined.
09:32:03 <Sgeo> Where is my reddit thread
09:32:26 <Sgeo> I've taken to reading the reddit thread after the update
09:33:07 <elliott> its hardly big enough to warrant another post...
09:33:20 -!- pikhq has quit (Ping timeout: 244 seconds).
09:33:27 -!- pikhq has joined.
09:34:28 <EgoBot> Interpreter sffedeesh deleted.
09:34:43 <CakeProphet> !addinterp sffedeesh chef | chef | chef | fm -w500
09:34:43 <EgoBot> Interpreter sffedeesh installed.
09:34:56 <Patashu> !sffedeesh The quick brown fox jumps over the lazy dog.
09:34:57 <EgoBot> | cheff | cheff | fm -v500
09:35:09 <EgoBot> is not a user interpreter.
09:35:16 <EgoBot> Interpreter sffedeesh deleted.
09:35:24 <CakeProphet> !addinterp sffedeesh sh chef | chef | chef | fm -w500
09:35:24 <EgoBot> Interpreter sffedeesh installed.
09:35:39 <EgoBot> /tmp/input.19806: line 1: fm: command not found
09:35:49 <EgoBot> Interpreter sffedeesh deleted.
09:35:53 <CakeProphet> !addinterp sffedeesh sh chef | chef | chef | fmt -w500
09:35:53 <EgoBot> Interpreter sffedeesh installed.
09:35:57 <EgoBot> I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:13 <elliott> !sffedeesh I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:13 <EgoBot> I looooooooffffffffffffffffffffffffffffffffe-a-a-a-a-a-a beeeng sffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:21 <elliott> Combinatorial explosion of borks.
09:36:59 <Patashu> !sffedeesh The quick brown fox jumps over the lazy dog.
09:37:00 <EgoBot> Zee-a-a qooooeeck broooon fuux joooomps oouooffffer zee-a-a lezy duug. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:37:59 <EgoBot> sh chef | chef | fmt -w500
09:38:08 <EgoBot> sh chef | chef | chef | fmt -w500
09:38:11 <CakeProphet> !svedish I am a slightly more reserved swede.
09:38:19 <CakeProphet> !svedeesh I am a slightly more reserved swede.
09:38:19 <EgoBot> I im a sleeghtly moore-a-a reserffed sfede-a-a. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:38:27 <EgoBot> Interpreter sfedeesh deleted.
09:38:37 <oerjan> !addinterp sfedeesh sh chef | chef | chef | fmt -w500
09:38:38 <EgoBot> Interpreter sfedeesh installed.
09:38:46 <EgoBot> Interpreter sffedeesh deleted.
09:38:57 <oerjan> !addinterp sffedeesh sh chef | chef | chef | chef | fmt -w500
09:38:57 <EgoBot> Interpreter sffedeesh installed.
09:39:13 <CakeProphet> oerjan is setting the record straight in sffedeen.
09:39:20 <Sgeo> !svedeesh The quick brown fox jumps over the lazy dog
09:39:20 -!- ais523 has quit (Read error: Connection reset by peer).
09:39:20 <EgoBot> Zee-a quueeck bruun foox juumps oouffer zee-a lezy doog
09:39:31 <oerjan> !sffedeesh I love sffedeesh.
09:39:31 <EgoBot> I looooffffffffe-a-a-a-a sffffffffffffffffffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:40:25 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
09:41:02 <EgoBot> Interpreter chef deleted.
09:41:07 <EgoBot> Interpreter chef does not exist!
09:41:17 <oerjan> !addinterp chef sh chef
09:41:17 <EgoBot> Interpreter chef installed.
09:41:27 <EgoBot> Interpreter swedish deleted.
09:41:34 <oerjan> !addinterp swedish chef
09:41:35 <EgoBot> Interpreter swedish installed.
09:41:55 <oerjan> Gregor has implemented working interpreter recursion?
09:42:42 <EgoBot> Interpreter swedish deleted.
09:42:56 <oerjan> !addinterp swedish sh chef | fmt -w500
09:42:56 <EgoBot> Interpreter swedish installed.
09:43:01 <EgoBot> Hu hoom. Bork Bork Bork!
09:43:04 <CakeProphet> Patashu: I guess both Haskell and Perl are a little esoteric. So is C.
09:43:22 <CakeProphet> I imagine Perl is there for usefulness more so than esotericness
09:43:34 <Patashu> is any programming language NOT esoteric
09:44:26 <CakeProphet> actually I tak it back, C is not esoteric in any way.
09:44:27 -!- ais523 has joined.
09:45:06 <elliott> c has two conflicting ways to be TC
09:45:10 <CakeProphet> C is like what you use to judge normalness, for some reason.
09:45:12 <elliott> you're telling me that's not esoteric?
09:46:48 <ais523> also, I thought C's TCness options, other than ones based on files and the standard library, all required you to omit details like the value of CHAR_BIT (because it isn't a finite integer)
09:46:58 <CakeProphet> Ruby can be a little strange. 99.downto(1) {|x| print "#{x} bottles of beer on the wall."}
09:47:45 <elliott> ais523: exactly; freestanding, you don't have CHAR_BIT, so you can have bignum chars
09:48:03 <ais523> are you sure you don't have CHAR_BIT in freestanding?
09:48:04 <ais523> I thought limits.h was one of the headers that had to be in freestanding too
09:48:23 <elliott> it'd mean that freestanding C might not actually be TC at all
09:48:31 <ais523> it's not like there's anything in it but #defines
09:48:44 * elliott greps http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
09:49:51 <elliott> 1 An implementation is required to document all the limits specified in this subclause,
09:49:51 <elliott> which are specified in the headers <limits.h> and <float.h>. Additional limits are
09:49:51 <elliott> Forward references: integer types <stdint.h> (7.18).
09:50:01 <ais523> Patashu: it's a subset of C that doesn't have to have the library support that C impls normally do
09:50:02 <elliott> 5.2.4.2.1 Sizes of integer types <limits.h>
09:50:02 <elliott> 1 The values given below shall be replaced by constant expressions suitable for use in #if
09:50:03 <elliott> preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the
09:50:03 <elliott> following shall be replaced by expressions that have the same type as would an
09:50:06 <elliott> expression that is an object of the corresponding type converted according to the integer
09:50:08 <elliott> promotions. Their implementation-defined values shall be equal or greater in magnitude
09:50:10 <elliott> (absolute value) to those shown, with the same sign.
09:50:12 <elliott> — number of bits for smallest object that is not a bit-field (byte)
09:50:16 <ais523> designed for things like embedded systems
09:50:19 <elliott> ais523: oh dear, you must have a number of bits in a char in a freestanding implementation too
09:50:19 <oerjan> > [99, 98..1] >>= (++ " bottles of beer on the wall.\n").show
09:50:21 <lambdabot> "99 bottles of beer on the wall.\n98 bottles of beer on the wall.\n97 bottl...
09:50:31 <ais523> elliott: unless you had a type that was smaller than a char
09:50:32 <elliott> unless you can do something with the stack
09:50:34 <ais523> and could create objects of it
09:50:40 <ais523> I saw a loophole in that definition
09:50:49 <elliott> ais523: yes, but I suspect char is defined to be that smallest object
09:50:55 <elliott> register variables you aren't allowed to take the address of
09:50:59 <elliott> so there's nothing forcing them to be limited
09:51:08 <ais523> you can still sizeof them
09:51:11 <elliott> combined with the stack... maybe you could do something?
09:51:16 <ais523> there's nothing forcing you to have a limited /quantity/ of them
09:51:16 <elliott> ais523: yes, but if you recurse
09:51:26 <elliott> normally, recursion doesn't let you have "infinite variables"
09:51:29 <elliott> because you can take their address
09:51:32 <ais523> but there's no way to reference them outside their own stack frame, precisely because you can't take their address
09:51:36 <elliott> but the conceptual stack frame can take up no address spcae here
09:51:41 <ais523> so you end up with a PDA, not a TC language
09:51:49 <elliott> ais523: yeah, it's probably true
09:51:54 <elliott> I was thinking you could combine other things to make it work somehow
09:52:06 <CakeProphet> > :t map (map (map (map ($map)))) [[[[map]]]]
09:52:07 -!- Kustas has quit (Quit: left).
09:52:07 <lambdabot> <no location info>: parse error on input `:'
09:52:13 <CakeProphet> :t map (map (map (map ($map)))) [[[[map]]]]
09:52:14 <lambdabot> forall a b. [[[[[a -> b] -> [[a] -> [b]]]]]]
09:52:41 <elliott> > map (map (map (map ($map)))) [[[[map]]]]
09:52:42 <lambdabot> Overlapping instances for GHC.Show.Show ([a -> b] -> [[a] -> [b]])
09:52:54 <elliott> > length (map (map (map (map ($map)))) [[[[map]]]])
09:53:03 <elliott> > length (head (map (map (map (map ($map)))) [[[[map]]]]))
09:53:08 <elliott> > length (head (head (map (map (map (map ($map)))) [[[[map]]]])))
09:53:12 <elliott> > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:15 <elliott> > length (head (head (head (head (map (map (map (map ($map)))) [[[[map]]]])))))
09:53:15 <lambdabot> Couldn't match expected type `[a]'
09:53:16 <lambdabot> against inferred type `[a1 -> b]...
09:53:19 <elliott> > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:23 <elliott> :t head (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:24 <lambdabot> forall a b. [a -> b] -> [[a] -> [b]]
09:53:37 <lambdabot> forall a b. [a -> b] -> [[a] -> [b]]
09:53:38 <elliott> :t map (map (map (map ($map)))) [map]
09:53:39 <lambdabot> Couldn't match expected type `[[[((a -> b1) -> [a] -> [b1])
09:53:39 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:44 <elliott> :t map (map (map (map ($map)))) [[map]]
09:53:44 <lambdabot> Couldn't match expected type `[[((a -> b1) -> [a] -> [b1]) -> b]]'
09:53:45 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:46 <elliott> :t map (map (map (map ($map)))) [[[map]]]
09:53:47 <lambdabot> Couldn't match expected type `[((a -> b1) -> [a] -> [b1]) -> b]'
09:53:47 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:48 <elliott> :t map (map (map (map ($map)))) [[[pmap]]]]
09:54:00 <lambdabot> forall a. (Enum a) => [[a] -> [a]]
09:54:05 <lambdabot> Overlapping instances for GHC.Show.Show ([a] -> [a])
09:54:08 <elliott> > length (map map [succ,succ])
09:54:09 <lambdabot> Ambiguous type variable `a' in the constraint:
09:54:18 <elliott> > length (map map [(9+),(9+)])
09:54:36 <elliott> > head (map map [(9+),(9+)]) [0,0,0,9]
09:55:49 <Patashu> > (map map [(9+),(9+)]) [0,0,0,9]
09:55:50 <lambdabot> Couldn't match expected type `t1 -> t'
09:56:08 <Patashu> > id (map map [(9+),(9+)]) [0,0,0,9]
09:56:09 <lambdabot> Couldn't match expected type `[t1] -> t'
09:56:28 <Patashu> I guess to make it not evaluate further
09:56:53 <elliott> i'll let you figure out the rest yourself :P
09:57:10 <Patashu> was looking at the order of operations wrong
09:57:19 <Patashu> head happens before [0,0,0,9] is applied correct?
09:57:35 <lambdabot> forall a. (Num a) => [[[a]] -> [[a]]]
09:57:41 -!- aloril has quit (Ping timeout: 246 seconds).
09:58:20 <oerjan> > map map [(9+),(9+)] <$ 1
09:58:20 <lambdabot> No instance for (GHC.Show.Show (f [[a] -> [a]]))
09:58:44 <oerjan> > map map [(9+),(9+)] <$ [1]
09:58:45 <lambdabot> Overlapping instances for GHC.Show.Show ([a] -> [a])
09:58:51 <elliott> Patashu: there's no "ordering"
09:58:51 <oerjan> :t map map [(9+),(9+)] <$ [1]
09:58:52 <lambdabot> forall a. (Num a) => [[[a] -> [a]]]
09:58:56 <elliott> that's all you need to know
09:59:00 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
09:59:16 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f a
09:59:43 <elliott> head (map map [(9+),(9+)]) [0,0,0,9] == (head (map map [(9+),(9+)])) [0,0,0,9] == (head [map (9+), map (9+)]) [0,0,0,9] == (map (9+)) [0,0,0,9] == [9,9,9,eighteen]
09:59:47 <oerjan> :t map map [(9+),(9+)] `sequence` [1]
09:59:54 <oerjan> > map map [(9+),(9+)] `sequence` [1]
09:59:58 -!- MigoMipo_ has joined.
10:01:07 <CakeProphet> > map map [(9+),abs,(`mod` 10)] `sequence` [1,-1]
10:01:11 <oerjan> @hoogle f (a -> b) -> a -> f b
10:01:12 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
10:01:12 <lambdabot> Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b
10:01:12 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
10:02:24 <CakeProphet> !addinterp map perl for(<>){s/\b.*?\b/map/;print}
10:02:24 <EgoBot> Interpreter map installed.
10:02:47 <EgoBot> Interpreter map deleted.
10:03:18 <CakeProphet> !addinterp map perl for(<>){s/\b.+?\b/map/g;print}
10:03:18 <EgoBot> Interpreter map installed.
10:03:29 <CakeProphet> !map I love chaining together maps in Haskell
10:03:30 <EgoBot> mapmapmapmapmapmapmapmapmapmapmapmapmap
10:04:06 -!- MigoMipo has quit (Ping timeout: 276 seconds).
10:05:03 <elliott> the spaces get stripped out
10:05:07 <elliott> even if they didn't you'd have removed the space
10:08:24 -!- FireFly has joined.
10:08:37 -!- tarpad has joined.
10:11:09 -!- aloril has joined.
10:14:38 -!- tarpad has left.
10:17:27 * Sgeo fails at technical communication
10:18:07 <Sgeo> https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006227.html this confusion should not have occured.
10:20:24 <olsner> yes, everything is gibberish until the example function at the end
10:22:19 -!- oerjan has quit (Quit: Reboot).
10:22:37 <Patashu> that function calls for a hashmap
10:23:09 <elliott> Patashu: that would require first-class functions
10:23:17 <Sgeo> elliott, nope!
10:24:31 <elliott> Sgeo: is there any way to call a function in any way other than function_name(...)
10:24:45 <elliott> could you make an in-game object edit its own script while it runs?
10:24:56 <Patashu> there's no arrays of function pointers?
10:25:07 <Sgeo> Nope, although I can get it to retrieve another compiled script and run that instead
10:25:25 <Sgeo> There is something I can do, but it's crappy: Put each native function in a separate script, and send a message to all scripts
10:25:32 <elliott> Sgeo: can you create a compiled script programmatically
10:25:44 <Sgeo> Not within LSL, although a bot could do it
10:26:06 <elliott> then you can dynamically construct a compiled script for every native function that ends up getting called
10:26:13 <elliott> massive overhead the first time though i would assume :)
10:27:14 <Sgeo> elliott, involving bots would kind of be a bad idea. Statically constructing the scripts would be possible. But I don't think having a lot of scripts and constantly sending messages to them is a pleasant idea
10:27:43 <elliott> Sgeo: why not restructure the language instea
10:27:50 <elliott> instead of native_call(string, ...)
10:27:56 <elliott> have some kind of "inline lsl assembly" thing
10:28:00 <elliott> and some predeclaration macro
10:28:33 <Sgeo> elliott, that's for syntax of the language
10:28:44 <Sgeo> Not for how the VM would run. Unless I'm misunderstanding
10:28:53 <elliott> Sgeo: it means you don't have to handle a generic native call
10:29:23 <Sgeo> If I'm understanding correctly, that would be abandoning the "pseudobytecode with surrounding VM" idea
10:29:37 <elliott> sounds like a terrible idea for a language this limited anyway
10:30:01 <Sgeo> The size of the LSL code is a premium...
10:30:36 <elliott> the bytecode still counts as code right
10:30:44 <elliott> I mean you could still do most things with one-letter function calls
10:31:06 -!- cheater_ has quit (Ping timeout: 246 seconds).
10:31:36 <Sgeo> In theory, with the VM though, some of the bytecode could be put outside the script and onto a notecard. Although I don't know if that idea's that great.
10:32:51 <Sgeo> Also: How do I go about calling _non_native functions without O(n) complexity for amount of existing non-native functions?
10:33:25 <Patashu> By making the language better
10:33:37 <ais523> elliott: I just realised something beautiful that was possible with sg
10:33:38 <Sgeo> Um, assuming that I'm trampolining and CPSing
10:33:51 <ais523> all that's needed to send a commit to someone is that the commit is somewhere in the world at large, and to send them the hash
10:34:20 <ais523> and then you could go off and look for a commit with that hash through a search engine or something
10:34:29 <elliott> ais523: doesn't that apply to every VCS?
10:34:35 <ais523> only the ones with unique hashes
10:34:49 <elliott> ais523: every DVCS has unique hashes up to collisions, pretty much
10:34:50 <ais523> and where the hash itself is enough to pull into a repo
10:34:57 <ais523> well, do they all use hashes?
10:37:12 <ais523> darcs does have hashes involved, but they're hidden from the user unless you know how to ask for them
10:38:53 <elliott> rage material for you http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem
10:38:57 <elliott> wrt libraries in source trees
10:39:02 <Sgeo> elliott, am I mistaken in thinking that CPS will result in a lot of functions?
10:40:41 <elliott> Sgeo: that's pretty much the definition of cps
10:40:54 <elliott> also, call/cc is not useful at all in your situation afaik, so i don't know why on earth you want it
10:40:55 <olsner> elliott: though it does point out somewhere that it might not be appropriate for *every* project, so it's not quite as crazy as it looks (only very close)
10:41:01 <elliott> especially as you don't actually have first-class functions
10:41:18 <Sgeo> elliott, there's a lot of event stuff in LSL
10:42:49 -!- oerjan has joined.
10:42:54 <Sgeo> http://lslwiki.net/lslwiki/wakka.php?wakka=llGetNotecardLine see this example? I want to make it not quite so painful, just a call to ccGetNotecardLine() which uses continuations to deal with a nice function evtDataserver that accepts a pretty callback
10:42:59 <Sgeo> Instead of this present BS
10:43:09 -!- cheater_ has joined.
10:43:41 <Sgeo> Maybe continuations are overkill for doing this
10:45:33 <Sgeo> And incidentally, the point of making a new language is to give the new language features like first-class functions and continuations, so I don't know where you're getting "no first-class functions" from, that's the host language.
10:47:50 <ais523> smart quotes are one thing, smart quotes in URLs are another
10:48:04 <ais523> or am I meant to rage at the page accessed via the URL, rather than the URL itself?
10:48:07 <elliott> ais523: don't ask me, microsoft brain damage is obviously in effect on that site
10:48:23 <elliott> if you respond affirming that you don't plan to open the link, ... well please just preemptively don't respond
10:48:47 <Sgeo> I want to know what's wrong with the link's content *ducks*
10:49:02 -!- BeholdMyGlory has joined.
10:49:25 <elliott> Sgeo: re where did you get it from, well the overhead on function representation in sodfjsioghodghg will probably be large but yeah whatever doigjfdjgidgjfodjgi
10:50:10 <Sgeo> Maybe there's a simpler way to get what I want
10:50:22 <Sgeo> Just break the code into two at, say, ccGetNotecardLine
10:50:42 <Sgeo> No CPS needed. But this requires much more thought
10:51:26 -!- MigoMipo_ has quit (Quit: Lämnar).
10:51:30 <Sgeo> This also assumes that I know what's best
10:52:11 <olsner> ais523: what's itrsquos?
10:52:22 <ais523> with the ' replaced with ’
10:52:25 <ais523> and then the punctuation removed
10:53:14 <elliott> im gonna say itrsquos instead of it's in future now
10:53:25 <olsner> but "it's" written with an apostrophe, not with accents or quotes :/
10:53:41 <ais523> elliott: anyway, about the actual content of the article, what it's suggesting is a bad idea if libraries don't lose features or break when upgraded, and a good idea otherwise
10:54:12 <ais523> I tend to trust libraries not to do that (except in the case of certain CPAN modules...), but in industry, especially with proprietary libraries, I'd be less likely to
10:54:49 <ais523> likewise, build tools that aren't libraries, it's much the same argument
10:56:55 <ais523> meanwhile, the article accessed via the current top link on proggit (http://mjg59.dreamwidth.org/3561.html about rebooting PCs) is actually quite interesting
10:57:30 <elliott> ("accessed via" -- seriously?)
10:58:21 <ais523> elliott: would "at" be enough for you?
10:58:34 <elliott> I'd say "at the top of proggit" at most
10:58:44 <elliott> Nobody's going to think the article is literally embedded there :)
10:58:46 -!- elliott has left ("Leaving").
10:58:51 -!- elliott has joined.
10:59:32 * Sgeo wonders what yeahthat means
10:59:57 <ais523> do leading spaces show up in most IRC clients?
11:00:01 <ais523> apparently they do in mine
11:00:22 <elliott> it folds adjacent spaces after all
11:01:08 <ais523> so if I use multiple spaces between words?
11:01:14 <ais523> that shows up literally on mine too
11:01:18 <ais523> which doesn't surprise me at all
11:01:41 <HackEgo> yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes
11:01:49 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:01:52 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:01:56 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:02 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:09 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:47 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:51 <HackEgo> | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ |
11:02:58 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:59 <ais523> err, that was weird parsing
11:03:04 <HackEgo> y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y
11:03:15 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:03:16 <Sgeo> So many lights!
11:03:44 <elliott> `run yes ' \ \\ \ \ ' | yes '\ \\'
11:03:45 <HackEgo> \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\
11:03:53 <HackEgo> \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\
11:03:58 <ais523> try that one in an actual terminal sometime
11:04:02 <HackEgo> \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\
11:04:03 <Patashu> why is there an infinite loop in posix anyway
11:04:04 <ais523> gnome-terminal will do
11:04:14 <ais523> Patashu: because it wouldn't be TC otherwise?
11:04:21 <elliott> EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
11:04:29 <Sgeo> What, is it bell?
11:04:50 <ais523> I just happened to know that there was a VT100 escape code for filling the screen with copies of the letter E
11:05:36 <Sgeo> Will it work with putty?
11:05:41 <ais523> it's apparently intended to allow you to make sure the terminal's centred on the screen
11:05:44 <ais523> and it wouldn't surprise me if it did
11:05:57 <ais523> even though in graphical terminals, it serves pretty much no purpose whatsoever
11:06:09 <ais523> just in case someone thinks up a use for it, I usppose
11:06:16 <Sgeo> With the prompt in the middle of those Es, but a bit below
11:06:23 <ais523> it doesn't move the cursor
11:06:27 <Patashu> it works on putty? I gotta try this
11:06:30 <ais523> so the prompt just turns up where it would have turned up anyyway
11:06:56 <Sgeo> backspace does nothing, space and backspace clears the line of E
11:07:08 <elliott> im so glad Sgeo is here to do science on the es
11:07:16 <Patashu> doesn't do anything for me
11:07:45 <ais523> now I'm wondering if it works on jettyplay
11:07:59 <ais523> I don't remember implementing it, but one of the libraries I use might do it
11:08:34 <elliott> the screen is already spaces by default...
11:08:38 <elliott> maybe i could use it as a win screen :D
11:09:05 <ais523> oh wow, it does work in jettyplay as well
11:09:08 <ais523> that is so beautifully pointless
11:09:37 <ais523> hmm, it might be fun to put that code in a fruitname in NetHack
11:09:47 -!- aloril has quit (Ping timeout: 246 seconds).
11:18:43 <oerjan> the big applEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEe
11:19:47 <Patashu> would that actually work though?
11:21:05 <ais523> yes in vanilla, due to a bug
11:21:11 <ais523> I'm not sure if it's fixed on NAO
11:21:28 <elliott> that sounds totally worth doing
11:22:09 <Sgeo> Maybe we should all take a different character to mean a correction from elliott
11:22:18 -!- aloril has joined.
11:24:41 <ais523> elliott: have you decided to stick with your current keyboard, then, rather than get one with working numbers?
11:24:53 <ais523> or are the keyboard replacement people just being slow?
11:24:58 <elliott> ais523: well no i plan to get it fixed but it means sending in the entire laptop
11:25:12 <elliott> which means making a full backup and wiping it to something that... doesn't boot into an unsupported OS by default
11:25:19 <elliott> which means i'm a bit... lazy...
11:26:03 <Sgeo> Would they really not fix it or ask for money if it boots into a different OS? It's a hardware issue, isn't it?
11:26:13 <elliott> i dunno what the warranty has to say about that
11:26:25 <elliott> and they might try and see if the number keys work first, maybe?
11:26:32 <elliott> which they couldn't do on ubuntu because lol policy
11:26:42 <elliott> oh, "a stitch in time saves nine" is not actually referring to... a stitch in time
11:26:51 <elliott> i always thought that was like... weirdly time-warpy
11:26:55 <Patashu> you are not actually a surgeon
11:27:13 <Patashu> oh wait I'm exlcuding the wrong part of the saying
11:27:24 <ais523> elliott: hey, that statement would have been perfectly sane from zzo38
11:27:36 <ais523> the only issue with it is the non sequiturism
11:27:42 <elliott> ais523: no it wouldn't, nothing zzo says is sane
11:27:56 <elliott> it would be /expected/, insofar as you can expect inane non-sequiturs at every turn
11:28:22 <ais523> well, you can expect a non-sequitur even if you don't know what precisely it'll be, given the general nature of non sequiturs
11:28:23 <oerjan> a stitch in time flies like an arrow
11:28:23 <augur> you know anything about program derivation?
11:28:39 <elliott> its when you antiintegrate a program
11:28:48 <ais523> hmm, Vorpal isn't here, I wanted to tell him about the new bridge that was being built here
11:28:58 <augur> ill take that as a no
11:29:01 <ais523> because it was apparently cheaper to build a new bridge than figure out who owned the old one
11:29:12 <ais523> even though the bridges are right next to each other and cross the same canal/railway combination
11:29:14 <elliott> ais523: why do you want to tell ol' vorpy that
11:29:22 <ais523> because I think it would amuse him
11:29:52 <ais523> it surprises me a bit that building a bridge is cheaper nowadays than figuring out ownership of an existing bridge
11:30:01 <ais523> all they actually wanted to do was run a network cable along it...
11:30:08 -!- aloril has quit (Ping timeout: 260 seconds).
11:30:32 -!- ralc has joined.
11:31:02 <oerjan> i assume the ownership was at least _somewhat_ disputed...
11:32:15 <ais523> not quite, it's more that the bridge was built so long ago that nobody can remember
11:32:19 <ais523> and there are several plausible options
11:34:17 * oerjan is reminded of http://www.jnto.go.jp/eng/indepth/history/traditionalevents/a05_fes_yamayaki.html
11:35:47 <elliott> summary: "we burn this mountain every year because it happened before"
11:36:03 -!- Ycros has quit (Ping timeout: 248 seconds).
11:36:09 <oerjan> it was more the disputed ownership part
11:37:43 -!- Ycros has joined.
11:38:04 <elliott> 18:10:30: <oerjan> actually i think i learned haskell _after_ unlambda. i don't quite remember.
11:38:04 <elliott> oh, suddenly everything makes sense
11:40:07 <oerjan> especially the "how did you have _no_ problem with monads?" part
11:40:58 <elliott> but then, my learning of haskell consisted of slogging through yaht, giving up out of sheer boredom, ignoring haskell for several months, then popping in the irc channel regularly just because it was a nice interesting place
11:41:08 <elliott> then i took a glance at RWH and LYAH, and suddenly I knew Haskell
11:41:26 <oerjan> wait LYAH existed back then?
11:41:50 <elliott> oerjan: my serious use of haskell started roughly when lyah started being a thing
11:41:54 <elliott> which was like a few years ago?
11:42:03 <elliott> when I read YAHT it didn't exist
11:42:11 <ais523> I didn't have much trouble picking up monads
11:42:19 <ais523> it was a case of starting with simple uses and working up
11:42:28 <ais523> (and I learnt from YAHT, I think)
11:42:42 <elliott> YAHT is really quite a bad tutorial...
11:42:50 <elliott> ...better than Gentle Introduction :)
11:43:09 <elliott> back then there were only those, and Haskell for C Programmers
11:43:10 <ais523> the world needs a good INTERCAL tutorial
11:43:41 -!- aloril has joined.
11:45:00 <elliott> 01:25:32: <Sgeo> The canonical BF CAT program suffers from it
11:45:01 <elliott> 01:26:48: <Sgeo> Slereah-, that stops on NUL
11:45:07 <elliott> 01:26:39: <Slereah-> +[,.]
11:45:09 <elliott> before the last line there
11:46:01 <Sgeo> Are you facepalming at me?
11:46:37 <elliott> Haskell 98 was conceived as a relatively minor tidy-up of Haskell 1.4,
11:46:38 <elliott> making some simplifications, and removing some pitfalls for the unwary
11:46:41 <elliott> booooooooooooooooooooooooooo
11:46:50 <oerjan> having only 256 possible results from a , _does_ lead to the impossibility of implementing cat correctly
11:47:18 <elliott> yes but sgeo's is obviously worse because it doesn't stop on /EOF/ :D
11:47:19 <oerjan> no matter what convention you use for EOF within that
11:48:05 <oerjan> a 16-bit bf with -1 or no change convention could work, though
11:49:29 <elliott> what about a 9-bit bf with an eof=99 conveiont
11:50:09 <olsner> hmm, "nice", on to finding a register assignment that keeps ebx intact from boot to a couple of hundred lines later when I'm ready to start using the data it points to
11:50:52 -!- azaq23 has quit (Quit: Leaving.).
11:51:13 <elliott> olsner: you are still working on that os? :D
11:51:16 -!- azaq23 has joined.
11:51:51 <elliott> oerjan: a thing of beauty surely
11:51:53 <olsner> elliott: yes, rewriting it to boot from multiboot and build to an elf image
11:52:02 <elliott> olsner: but multiboot is shit?
11:52:19 <oerjan> elliott: that works with either -1 or no change, i hope
11:52:39 <oerjan> with a bit redundancy for the former
11:52:57 -!- MigoMipo has joined.
11:53:08 <olsner> elliott: well, I figured that writing *everything* in assembler was starting to become boring, so I might want to make it possible to write some things in C and link it together using somewhat standard tools
11:53:51 <elliott> olsner: so basically...... you figured out the only way you could make it a more boring snooze of an endeavour...
11:54:01 <elliott> oerjan: yes you get pounds of money
11:59:50 <ais523> elliott: EOF 0, others shifted is what I use for new languages I design nowadays
11:59:52 <ais523> except I shift on output too
12:00:02 <ais523> I sometimes call it "incremented ASCII"
12:01:26 <oerjan> ASCII with null pointer
12:01:38 <Patashu> why not set an instruction to jump to when you reach EOF? or something like that
12:01:46 <ais523> I blame ASCII/Unicode for not putting EOF at 0 in the first place
12:02:01 <ais523> Patashu: because that assumes you have something remotely resembling standard flow control
12:02:04 <oerjan> ais523: um that would _still_ not help with binary format
12:02:06 <ais523> in many esolangs you don't
12:02:24 <ais523> oerjan: it's not like esolangs handle binaries well anyway
12:03:02 <oerjan> unlambda _does_ have an instruction to jump to when you reach EOF. if you look at it the right insane way
12:03:27 <ais523> do you have to use it twice to manage that? or can it all be done with one use of c?
12:03:41 <ais523> (I seem to remember that Unlambda's I/O conventions are deliberately designed to be awkward to use)
12:03:55 <oerjan> i believe you can actually do unlambda IO programming without c entirely, but i haven't put my idea into practice
12:04:08 <Slereah_> That is why you should use Lazy Bird
12:04:14 <oerjan> it will leak memory though
12:04:46 <ais523> a v kills your program if you ever try to determine its value, so you'd have to, umm, duplicate the entire rest of the program
12:05:03 <oerjan> ais523: yes. the c is normally only for escaping from a v you apply. but if you use CPS _explicitly_ you don't _have_ to return. and you can still use e to end the program.
12:05:32 <ais523> how do you get the v to obey CPS, though?
12:06:17 <olsner> elliott: I don't think so, more like moving on to making other things fun while finding boring but convenient solutions to some other parts
12:06:17 <oerjan> you don't. it's just that if you do ``vA B or ``iA B where A and B are your branches but A _never_ returns, then you can make it work
12:06:17 <Patashu> what does v do? consume your program?
12:06:44 <ais523> Patashu: it ignores its argument and returns v
12:07:02 <ais523> it's pretty much dynamite for any pure-functional language (in the Unlambda sense), as it's very hard to recover from an errant v
12:07:05 <oerjan> ok B cannot return either
12:07:19 <Patashu> yeah, it blows your program up
12:07:25 <elliott> olsner: you're a fuselage.
12:07:37 <olsner> elliott: what do you mean?
12:07:48 <ais523> oerjan: do you mean ``v`dAB?
12:07:54 <ais523> otherwise I don't see how it can work
12:08:10 <elliott> heh, v is like an unlambda virus
12:08:26 <ais523> and either evaluates both of A and B, or neither
12:08:32 <ais523> I can't quite remember how unlambda evaluation order works
12:09:02 <elliott> but if A and B don't return
12:09:04 <elliott> then the result is irrelevant
12:09:08 <elliott> only the evaluation matters
12:09:15 <ais523> yep, that's why I added the `d
12:09:27 <ais523> otherwise, if A doesn't return, `vA will do the same thing as A
12:09:27 <oerjan> <ais523> do you have to use it twice to manage that? or can it all be done with one use of c? <-- just one, i think, your branches can share their continuation
12:10:21 -!- FireFly has quit (Ping timeout: 240 seconds).
12:10:37 <ais523> boo, unlambda(1) is no longer in the Ubuntu repos
12:11:00 * ais523 uses locally compiled version
12:11:09 <oerjan> <ais523> oerjan: do you mean ``v`dAB? <-- um i'm not being precise here
12:13:37 <oerjan> ```v`d`kAiB is one way, i think
12:13:38 <ais523> hmm, I've been testing
12:13:47 <ais523> and am trying to figure out why ``i`d``.tei``.fei is an infinite loop
12:13:55 <ais523> that makes no sense at all
12:14:13 -!- FireFly has joined.
12:14:20 <ais523> yep, I just copy-pasted from my terminal
12:14:25 <ais523> it prints infinite copies of t
12:14:26 <oerjan> !unlambda ``i`d``.tei``.fei
12:14:32 <ais523> perhaps this is a buggy interp
12:14:35 <ais523> that wouldn't surprise me
12:14:49 <ais523> I get ftttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt...
12:15:05 <oerjan> i recall that superfast C interpreter didn't do d right
12:15:18 <ais523> !unlambda ```i`d``.teii``.fei
12:15:23 <ais523> !unlambda ```v`d``.teii``.fei
12:15:41 <ais523> $ ./unlambda --version
12:15:42 <ais523> Can't open input file: No such file or directory
12:15:47 <ais523> looks like it's Can't's
12:15:54 <oerjan> essentially e acts as a top continuation for your CPS use
12:16:04 <ais523> more seriously, though, /* Copyright (C) 1999 by David A. Madore <david.madore@ens.fr> */
12:16:08 <elliott> maybe i'll write an unlambda interpreter
12:16:17 <oerjan> ais523: what's it written in?
12:16:26 <elliott> although, what was the subtlety of d again?
12:16:38 <ais523> it follows different evaluation rules from everything else
12:16:47 <oerjan> it doesn't evaluate its argument
12:16:55 <oerjan> until that is again applied
12:17:06 <ais523> if you do `XY, the correct way to process that is to evaluate X, then if X isn't d, evaluate Y, then apply X to Y
12:17:25 <ais523> if X is d, though, you just return `dY, and don't evaluate that until it ends up as the first argument to something
12:17:25 <elliott> how on earth could you implement it wrongly? :)
12:17:41 <oerjan> by not understanding it?
12:18:00 <ais523> I imagine it's quite easy to screw up
12:18:04 <elliott> is unlambda ul or unl? latter, right?
12:18:06 <elliott> file extensions and the like
12:18:10 <oerjan> !unlambda is also a C interpreter though iirc
12:18:29 <ais523> anyway, what confuses me is that, with the impossibility of comparing functions, how do you know if the first argument is d or not
12:18:47 <elliott> ais523: by representing it symbolically and forcing it
12:19:01 <elliott> ais523: it is impossible to construct a function with identical semantics to d that is not syntactically d in unlambda
12:19:41 <ais523> or does that not have identical semantics to d?
12:19:48 <ais523> well, I know it doesn't
12:19:54 <ais523> but mathematically it "ought" to
12:19:59 <ais523> assuming I've calculated it correctly
12:20:10 <elliott> there's only the reduction rules
12:20:13 <ais523> putting any other function /but/ d there, it would work identically
12:20:25 <elliott> it isn't applied like functions
12:20:35 <elliott> implemented in the reduction rules for `
12:21:01 <oerjan> ais523: ``s`kdi is not d, no
12:21:13 <ais523> hmm, is ((a b) c) legal in Lisp?
12:21:26 <oerjan> not common lisp, i think
12:21:30 <elliott> hmm, you basically have to thunk everything in an unlambda compiler, right?
12:21:34 <elliott> unless you did fancy strictness analysis, ofc
12:21:47 <ais523> oerjan: I'm not sure if you can call it eta reduction if it's based on combinators rather than lambdas, but it's the same principle
12:22:20 <Sgeo> What's the proper name for the code part without the scope of a closure?
12:22:25 <ais523> hmm, Wikipedia says *eta-conversion
12:22:28 <elliott> oerjan: does unlambda have, erm, "tail-recursion"?
12:22:33 <oerjan> ais523: i believe it is possible to write a function in unlambda which detects whether its argument is d without applying it :)
12:22:37 <elliott> that's a really stupid question
12:22:53 <oerjan> elliott: well any decent interpreter should
12:23:21 <ais523> elliott: it is possible to write an Unlambda interp that runs out of stack space on ```sii``sii using a plausible algorithm
12:23:30 <ais523> so it's not inherently tail-recursive in that sense
12:23:47 <ais523> but decent interps should definitely try to optimise tail-recursion
12:24:34 <oerjan> i have had some thoughts on optimizing things like `eX (by throwing away the original continuation _before_ evaluating X), which would make that c-less style not leak memory, i think
12:24:34 <elliott> unl thka(unl x) { return (*prim_output_x(prim_i))(x); }
12:24:34 <elliott> unl thkb(unl x) { return (*prim_d(thka))(x); }
12:24:34 <elliott> unl thkc(unl x) { return (*prim_i(thkb))(x); }
12:24:34 <elliott> unl thkd(unl x) { return (*thkc(prim_i))(x); }
12:24:38 <elliott> unfortunately this fails at the top level
12:24:42 <elliott> because you don't want to apply the final result of a program
12:24:59 <elliott> OTOH, I could have a special dummy value, which all the primitives just recognise and return immediately on, to call the whole program with :)
12:25:00 <ais523> the final result can just be discarded
12:25:06 <elliott> here unl is just a function from unl -> unl
12:25:13 <elliott> if the whole program is a thunk like this
12:25:27 <elliott> then you have to apply the final result to make anything happen
12:25:31 <Sgeo> GODDAMN IT REDDIT STOP EQUATING "DEEP WEB" WITH TOR HIDDEN SERVICES
12:25:31 <ais523> ah, are you writing a compiler rather than an interp?
12:25:38 <elliott> ais523: yes, just had a breakthrough sort of
12:25:55 <Sgeo> </randomly-ticked-off>
12:27:28 <Patashu> deep web just means you have your robots.txt set to prevent search engine indexing, right?
12:28:25 <oerjan> elliott: in unlambda, evaluation and application are separate operations, and you need both.
12:28:40 <elliott> oerjan: but that destroys my beautiful nice fast evaluation model :(
12:28:55 <elliott> i think it actually doubles the number of required jumps
12:28:57 <Sgeo> Or you use AJAX in a really braindead way. Or I guess Tor Hidden Services are technically a part, but people are talking as though "deep web" is something scary and mysterious
12:29:10 <elliott> oerjan: it even made the whole thunk thing transparent :(
12:29:16 <Sgeo> When they mean to refer to Tor hidden services
12:39:39 <elliott> oerjan: basically i was trying to unify thunks and functions...
12:39:54 <elliott> oerjan: by just making thunks pretend they're the function they evaluate to, by forcing themselves and then passing that argument on
12:42:10 <Sgeo> About to take a Tylenol
12:43:19 <ais523> Sgeo: you know you can just /msg yourself?
12:43:27 <ais523> or does your client not have local logs?
12:43:34 <Sgeo> It has local logs
12:43:48 <Sgeo> Hmm, am I actually bothering people here
12:44:36 <Sgeo> I guess I just felt more comfortable with the log on the web, but it's really unnecessary, sorry
12:44:37 <elliott> only in the cosmic microwave background radiation sense.
12:44:58 <ais523> Sgeo: it's not really bothersome, it just looks weird
12:45:09 <ais523> I suppose I'm hoping for you to make less of a fool of yourself in public
12:45:34 <elliott> Phantom_Hoover: its always there and vaguely annoying
12:45:45 <elliott> although mostly in a cringe-on-behalf way
12:45:50 <elliott> sorry what do you mean cmbr isnt like that it totally is
12:46:07 <oerjan> !addinterp utest unlambda ```sii````@i|i<c>
12:46:07 <EgoBot> Interpreter utest installed.
12:46:13 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.2987: parse error
12:46:35 <EgoBot> Interpreter utest deleted.
12:46:41 <oerjan> !addinterp utest unlambda ```sii````@i|i`ci
12:46:41 <ais523> why is that c in angle brackets?
12:46:42 <EgoBot> Interpreter utest installed.
12:46:53 <oerjan> because i copied the wrong line :D
12:48:00 <EgoBot> Interpreter utest deleted.
12:48:58 <oerjan> !addinterp utest unlambda ```sii``d``@i|`ci
12:48:58 <EgoBot> Interpreter utest installed.
12:49:16 <oerjan> ..._somewhat_ disappointing
12:49:57 <elliott> oerjan: thunks are ugly :(
12:50:06 <EgoBot> Interpreter utest deleted.
12:51:05 <oerjan> !addinterp utest unlambda ```sii``d```@i|i`ci
12:51:06 <EgoBot> Interpreter utest installed.
12:51:48 <ais523> elliott: any opinion on OO.o being donated to Apache?
12:52:13 * ais523 guesses no, but isn't sure
12:52:55 <elliott> ais523: does anyone care, now that LibreOffice has taken over?
12:52:58 <elliott> I didn't even know it was donated
12:53:11 <elliott> the only people who still use OO.o are, I guess, Windows users who don't have the kind of transition Linux distros are doing
12:53:15 <ais523> elliott: well, LO care, because it's under a license that lets them copy code back out
12:53:27 <ais523> so it saves them having to reimplement features
12:53:37 <elliott> ais523: I sort of doubt openoffice will get much active development now that libreoffice exists
12:53:42 <ais523> and the trademark was donated too, so it's possible that LO will get to call themselves OpenOffice.org again after all
12:53:52 <elliott> hmm, I actually prefer LibreOffice as a name
12:53:55 <elliott> the .org necessity was always ugly
12:54:01 <ais523> if Apache decides to give them the trademark
12:54:01 <elliott> admittedly, OpenOffice (no .org) has brand recognitino
12:54:27 <ais523> OOo is a great acronym
12:54:36 <ais523> and pretty recognisable
12:54:37 <elliott> ais523: anyway, OO.o and LibreOffice are both very ugly, slow programs with lots of bad design and kludginess
12:54:47 <elliott> I avoid them at pretty much all costs, personally
12:54:56 <elliott> If I really want a WYSIWYG word processor for some reason, AbiWord is usually OK
12:54:57 <ais523> aren't all WYSIWYG word processors, though?
12:55:19 <elliott> I'd say AbiWord is much better than OO.o/LO's word processor as far as UI goes
12:55:21 <ais523> I have other alternatives for word processing
12:55:28 <ais523> and for spreadsheets, too
12:55:31 <ais523> but not really for presentations
12:55:44 <ais523> so I still need to use the office suite for something
12:55:46 <elliott> Well, there's always latex with beamer :)
12:56:00 <elliott> Or one of them fancy ~~semantickal~~ HTML-based things.
12:56:11 <olsner> I use html and opera for all my presentations
12:56:42 <olsner> there's a css media query you can use to check if you're in full screen (which is either opera-specific or only works in opera, but whatever :D)
12:57:06 <elliott> implying there's a standard that only opera implements correctly
12:57:20 <ais523> hmm, apparently Windows 8 has done a Gnome Shell/Unity, and come up with a new crazy tile-based "start screen"
12:57:22 <elliott> (implying that opera implements any standard correctly)
12:57:35 <ais523> so we won't even be able to use Windows either to get away from the UI reinvention nonsense
12:57:35 <elliott> ais523: it looks exactly like Windows Phone, to be honest
12:57:50 <ais523> and Unity was stolen from UNR
12:57:50 <elliott> ais523: It looks fairly decent for tablets
12:57:56 <olsner> I think this part just isn't in the standard
12:58:13 <elliott> ais523: I'm sort of thinking desktops are on the road to extinction, though
12:58:26 <ais523> olsner: you can't rely on opera to be present on another computer
12:58:44 <elliott> Netbooks are wildly popular, tablets are probably going to be once they get down to a lower pricepoint (without being saddled with ridiculously inappropriate software like Android)
12:58:44 <olsner> read something about a proposal to add something similar with a different name to CSS last week though
12:58:51 <elliott> Even laptops have desktop-esque specs nowadays
12:58:59 <elliott> I think desktops may be marginalised relatively soon
12:59:03 <ais523> when I take a really important presentation with me, I save it as .odp, .ppt, and .pdf, and take a live-executable for Windows for both Sumatra and OOo
12:59:05 <olsner> ais523: I can if my presentation requires opera, or if I bring my own laptop
12:59:15 <ais523> and then normally, at least one will work
12:59:33 <Phantom_Hoover> <elliott> I think desktops may be marginalised relatively soon
12:59:43 <olsner> (i.e. assuming X, X is in fact true)
12:59:46 <ais523> (typically I use the .pdf with Adobe Reader; Sumatra has issues rendering thin lines, in that it draws them as thin as the PDF suggests rather than widening them to 1 pixel)
12:59:46 <elliott> Phantom_Hoover: those are marginal
12:59:55 <elliott> Phantom_Hoover: come on, you answered that one yourself
12:59:57 <Lymia> Phantom_Hoover, yeah.
13:00:09 <Lymia> Laptops are a little too convenient. =p
13:00:42 <Lymia> Though I do want a desktop machine to host a ssh server on for tunneling.
13:00:44 <EgoBot> Interpreter utest deleted.
13:01:30 <oerjan> !addinterp utest unlambda ```sii``d`@|`ci
13:01:31 <EgoBot> Interpreter utest installed.
13:01:48 <Lymia> !utest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
13:01:49 <EgoBot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
13:02:29 <Patashu> !utest here comes another chinese earthquake brbrbrbrbr
13:02:29 <EgoBot> here comes another chinese earthquake brbrbrbrbr
13:03:22 <EgoBot> Interpreter utest deleted.
13:04:00 <oerjan> !addinterp utest unlambda ```s`d`@|i`ci
13:04:00 <EgoBot> Interpreter utest installed.
13:04:40 <elliott> oerjan: hmm, does unlambda's `dX ever execute X more than once?
13:04:48 <elliott> i.e. is it like call-by-name or just lazy evaluation?
13:05:08 <elliott> oerjan: so I don't have to do the Haskellian "thunks stub themselves out with {return value;} upon evaluation"?
13:05:32 <elliott> ooh, what if I combined forcing and evaluation with a parameter...
13:09:15 <EgoBot> Interpreter utest deleted.
13:09:24 <oerjan> !addinterp ucat unlambda ```s`d`@|i`ci
13:09:24 <EgoBot> Interpreter ucat installed.
13:10:03 <oerjan> don't see any further improvement on the spot
13:10:31 <oerjan> and it is nicely incomprehensible
13:10:47 <Patashu> !ucat here comes another chinese earthquake brbrbrbrbr
13:10:47 <EgoBot> here comes another chinese earthquake brbrbrbrbr
13:19:39 <elliott> how many damn chinese earthquakes are ther
13:21:56 <Lymia> !ucat I am a mouse
13:29:49 <elliott> oerjan: gah, I feel like I could get unlambda evaluation steps down to a few instructions, but the c compiler is getting in my way
13:30:14 <oerjan> !unlambda ``.a`cd`.c`c.b
13:30:36 <oerjan> !unlambda ``r`cd`.c`c.b
13:31:23 <oerjan> !unlambda ``r`cd`.c`c.b
13:32:30 -!- EgoBot has quit (Remote host closed the connection).
13:32:41 -!- EgoBot has joined.
13:32:44 <elliott> hmm, but this is an extra branch each time...
13:33:04 <oerjan> that DCC output was something insane (it contained _control_ characters!)
13:33:09 <oerjan> !unlambda ``r`cd`.c`c.b
13:35:43 <oerjan> i may suspect someone of having done +[[.+]+] in a privmsg
13:36:17 <oerjan> because that's what the DCC output i got before it quit looked like
13:36:40 <oerjan> and there's a bug that sometimes causes long output to be sent to the wrong place
13:38:27 <elliott> oerjan: what is the semantics of .x again?
13:38:33 <elliott> i forget how `.xX is defined
13:39:26 <elliott> oerjan: so X is evaluated before x is output?
13:39:57 <elliott> unl prim_out_x(unl _, unl k) {
13:39:58 <elliott> if (!k) return prim_out_x;
13:41:15 <elliott> oerjan: http://sprunge.us/UcGh
13:41:21 <elliott> oerjan: what do you think about this for an evaluation model?
13:41:30 <elliott> assume that the C implementation does tail-call optimisation
13:41:46 <elliott> the whole program would be evaluated with FORCE(thk_d)
13:42:00 <elliott> prim_i needs wrapping in a closure structure
13:42:46 <oerjan> i don't think my brain can manage the context switch at the moment
13:45:42 <elliott> http://sprunge.us/JaYP there... hmm
13:45:48 <elliott> i guess it should pass the pointer to the whole closure
13:51:10 <Patashu> this is C++? what does 'closure' do?
13:51:38 <Lymia> !python ''.join(chr((x%255)+1) for x in range(200))
13:51:59 <oerjan> i don't think there is python in egobot
13:52:01 <Lymia> !addinterp recursion recursion2
13:52:01 <EgoBot> Interpreter recursion2 does not exist!
13:52:11 <Lymia> !addinterp recursion python
13:52:11 <EgoBot> Interpreter python does not exist!
13:52:21 <Lymia> !addinterp recursion unlambda
13:52:22 <EgoBot> Interpreter recursion installed.
13:52:28 <Lymia> !addinterp recursion2 recursion
13:52:28 <EgoBot> Interpreter recursion2 installed.
13:52:32 <Lymia> !addinterp recursion recursion2
13:52:32 <EgoBot> There is already an interpreter for recursion!
13:52:41 <Lymia> !delinterp recursion
13:52:44 <EgoBot> Interpreter recursion deleted.
13:52:46 <Lymia> !addinterp recursion recursion2
13:52:46 <EgoBot> Interpreter recursion installed.
13:52:51 <elliott> <Patashu> this is C++? what does 'closure' do?
13:52:56 <elliott> and it is the name of the struct.
13:53:42 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000))
13:54:02 <oerjan> !haskell putStr ['\001'..'\201']
13:54:29 <Lymia> !haskell putStr '\000'
13:54:44 <Lymia> * Received a DCC CHAT offer from EgoBot
13:54:57 <oerjan> Lymia: python is not an interpreter, you cannot use it that way, but since it's in /usr/bin you might be able to run it with sh
13:55:15 <oerjan> !haskell putStr ['\001'..'\201']
13:55:40 <oerjan> ah right it sends a newline before anything interesting
13:55:58 <oerjan> !haskell putStr ['\014'..'\201']
13:56:00 <EgoBot> .................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
13:58:05 <oerjan> !sh python -c 'print "Hello"'
13:58:40 -!- Sgeo has quit (Ping timeout: 252 seconds).
13:58:48 <oerjan> !addinterp python sh python
13:58:49 <EgoBot> Interpreter python installed.
13:59:34 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')+1))
13:59:42 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')-1))
14:00:30 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:31 <EgoBot> .............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
14:00:39 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:40 <EgoBot> Traceback (most recent call last):
14:00:54 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:55 <EgoBot> Traceback (most recent call last):
14:01:11 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100))
14:01:22 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100))
14:01:23 <EgoBot> NUs2.&./x(F.LP.}.=.z@~{D7Q..Hg.Q.ۂO0Na{.'.I..
14:01:34 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(10000))
14:01:35 <EgoBot> .I..~zdRT [l7.9a5(^.0
14:01:51 <Lymia> !python a=[None];a[0]=a;print a
14:02:25 <Lymia> !python a=[None];a[0]=a;flatten(a)
14:02:25 <EgoBot> Traceback (most recent call last):
14:06:37 <Lymia> !python print '\nQUIT :This better not work'
14:06:49 <Lymia> !python print '\r\nQUIT :This better not work'
14:07:03 <Lymia> !python print "So much DCC Chat"
14:11:26 <ais523> <Aaron Sloman> (Pop-11 has most of the virtues of python, [...]
14:11:37 <ais523> wow he was brave to say that on a relatively widely read internal mailing list
14:11:42 <ais523> I wonder if there will be flames in response
14:12:45 <elliott> ais523: It's computer science/software engineering, we're hardly known for being quiet and reserved with our opinions
14:13:08 <ais523> but I never thought I'd see POP-11 compared with Python
14:13:26 <ais523> (POP-11's a domain-specific language designed for writing ELIZA-like AI bots, as far as I can tell)
14:13:31 <elliott> POP-11 was pretty advanced, I gather
14:13:53 <elliott> "An online version of ELIZA using Pop-11 is available at Birmingham." is the only thing Wikipedia says that would make me think that.
14:14:11 <ais523> perhaps I just saw a biased subset of it from someone who was really an ELIZA freak
14:14:23 <elliott> POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, [...] POP-11 is an evolution of the language POP-2, developed in Edinburgh University and features an open stack model (like Forth). It is mainly procedural, but supports declarative language constructs, including a
14:14:23 <elliott> pattern matcher and is mostly used for research and teaching in Artificial Intelligence, although it has features sufficient for many other classes of problems. It is often used to introduce symbolic programming techniques to programmers of more conventional languages like Pascal, who find POP syntax more familiar than that of Lisp. One of POP-11's features is that it supports first-class functions.
14:14:28 <elliott> Pop-11 is the core language of the Poplog system. The fact that the compiler and compiler subroutines are available at run-time (a requirement for incremental compilation) gives it the ability to support a far wider range of extensions than would be possible using only a macro facility.
14:14:32 <elliott> it actually sounds quite expressive and advanced to me
14:14:42 <elliott> ais523: there exist ELIZA freaks?
14:15:50 <ais523> the language seems based on pattern-matching lists, anyway
14:16:11 <ais523> you end up with lots of deeply nested lists writing it
14:18:25 <elliott> wow, ghc does really terribly at small functions
14:18:32 <elliott> the prologue and epilogue are just so long
14:23:35 -!- oerjan has quit (Quit: *COUGH* *HACK*).
14:24:37 <ais523> the prologue/epilogue are pretty much hard coded in gcc
14:25:03 <ais523> I think they're literally hard coded in gcc-bf, there's a string that's spit out at the beginning and end of each function that's quite long
14:25:14 <ais523> with even the newlines and tabs embedded
14:27:59 <elliott> yep; unfortunately, I have a lot of really tiny functions, so I really suffer for it
14:30:14 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:38:43 -!- augur has quit (Remote host closed the connection).
14:50:58 -!- Vorpal has joined.
14:51:12 <elliott> stanislav rapidly reaching levels of smugness even i cannot stand
14:53:01 <Vorpal> elliott, what is the spec like so far?
14:53:17 <elliott> olsner: guy who writes loper-os.org
14:53:21 <Vorpal> elliott, ah, may I see it?
14:53:53 -!- copumpkin has joined.
14:54:10 <elliott> Vorpal: 9f0jer0g9jrtmreor09.onion
14:54:25 <elliott> the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental.
14:58:03 <Patashu> http://mspaintadventures.com/sweetbroandhellajeff/?cid=031.jpg new abahj
15:01:16 <elliott> also, arabian bartender and hasidic juice-drinker?
15:03:38 <elliott> Patashu: http://twitter.com/#!/andrewhussie/status/68546368226066432
15:06:32 -!- augur has joined.
15:12:33 -!- ais523 has quit (Remote host closed the connection).
15:14:30 -!- azaq23 has quit (Quit: Leaving.).
15:15:37 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:18:35 <elliott> where's oerjan when you need him
15:21:24 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
16:09:41 -!- Phantom_Hoover has joined.
16:16:58 -!- elliott_ has joined.
16:16:59 -!- elliott has quit (Read error: Connection reset by peer).
16:29:36 -!- ais523 has joined.
16:30:50 -!- copumpkin has quit (Ping timeout: 252 seconds).
16:43:35 -!- copumpkin has joined.
16:47:32 -!- pikhq has quit (Ping timeout: 240 seconds).
16:47:33 -!- pikhq_ has joined.
16:57:32 <elliott_> ais523: `i`dX doesn't evaluate X does it...
16:57:59 <ais523> `dX doesn't evaluate X until it's on the LHS of an application
16:58:10 <ais523> then it evaluates X, then the RHS of the application, then applies them to each other
16:58:25 <elliott_> ais523: this really complicates my evaluation model :(
16:58:34 <elliott_> it might even completely break it
16:58:37 <ais523> it's definitely nontrivial
16:58:47 <ais523> in fact, I think d is in the language mostly /because/ it's a pain to implement
16:58:50 <elliott_> just requires some Fancy Tricks
17:03:19 <Gregor> lol, this phishing scam claims to be "ACCOUNT VERIFICATION"
17:03:30 <Gregor> Apparently they have a trademark on the word "account
17:07:32 <elliott_> I'm going to trademark "account[\n]"
17:08:55 <Gregor> elliott_: ITYM "account\n<Gregor>"
17:28:50 <pikhq_> Oh, wow. ext filesystems on Linux do not normalize filenames.
17:29:15 <pikhq_> They just store the byte sequence handed to them as the filename.
17:29:37 <pikhq_> You can have two different filenames that are, as far as Unicode is considered, identical.
17:29:58 <pikhq_> s/considered/concerned/
17:29:59 <pikhq_> (though quite distinct as far as a more naive strcmp() is concerned)
17:31:38 <fizzie> I have a feeling OS X normalizes to NFD or NFKD, I think; at least on some level, since I haven't managed to get an "ä" in a file name that wouldn't have been decomposed into a and combining-diaeresis.
17:32:25 <pikhq_> It doesn't matter that much what *form* you normalise to, what matters is that you actually apply Unicode normalisation...
17:32:34 <pikhq_> To do otherwise is broken.
17:32:58 -!- monqy has joined.
17:34:58 <fizzie> I don't think the filesystem level (at least for ext*) defines the character set at all; it's just defined in terms of octet sequences. So the normalization would either have to happen on a higher level; or you would need to mandate Unicode and, say, UTF-8.
17:37:24 <fizzie> Perhaps on the VFS level or something. I think some filesystems do respect the "iocharset" option for doing some character-set conversions.
17:39:42 <pikhq_> It certainly needs to be somewhere in there, though.
17:43:10 <fizzie> Well, now; if your primary interface (the C runtime) is specified in terms of char*s with no inherent character set...
17:51:48 -!- augur has changed nick to codjahandarie.
17:52:48 -!- pikhq_ has quit (Ping timeout: 241 seconds).
17:52:53 -!- pikhq has joined.
17:53:04 -!- codjahandarie has changed nick to augur.
17:58:58 -!- TOGoS has joined.
17:59:04 -!- TOGoS has left.
18:00:25 <fizzie> "You have the ultimate responsibility for moving your old e-mails to the new inbox." -- I don't know, somehow I find this very funnily said. The ultimate responsibility!
18:13:34 <Gregor> Possibly the most onerous task you will ever be asked to undertake :P
18:16:42 <Vorpal> <elliott> Vorpal: 9f0jer0g9jrtmreor09.onion
18:16:43 <Vorpal> <elliott> the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental.
18:16:56 <Vorpal> I don't have tor on this computer
18:19:45 <fizzie> Gregor: It got funnier. "Staff e-mails will be moved by IT Services in cooperation with the staff members, while students may ask for advice but move the e-mails themselves." See, students are assumed to be able to handle such a complicated thing, while us staff obviously will just mess it up.
18:20:05 -!- zzo38 has joined.
18:26:26 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
18:30:57 -!- Phantom_Hoover has joined.
18:35:08 -!- TeruFSX has quit (Ping timeout: 252 seconds).
18:39:19 <fizzie> Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image.
18:39:44 <fizzie> The wavy version also for some reason perceptually speaking seems to make the room larger.
18:46:07 -!- ais523 has quit (Remote host closed the connection).
18:48:31 -!- ralc has quit (Quit: Leaving).
18:53:01 -!- sebbu2 has quit (Read error: Connection reset by peer).
18:54:37 -!- sebbu has joined.
18:54:37 -!- sebbu has quit (Changing host).
18:54:37 -!- sebbu has joined.
19:02:52 -!- calamari has joined.
19:07:00 <Phantom_Hoover> There are no decent torrents for the 4th series of Futurama.
19:07:01 <fizzie> Phantom_Hoover: It was a sort of "so I woke up to walk here before 08am, I guess I should be doing something so that I won't fall asleep before the talk begins" situation.
19:08:32 <Phantom_Hoover> http://torrentz.eu/d04ca09c3e18a77ea650708a708be7911edac5f6
19:08:47 <Phantom_Hoover> 'Complete'; WP lists at least 5 more episodes on the series.
19:14:50 -!- oerjan has joined.
19:15:47 -!- cheater_ has quit (Ping timeout: 248 seconds).
19:18:19 <oerjan> 09:39:42 <ais523> `dX doesn't evaluate X until it's on the LHS of an application
19:18:25 <oerjan> 09:39:53 <ais523> then it evaluates X, then the RHS of the application, then applies them to each other
19:18:38 <oerjan> incorrect, the RHS is evaluated first
19:38:25 <elliott_> it completely breaks my model :(
19:38:34 <elliott_> because functions handle frocing their arguments
19:39:30 <CakeProphet> elliott_: the main problem I see with this approach is that it's NOT a hybrid of Perl and Haskell.
19:39:34 <elliott_> oerjan: can i have expanation mark
19:40:06 <oerjan> maybe you could if i had any idea what it was.
19:41:58 <oerjan> elliott_: my ocaml model also made functions handle forcing their arguments
19:42:18 <oerjan> so it definitely can work
19:42:18 <elliott_> oerjan: i sure hope you are not with the stealing of my model bastard :/
19:42:42 <oerjan> yeah, stealing it, inventing a time machine and going back to 2002
19:43:25 <oerjan> in a very liberal sense, yes.
19:44:13 <oerjan> it generates an ocaml program in which the unlambda functions are ocaml functions
19:44:22 <elliott_> oerjan: also my model doesn't handle call/cc... yet
19:44:23 <oerjan> but it does so simply by composing parts
19:44:35 <elliott_> my compiler is kind of like that too
19:44:37 <elliott_> THUNK(a, APPLY(&prim_out_x, &prim_i))
19:44:37 <elliott_> THUNK(b, APPLY(&prim_d, &thk_a))
19:44:37 <elliott_> THUNK(c, APPLY(&prim_i, &thk_b))
19:44:37 <elliott_> THUNK(d, APPLY(&thk_c, &prim_i))
19:44:50 <elliott_> you could do analysis to find that d could not be possibly applied in some application
19:44:54 <elliott_> and so fold a bunch of thunks into one
19:45:21 <CakeProphet> !addinterp keys haskell putStrLn $ map toEnum ([33..64]++[91..96]++[123..126])
19:45:22 <EgoBot> Interpreter keys installed.
19:45:26 <EgoBot> !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
19:46:59 <oerjan> CakeProphet: um the problem is none of the bots have a prefix elliott_ can type, except lambdabot whose @let definitions tend to get wiped out
19:47:34 <oerjan> (a rather direct consequence of the fact the only command to remove @let definitions removes all of them)
19:47:54 <oerjan> elliott_: oh you can type ` without problems?
19:48:07 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
19:48:45 <elliott_> `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >bin/k
19:48:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k
19:49:09 <HackEgo> echo '!"#$%^&* 0123456789'
19:49:11 <elliott_> can someone prepend a shebang to that
19:49:54 <CakeProphet> but I don't know any other useful commands for that.
19:49:59 <oerjan> THAT'S NOT A REASONABLE RESTRICTION
19:50:38 -!- cheater_ has joined.
19:51:17 <CakeProphet> `run perl -pie '"#!/bin/sh\n" . <>' /bin/k
19:51:46 <olsner> CakeProphet: wtf, that was perl, we all saw it
19:51:48 <oerjan> CakeProphet: it's bin/k with no /
19:51:51 <olsner> looks like it failed too
19:52:08 <HackEgo> echo '!"#$%^&* 0123456789'
19:52:33 <CakeProphet> `run perl -pi -e '"#!/bin/sh\n" . <>' bin/k
19:52:35 <HackEgo> echo '!"#$%^&* 0123456789'
19:52:55 <CakeProphet> for some reason you have to put the -e seperately with this one.
19:53:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k
19:53:39 <elliott_> `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >>bin/k
19:53:49 <CakeProphet> ah I should have either taken off the -p or changed <> to $_
19:54:06 <EgoBot> Interpreter keys deleted.
19:54:34 <olsner> `run echo '!"#$%^&* 0123456789' | sed 's,^,#!/usr/bin/perl\n,'
19:54:36 <HackEgo> #!/usr/bin/perl \ !"#$%^&* 0123456789
19:55:20 <oerjan> lifthrasiir: no wildcards without `run
19:56:02 <oerjan> elliott_: hackego has plenty in /bin too...
19:56:10 <lifthrasiir> elliott_, no, i want to add `k, `sk (and so on) commands that can be used as an unlambda interpreter
19:56:20 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.12483: parse error
19:57:09 <oerjan> it's rather useless to start an unlambda program with anyhow
19:57:47 <lifthrasiir> ` is taken literally, so i think it's just fine
19:58:07 <elliott_> oerjan: obviously they have to work by calling each other, duh
19:58:53 <elliott_> | (“reprint character read”) only in Unlambda version 2 and greater
19:58:54 <elliott_> The | function takes an argument X. It returns the evaluation of `X.x, where x is the current character (the one read by the last application of @) or of `Xv if there is no current character (i.e. if @ has not yet been applied or if it has encountered an EOF).
19:58:58 <elliott_> this is a really ugly instruction imo
19:59:25 <elliott_> oerjan: can you write something that tests the corner-cases of d and its interaction with things like s >_>
19:59:26 <lifthrasiir> `run (echo '#!/bin/sh'; echo "(echo '``'; cat) | interps/unlambda/unlambda.bin") > bin/'`' && chmod +x bin/'`'
19:59:41 <elliott_> lifthrasiir: interps/ is egobot.
19:59:44 <EgoBot> unlambda ```s`d`@|i`ci
19:59:53 <elliott_> lifthrasiir: you can use addinterp
20:00:06 <elliott_> which i havent bothered to implement yet
20:03:07 <elliott_> oerjan: ok i will struggle on my own >_>
20:03:11 <oerjan> there is the famous ``r`cd`.*`cd hack, although that really just uses d in ways that are equivalent to i
20:03:14 -!- pikhq has quit (Ping timeout: 240 seconds).
20:03:16 -!- pikhq_ has joined.
20:04:32 <zzo38> You have wrong character at the start
20:04:56 <oerjan> !unlambda ```s`kd`k.x.y
20:05:22 <zzo38> Yes, but it still doesn't seem to work.
20:05:34 <elliott_> good enough test program for me
20:05:51 <elliott_> !unlambda ```s`d`.xv`.yv`d`.zv
20:05:56 <elliott_> !unlambda ```s`d`.xv`d`.yv`d`.zv
20:06:08 <elliott_> oerjan: yours looks simpler than mine :D
20:07:10 <oerjan> !unlambda ````sd`k.x.yi
20:08:04 <CakeProphet> Could someone please output a quine in IRC?
20:08:06 <elliott_> oerjan: argh, do i have to manually convert again?
20:08:37 <CakeProphet> man, fucking IRC programming, finnicky shit.
20:08:41 <quintopia> CakeProphet: my status line doesn't say "#irp"
20:09:09 <elliott_> oerjan: is your old program ok
20:09:12 <elliott_> or do i have to try that one too
20:15:39 <CakeProphet> ?????????????????????????????????????????????????????????????/
20:15:49 <lambdabot> "??????????????????????????????????????????????????????????????????????????...
20:17:20 <oerjan> oh _that_ ancient crap
20:18:00 <oerjan> i'd imagine you'd want to try as many of them as possible
20:18:26 <elliott_> oerjan: i have to convert these by _hand_ you know :D
20:18:31 <elliott_> THUNK(a, APPLY(&prim_s, &prim_d))
20:18:32 <elliott_> THUNK(b, APPLY(&prim_k, &prim_out_x))
20:18:34 <elliott_> THUNK(c, APPLY(&thk_a, &thk_b))
20:18:36 <elliott_> THUNK(d, APPLY(&thk_c, &prim_out_y))
20:18:38 <elliott_> that's tangible work[EXCLAMATION MARK]
20:18:53 <oerjan> ...i see. i suggest writing a compiler to do it, or something.
20:20:19 <pikhq_> elliott_: Why, that looks *suspiciously* like clambda.h stuff.
20:20:36 <elliott_> pikhq_: its not similar really, the thunks are pretty different
20:20:56 <elliott_> http://forums.silverlight.net/forums/p/230502/562113.aspx As Windows 8 dawns, Silverlight developers begin to dwell -- if only for seconds -- on the possibility that their platform may be an abandoned pile of shit.
20:21:07 <elliott_> pikhq_: #define FORCE(x) (x)->code((x), 0)
20:21:07 <elliott_> #define APPLY(f, x) (f)->code((f), (x))
20:21:15 <elliott_> pikhq_: basically its lazy evaluation where every function acts like the function it evaluates to
20:21:19 <elliott_> but if you pass a NULL argument
20:21:26 <elliott_> it is actually a decent system imo...
20:21:32 <pikhq_> Oh, hey, a smarter design.
20:21:48 <elliott_> this is just for an unlambda compiler
20:22:53 <pikhq_> I still can't believe I actually did that shit...
20:23:13 <pikhq_> What's worst is that it's not too revolting.
20:23:30 -!- muaddib1 has joined.
20:24:43 <elliott_> muaddib1: you appear to be missing your l and t
20:24:47 <elliott_> i've got spares, would you like them?
20:26:31 <elliott_> oerjan: http://esolangs.org/w/index.php?title=Talk:This%3DThat&curid=2951&diff=23195&oldid=18848 can you handle {{unsigned}} duties :D
20:26:46 -!- muaddib1 has left.
20:27:29 <oerjan> erm i saw that and it annoyed me, but technically it _is_ signed, i think he may have used the wrong number of ~'s?
20:27:41 <Vorpal> <fizzie> Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image.
20:27:51 * oerjan just clicks the signing button himself...
20:28:04 <Gregor> I believe that by "incidentally" you meant "apropos of nothing" X-P
20:28:19 <Vorpal> <fizzie> The wavy version also for some reason perceptually speaking seems to make the room larger. <-- indeed
20:29:06 <elliott_> oerjan: But that'll produce the wrong date/time >_>
20:29:27 <elliott_> oerjan: because you're signing it later
20:29:42 <oerjan> um i mean when i sign my own messages
20:29:56 <elliott_> well it isn't signed _properly_ :(
20:56:46 -!- Sgeo has joined.
21:14:39 -!- wareya has quit (Read error: Connection reset by peer).
21:15:15 <oerjan> wtf that's a big comment thread http://www.reddit.com/r/AskReddit/comments/hpx98/what_pisses_you_off_but_really_shouldnt/
21:15:23 -!- wareya has joined.
21:18:24 <elliott_> its like reddit circlejerk heaven
21:18:27 <cheater_> http://spritesmods.com/?art=avrcpm
21:18:41 <oerjan> curiously it doesn't have that many _upvotes_
21:18:53 <elliott_> oerjan: hmm, well we know the counters are fudged
21:19:14 <oerjan> elliott_: only the up/down tallies, not the difference
21:19:35 <elliott_> oerjan: you get posts that are like sixty/thirty which in reality only got like a dozen downvote
21:20:10 <oerjan> elliott_: um i've read reddit admins saying that while up and down are fudged, the _difference_ is accurate.
22:07:15 -!- pikhq has joined.
22:08:17 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:18:21 -!- MigoMipo has quit (Remote host closed the connection).
22:36:22 -!- Patashu has joined.
22:36:52 -!- calamari has quit (Quit: Leaving).
22:40:24 -!- oerjan has quit (Quit: Good night).
22:42:32 -!- Vorpal has quit (Ping timeout: 255 seconds).
22:44:16 -!- augur has quit (Remote host closed the connection).
22:49:31 <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538
22:52:09 <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:49 <elliott_> `addquote <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 <Phantom_Hoover> APT GUY STRIKES AGAIN <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:50 <HackEgo> 434) <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 <Phantom_Hoover> APT GUY STRIKES AGAIN <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:59 <elliott_> Phantom_Hoover: wait which one is apt guy again :D
22:53:27 <Phantom_Hoover> Although he did appear to be reforming to the extent of at least learning Haskell.
22:54:47 <elliott_> your niditism is at all all time low
23:02:43 <Gregor> elliott_ is a major nidiot.
23:16:18 -!- augur has joined.
23:18:42 -!- elliott_ has quit (Ping timeout: 252 seconds).
23:29:40 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
23:31:02 -!- pikhq_ has joined.
23:33:52 -!- pikhq has quit (Ping timeout: 240 seconds).
00:00:13 -!- CakeProphet has quit (Ping timeout: 276 seconds).
00:01:55 -!- CakeProphet has joined.
00:01:55 -!- CakeProphet has quit (Changing host).
00:01:55 -!- CakeProphet has joined.
00:13:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:17:53 <Sgeo> I think I just figured out how to give my native function calling O(log n) complexity
00:18:10 <Sgeo> Highly inspired by a sleep-deprived misreading of something someone else wrote
00:22:36 -!- FireFly has quit (Quit: swatted to death).
00:26:55 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:26:57 -!- Phantom__Hoover has joined.
00:30:02 <Sgeo> I just need to do a hard-coded binary search
00:31:23 <olsner> wear down your defences until weird ideas attack you, hoping some of those ideas end up being useful
00:53:19 -!- Phantom__Hoover has quit (Quit: Leaving).
00:55:55 <Sgeo> It's impossible to do CPS without TCO, right?
00:58:30 <Deewiant> http://en.wikipedia.org/wiki/Continuation-passing_style#CPS_and_tail_calls
01:00:43 <Sgeo> Maybe I should read up on what Chicken Scheme does
01:13:01 <Sgeo> Why can't I do first-class continuations without CPS?
01:22:33 <Sgeo> LSL does, in fact, have a goto
01:22:38 <Sgeo> This would have been good to remember.
01:22:47 <pikhq_> Actually, it's more that CPS completely and utterly eliminates the need for a call stack at all.
01:23:40 <Sgeo> That's not the only reason for going CPS, is it?
01:25:31 <Sgeo> If I don't take the bytecode approach, I can use GOTOs as a sort of call, since there's no need to return from it in CPS
01:26:40 <pikhq_> It is a compelling argument if doing TCO would be a pain but just doing a jump would be easy.
01:27:13 <pikhq_> Still have to manage your closures, but eh, you'd have to do that in most languages.
01:27:47 <Sgeo> Thing is, the jump itself is hardcoded I think
01:28:05 <Sgeo> Not sure if that affects anything, I don't know what C gotos are like
01:28:28 <Sgeo> http://lslwiki.net/lslwiki/wakka.php?wakka=jump
01:28:54 <Sgeo> "Note: Please see the comments, you can only have a single jump statement going to a label."
01:30:30 <zzo38> Which means, you need two labels in one place if you want to jump twice?
01:31:17 <Sgeo> Well, no, if you call the same jump statement twice
01:33:28 <pikhq_> If you *really* feel nice, become a Linden and get them to start using ECMAScript or Lua or something else non-revolting.
01:33:32 <pikhq_> Otherwise, give up now.
01:34:12 <Sgeo> If I were to do the jump thing, I'd still have to deal with making them first-class somehow
01:35:36 <Sgeo> pikhq_, which part means I should give up?
01:37:40 <Sgeo> I think I'm going to read up on how Chicken compiles to C
02:01:39 <Sgeo> Why am I so scared to read http://home.pipeline.com/~hbaker1/CheneyMTA.html
02:02:13 <Sgeo> Also, LSL does not have malloc, but its lists can hold items of arbitrary types and lists allocated on the "stack" can be reassigned to with larger lists
02:02:27 <Sgeo> Don't know if that's proper terminology
02:03:15 <Sgeo> Appel's method is boring
02:06:37 <Sgeo> Ugh, this paper uses some sort of archaic C syntax
02:08:24 <Sgeo> Is it just me, or does this require being able to see the stack prior to the most recent function call?
02:08:32 <Sgeo> I don't think LSL is that powerful
02:08:53 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
02:42:00 -!- TeruFSX has joined.
02:47:44 -!- copumpkin has joined.
02:53:26 -!- pingveno has quit (Ping timeout: 252 seconds).
02:55:28 -!- pingveno has joined.
03:02:40 <CakeProphet> so could there be a way to set up a language to do CPS under the hood?
03:03:06 -!- TeruFSX has quit (Read error: Connection reset by peer).
03:12:30 -!- dnm_ has quit (Ping timeout: 250 seconds).
03:12:48 -!- dnm_ has joined.
03:15:39 -!- Kustas has joined.
03:24:11 -!- Kustas has quit (Ping timeout: 240 seconds).
03:25:07 -!- azaq23 has joined.
03:25:20 -!- Kustas_ has joined.
03:25:25 -!- Kustas_ has changed nick to Kustas.
03:31:11 <CakeProphet> (?i)yo dawg, I heard you like (.*?) so we put a \1 in your .*? so you can .*? while you .*?[.!]?
03:31:43 -!- azaq23 has quit (Ping timeout: 252 seconds).
03:31:44 <CakeProphet> (?i)yo dawg, I heard you like (.*?)(e?s)? so we put a \1 in your .*? so you can .*? while you .*?[.!]?
03:31:47 -!- Kustas has quit (Ping timeout: 240 seconds).
03:32:28 <pikhq_> Yo dawg, I heard you like ZALGO HE WHO WAITS BEHIND THE WALL!!!
03:38:45 -!- azaq23 has joined.
03:43:47 <pikhq_> Jeeze. Is... Microsoft getting rid of WIMP?
03:44:39 -!- Kustas has joined.
03:47:36 <coppro> my weakly interacting massive particles :(
03:48:15 <pikhq_> Window Icon Menu Pointing device.
03:49:04 <coppro> what the hell is that?
03:49:21 <pikhq_> The traditional UI paradigm.
03:52:49 <pikhq_> Any UI with windows, icons, menus, and a pointing device as the primary features. Examples include Xerox Alto, Mac OS 1-present, Windows 1-7, KDE, GNOME, XFCE, etc.
03:53:59 <coppro> what's microsoft trying to introduce instead?
03:54:02 <monqy> I dislike wimp. is their replacement any good?
03:54:08 <pikhq_> The Windows Phone 7 UI.
03:54:33 <pikhq_> http://www.youtube.com/watch?v=p92QfWOw88I
03:55:44 <coppro> can't say I'll use it much
03:56:24 <pikhq_> And WINE is, no doubt, hating them so much.
04:00:35 <pikhq_> I really do wonder if they're dogfooding that.
04:00:51 <pikhq_> Actually, no, pretty sure they're not.
04:01:25 <pikhq_> You'd probably see more concessions to not fucking sticking your fingers in your vision if they were.
04:06:41 <coppro> microsoft? dogfood? that doesn't sound right :P
04:06:58 <pikhq_> They dogfood more than you'd expect.
04:07:23 <pikhq_> If it's good and from them, they probably dogfood it. :P
04:07:55 <coppro> so they dogfood nothing :P
04:11:02 <monqy> http://en.wikipedia.org/wiki/Eating_your_own_dog_food#Criticism_and_alternatives
04:12:22 <coppro> worst part about dogfooding is not having a clue what's public
04:13:26 <coppro> e.g. search by subject was released at some point in the last month, and I haven't a clue when
06:08:35 -!- pikhq_ has quit (Ping timeout: 240 seconds).
06:08:52 -!- pikhq has joined.
06:15:41 <zzo38> I mostly dislike WIMP interface (one reason most of my programs do not use it!)
06:17:29 <zzo38> Why do you think Pokemon de Panepon was designed so that BY DEFAULT THE SCORE ONLY GOES UP TO 99999 (you can push SELECT+A on the option menu to reveal more options, one of which allows the score to go up to 999999)?
06:23:51 -!- Kustas has quit (Ping timeout: 258 seconds).
06:25:47 <pikhq> zzo38: Yes, but you don't replace it with something which is *strictly worse* in a desktop environment.
06:26:06 <zzo38> pikhq: I agree, that Microsoft is in fact making it worse.
06:28:21 <monqy> touchscreens themselves strike me as gimmicky, as well
06:28:46 <zzo38> I prefer keyboard control, rather than touchscreens (there is more than one reason for this)
06:28:59 <monqy> keyboards always forever
06:30:17 <monqy> don't have to cover screen with hand, don't have to smear screen, faster to hit keys than drag hand, less awkward to hit keys than touch screen
06:31:31 <zzo38> I thought of all those reasons. One more is that there can be room on screen for all text/graphics while typing the keys, instead of having mode-switching on-screen keyboards or other similar things to that.
06:32:33 <monqy> onscreen keyboards suffer from acute awkward
06:33:42 <zzo38> And even another, is that if you have a separate keyboard then you can connect other devices there, such as separate number pad if you prefer it separate rather than joined; that you can build keyboard separately from the user interface; you can (except on some old terminals) physically move the keyboard differently than how the display is (allowing you to set viewing/typing angles)...
06:34:24 <zzo38> And, that in cases where mouse is also useful, sometimes it is useful to use some keys at the same time as that.
06:34:37 <monqy> I think the thing that annoyed me most about the windows 8 video was the fast and fluid app switching
06:35:16 <monqy> cycling through everything until hitting the right one, was it
06:48:34 -!- jcp has quit (Ping timeout: 240 seconds).
06:49:57 -!- pikhq has quit (Ping timeout: 252 seconds).
06:52:07 <coppro> touchscreens are not gimmicky
06:52:31 <coppro> they can be used in a gimmicky fashion
06:53:03 <coppro> but they have a wider range of input than a mouse and a well-designed interface can take advantage of this
06:53:47 -!- zzo38 has quit (Quit: Am I strictly worse than a desktop environment?).
06:54:00 -!- jcp has joined.
06:56:09 -!- myndzi has quit (Ping timeout: 260 seconds).
06:57:07 -!- myndzi has joined.
06:57:54 -!- pikhq has joined.
07:18:29 -!- pikhq_ has joined.
07:18:34 -!- pikhq has quit (Ping timeout: 260 seconds).
07:44:37 -!- azaq231 has joined.
07:45:20 -!- azaq23 has quit (Ping timeout: 244 seconds).
07:48:59 -!- azaq231 has quit (Ping timeout: 250 seconds).
07:49:20 -!- Kustas has joined.
07:51:29 -!- azaq23 has joined.
07:56:42 -!- oerjan has joined.
08:04:24 <oerjan> <pikhq_> If you *really* feel nice, become a Linden and get them to start using ECMAScript or Lua or something else non-revolting.
08:05:02 <oerjan> why do i get the feeling that this LSL thing you keep talking about is kept retarded precisely to _keep_ people from writing such stuff as Sgeo is trying to?
08:05:28 <oerjan> (i'm sure general TC computation is pretty resource intensive, after all)
08:05:59 <oerjan> yes but not in a convenient way, it seems
08:06:33 <Sgeo> I mean, except for bounds on how much memory is accessible, but that's like any real computer
08:06:59 <Sgeo> Well, it has non-fixed-sze lists, loops, if statements, etc.
08:07:36 <Sgeo> somelist += [morestuff]; probably works in the crappy way it looks like, but it still works
08:09:14 <oerjan> <Sgeo> Is it just me, or does this require being able to see the stack prior to the most recent function call?
08:09:32 <oerjan> iiuc you need to be able to follow pointers into the stack to move content to the heap
08:09:47 <oerjan> although you don't need to know the stack format
08:10:13 <Sgeo> LSL doesn't have pointers..
08:10:24 <oerjan> bit of a problem right there
08:10:38 <oerjan> what about mutable lists?
08:10:40 <Sgeo> Hmm, if I replace function calls with gotos, maybe I could deal with it that way
08:10:53 <Sgeo> oerjan, does something += [stuff] count as mutable?
08:11:09 <Sgeo> We have mutable triplets and quadruplets of floats! (Useless)
08:12:11 <Sgeo> There is also a goto. It's a bit broken.
08:12:42 <oerjan> oh hm i think the pointer following is essentially a GC
08:13:05 <Sgeo> I was thinking I'd just store all the data and scope stuff in a few globally accessible lists
08:13:16 <Sgeo> And supply functions to get to those
08:13:25 <oerjan> make your own heap, check
08:13:37 <Lymia> Isn't Java technically Turing Complete even though C++, etc arn't?
08:14:03 <oerjan> Sgeo: so lists are immutable then?
08:14:14 <Sgeo> As far as I can tell
08:15:00 <oerjan> Lymia: could well be, C/C++ are non-TC for rather stupid pointer-size reasons
08:15:15 <Sgeo> Do I actually need a heap, can I just have a stack?
08:15:22 <Lymia> oerjan, can anything that low level be TC?
08:16:25 <oerjan> have you even _looked_ at some of the formalisms that _are_ TC? :D
08:17:23 <oerjan> SUBLEQ is TC, and far lower level than C. it achieves this by simply not having stupid size bounds on its cell contents.
08:17:35 <monqy> I was about to mention subleq too
08:18:02 <monqy> is bct low-level at all?
08:18:04 <oerjan> (i mention SUBLEQ because it's also essentially interchangeable int/pointer based)
08:18:39 <oerjan> horribly few abstractions there...
08:19:41 <Sgeo> I should really, really figure out why I'm under the impression that my language doesn't need a heap
08:20:09 <monqy> under an impression and you don't know why? ouch
08:20:09 <oerjan> Sgeo: i am pretty sure i've read several times that general functional programming requires memory layouts which support GC
08:20:47 <oerjan> (basically once you start throwing higher-order functions around, it becomes frequently impossible to know object lifetimes statically)
08:20:47 <Sgeo> oerjan, is that in relation to my heap issue?
08:21:14 <Sgeo> I think my confusion is because I wasn't sure that I'd be GCing anything
08:21:18 <Sgeo> Or that I'd... hmm
08:21:26 <oerjan> Sgeo: yeah. unless you have a very controllable stack (which means you can essentially _use_ it as a heap)
08:21:54 <Sgeo> I should really read up on this
08:22:24 <Sgeo> I'm not even sure why it's called a stack. The way I'm imagining it, it would be a stack, but that's only because of nested... scope.. ish
08:22:30 <oerjan> Sgeo: there have been experiments on using so-called region inference to determine object lifetime in ML variants to avoid heap. however it's an advanced algorithm to achieve _and_ you sometimes need parts to be in a GC-able heap anyway.)
08:22:40 -!- Le_Aragorn has joined.
08:23:10 -!- Le_Aragorn has quit (Remote host closed the connection).
08:24:14 <monqy> isn't it because you traditionally store call frames in a stack
08:24:33 <monqy> and "stack variables", or whatever they're called, go in the call frames
08:24:40 <monqy> pardon me if I'm nonsense
08:24:53 <oerjan> sounds reasonable to me
08:25:06 <Sgeo> That makes sense
08:25:20 <oerjan> scheme, because of call/cc, sometimes needs to put call frames on the heap
08:25:43 <Sgeo> Wouldn't a CPS thing not have call frames as such?
08:25:51 <Sgeo> Or am I now misunderstanding "call frame"
08:26:01 <Lymia> I think it still would.
08:26:05 <oerjan> it would have closures instead, which essentially contained the same information
08:26:28 <Lymia> def a(v0,v1,continuation): continuation(v0); continuation(v1)
08:26:49 <oerjan> Lymia: some dead code at the end there
08:27:19 <Lymia> I mean in CPS, that is
08:27:32 <oerjan> Lymia: still dead code
08:27:45 <oerjan> continuations not returning is pretty much their _definition_
08:27:46 <Lymia> Does CPS not allow continuations that return?
08:28:09 <monqy> if you want it to "return", give it a continuation to which to return
08:29:33 <oerjan> take a look at http://c2.com/cgi/wiki?OriginalIoLanguage
08:30:55 <oerjan> argh the amalthea page is gone :(
08:32:01 <oerjan> ooh someone's made a new implementation in haskell
08:32:19 <oerjan> http://hackage.haskell.org/packages/archive/Ganymede/0.0.0.5/Ganymede.cabal
08:38:28 <oerjan> <CakeProphet> (?i)yo dawg, I heard you like (.*?)(e?s)? so we put a \1 in your .*? so you can .*? while you .*?[.!]?
08:38:58 <oerjan> i think that e? is a bit tricky since you sometimes want it captured and sometimes not
08:39:51 <oerjan> 20:13:57 <pikhq_> Yo dawg, I heard you like ZALGO HE WHO WAITS BEHIND THE WALL!!!
08:39:54 <oerjan> 20:14:05 <pikhq_> </memutation>
08:53:37 -!- Vorpal has joined.
09:00:40 -!- Wiz126 has quit (Read error: Connection reset by peer).
09:02:56 -!- MigoMipo has joined.
09:11:04 -!- azaq23 has quit (Read error: Operation timed out).
09:14:37 -!- azaq23 has joined.
09:32:23 <Lymia> We have a person with a script that does this: \o/
09:32:29 <Lymia> I now have a quesion.
09:32:37 <Lymia> What percentage of golfed perl code triggers that?
09:34:53 <oerjan> there was some triggering during the recent deadfish golfing
09:36:58 -!- aloril has quit (Ping timeout: 246 seconds).
09:38:54 -!- pikhq_ has quit (Ping timeout: 240 seconds).
09:39:01 -!- pikhq has joined.
09:49:13 -!- aloril has joined.
09:56:58 -!- aloril has quit (Read error: Operation timed out).
10:05:10 -!- Patashu has joined.
10:11:33 -!- aloril has joined.
10:16:54 -!- cheater__ has joined.
10:22:08 -!- Phantom_Hoover has joined.
10:23:53 <Slereah_> Are we gonna do a Monty Python bit?
10:26:31 <oerjan> A Monty Python once bit my sister
10:27:45 -!- monqy has quit (Quit: hello).
10:29:00 <oerjan> What have Monty Python ever done for us?
10:30:37 -!- Vorpal has quit (Ping timeout: 250 seconds).
10:58:08 <Sgeo> Ooooooooh http://www.irregularwebcomic.net/special/educational.html
11:05:23 -!- BeholdMyGlory has joined.
11:19:07 -!- sebbu has quit (Read error: Connection reset by peer).
11:19:38 -!- sebbu has joined.
11:20:12 <Sgeo> http://www.irregularwebcomic.net/2391.html how I feel about my project
11:20:39 -!- SimonRC has quit (Ping timeout: 260 seconds).
11:22:22 -!- SimonRC has joined.
11:41:05 -!- SimonRC has quit (Ping timeout: 252 seconds).
11:41:11 -!- SimonRC has joined.
11:55:38 -!- Vorpal has joined.
12:03:37 -!- pikhq_ has joined.
12:03:52 -!- pikhq has quit (Ping timeout: 258 seconds).
12:16:14 -!- azaq23 has quit (Ping timeout: 240 seconds).
12:22:14 -!- azaq23 has joined.
12:25:37 <Phantom_Hoover> oerjan, I just heard that the Norwegian for 'kth' sounds like the Norwegian for 'horny'.
12:28:24 <Vorpal> Phantom_Hoover, maybe they used "nth" instead of "kth"?
12:28:57 <Phantom_Hoover> Vorpal, doing that is almost certainly more trouble than it's worth.
12:37:36 -!- oerjan has quit (Quit: Yes, kåte ~ horny).
12:54:02 -!- FireFly has joined.
13:04:41 <Sgeo> !@#$ how did I miss this email? https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006229.html
13:18:10 -!- MigoMipo_ has joined.
13:21:35 -!- MigoMipo has quit (Ping timeout: 240 seconds).
13:23:31 <Sgeo> Actually, I don't think that's split properly
13:43:35 -!- SimonRC has quit (Ping timeout: 260 seconds).
13:43:42 -!- SimonRC has joined.
13:51:15 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
13:52:14 -!- Phantom_Hoover has joined.
14:12:48 -!- Kustas has quit (Quit: back in a few).
14:17:38 <Sgeo> Why is Twittch in my feeds?
14:17:42 <Sgeo> It's a stupid comic
14:17:57 <Sgeo> I think maybe I saw one in a presentation somewhere
14:28:17 -!- SimonRC has quit (Ping timeout: 252 seconds).
14:28:36 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:28:58 -!- SimonRC has joined.
14:29:14 -!- pikhq_ has quit (Ping timeout: 240 seconds).
14:29:19 -!- pikhq has joined.
14:54:48 <CakeProphet> Just got back from a job interview at Wal-Mart. I think I give them a pretty impression. Mainly because I'm not a meth addict.
14:57:50 -!- copumpkin has joined.
15:14:01 -!- ais523 has joined.
15:18:26 <olsner> which you wouldn't have been if you were a meth addict
15:21:43 -!- copumpkin has quit (Remote host closed the connection).
15:22:10 -!- copumpkin has joined.
15:23:05 -!- pumpkin has joined.
15:24:10 -!- Plazma has left ("Leaving").
15:27:08 -!- copumpkin has quit (Ping timeout: 276 seconds).
15:40:59 <Sgeo> I'm all for going against the mainstream, but that should NOT be a language's main pitch
15:41:02 <Sgeo> http://www.eiffel.com/general/awareness/try_eiffel.html
15:41:56 <Phantom_Hoover> Named, of course, after the tower in the city of hipsters.
15:41:58 <Patashu> how is eiffel? I heard it had more sensical types than java
15:42:35 -!- Tritonio has joined.
15:53:55 <Sgeo> I can't helped but be overwhelmed by the buzz buzz buzz BS on the Eiffel site
15:54:02 <Sgeo> And yet, I know I'm going to look into it
15:55:36 <olsner> wow, that site ... does not look like the site of anything good
15:56:41 <Patashu> those developers have the most :colbert: expression
15:57:07 <Patashu> http://i.somethingawful.com/forumsystem/emoticons/emot-colbert.gif
15:57:31 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:59:31 -!- pumpkin has changed nick to copumpkin.
16:04:13 <CakeProphet> Completely object-oriented approach. Eiffel is a full-fledged application of object technology, not a "hybrid" of O-O and traditional concepts.
16:05:04 <CakeProphet> we wouldn't want those nasty functions and top-level non-object things messing up our "object technology."
16:07:34 <CakeProphet> The name of the class is HELLO. Any class may contain "features"; HELLO has just one, called make. The create clause indicates that make is a "creation procedure", that is to say an operation to be executed at class instantiation time. The class could have any number of creation procedures.
16:07:42 <CakeProphet> cool, so now I get to memorize non-standard constructor names.
16:12:09 <CakeProphet> In modeling terms, client roughly represents the relation "has" and heir roughly represents "is". For example we may use Eiffel classes to model a certain system and express that every child has a birth date (client relation) and is a person (inheritance).
16:47:38 -!- cheater__ has quit (Quit: Leaving).
16:56:20 <ais523> bleh, Slashdot is down, except for the homepage
16:56:27 <ais523> when logged in, at least
17:09:06 -!- pikhq has quit (Ping timeout: 240 seconds).
17:09:10 -!- pikhq has joined.
17:40:03 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
17:54:49 -!- Kustas has joined.
17:55:20 -!- Tritonio has quit (Quit: Leaving).
18:05:44 -!- oerjan has joined.
18:19:12 -!- monqy has joined.
18:19:21 <oerjan> 08:35:06 <Sgeo> I can't helped but be overwhelmed by the buzz buzz buzz BS on the Eiffel site
18:19:25 <oerjan> 08:35:13 <Sgeo> And yet, I know I'm going to look into it
18:19:36 <oerjan> and thus we realized that Sgeo is a moth
18:33:56 -!- oklopol has joined.
19:24:37 -!- sebbu has quit (Read error: Connection reset by peer).
19:25:03 -!- sebbu has joined.
19:25:03 -!- sebbu has quit (Changing host).
19:25:03 -!- sebbu has joined.
19:27:52 -!- Phantom_Hoover has joined.
19:32:01 <Phantom_Hoover> "people need to stop miss-using the concept of double standard.
19:32:01 <Phantom_Hoover> Boys and girls are different. Treating them differently is NOT a double standard." — Reddit commentor.
19:33:03 <oklopol> i'm sure everyone has a fascinating opinion on this
19:33:57 <olsner> I did *not* eat too much cheese
19:34:15 <Phantom_Hoover> oklopol, you should probably talk to Gregor about that.
19:35:56 -!- Kustas has quit (Quit: continue some other time).
19:45:40 <oklopol> house is... operating on himself
19:46:13 <oklopol> i've been waiting for this for years
19:52:54 <oklopol> the new season is prolly the best sofar
19:53:15 <oklopol> then again that's how series always work
20:00:06 -!- TeruFSX has joined.
20:14:51 <pikhq> oklopol: Nobody sane is arguing for complete and utter ignorance of real distinctions.
20:15:12 <pikhq> oklopol: Just calling out real double standards that exist in our culture.
20:16:19 <oklopol> pikhq: i don't doubt that everyone here (except me) has a very nice and neat opinion. i'm just currently extremely bored with this topic family.
20:16:34 <oklopol> so any opinion irks me to some extent.
20:17:02 <Phantom_Hoover> oklopol, I wasn't really looking for opinions beyond "what an idiot".
20:17:23 <oklopol> Phantom_Hoover: well i'm scared easily!
20:18:05 <pikhq> Phantom_Hoover: That person is a moron.
20:18:13 <pikhq> Phantom_Hoover: Happy?
20:18:18 <oklopol> Phantom_Hoover is always happy
20:18:50 <oklopol> i'm not that familiar with sshc
20:18:57 <oklopol> where the fuck is that elliott BITCH
20:19:23 <oklopol> called the classic oklopol approach
20:21:46 <pikhq> Wow. E17 is still in development? I think it's trying to beat DNF or something.
20:23:49 <pikhq> Enlightenment, version 17.
20:24:06 <pikhq> Began development in 2000.
20:24:12 <pikhq> Still not released.
20:25:33 <pikhq> Though at least it's not complete vaporware; SVN snapshots are readily available...
20:25:47 <pikhq> Along the way, it's gotten severe feature-creep.
20:26:14 <pikhq> Last I checked, it managed to turn into a full DE with its own widget library.
20:27:48 -!- azaq23 has quit (Quit: Leaving.).
20:44:22 -!- TOGoS has joined.
20:44:33 -!- TOGoS has left.
20:48:06 -!- augur has quit (Remote host closed the connection).
21:04:09 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:08:26 -!- augur has joined.
21:08:48 -!- zzo38 has joined.
21:13:44 <zzo38> What is a Nexuiz controversy? (It is mentioned in the logs, but now I don't know a lot about it)
21:17:58 <zzo38> Yesterday I quit when sleeping, after coppro wrote "[touch screens] have a wider range of input than a mouse [...]" and no answer yet. I can say, yes it may have sometimesm multitouch (and maybe even pressure-sensitive), but I think in most cases that would not be so useful (there are cases where it helps).
21:18:39 <oklopol> i have a LOT of fingers so it's nice to be able to use them all.
21:19:02 <zzo38> oklopol: Ten? Or more?
21:19:10 <oklopol> dude i don't spend my days counting fingers
21:19:30 <oklopol> but let's just say one digit is not enough to count my digits.
21:20:15 <zzo38> How much total do you think you get if you multiply together the number of fingers on each person's left hand in the world?
21:20:19 <olsner> ... it is rumored that none have yet seen all of any oklo's fingers
21:21:09 <olsner> nor is it comprehensible
21:21:12 <zzo38> With keyboard/mouse, you can do most things with keyboard (especially if you can type fast), and even push multiple keys at once, and you can have some things that can be operated by keyboard or mouse, depending on what you are doing; you can use multiple mouse buttons (and even hover), and you can use keys and mouse at same time
21:21:36 <zzo38> oklopol: You get what?
21:22:51 <oklopol> it was funny because it was true
21:26:10 -!- SimonRC has quit (Ping timeout: 260 seconds).
21:32:17 -!- SimonRC has joined.
21:33:01 <zzo38> Perhaps elliott was kidnapped by elliott.
21:38:12 <olsner> the aliens don't want us to know
21:38:21 <zzo38> That isn't the reason.
21:43:55 <Phantom_Hoover> The reason is that I am an alien and my alien intel tells me that he was kidnapped by werewolves.
21:55:42 <zzo38> I don't think so. I think elliott was kidnapped by elliott.
21:57:22 <olsner> maybe elliott is a werewolf hivemind that staged its own kidnapping
21:58:04 <Phantom_Hoover> Or wait, the phase is shifted by pi, so he's a -werewolf.
22:00:09 <oerjan> those pesky antiwerewolves
22:02:06 <Phantom_Hoover> They go from normal to infinitely wolfy as the moon approaches the first quarter, then turn infinitely antiwolfy and increase to normality.
22:04:09 <oerjan> a cosecantwolf otoh is a very pathetic creature.
22:06:42 <Phantom_Hoover> Alpha's alternate form for cosec: -(2 sin(x))/(cos(2 x)-1)
22:08:21 <oerjan> if you bite a cowerewolf, it turns permanently into a cohuman
22:11:24 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
22:11:28 <CakeProphet> anyone not have a Dropbox account and want one?
22:15:32 -!- ais523 has quit (Remote host closed the connection).
22:17:46 <Phantom_Hoover> I don't have a Dropbox account and I want one inasmuch as I have no reason not to want one.
22:37:20 -!- TeruFSX has quit (Ping timeout: 260 seconds).
22:46:42 <Sgeo> <3 /r/askscience
22:56:31 <pikhq> CakeProphet: All subreddits are of form www.reddit.com/r/subreddit
22:57:44 <CakeProphet> so there's no porn involved? Suddenly I lost interest.
22:58:08 <Phantom_Hoover> Sgeo, FWIW, conservation laws arise from fundamental symmetries of models, so I am highly suspect of RobotRollCall's claim.
22:58:56 <Sgeo> I can't trust RobotRollCall?
22:59:33 <Phantom_Hoover> Well, she's definitely been wrong at least once before, but that was on a rather minor point.
23:01:28 * Sgeo wikipedias time-translation symmetry
23:03:11 * Sgeo still doesn't understand
23:03:39 <Phantom_Hoover> I don't understand Noether's whole symmetry stuff, although it's firmly on my list of Science I Need To Understand Some Day.
23:05:18 <Sgeo> I don't know whether to tell RRC that I still don't understand, or just wikipedia
23:06:28 <Sgeo> http://en.wikipedia.org/wiki/Conservation_of_energy#Noether.27s_theorem
23:06:50 -!- elliott_ has joined.
23:08:12 <zzo38> elliott_: Read the logs if you wonder what these things means please
23:08:25 <elliott_> 01:13:01: <Sgeo> Why can't I do first-class continuations without CPS?
23:08:25 <elliott_> 01:22:33: <Sgeo> LSL does, in fact, have a goto
23:08:25 <elliott_> 01:22:38: <Sgeo> This would have been good to remember.
23:09:31 <Sgeo> elliott_, it was just a matter of having more options and not forgetting about them. I had to vaguely wonder if goto was useful, but since I didn't remember that they were present, that option, which I now don't consider likely to be useful, was closed off to me.
23:09:44 <CakeProphet> zzo38: he'll work his way down I'm sure. :)
23:17:30 <wareya> If you take the sine harmonics that make up a triangle wave, and do them with square waves instead of sine waves
23:18:03 <wareya> why am I even in here anymore
23:18:04 -!- wareya has left.
23:21:19 <CakeProphet> I'm pretty sure if you took the harmonics of a triangle wave and turned them into square waves you would end up with a really awful tone..
23:21:52 <CakeProphet> but hey, it would be spectrally dense. Which is useful.
23:27:10 <CakeProphet> well, it depends on what he meant by "do them with square waves"
23:27:41 <oerjan> i assumed he meant replacing every sine component with a square component of the same frequency
23:28:03 <CakeProphet> but I assume he means substitute the sine component with a square wave in time domain. A triangle wave has all odd harmonics that roll off as the multiple increases. Square wave also has odd harmonics but with less rolloff
23:28:36 <oerjan> yes, so wouldn't the combination have m*n harmonics for m, n odd
23:29:29 <CakeProphet> each odd harmonic would be transformed into all of the odd multiples of itself.
23:29:39 <CakeProphet> which, I'm guessing, has a very noisy quality to it overall.
23:30:12 <CakeProphet> oerjan: well, there might be so overlap on the m*n actually.
23:30:49 <oerjan> um yes but you still get only odd ones
23:30:49 <lambdabot> forall a. (Integral a) => a -> Bool
23:31:56 <CakeProphet> oerjan: hmm... well, do you? You're taking odd multiples of each odd triangle harmonic. So it would be "shifted" in relation to the odd harmonics of the original triangle wave. Is that still "all odd harmonics" then?
23:32:28 <CakeProphet> ..forgive me if that's a dumb question. :P
23:32:55 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b
23:32:55 <oerjan> um shifting doesn't change the frequency
23:33:33 <oerjan> multiples of odd numbers are odd
23:33:54 <CakeProphet> so basically you would get.... a really loud square wave I think?
23:36:41 <CakeProphet> > odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds) where odds = filter odd [1..]
23:36:42 <lambdabot> <no location info>: parse error on input `where'
23:37:03 <CakeProphet> > let odds = filter odd [1..] in odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds)
23:37:04 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
23:37:16 <CakeProphet> I should never try to program Haskell on the fly.
23:37:41 <CakeProphet> > let odds = filter odd [1..] in odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds))
23:37:42 <lambdabot> No instance for (GHC.Real.Integral ([a] -> [b]))
23:38:18 <CakeProphet> I WILL INVESTIGATE THIS FURTHER WHEN I HAVE MADE A SIGNAL PROCESSING LIBRARY IN HASKELL.
23:38:28 -!- wareya has joined.
23:38:39 <elliott_> WAREYA HAS RETURNED TO STAND TRIAL
23:40:29 <CakeProphet> wareya: so what kind of waveform do you get when you substitute the harmonics of a triangle wave with all of its odd harmonics (a.k.a. turn the sine wave into a square wave)
23:41:36 <CakeProphet> I would think it's an amplified triangle-like or square-like wave, since it still has odd components.
23:42:10 <wareya> the same kind of waveform as when you do the other way around, with substituting the harmonics that make up a square wave with triangles
23:43:24 <zzo38> Try it, see what happen, then!!
23:43:41 <zzo38> Make both the mathematical formulas, the graph, and the sound.
23:47:54 <CakeProphet> wareya: it would have a kind of reverse roll-off effect, where higher harmonics are louder than the lower onces.
23:49:09 <wareya> Actually, many of the higher ones end up canceling eachother out
23:52:21 <CakeProphet> well, now that my curiosity is abated. I must go now. Bye.
23:56:37 -!- CakeProphet has quit (Ping timeout: 250 seconds).
00:05:37 -!- CakeProphet has joined.
00:05:37 -!- CakeProphet has quit (Changing host).
00:05:37 -!- CakeProphet has joined.
00:10:57 <Phantom_Hoover> http://www.reddit.com/r/videos/comments/hqw18/people_of_earth/c1xm35t
00:14:04 -!- augur has quit (Remote host closed the connection).
00:18:06 -!- CakeProphet has quit (Ping timeout: 240 seconds).
00:19:40 -!- oerjan has quit (Quit: Good night).
00:39:42 <Sgeo> I'm going to give http://www.drchinese.com/David/EPR_Bell_Aspect.htm a read, on the recommendation of someone in /r/sciencefaqs
00:40:19 <Sgeo> WOT distrusts the site for some reason
00:45:23 <elliott_> just went there its got viruses dont go
00:45:27 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:47:20 <Sgeo> I assume you're being sarcastic
00:49:34 -!- Vorpal has quit (Read error: Operation timed out).
00:50:58 -!- wareya has quit (Read error: Connection reset by peer).
00:51:40 -!- wareya has joined.
00:55:05 <Sgeo> "(it must be simple because I did it!"
00:58:22 <Phantom_Hoover> http://www.reddit.com/r/math/comments/hqwhh/steven_wolfram_is_extremely_smart_but_kind_of_a/
00:58:35 <Phantom_Hoover> This is possibly the greatest understatement ever made.
00:59:07 <elliott_> hitler is extremely charismastic but kind of a jerk
00:59:20 <Phantom_Hoover> http://www.lettersofnote.com/2010/06/you-dont-understand-ordinary-people.html
00:59:44 -!- CakeProphet has joined.
00:59:45 -!- CakeProphet has quit (Changing host).
00:59:45 -!- CakeProphet has joined.
00:59:59 <Phantom_Hoover> CakeProphet, behold http://www.lettersofnote.com/2010/06/you-dont-understand-ordinary-people.html
01:00:32 <Phantom_Hoover> I wonder if I should point out ais' experience with him.
01:01:48 <elliott_> Hmm, some people in the comments are implying that Feynman's letter insinuates that women are non-technical, but I can't actually see that in the letter.
01:02:17 <Phantom_Hoover> "Find a way to do your research with as little contact with non-technical people as possible, with one exception, fall madly in love!"
01:02:33 <elliott_> Oh, I see, people are assuming that when Feynman says "fall madly in love", he means with a female, and that his "exception" doesn't mean "don't /limit/ yourself to technical people" but "/only/ consider non-technical people".
01:02:49 <elliott_> So heterosexism + reading comprehension failure.
01:05:24 -!- CakeProphet has quit (Ping timeout: 244 seconds).
01:07:05 -!- CakeProphet has joined.
01:07:05 -!- CakeProphet has quit (Changing host).
01:07:05 -!- CakeProphet has joined.
01:20:24 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:23:29 * pikhq builds sabotage...
01:24:35 <pikhq> Which, incidentally, has a pretty awesome build setup.
01:25:37 <Sgeo> I have no idea what an eigenfunction or eigenvalue is
01:25:43 <Sgeo> EPR refers pretty heavily to those
01:34:37 <pikhq> Eigenfunction? Context?
01:41:19 -!- augur has joined.
01:43:20 -!- CakeProphet has quit (Ping timeout: 252 seconds).
01:44:51 <Sgeo> pikhq, http://www.drchinese.com/David/EPR.pdf
01:44:56 -!- CakeProphet has joined.
01:44:56 -!- CakeProphet has quit (Changing host).
01:44:56 -!- CakeProphet has joined.
01:45:00 <Sgeo> Einstein et. al's paper
01:46:18 <pikhq> *Aaaah*, it's a generalisation of the concept of eigenvector.
01:46:58 -!- augur has quit (Remote host closed the connection).
01:47:02 <pikhq> Sgeo: Long story short: you should have gone to a better college and took linear algebra.
01:47:19 <Sgeo> I think I'm going to gloss over the math in these papers
01:52:19 <Sgeo> Do I understand EPR right: If you have two previously interacting systems, and measure, say, position of one, and velocity of the other, you could use the math from the former to get the position of the other as well, therefore.... something?
01:54:58 <pikhq> elliott_: Okay, okay, *real answer*.
01:55:04 <pikhq> Sgeo: You should learn linear algebra.
01:57:22 * Sgeo wikis EPR paradox
01:57:48 <Sgeo> Ooh, I vaguely got my understanding correct
02:08:04 <pikhq> https://secure.wikimedia.org/wikipedia/en/wiki/Vactrain
02:09:41 <Sgeo> How much would a vactrain ride cost?
02:09:58 <elliott_> pikhq: BUT WHAT IF THE WINDOW BREAKS AND THE VACUUM GETS INTO THE TRAIN
02:11:14 * Sgeo has no idea how long it currently takes to get from NY to London
02:11:17 <Sgeo> Nor what the cost is
02:11:24 <Sgeo> I don't travel much
02:11:29 -!- pikhq_ has joined.
02:14:23 <elliott_> Sgeo: it takes 9 time intervals
02:15:00 -!- pikhq has quit (Ping timeout: 276 seconds).
02:22:51 -!- augur has joined.
02:35:09 -!- augur has quit (Remote host closed the connection).
02:37:12 -!- Patashu has joined.
02:37:46 -!- elliott_ has quit (Remote host closed the connection).
02:38:12 -!- elliott has joined.
02:40:09 -!- elliott has quit (Remote host closed the connection).
02:40:14 -!- elliott_ has joined.
02:44:15 -!- CakeProphet has quit (Ping timeout: 240 seconds).
02:51:58 -!- monqy has quit (Quit: cant see a thing).
02:55:05 -!- monqy has joined.
03:09:26 -!- zzo38 has quit (Quit: zzo38).
03:22:36 <Sgeo> "Manually updated up to strip #2800."
03:24:40 <elliott_> well there's only two hundred and fifty more strips than that...
03:26:16 <elliott_> wow, i was going to note that http://www.irregularwebcomic.net/2000.html missed MSPA, but I remember /reading/ this iwc strip and it predates the beginning of problem sleuth by two months :)
04:05:40 <Sgeo> coppro, Irregular Webcomic's list of educational strips
04:18:43 <Sgeo> http://irregularwebcomic.net/special/educational.html
04:39:21 -!- CakeProphet has joined.
04:39:28 -!- CakeProphet has quit (Changing host).
04:39:28 -!- CakeProphet has joined.
04:40:29 -!- zzo38 has joined.
04:41:36 <zzo38> The [[Talk:Condit]] article probably ought to be corrected some more
04:43:32 <elliott_> comex: why did you vote against your own proposals
04:43:43 <comex> you pay attention to Agora?
04:43:55 <comex> because I'm in an anti-legislation mood
04:44:10 <comex> also because everyone's votes are probably invalid, since they don't specify two options
04:44:21 <elliott_> comex: that's inevitably going to be ratified away
04:44:26 <coppro> why haven't we fixed that yet?
04:44:36 <elliott_> coppro: cuz we're all lazy fucks
04:44:43 <elliott_> make a proposal that fixes it and ratifies everything as working :P
04:44:55 <elliott_> and we can all vote PRESENT/FOR on it
04:44:57 <comex> because I didn't distribute the proposal until today
04:45:00 <comex> because I forgot about it
04:45:03 <elliott_> just ratify that it all works after the proposal
04:45:10 <elliott_> because if you actually can't vote at all
04:45:10 <comex> liek I said in ##nomic, Wooble should take over promotor
04:45:16 <comex> then I have no chance of being speaker :(
04:45:26 <elliott_> comex: ill be promoter ill be the best promotorwe
04:45:37 <elliott_> ill format every distribution differently
04:45:43 <comex> Murphy will love that
04:46:04 <elliott_> i think murphy probably has a paste-in-reasonably-formatted-votes script for assessor stuff
04:46:10 <elliott_> which is partially why i'm voting in lunatic formats
04:53:54 <Sgeo> I should start voting
05:03:30 <Sgeo> I STILL FEEL AWKWARD
05:04:28 <Sgeo> Same thing I was talking about May 21st
05:04:40 <elliott_> you are expecting me to logread for a simple answer
05:04:40 -!- augur has joined.
05:05:01 <Sgeo> Talking to someone about a girl he recently broke up with
05:05:11 <elliott_> suddenly i don't want to know any more
05:05:26 <elliott_> actually i never did to start with, but i had a bit of morbid curiosity that has just become sort of morbid dread so never mind
05:10:33 -!- Kustas has joined.
05:11:15 -!- CakeProphet has quit (Ping timeout: 240 seconds).
05:11:18 <Sgeo> Does it help if I say that he seems to be encouraging me to talk to her?
05:13:09 -!- CakeProphet has joined.
05:14:36 <Sgeo> Why can't I find the page I was just looking at?
05:15:40 <Kustas> if you have a history list, you can find it
05:16:58 <Sgeo> I meant find which tab it was open it
05:22:29 <Sgeo> I think the concept of photon polarization is confusing me
05:25:24 <Sgeo> I think the example doesn't actually matter whether it's possible that a case can occur or not, just that
05:30:05 <Sgeo> LYAH is now available as a hardcover book?
05:30:16 <elliott_> no its only available in wool-bound form
05:30:47 <Sgeo> I thought it was online-only
05:33:51 -!- qwerty has joined.
05:34:27 -!- qwerty has changed nick to Guest97961.
05:36:09 <Patashu> anyone on who knows pl/sql?
05:37:34 -!- sebbu has quit (Ping timeout: 260 seconds).
05:51:26 <augur> http://digitallife.today.com/_news/2011/06/03/6778320-nsfw-zomg-and-twittersphere-added-to-dictionary
05:52:45 <elliott_> "Twittersphere" seems a bit objectionable as it's more of a brand name term, but...
05:52:59 <elliott_> breadcrumb trail - (on a website) a series of hyperlinks displayed at the top of a web page, indicating the page's position in the overall structure of the site
05:53:08 <elliott_> "nekkid- (of a person) naked: some of the oldest photos in existence are of nekkid women"
05:53:15 <elliott_> ok yeah this isn't actually that interesting
05:53:36 -!- Guest97961 has quit (Ping timeout: 240 seconds).
05:53:43 -!- sebbu has joined.
05:53:43 -!- sebbu has quit (Changing host).
05:53:43 -!- sebbu has joined.
06:29:50 -!- elliott_ has quit (Ping timeout: 260 seconds).
06:54:51 * Sgeo finds Benadryl pills from 2006
06:57:14 -!- azaq23 has joined.
06:59:14 <Sgeo> Everything I'm reading says that at worst, it's likely to be useless
07:00:31 <zzo38> If you need Benadryl pills, then you should purchase more, then. That way it won't be useless.
07:01:04 <Sgeo> I think I'll just take a melatonin
07:01:41 <zzo38> Use that if it helps, then
07:40:53 -!- Patashu has quit (Ping timeout: 248 seconds).
07:48:34 -!- Kustas has quit (Quit: outing).
07:54:19 -!- pikhq has joined.
07:54:24 -!- pikhq_ has quit (Ping timeout: 252 seconds).
08:06:34 -!- MigoMipo has joined.
08:16:15 -!- monqy has quit (Quit: hello).
08:39:55 <zzo38> I made a GameBoy game fitting in less than 4 KB (still more than that 1 KB breakout game, however). It has 256 levels, which can be played in any order.
08:41:53 <zzo38> Maybe the file can still be shortened, though, while still keeping the same rules and levels of the game
09:10:48 -!- oerjan has joined.
09:12:06 -!- MigoMipo has quit (Read error: Connection reset by peer).
09:52:55 -!- sebbu2 has joined.
09:52:55 -!- sebbu2 has quit (Changing host).
09:52:55 -!- sebbu2 has joined.
09:55:59 -!- sebbu has quit (Ping timeout: 260 seconds).
10:01:03 -!- Slereah has joined.
10:02:44 -!- Slereah_ has quit (Ping timeout: 252 seconds).
10:03:35 -!- pikhq has quit (Ping timeout: 240 seconds).
10:03:40 -!- pikhq has joined.
10:32:13 -!- oerjan has quit (Quit: leaving).
10:35:24 -!- BeholdMyGlory has joined.
10:51:45 -!- azaq23 has quit (Ping timeout: 240 seconds).
10:56:40 -!- azaq23 has joined.
11:12:38 -!- CakeProphet has quit (Ping timeout: 250 seconds).
11:14:33 -!- Vorpal has joined.
11:21:48 -!- showstopper has joined.
11:45:15 -!- MigoMipo has joined.
11:53:13 -!- showstopper has quit (Remote host closed the connection).
11:56:07 -!- Phantom_Hoover has joined.
12:01:36 -!- azaq23 has quit (Ping timeout: 250 seconds).
12:11:49 -!- copumpkin has joined.
12:15:02 -!- copumpkin has quit (Client Quit).
12:19:44 -!- kidpoker82 has joined.
12:20:06 -!- kidpoker82 has left.
12:26:16 -!- SimonRC has quit (Ping timeout: 260 seconds).
12:27:45 -!- SimonRC has joined.
12:35:06 -!- Sgeo_ has joined.
12:36:42 -!- Sgeo has quit (Ping timeout: 250 seconds).
12:39:16 <Phantom_Hoover> Sgeo_, RRC's point was essentially that time-translation symmetry doesn't hold because the universe is expanding.
12:39:16 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
12:39:53 -!- Patashu has joined.
12:55:44 <Sgeo_> I don't get that when I put that into WA
12:55:55 <Sgeo_> http://www.wolframalpha.com/input/?i=how+smart+is+stephen+wolfram%3F
13:18:55 <Vorpal> Phantom_Hoover, go code something!
13:20:35 <Vorpal> Phantom_Hoover, oh I didn't know it was a disability. I thought it was a blessing
13:21:04 <Vorpal> Phantom_Hoover, I wish had the power to NOT implement all the things I think of
13:22:01 <olsner> Sgeo_: *lack of ability
13:22:26 <olsner> Phantom_Hoover: haha, I mock you
13:23:21 <Vorpal> <Phantom_Hoover> http://i.imgur.com/O32j1.png <-- pretty sure that one is faked yeah
13:23:23 <Phantom_Hoover> Sgeo_, the way my perfectionism and my inability to pay attention to anything for any length of time makes me incapable of writing a program that takes more than around an hour.
13:38:20 <Sgeo_> Ooh, Eiffel does the ... is there a formal name for not having idiotic nulls?
13:38:42 -!- SimonRC has quit (Ping timeout: 252 seconds).
13:41:39 <Sgeo_> Or not, I actually haven't read the thing
13:43:02 -!- SimonRC has joined.
13:43:13 <Vorpal> Sgeo_, "idiotic nulls"?
13:43:17 <Vorpal> Sgeo_, what do you mean
13:43:30 <Sgeo_> I just mean null references as opposed to Maybe/option
13:44:27 <Vorpal> Sgeo_, I could you could argue that all pointers in C are implicitly of a Maybe-like type
13:46:00 <Vorpal> if I made an imperative CPU architecture I would probably make access to virtual page 0 "hard-wired" to cause an exception/trap.
13:46:32 * Sgeo_ has to see if there's an Eiffel web framework
13:47:22 <Vorpal> Sgeo_, what paradigm is Eiffel now again? imperative OOP?
13:47:41 <Sgeo_> Vorpal, not sure, that sounds about right though
13:48:10 <Vorpal> Sgeo_, which sort of OOP? C++/java/C#-style? smalltalk/objc-style? Something else?
13:49:44 <Sgeo_> Define "style". I'm not that familiar with Eiffel, but I think it's single-dispatch (which afaik all of the ones you listed are), statically typed *(which doesn't make sense to me as an "OOP" style, but is un-Smalltalk-like)
13:50:22 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
13:52:08 <Vorpal> Sgeo_, well from what I understood, smalltalk and objc uses the concept of sending objects messages, while C++, java and so on treats it as calling functions of a object. Of course they are pretty much equivalent on a lower level.
13:52:30 <Vorpal> however I should point out I don't know much smalltalk or objc, so I may be misinformed about this
13:52:31 <Sgeo_> Ah. Not sure which one Eiffel is.
13:53:43 -!- pikhq has quit (Ping timeout: 258 seconds).
13:53:45 -!- pikhq_ has joined.
13:54:19 <Vorpal> Sgeo_, you mentioned "single-dispatch", what other options are there?
13:54:50 <Sgeo_> Something like CLOS or Slate, where the method called depends on several of the arguments
13:55:16 <Patashu> http://en.wikipedia.org/wiki/Multiple_dispatch ?
13:55:18 <Vorpal> ah sounds interesting. I mostly used scheme, not so much common lisp
13:55:58 <Sgeo_> http://lee.fov120.com/ecoop.pdf a paper advocating for "prototype multiple dispatch"
14:00:20 <Sgeo_> "How simple is SCOOP? It requires only a single new keyword: separate."
14:00:34 <Sgeo_> Um... I don't think you can measure simplicity by amount of new keywords
14:00:46 <Vorpal> you beat me to that remark
14:00:48 <Sgeo_> http://www.kuro5hin.org/story/2006/10/31/20640/115
14:01:12 -!- oerjan has joined.
14:02:29 <oerjan> <Phantom_Hoover> Sgeo_, RRC's point was essentially that time-translation symmetry doesn't hold because the universe is expanding.
14:03:02 <oerjan> iirc put another way, general relativity does not have a concept of globally conserved energy
14:03:20 * Sgeo_ downloads EiffelStudio
14:03:41 -!- SimonRC has quit (Ping timeout: 260 seconds).
14:04:57 <Sgeo_> "If you only want to evaluate EiffelStudio for future projects please download our Evaluation Edition.
14:05:07 <Sgeo_> (looking at the GPL download page)
14:05:30 <oerjan> <Phantom_Hoover> Wolfram, you continue to outdo yourself.
14:06:17 <oerjan> there might be a _teeny_ chance he is exaggerating his own personality for marketing purposes
14:08:00 <oerjan> <Sgeo_> I don't get that when I put that into WA
14:08:08 -!- Phantom_Hoover has joined.
14:09:32 <Sgeo_> Why is this thing about to install EiffelStudio 6.7?
14:09:59 <Sgeo_> Ok, that's the latest release
14:10:06 <Sgeo_> Am I allowed to be sad by it not having SCOOPS?
14:11:18 <oerjan> ok obviously it's fake, wolfram would never settle for having 20 million above him...
14:11:44 -!- Kustas has joined.
14:11:56 -!- SimonRC has joined.
14:12:02 * oerjan swats his reading comprehension -----###
14:13:00 <Phantom_Hoover> oerjan, yeah, he'd never settle having over 300 above him.
14:23:48 <Sgeo_> Eiffel's "Why use Eiffel" stuff is a very good example of how much marketingspeak you can fit into a few documents
14:23:57 <Sgeo_> http://docs.eiffel.com/book/why-eiffel/eiffel-two-minute-fact-sheet
14:24:27 <Sgeo_> "The platforms covered range from Unix (all of Unix, the famous and the arcane) and Linux to OpenVMS, OS/2, Windows 3. 1, Windows NT, Windows 95/98.
14:24:27 <Sgeo_> " http://docs.eiffel.com/book/why-eiffel/why-your-next-project-should-use-eiffel
14:24:33 <Sgeo_> I think this may be a little old
14:26:33 <oerjan> so basically it's about why your _previous_ project should have used eiffel
14:26:37 <Sgeo_> http://www.jvoegele.com/software/langcomp.html based on the given answer for C# Higher Order Functions, I'm going to guesss that this page is obsolete
14:31:03 <Sgeo_> Eiffel is contrasting itself with Smalltalk
14:31:25 <Sgeo_> I want to say I think it has a point, but I'm pretty sure it will reveal a failure of mine to really grasp Smalltalk
14:31:42 <Sgeo_> "In contrast with, say, Smalltalk, you do not read the source code of a class when you want to use it. This may be fine for a couple dozen classes, but not for a large, powerful library."
14:31:48 <Sgeo_> http://docs.eiffel.com/book/why-eiffel/why-your-next-project-should-use-eiffel#Reusability
14:34:16 <Sgeo_> Why do I feel so much animosity towards Eiffel?
14:41:16 <oklopol> how fun, i slept for something like 15h
14:41:22 -!- oerjan has quit (Quit: Later).
14:42:31 <oklopol> anyway wolfram's iq led me here: http://www.wolframalpha.com/input/?i=penis+length, how are those quantities corresponding exactly?
14:47:48 <Sgeo_> Is penis length being 504 light-picoseconds unreasonable?
14:48:14 * Sgeo_ puts 504 light-picoseconds into WA
14:48:41 <Sgeo_> http://www.wolframalpha.com/input/?i=504+light-picoseconds
14:49:02 <Sgeo_> In a close enough sense
14:49:44 <Sgeo_> EiffelStudio installer compiling libraries takes an eternity
14:53:52 <oklopol> oh yeah i rather misunderstood what those picoseconds were about
14:58:23 <Sgeo_> WHY am I still holding out hope that Eiffel has continuations? It's a profoundly stupid hope
14:59:27 -!- Kustas has quit (Quit: sauna).
15:02:46 <Sgeo_> I think the reason that I'm about to play with Eiffel is that EiffelStudio sounds like it could be a fun IDE
15:03:17 <Sgeo_> The installer is _still_ compiling stuff
15:03:18 <oklopol> does eiffel have towers :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
15:04:52 <oklopol> you know, like the one in the beautiful town of eiffel
15:05:24 <Sgeo_> If Eiffel gets me to be able to write software with GUIs, it will be worth it
15:05:40 <Sgeo_> Unless it's crap, of course
15:05:40 <oklopol> why would you want to write a gui
15:06:08 <oklopol> when you can just write inputs in the source code and recompile
15:09:29 <Sgeo_> Woo, EiffelStudio installed
15:13:04 -!- oklopol has quit (Ping timeout: 258 seconds).
15:17:25 -!- oklopol has joined.
15:20:16 -!- oddod has joined.
15:21:56 -!- oklopol has quit (Ping timeout: 252 seconds).
15:29:26 -!- pikhq_ has quit (Ping timeout: 246 seconds).
15:29:36 -!- pikhq has joined.
15:48:14 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
15:48:37 -!- Phantom_Hoover has joined.
15:56:34 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
16:16:06 -!- SimonRC has quit (Ping timeout: 260 seconds).
16:17:49 -!- SimonRC has joined.
16:35:02 <pikhq> Good *God* gnulib does nasty things.
16:35:20 <pikhq> It has special-cased code for poking around in the internals of the libc's FILE.
16:35:28 <pikhq> For every known libc.
16:40:42 -!- augur has quit (Remote host closed the connection).
16:44:36 <pikhq> Freadahead, among other things.
16:50:38 <Vorpal> <Phantom_Hoover> Vorpal, Pointer = Null | Pointer Integer? <-- yes kind of, except that Null is not a separate value from the other range for C
16:50:51 <Vorpal> unless you define that address (often 0) to be invalid
16:59:41 <Phantom_Hoover> Is this not doable with the Way You're Meant To Do It?
17:15:10 -!- ais523 has joined.
17:19:36 -!- monqy has joined.
17:24:48 -!- augur has joined.
17:28:09 <Gregor> What /doesn't/ it do? It slices, it dices, it purees and it resolidifies, breaking the laws of thermodynamics.
17:34:03 <Vorpal> pikhq, I have no man page for freadahead, what on earth does it do? I looked at gnulib source and that didn't help much at all
17:34:38 <Vorpal> it doesn't seem to load more stuff ahead
17:34:49 <Vorpal> hm, does it return size of IO buffers?
17:44:13 -!- CakeProphet has joined.
17:44:13 -!- CakeProphet has quit (Changing host).
17:44:13 -!- CakeProphet has joined.
17:46:33 <ais523> hey, remember when everyone here mocked me for saying I was entering a Pokémon championship, and saying I had no chance?
17:46:44 <ais523> the UK national Pokémon (video game) championships was today, and I came top 8
17:47:15 <pikhq> /usr/include/stdlib.h:96:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__BEGIN_NAMESPACE_STD’
17:52:06 <fizzie> Vorpal: It looks to me like it'd return the amount of stuff there are in the buffers that you can fread without having to actually do IO.
17:56:03 <Phantom_Hoover> <ais523> the UK national Pokémon (video game) championships was today, and I came top 8
17:56:27 <ais523> top 8 in a nationals is enough to qualify for the world championships, but I don't plan to go
17:57:15 <ais523> Phantom_Hoover: I don't understand
17:58:47 <Phantom_Hoover> Top 8 means you didn't win, in accordance with our (well, not my) prediction, and your opting out of the world championships demonstrates that you subconsciously agree.
18:00:59 <oddod> yeah, if you're not #1, you might just as well kill yourself, or alternatively everyone above you in the ranking.
18:01:03 -!- oddod has changed nick to oklopol.
18:03:12 <pikhq> Fucking hell, it should not be this difficult to get an i686 cross-compiler.
18:10:52 <Sgeo_> Phantom_Hoover, foton
18:11:27 <Phantom_Hoover> First demonstrated experimentally by the fotoelectric effect.
18:11:57 <Sgeo_> Mind you, what the question is talking about is a bit beyond me
18:16:07 <pikhq> Yup, much easier to just go ahead and build a native i686 PCC.
18:28:16 <oklopol> i wonder how many people i'd have to kill to be the best at everything
18:29:07 <zzo38> It might be impossible regardless of how many
18:29:26 <oklopol> well ignoring that stupid point
18:29:36 <oklopol> that THEY'RE THE BEST AT BEING THEMSELVES or whatever
18:29:52 <oklopol> skills i consider worth skillin'
18:29:59 <monqy> they'd be better than you
18:30:35 <zzo38> Yes, one thing is that.
18:31:03 -!- TOGoS has joined.
18:31:05 -!- TOGoS has left.
18:31:16 <oklopol> but yeah ignoring your silliness, i'd have to kill pretty much everyone outside finland and american right away, and most americans too, due to language
18:32:11 <Sgeo_> You're saying everyone in Finland is mediocre at everything?
18:32:28 <oklopol> i'm saying most finnish people don't know a language better than me
18:32:51 <oklopol> many know swedish better than me, but the point is i wouldn't have to kill more than say 50% based solely on that
18:33:09 <oklopol> whereas i'd certainly have to kill EVERY CHINESE PERSON
18:33:23 <oklopol> each and every one of them, except a few retards
18:33:29 <zzo38> Learn to be Chinese and kill yourself
18:33:36 <ais523> oklopol: probably everyone but you
18:33:50 <oklopol> i know many people who are worse than me at everything
18:34:21 <oklopol> that is, measuring only skills i consider worth skillin'
18:35:13 <zzo38> ais523: Which pokemon generation was it? And which games belonging to that generation? What other rules?
18:35:48 <oklopol> but yeah it's true there probably aren't many people who are worse than me at everything someone would call a skill
18:36:01 <oklopol> and those people are probably literally braindead
18:36:26 <oklopol> if, for instance, knowing a single fact is considered a skill :P
18:36:52 <ais523> zzo38: 5th, and Black and White; the rules were no Pokémon that aren't in the Unova Pokédex (i.e. new in Black/White), no Victini/Resihram/Kyurem/Zekrom, double battle, no duplicate items or species, no using Sky Drop (because it's glitched), you take 6 pokémon in your team, you see the species/level/gender of the opponent's 6 then pick 4 of your 6 to battle with
18:37:57 <ais523> amusingly, people have been banning sky drop in single battles too, even though there's no known way to trigger the glitch there
18:37:57 <pikhq> Seems that configure doesn't coöperate with busybox.
18:38:03 <zzo38> ais523: OK. (I don't know the Black and White rules) Any rules having to do with items?
18:38:12 <ais523> zzo38: no duplicate items, that's it
18:38:19 <ais523> also, as usual in competitive battles, you can't use battles from your bag
18:38:31 <ais523> you have to give the items to Pokémon and have their AI use them automatically, and not all items work like that
18:38:32 <zzo38> Do you mean, items from your bag?
18:38:33 <oklopol> can you put a battle in a bag?
18:38:36 <ais523> *can't use items from your bag
18:38:49 <pikhq> It doesn't make its way through the sanity check.
18:39:09 <ais523> pikhq: wow that's a fast failure
18:39:12 <pikhq> Anyone got sufficient autoconf foo to tell me why I get this?
18:39:14 <pikhq> checking whether build environment is sane... configure: error: newly created file is older than distributed files!
18:39:30 <ais523> the build system has to have timestamps before the current time
18:39:43 <ais523> or else make gets fatally confused
18:39:54 <ais523> and autoconf is checking for that
18:40:33 <pikhq> The timestamps of the source are the UNIX epoch.
18:40:39 <oklopol> i dreamt that my balls were tiny, and that my guitar string snapped and that i downloaded a program
18:40:56 <zzo38> oklopol: Are these three things related?
18:41:19 <oklopol> well all of them are related to what i've been doing irl, masturbating, changing my guitar strings, and planning to download the program in question
18:41:24 <oklopol> but i doubt they are related to each other
18:41:27 <ais523> pikhq: and I take it the current time isn't before the epoch?
18:41:37 <ais523> perhaps busybox test doesn't implement time comparisons, or something
18:42:03 <pikhq> Configure doesn't do time comparisons. It does ls -t.
18:42:36 <pikhq> ... Whiiich seems to be unimplemented.
18:44:59 <Sgeo_> It sounds annoying to code with the Command-Query Separation stuff
18:45:16 <Sgeo_> Although I guess it does make functions pure
18:53:22 -!- clog has quit (Ping timeout: 240 seconds).
18:55:50 <pikhq> Ah, I'd just fucked it up a little bit.
19:03:41 -!- azaq23 has joined.
19:04:23 -!- pikhq_ has joined.
19:04:38 -!- pikhq has quit (Ping timeout: 248 seconds).
19:08:11 <pikhq_> Very obnoxiously hard to bootstrap with pcc.
19:09:56 -!- copumpkin has joined.
19:10:12 <pikhq_> Scratch that, "mother-fucking impossible".
19:12:21 <pikhq_> Scracth that again, "mother-fucking impossible with GNU utils".
19:14:43 -!- copumpkin has quit (Client Quit).
19:19:17 <pikhq_> Scratch that again, "mother-fucking impossible, and why the hell does heirloom need a C++ compiler".
19:20:02 -!- atrapado has joined.
19:30:42 <pikhq_> Everybody and everything sucks, and everybody should be ashamed of themselves.
19:31:59 -!- pingveno has quit (Ping timeout: 246 seconds).
19:34:05 -!- pingveno has joined.
19:36:32 <coppro> GNU is a bunch of assholes
19:37:58 <pikhq_> LibreOffice's changelog frightens me.
19:39:48 <pikhq_> "We brought the build down from 15 hours to 30 minutes".
19:41:48 <pikhq_> And apparently they cut out giant swaths of *dead code*.
19:42:02 <ais523> OOo was a very legacy codebase
19:42:34 <pikhq_> Glad that they're taking the effort to cut out a bunch of bullshit, though.
19:48:16 <Sgeo_> Who has a bigger ego, the Abrahamic God or Stephen Wolfram?
20:02:57 <Phantom_Hoover> God doesn't need a big ego, he can just smite anyone who doesn't worship him.
20:22:21 <pikhq_> The Abrahamic deity does not exist, and hence has no ego.
20:23:47 <pikhq_> If we consider the fictional character, though, I'd say that deity has a gigantic ego. Making all of everything simply to praise him? That's a feat of ego Wolfram only wishes he'd have thought up.
20:25:59 -!- norman256394 has joined.
20:27:01 <ais523> norman256394: esoteric programming langages
20:27:08 <coppro> Everything with a side helping of esoteric programming languages
20:27:10 <ais523> as in, programming languages not often used because they're stupid or impractical
20:27:34 <coppro> we also talk about other esoterica
20:27:50 <coppro> so if you're just a curious type, you might want to hang around to learn
20:28:02 <ais523> we just troll people who come in here wanting to talk about it
20:28:05 <ais523> until they get bored and go away
20:28:10 <coppro> 15:48 < Sgeo_> Who has a bigger ego, the Abrahamic God or Stephen Wolfram?
20:28:12 <ais523> I'm not really sure what the point is
20:28:26 <coppro> this is sort of typical discussion
20:28:39 <cheater_> norman256394, this channel is about Eric the Esot
20:28:39 <coppro> in fact, arguing about whether we argue about esoterica is very #esoteric
20:28:53 <pikhq_> Pretty sure that's not what's generally considered esoterica...
20:29:11 <ais523> norman256394: I suspect you're in the wrong place, anyway
20:29:18 <pikhq_> And in any case, our actual discussions of esoterica are by no means what someone who's interested in it would desire.
20:29:18 <ais523> and unfortunately, I don't know what the right place is
20:29:32 <ais523> if you find out, why not let me know so that I can direct other people there so you can chat with them?
20:29:59 <cheater_> norman256394, what were you looking for?
20:30:19 <coppro> ais523: that made a lot more sense when I remembered you're British
20:30:34 <coppro> elliott's not around, right?
20:30:48 <ais523> coppro: I don't think so
20:31:05 <coppro> we're safe from him then
20:31:05 <pikhq_> No, elliott would be joining me in a mutual rant on the evils of GNU if he were.
20:31:07 <ais523> cheater_: I'm not sure that's any more appropriate
20:31:16 <coppro> pikhq_: excellent point
20:31:40 <cheater_> can we talk about befunge gui bindings now?
20:31:53 <ais523> I can't actually remember what they are
20:31:57 <ais523> so the conversation won't go very far
20:31:59 <pikhq_> (dear God, you can't freaking bootstrap a system with pcc! It's not like this is some little-known compiler, it's a high-quality and classic ISO C99 compiler!)
20:32:01 <norman256394> actually i was thinking of discussing in a *very* language agnostic way
20:32:11 <cheater_> what sort of programming paradigms are recommended for programming befunge guis?
20:32:13 <ais523> pikhq_: gcc used to be compiler-agnostic
20:32:24 <cheater_> norman256394, we sometimes talk about GUIs and stuff
20:32:27 <ais523> but in the end, they decided gcc was so widespread that they might as well be specific to it
20:32:28 <coppro> pikhq_: why can't you bootstrap with it? It uses extensions it doesn't implement?
20:32:40 <ais523> this is potentially a dubious decision
20:32:42 <cheater_> like the plan9 interface for example
20:32:57 <pikhq_> You can bootstrap PCC itself just fine.
20:33:02 <ais523> I think gcc has successfully managed an E/E/E on C
20:33:12 <pikhq_> Indeed, you can get musl and PCC up and running without much effort.
20:33:13 <norman256394> ok...I never heard of half of the stuff you guys are talking about.
20:33:14 <ais523> well, other C compilers
20:33:19 <ais523> coppro: embrace/extend/extinguish
20:33:33 <pikhq_> But not much else will actually build with this setup.
20:33:51 <cheater_> what does it mean that gcc is compiler agnostic?
20:33:54 <pikhq_> And it ain't the libc doing it. Well, not all of it, as you can generally tweak C stuff into complying.
20:33:56 <coppro> but we're fighting back
20:34:06 <ais523> cheater_: same as what it means for any other program to be compiler agnostic
20:34:17 <cheater_> Phantom_Hoover, is linux communist software?
20:34:37 <pikhq_> But good God I couldn't even get fucking *Heirloom* to build with PCC and musl.
20:35:12 <cheater_> norman256394, what sort of guis did you want to talk about?
20:35:21 <pikhq_> The Heirloom toolset is a port of the classic UNIX utils to Linux.
20:35:42 <pikhq_> Collected out of BSD and OpenSolaris source, IIRC.
20:35:45 <norman256394> actually I was thinking on a very abstract level
20:35:54 <ais523> pikhq_: ah, I was wondering "why not just use BSD utils"?
20:35:57 <cheater_> what package does that come in pikhq_?
20:36:28 <cheater_> pikhq_, what does it have that i might be missing?
20:36:37 <ais523> hmm, I suppose that's basically almost ontopic here, if it's insane enough by today's standards (which is different from being insane overall, but that tends to happen too)
20:36:43 <cheater_> norman256394, but would it be smoothly differentiable?
20:36:45 <pikhq_> cheater_: Nothing, really.
20:36:48 <ais523> and almost ontopic is much better than we normally manage
20:36:59 -!- atome has joined.
20:37:07 <pikhq_> cheater_: It's just got the traditional utils instead of the GNU stuff.
20:37:34 <pikhq_> Hmm. I wonder if I could even possibly manage to get Busybox to build with pcc.
20:37:40 <norman256394> just was thinking if anyone could help me navigate the intricacies of designing such a user-interface
20:37:57 <Phantom_Hoover> <norman256394> something like the interface of the future
20:38:07 <pikhq_> Feh, not going to work on it, cause I have developed a hatred for everything of late.
20:38:17 <Phantom_Hoover> You should probably talk to elliott about that so he can tell you why your ideas are bad and you should feel bad.
20:38:37 <pikhq_> ais523: Any idea what the last version of GCC that was compiler-agnostic?
20:38:41 <Sgeo_> Is it better to look smooth or be fast?
20:39:13 <cheater_> anyone got the link to the archive.org video of the lightpen demonstration
20:39:30 <Phantom_Hoover> Out of the two extremes... hideous but fast is preferable to beautiful but unusably slow.
20:39:51 <cheater_> Phantom_Hoover, what if you expect the beauty
20:40:05 <cheater_> and like, you'd rather mail-order mona lisa than stare at a blank wall
20:40:07 <pikhq_> ais523: Oh, and the reason I was using PCC in the first place was that it's genuinely *obnoxious* to try and get an i686-pc-linux-gnu cross compiler.
20:40:09 <cheater_> blank walls are very responsive.
20:40:19 <norman256394> I guess I have come to appreciate the importance of speed after having worked on the likes of SAP, with its laggy interface
20:40:26 <pikhq_> It shouldn't be hard, but it is.
20:40:35 <pikhq_> Because EVERYBODY'S BUILD SYSTEM SUCKS
20:40:36 <Sgeo_> What about reorienting a phone? Show an animation of it changing, or instantly change?
20:40:48 <Sgeo_> (I'm pretty sure I saw this sort of thing in an iPhone flamewar)
20:41:06 <cheater_> what about instead of having the phone change..
20:41:16 <cheater_> have the whole world change around the phone and have the phone stay put?
20:41:31 <Sgeo_> Isn't that equivalent?
20:41:44 <pikhq_> As you can tell, I'm quite *happy* with the state of UNIX right now.
20:41:44 <cheater_> that's better than equivalent.
20:41:53 <norman256394> there should be a tag in here to mark sentences that are meant to be taken as humourous/sarcastic
20:41:56 <cheater_> or what about having the co-telephone not-turn?
20:42:01 <Phantom_Hoover> It's not on the level of, say, Compiz taken to crazy levels.
20:42:03 <Sgeo_> Phantom_Hoover, I should note hat cheater_ is speaking
20:42:29 <ais523> pikhq_: C-INTERCAL's build system handles all cross-compile combinations quite well
20:42:33 <cheater_> norman256394, that tag is <Sgeo_>
20:42:48 <ais523> it was designed by looking at gcc's build system, deciding it was an awful buggy mess that nobody should use ever, and doing something entirely different
20:42:58 <pikhq_> ais523: Correct answer.
20:43:35 <Phantom_Hoover> It does have the caveat that noöne except ais thinks it work.
20:43:51 <ais523> Phantom_Hoover: solution to what?
20:44:01 <cheater_> the life, the universe, and everything.
20:44:18 <Phantom_Hoover> Your "take it seriously in an attempt to make everything absurd" tactic.
20:44:41 <pikhq_> ais523: I approve of your pedantry so far.
20:44:52 <pikhq_> dnl Don't assume yacc exists just because bison doesn't (wtf autoconf...)
20:45:01 <norman256394> it's hard to keep track of conversations in here. :|
20:45:26 <Sgeo_> Reddit might be easier for you?
20:45:30 <ais523> it gets easier with practice
20:45:40 <cheater_> norman256394, and then i went to the kitcchen. funny, right?
20:45:45 <ais523> pikhq_: hey, if autoconf is being stupid and I work around it, I may as well document what I've done and why
20:46:23 <ais523> but someone has to write the compatibility layers in between
20:46:27 <cheater_> everyone should adjust to vim.
20:46:31 -!- atome has quit (Ping timeout: 276 seconds).
20:47:03 <Sgeo_> Especially decades old software with decades old standards that its current users, of which there many, are quite comfortable with
20:47:11 <Sgeo_> (Not sure if decades gets pluralized)
20:47:24 <pikhq_> ais523: Yes, I'm "Wut"ing at autoconf, not at you.
20:47:46 <ais523> I'm not sure if it's a bug or a silly assumption
20:48:00 <ais523> but it's definitely implausible
20:48:19 <cheater_> Sgeo_, decades is plural already.
20:48:22 <norman256394> ok...nice talking to you guys. But my IRC client is just plain too ugly to continue staring at for too long.
20:48:46 <Sgeo_> cheater_, as in, I was uncertain if IRC history spanned two decades.
20:48:47 <cheater_> norman256394, that's what i think about one of my coworkers
20:48:50 <pikhq_> Anyways, got a clue what GCC version(s) are compiler agnostic?
20:48:57 <cheater_> i started working from home though so it's alright
20:49:04 <ais523> pikhq_: I knew once, but have long since forgotten
20:49:15 <pikhq_> I'm going to go out on a limb and guess it's 2.x.
20:49:37 <Sgeo_> pikhq_, bootstrapping gcc?
20:50:07 -!- norman256394 has quit (Quit: http://irc2go.com/).
20:50:16 <Sgeo_> Is there a recorded history somewhere of what older versions of gcc were used to compile newer versions etc.? Because that would make interesting reading imo
20:50:25 <pikhq_> Sgeo_: Do you have any idea how fucking ridiculously painful it is to get an i686-pc-linux-musl compiler from x86_64-pc-linux-gnu?
20:50:54 <pikhq_> Right now I'm only asking out of personal curiosity, because I HATE GNU.
20:51:21 <Sgeo_> No idea. Um, not even sure what you're referring to, exactly. Which machine are you on?
20:51:31 <Sgeo_> What binary do you have?
20:51:40 <Sgeo_> I should be able to parse this from your question, but I can't
20:52:18 <pikhq_> I had a correctly functioning i686-pc-linux-musl pcc (okay, so it thought that it was i686-pc-linux-gnulibc1, but whatever). Problem is, nothing will build with that.
20:52:53 <pikhq_> And it wasn't the libc's fault. musl can actually support a reasonable system (... if you don't mind a lack of C++).
20:53:31 <Sgeo_> cheater_, um, ask pikhq_?
20:53:48 <cheater_> Sgeo_, apparently asking you worked too
20:54:01 <cheater_> pikhq_, what does it do better than glibc?
20:54:18 <pikhq_> cheater_: It has size comparable to dietlibc and performance comparable to glibc.
20:55:04 <pikhq_> (in some cases better, in some cases worse. Has at-least-as-good big-O performance.)
20:56:07 <coppro> cheater_: everything is better than glibc
20:56:47 <Sgeo_> What do MS's compilers use?
20:56:48 <pikhq_> glibc is pretty bloated, and has absolutely convoluted code.
20:57:29 <pikhq_> "Microsoft Visual C++ Runtime".
20:58:26 <pikhq_> Incidentally, they've been doing compilers for quite a while... That libc traces its way back to their C compiler for DOS in 1983.
21:00:12 <pikhq_> The same libc is used by mingw.
21:00:22 -!- clog has joined.
21:01:39 <cheater_> since mingw stands for minimal gnu for windows
21:02:42 <pikhq_> Yeah, it's just GCC and binutils. msys adds a few more bits (bash, coreutils, make), but... Yeah. Utterly devoid of glibc.
21:04:10 <pikhq_> As well as an avoidance of simple algorithms.
21:05:03 <pikhq_> cheater_: They love creeping featuritis and premature optimisation.
21:05:30 <pikhq_> As well as truly awful hacks that are not exactly necessary.
21:05:51 <Phantom_Hoover> The simple answer to this is "true.c in the binutils source".
21:06:19 <pikhq_> Coreutils has its own implementation of buffered IO.
21:06:53 <pikhq_> Oh, sorry, that's gnulib.
21:07:07 <pikhq_> Which itself gets relevant bits copied into program source.
21:07:25 <pikhq_> They claim it's for 'portability'.
21:07:36 <pikhq_> Some of it actually increases portability.
21:07:50 <pikhq_> Some of it is utterly retarded.
21:08:29 <pikhq_> If it includes stdio-impl.h, it is definitely utterly retarded.
21:08:32 <cheater_> http://sourceware.org/cgi-bin/cvsweb.cgi/src/?cvsroot=src
21:08:43 <pikhq_> Would you like to guess what that does?
21:09:13 <pikhq_> Phantom_Hoover: Oh, no no no, much worse than that.
21:09:18 -!- sebbu2 has quit (Read error: Connection reset by peer).
21:09:48 -!- sebbu has joined.
21:09:49 -!- sebbu has quit (Changing host).
21:09:49 -!- sebbu has joined.
21:10:00 <Phantom_Hoover> cheater_, BtW, try true --version and --help, if your shell doesn't alias it.
21:10:02 <pikhq_> It contains the definition of FILE for every libc they support.
21:10:17 <pikhq_> Not FILE*, but the struct actually pointed to by it.
21:10:57 <Phantom_Hoover> Aha, http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/true.c
21:11:02 <cheater_> Phantom_Hoover, ok so you mean coreutils
21:12:35 <pikhq_> Indeed, coreutils' copy of gnulib seems to contain most of a libc.
21:12:58 <pikhq_> ... *it actually contains a printf*‽
21:13:23 <pikhq_> IT LITERALLY HAS A PRINTF.
21:13:38 <cheater_> what is so bad about this thing?
21:13:42 <pikhq_> You think I'm kidding, but no, it literally has a printf.
21:14:10 <cheater_> defines some help, some other stuff, and does its job too.
21:14:18 <pikhq_> cheater_: Allow me to give you a true.c.
21:14:33 <cheater_> how do i find the usage for it
21:15:02 <cheater_> which is actually a common thing
21:15:18 <pikhq_> Perhaps you'd be more revolted by cat.
21:15:33 <pikhq_> http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c
21:16:25 <pikhq_> 1,000 lines of code. Pokes around libc internals. Uses its own buffered IO on top of stdio.
21:16:52 <Sgeo_> What does filenotfound return?
21:17:03 <Sgeo_> Also, wouldn't true.c return 0?
21:17:30 <pikhq_> And has significantly more options than is even slightly necessary.
21:17:42 <pikhq_> (the following options are required by POSIX for cat: -u
21:18:22 <pikhq_> https://github.com/pikhq/pikhq-coreutils/blob/master/cat/cat.c For comparison.
21:19:00 <pikhq_> 1/10th the size, billions of times more portable.
21:22:01 <cheater_> why is it billions of times more portable
21:22:28 <pikhq_> Their cat *literally is fucking around with libc internals*.
21:23:13 <pikhq_> It's in some functions they pull in from elsewhere in the source tree.
21:23:39 <zzo38> Yes I do think GNU programs are bloated, but it is good they write those programs anyways. Especially since they wrote the license too. Now the same license can be used with other programs, including other programs that are based on the GNU programs.
21:23:52 <zzo38> I dislike GNU long options.
21:24:36 <pikhq_> Phantom_Hoover: That ain't a typo, you git.
21:24:59 <pikhq_> It's a perfectly valid, though admittedly non-US, spelling.
21:25:24 <zzo38> I once asked them why they make large GNU program like that, they didn't give a very good answer in my opinion
21:25:29 <pikhq_> "Unrecognised." Thought that was what you were talking about.
21:26:39 <zzo38> Phantom_Hoover: How do you think someone will know that? Did you post that information somewhere, such as esolang wiki? You have cloak enabled so it is hard to know these kind of things?
21:31:37 -!- pikhq has joined.
21:34:03 -!- pikhq_ has quit (Ping timeout: 244 seconds).
21:37:43 <pikhq> So. Everybody is wrong at everything; any arguments?
21:40:57 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:41:11 <coppro> (you walked into that one)
21:46:49 <zzo38> pikhq: Yes. Including you are wrong at this. And the argument is also wrong.
21:52:11 <Phantom_Hoover> Gregor, I am sorely disappointed at the loss of searchable logs of this place.
21:58:52 -!- elliott_ has joined.
21:59:30 -!- elliott_ has changed nick to elliott.
21:59:32 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:59:57 -!- elliott has quit (Changing host).
21:59:57 -!- elliott has joined.
22:03:35 * pikhq flips off pcc for a bit
22:04:20 <pikhq> Shouldn't be hard to get it to actually function right.
22:04:42 <elliott> it might be that malloc(0) in cpp
22:04:46 <elliott> that broke it with dietlibc
22:05:31 <pikhq> Right *now*, just trying to get a normal pcc on x86_64-pc-linux-gnu
22:05:40 <pikhq> Its output segfaults.
22:06:36 <pikhq> It segfaults with the program counter at 0x01.
22:08:43 <cheater_> is there a shell which does *not* alias true?
22:09:14 <cheater_> ksh, bash, sh, dash, zsh all do it
22:09:31 -!- azaq23 has quit (Quit: Leaving.).
22:11:51 -!- atrapado has quit (Quit: FIN).
22:14:24 <elliott> i'm not sure of the relevance; after all, I'm not an alias, so that hardly works
22:15:32 <cheater_> yeah. good thing we're not playing synonyms then, right?
22:22:08 <Vorpal> none of them "alias" it as you say
22:22:42 <Vorpal> elliott, yes they all troll true until it gives up and ignore them
22:22:56 <Vorpal> that is why they implement it as a shell builtin
22:23:14 <Vorpal> since the one in /bin refuses to have anything to do with them
22:23:49 <Vorpal> elliott, speaking of which, how goes the spec
22:27:15 -!- elliott_ has joined.
22:27:19 <elliott_> cheater just disconnected me from the internet as a warning
22:27:50 -!- elliott has quit (Ping timeout: 248 seconds).
22:28:52 -!- elliott__ has joined.
22:29:47 <Vorpal> elliott__, it is having a hangover
22:31:03 <Vorpal> interestingly, translating the Swedish word for "hangover" literally to English yields "backsmash"
22:31:51 -!- elliott_ has quit (Ping timeout: 252 seconds).
22:32:02 <Vorpal> elliott__, what do you mean with lj?
22:32:18 <Vorpal> elliott__, I'll stop once you make sense
22:32:34 <Vorpal> elliott__, I blame the current "lj" and "ijsd" on your connection
22:33:57 -!- pikhq_ has joined.
22:33:59 -!- pikhq has quit (Ping timeout: 246 seconds).
22:34:33 <pikhq_> Now, then. I have a functioning pcc.
22:34:46 <pikhq_> That is i686-pc-linux-musl.
22:34:51 <Vorpal> pikhq_, why do you care about ppc?
22:35:06 <pikhq_> I'm sure I had a reason when I started.
22:35:13 <Vorpal> (having a functioning i686 ppc would be amusing)
22:35:16 <pikhq_> Right now, it's stubborness.
22:42:29 <Vorpal> pikhq_, how long have you been working on this
23:07:40 -!- oerjan has joined.
23:12:43 <pikhq_> make[2]: *** No rule to make target `../.././gcc/libgcc.mvars'. Stop.
23:16:23 -!- pikhq has joined.
23:19:45 -!- pikhq_ has quit (Ping timeout: 260 seconds).
23:25:42 <ais523> <barsoap> My favourite expansion hack is mkdir z; mv *; mv z foo. Try to do that with a smarter mv.
23:25:50 <ais523> wow that's an interesting use of *
23:26:10 <ais523> elliott__: are you caught up logreading, btw?
23:26:20 <elliott__> ais523: I wasn't planning to; should I?
23:26:33 <pikhq> Well, you'll just see me being angry at everything and everyone forever.
23:26:54 <ais523> elliott__: not necessarily, it's just that some things happened that I thought you might have reactions to, but you probably don't care much
23:27:08 <ais523> also, at the NEC today, I saw a place marked "food & bar" in really large letters (I'm talking at least 10 metres high)
23:27:12 <ais523> only someone had removed the d
23:27:15 <ais523> so it said foo & bar instead
23:27:24 <ais523> I wonder if it was actually a metasyntactic varaible vote, or concidence?
23:27:26 <pikhq> ais523: That was my initial parse even with the "d" there.
23:28:23 <elliott__> I think there's actually a bar called the Foo Bar
23:29:00 <elliott__> 13:55:58: <Sgeo_> http://lee.fov120.com/ecoop.pdf a paper advocating for "prototype multiple dispatch"
23:29:54 <Phantom_Hoover> I'm getting this sense that Sam Hughes' soul has been sucked out by something.
23:30:29 <elliott__> Also, are you sure it's not your soul that's been sucked?
23:30:36 <elliott__> ais523: am i meant to be commenting on sgeo
23:31:00 <ais523> elliott__: later, there was someone turning up about esoterica, and then got vaguely sucked into esoprogramming
23:31:14 <ais523> also some trolling from cheater that even I recognised as trolling, but I didn't say anything
23:31:44 <elliott__> A wiser strategy than the reciprocation the rest of us get sucked into.
23:32:08 <elliott__> 17:46:33: <ais523> hey, remember when everyone here mocked me for saying I was entering a Pokémon championship, and saying I had no chance?
23:32:37 <pikhq> I recall us asserting that he had little chance, because Pokémon tourny players are quite intense about it.
23:32:44 <pikhq> Not much on the "mocking" though.
23:33:03 <ais523> but this channel generally did, I forget who
23:33:06 <pikhq> Why mock someone for playing a good JRPG?
23:33:10 <ais523> but it was more than one person
23:33:22 <ais523> pikhq: it was for thinking I had a chance at doing well, rather than for playing it
23:33:39 <ais523> people telling me I was underestimating the effort required, etc
23:34:17 <pikhq> Well, it *is* rather a lot of work to be competitive. But apparently, you've done your due diligence.
23:34:54 <oerjan> <zzo38> I once asked them why they make large GNU program like that, they didn't give a very good answer in my opinion
23:35:44 <oerjan> i am now envisioning stupid programmers being forced to explain their reasoning to zzo38
23:35:54 <pikhq> elliott__: Good mechanically.
23:36:00 <pikhq> elliott__: The plot is absolutely banal.
23:36:21 <elliott__> Sgeo_: HEY LOOK HOMESTUCK UPDAEJTROIJD
23:36:24 <elliott__> god its fun being on the other side of bugging
23:36:24 <ais523> elliott__: not any more, there's a new experience formula in Black & White which removes most of the grinding, unless you want a really competitive team
23:36:42 <elliott__> ais523: heh, I even contemplated buying black or white yesterday or so
23:36:48 <ais523> it takes me about 3 hours to get a perfectly-statted competitive Pokémon from near-scratch, if I'm allowed repeatable resources
23:37:00 <ais523> that is, things that were hard to get in the first place but don't get used up in the process
23:37:03 <pikhq> elliott__: Also, 90% grinding is not that big of a deal for a game that's got like 10 or 15 hours to the "end".
23:37:24 <ais523> pikhq: and around 400 or so hours to the actual end, where you fill the Pokédex, that hardly anyone ever reaches
23:37:31 <elliott__> pikhq: Well sure, but it's more addictive than anything :)
23:37:42 <ais523> also, the plots have improved over time
23:37:46 <pikhq> ais523: I consider that, along with competition, to be post-game content.
23:37:54 <elliott__> ais523: sapphire imo was plot perfection
23:37:55 <ais523> in Black & White, the plot is about on the level of a decent children's story
23:38:08 <ais523> elliott__: that was Ruby
23:38:12 <ais523> sapphire was FLOOD THE WORLD
23:38:14 -!- augur has quit (Ping timeout: 248 seconds).
23:38:20 <pikhq> Or, alternately, you could just say "the story bit is just a side thing".
23:38:20 <elliott__> it's a very, very special kind of stupidity that these villains run on
23:38:36 <ais523> new in Black & White, the villains actually have plausible motivations
23:38:43 <ais523> all of them, even if some of them contradict each other
23:38:44 <pikhq> Emerald was better.
23:38:46 <ais523> and others are being manipulated
23:38:52 <pikhq> ERADICATE ALL WATER *and* FLOOD THE WORLD
23:39:20 <elliott__> ais523: So it'll be literary fiction in a few hundred years?
23:39:25 <CakeProphet> I have to say out of all of the Pokemon games I've played, third generation was the most fun.
23:40:21 <ais523> CakeProphet: I think the 4th gen remakes of the 2nd gen games are best
23:40:33 <ais523> but 5th gen has been growing on me, I used to dislike it a lot but now I rank it pretty high
23:40:42 <CakeProphet> ah, well yes. Any remake of the original games is going to be awesome as well.
23:40:44 <pikhq> I've got a soft spot in my heart for 2nd gen.
23:41:07 <pikhq> Haven't played 4th or 5th gen, due to not owning a DS.
23:41:09 <ais523> and some other pointless spinoffs
23:41:22 <ais523> the generation number is basically about how many Pokémon are involved
23:41:27 <elliott__> btw, is the 3DS' 3D actually any good
23:41:29 <CakeProphet> I'd say third generation is the last generation in which they had good pokemon concepts.
23:42:04 <elliott__> CakeProphet: i suspect nostalgia goggles
23:42:18 <CakeProphet> elliott__: actually no, I didn't play third generation until like two years ago.
23:42:21 <pikhq> Shame, too. If they got actually desperate they could start spelunking mythology. ... And risk becoming Megaten.
23:42:26 <pikhq> Which would actually be awesome.
23:42:54 <elliott__> pikhq: how do you not own a DS? even /ais/ owns a DS
23:43:10 <CakeProphet> elliott__: possible bias in that I haven't actually /played/ fourth and fifth generation. I've only watched other people and looked up some of the pokemon via wiki and thought they were lame.
23:43:13 <pikhq> elliott__: 100 applicants per job opening. Any further questions?
23:43:34 <elliott__> Phantom_Hoover: Yes but I mean is it annoying.
23:43:42 <Phantom_Hoover> elliott__, also yeah, you forget pikhq lives in a less developed country than us.
23:44:13 -!- FireFly has quit (Quit: swatted to death).
23:45:10 <oerjan> <Vorpal> interestingly, translating the Swedish word for "hangover" literally to English yields "backsmash"
23:46:04 <oerjan> norwegian is "bakrus" but "rus" doesn't mean smash, it means intoxication
23:46:26 <ais523> e.g. up to Mew is 1st gen, if you go up to Celebi it's 2nd gen, up to Deoxys is 3rd gen, up to Arceus is 4th gen, and up to (as yet unreleased event Pokémon) is 5th gen
23:46:59 <ais523> that wasn't lag, that was me forgetting to press return because I was trying to help deal with a spontaneously exploding glass oven door
23:47:05 <elliott__> ais523: I just want to know when MISSINGNO will be an official part of the Pokédex.
23:47:23 <ais523> elliott__: you do realise it doesn't exist, right?
23:47:40 <elliott__> ais523: By what definition of "doesn't exist"?
23:47:57 <pikhq> It certainly existed in Stadium (Stadium 2, JP).
23:48:03 <elliott__> Bulbapedia says it's #000 in the national ddddex, but maybe that's wrong.
23:48:18 <ais523> well, for one thing it's spelt MISSINGNO. with a dot, but more to the point it has no stats defined but a nam
23:48:30 <ais523> everything else is unrelated memory interpreted as stats
23:48:52 <elliott__> ais523: Plenty of games for such platforms are coded with weird bit-twiddling hacks.
23:48:55 <elliott__> The implementation is rather irrelevant.
23:49:25 <ais523> #000 Unova dex is Victini, they decided to put an actual event mon there
23:49:37 <ais523> although event mons are a ridiculous concept
23:49:50 <ais523> I think #000 has been DP Box for a while now
23:49:56 <ais523> and #000 in first gen was Cancel
23:50:16 <ais523> the menu option that you use to not select anything
23:50:20 <ais523> CakeProphet: short for "monster"
23:50:35 <ais523> just like Pokémon was "pocket monster" before it was contracted to settle a trademark dispute
23:51:19 <ais523> and an event Pokémon is one you can only get by going to a particular Nintendo / tPCI distribution in real life
23:51:36 <ais523> or in some cases, via glitch
23:51:42 <ais523> elliott__: well, that doesn't increase the number in the world
23:51:48 <ais523> but sure, if you can find someone willing to part with one
23:51:49 <elliott__> "The Qi JT<name of player>? POké BB<name of Pokémon> de W N type is the type of the glitch moves TM14 and TM17. Part of the name of this type changes to match the player's name, and another part changes to match the name of the player's Pokémon at the front of the party. For example, if the player's name was ASH and the active Pokémon's name was PIKACHU, the name of this type would be Qi JTASH? POké BBPIKACHU de W N."
23:52:09 <ais523> or who's not above cloning them via glitches or hacks
23:52:19 <elliott__> ais523: annoying artificial scarcity :(
23:52:25 <ais523> WishBliss must have been cloned so many times
23:52:43 <elliott__> It's easy to poison the market by just cloning one a few times and spreading it around, anyway
23:53:00 <ais523> possibly the most infamous event Pokémon in existence, because it was distributed in a pretty narrow distribution (only in New York), is legal in competitive battles, and is really good
23:53:33 <pikhq> ais523: It wasn't contracted to settle a trademark dispute...
23:53:40 <elliott__> "I've heard it from too many people so now I just gotta ask. Is Wish-Blissey seriously banned? I know its hard to get and all having to trade all the way from XD but come on now. Is this serious or is this just Colin's crap from official (Which noone cares bout) still not flushing properly?"
23:53:43 <pikhq> ais523: It was contracted for the sake of not being Engrish.
23:54:03 <ais523> elliott__: no it isn't banned, and it doesn't come from XD, someone is trolling
23:54:04 <pikhq> ais523: It's still sold as "poketto monsutā" in Japan.
23:54:13 <elliott__> CakeProphet: what's wrong with "noone"?
23:54:23 <elliott__> It omits a diaeresis, but so does everyone
23:54:26 <elliott__> ais523: there seems to be no bulbapedia article for WishBliss
23:54:28 <ais523> especially blaming Colin for everything, it's quite a sine of a troll
23:54:37 <ais523> elliott__: it's probably in the article about Blissey or Chansey
23:54:57 <elliott__> CakeProphet: Note that in "no-one", the hyphen is simply taking the place of a diæresis above the second letter.
23:55:08 <elliott__> But it's perfectly valid to simply omit the diæresis altogether.
23:55:12 <ais523> oh, strange, Bulbapedia doesn't even mention it as existing
23:55:24 <ais523> Wish is nowhere in the learnset
23:55:25 <CakeProphet> elliott__: right, but "noone" is silly and should never be used. no-one is fine.
23:55:40 <elliott__> CakeProphet: I am stunned by your flawless justification.
23:55:50 <CakeProphet> I mean, it should be obvious why it's bad.
23:55:52 <elliott__> I don't use "noone" either for aesthetic concerns, but to say it's not a word is ridiculous :P
23:56:00 <ais523> ah no, it's just hidden in a subpage
23:56:12 <ais523> http://bulbapedia.bulbagarden.net/wiki/List_of_Nintendo_event_Pok%C3%A9mon_in_2004#Wish_Chansey
23:56:17 <CakeProphet> it's a non-standard word, at least. People use it, but they probably need to die or something. -shrug-
23:56:46 <pikhq> Where's augur when you need him?
23:57:04 <ais523> I think that's also the only way to get Sweet Scent on a Chansey/Blissey, but nobody cares
23:57:14 <CakeProphet> Just a small English language pet peeve of mine, one of few.
23:58:19 <pikhq> Honeſtly, if you're going to go preſcriptiviſt, you ſhould go all þe way.
23:58:46 <elliott__> CakeProphet: can i pick on you for saying a bunch of non-standard shit that shakespeare just made up for shits and giggles?
00:00:06 <oerjan> for the want of an ail
00:00:47 <CakeProphet> pikhq: no, I think you should go just a little ways in order to still be reasonable.
00:01:07 <Phantom_Hoover> CakeProphet, you aren't that guy I just talked to on that Homestuck Omegle thing are you.
00:01:12 -!- augur has joined.
00:01:14 <pikhq> CakeProphet: M'þinkſt þou are not ſufficiently reaſonable, m'ſelf.
00:03:24 <EgoBot> The wonders of computer science.
00:04:15 <EgoBot> sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g'
00:06:17 <CakeProphet> I'm not entirely sure why that isn't working
00:06:35 <CakeProphet> it does the opposite of what I thought it did. :P
00:07:50 <Phantom_Hoover> !addinterp gregor^-1 sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g'
00:07:50 <EgoBot> Interpreter gregor__1 installed.
00:09:07 <CakeProphet> excellent, I was hoping someone else would do that so I didn't have to. :D
00:10:27 <Phantom_Hoover> !gregor__1 In hindsight, that seems more sensible, given Gregor's stupid mutilation of the name.
00:10:28 <EgoBot> In hindſight, þat ſeemſ more ſenſible, given Gregor'ſ ſtupid mutilation of þe name.
00:11:15 <CakeProphet> Apparently, I use uninterpolated Perl string literals in my English.
00:12:37 <CakeProphet> if I used double quotes something scary might happen.
00:12:55 <pikhq> Hey, look, it outputs wrong.
00:13:02 <ais523> s shouldn't become ſ at the end of a word
00:13:25 <oerjan> or after another s, iirc
00:13:56 <pikhq> It's "ſs", not "ſſ".
00:17:29 <elliott__> hahaha WOW someone is seriously saying that .NET is going to be abandoned in favour of HTML5 and JavaScript
00:17:43 <elliott__> ".NET came out 10 years ago, and Microsoft still has yet to adopt it in Office or throughout Windows."
00:17:48 <elliott__> WHY HAVEN'T YOU REWRITTEN OFFICE YET MICROSOFT
00:19:05 <pikhq> Personally, I'd be amazed if they ever actually replaced their freakish C environment.
00:19:16 <pikhq> It's one of the best bits of platform lockin ever devised.
00:20:46 <CakeProphet> I dream of the day where I get hired to write applications in HTML5 and Javascript.
00:22:06 <pikhq> I dream of the day when I get to replace all software.
00:23:07 <Phantom_Hoover> I dream of the day when I can write software without getting bored within thirty seconds.
00:23:54 <monqy> I dream of the day when writing software isn't awful
00:24:15 <elliott__> Phantom_Hoover: how goes terraingen
00:24:35 <CakeProphet> Phantom_Hoover: I've heard Visual Basic keeps things interesting.
00:24:35 <pikhq> I also dream of the day that I can fork() myself.
00:24:48 <elliott__> pikhq: it's really quite easy HUR HUR HUR
00:25:35 <CakeProphet> pikhq: that would be great, I would fork bomb myself and go save the world as a giant collosal human monster.
00:25:56 <monqy> cut off portions of yourself / end world hunger
00:26:01 <elliott__> (jesus himself was a very rowdy man we have toned him down as this channel)
00:27:08 <CakeProphet> monqy: I was thinking more along the lines of forking huge balls of myself as a projectile to hurl at evil-doers, but sure, that sounds like a more realistic world saving strategy.
00:27:29 <pikhq> elliott__: This channel is quintuple-X.
00:29:46 <CakeProphet> or Taco? because these are names I would like to use.
00:30:34 <CakeProphet> Oh hey I can Google: http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/43e23ec91521c1e3852577bc0048ea37!OpenDocument&Highlight=0,lime,language,manual
00:31:57 <Phantom_Hoover> CakeProphet, would it be something along these lines: http://www.mspaintadventures.com/?s=4&p=001680
00:33:08 <elliott__> Phantom_Hoover: Stop making me want to read PS.
00:33:36 <Phantom_Hoover> elliott__, PS kills AD with the Chicago Overcoat. And then it turns out they're both PI.
00:33:41 <olsner> <CakeProphet> Oh hey I can Google <-- congratulations!
00:33:51 * Phantom_Hoover really needs some spoiler templates he didn't steal off xkcd.
00:34:18 <elliott__> Seriously though it's such a short comic I could read it in two days.
00:34:28 <elliott__> Why don't I do that rather than refreshing for Homestuck updates.
00:34:54 <Phantom_Hoover> Because it would involve enjoying yourself jegus how is it half one already.
00:35:13 <elliott__> Please stop saying jegus it is really annoying and only bad people do it all the time.
00:35:23 <elliott__> And the answer is because you have a sleep schedule about a tenth as insane as mine now.
00:35:50 -!- Patashu has joined.
00:36:04 <elliott__> OK that's only a thousandth as insane come on that's downright pedestrian.
00:42:07 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
00:50:12 <pikhq> elliott__: When did you wake up?
00:52:12 <oerjan> i thought we had established that elliott was... wait, what was it again
00:53:06 <oerjan> but i'm pretty sure that wasn't it
00:55:54 <elliott__> 15:13:21: <Phantom_Hoover> <oklopol> where is elliott :\
00:55:54 <elliott__> 15:13:23: <Phantom_Hoover> Werewolves.
00:56:07 <elliott__> 18:33:29: <zzo38> Learn to be Chinese and kill yourself
00:56:14 <elliott__> `addquote <zzo38> Learn to be Chinese and kill yourself
00:56:17 <HackEgo> 435) <zzo38> Learn to be Chinese and kill yourself
00:56:54 <elliott__> 20:27:34: <coppro> we also talk about other esoterica
00:56:54 <elliott__> 20:27:50: <coppro> so if you're just a curious type, you might want to hang around to learn
00:56:58 <elliott__> 20:27:56: <ais523> coppro: no we don't
00:58:54 <elliott__> 20:30:34: <coppro> elliott's not around, right?
00:58:54 <elliott__> 20:30:48: <ais523> coppro: I don't think so
00:58:54 <elliott__> 20:31:01: <coppro> ais523: excellent
00:58:54 <elliott__> 20:31:05: <coppro> we're safe from him then
00:59:54 <elliott__> ais523: gah, you're right wrt cheater
01:00:15 <elliott__> 20:36:13: <norman256394> something like the interface of the future
01:00:17 <elliott__> 20:36:22: <norman256394> highly interactive
01:00:17 <elliott__> 20:36:28: <norman256394> smooth transitions
01:00:35 <elliott__> 20:38:17: <Phantom_Hoover> You should probably talk to elliott about that so he can tell you why your ideas are bad and you should feel bad.
01:00:44 <elliott__> im here for norman if he wants a yelling at
01:01:38 <elliott__> 20:41:53: <norman256394> there should be a tag in here to mark sentences that are meant to be taken as humourous/sarcastic
01:01:43 <elliott__> what is it with people proposing this, it defeats the point of sarcasm entirely
01:01:43 <elliott__> which is to make people who are stupid feel bad
01:01:47 <coppro> elliott__: I have empirically determined your weakness?
01:02:01 <ais523> elliott__: the proposed actual tag was funny
01:02:20 <elliott__> ais523: Yes, but it was cheater, so I'm legally obligated to refuse to comment on this one-off fluke.
01:02:26 <elliott__> coppro: Yes, it is ending statements with a question mark?
01:02:46 <coppro> elliott__: What you do you think !
01:02:59 <ais523> coppro: gah, shades of Enigma
01:03:04 <ais523> engima has different floors !
01:03:10 <ais523> *enigma has different floors !
01:03:24 <elliott__> im glad you included the entire sentence there
01:03:32 <elliott__> or id have tohught you meant "engima enigma different floors"
01:03:51 <ais523> elliott__: it loses its effect if not spelt out
01:03:58 <ais523> the typo was ruining it
01:08:39 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:08:50 -!- Vorpal has quit (Ping timeout: 260 seconds).
01:16:35 <elliott__> Oh god is he reading Problem Sleuth.
01:24:36 -!- calamari has joined.
01:25:43 -!- calamari has left.
01:41:09 -!- oerjan has quit (Quit: Good night).
02:17:22 -!- pikhq_ has joined.
02:20:37 -!- pikhq has quit (Ping timeout: 276 seconds).
02:47:56 -!- augur has quit (Remote host closed the connection).
03:04:31 -!- pikhq has joined.
03:04:43 -!- pikhq_ has quit (Ping timeout: 244 seconds).
03:05:43 -!- augur has joined.
03:09:53 <Sgeo_> Should I read Problem Sleuth?
03:15:38 <zzo38> Some pokemon tournaments will permit cheating before the tournament starts, as long as the data is of the kind that can also be legitimately obtained in the game, and that you do not cheat during the game.
03:16:14 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
03:16:44 <zzo38> My quotation "Learn to be Chinese and kill yourself" is reading out of context, is more strange, since its meaning from that context is now not there; but you told me before you like to post quotations out of context, so it is OK.
03:21:20 <Sgeo_> zzo38, the context is someone who wants to get better at everything than everyone else, by killing people who are better at him at anything
03:21:36 <Sgeo_> He pointed out that he'd have to kill all Chinese people
03:21:44 <Sgeo_> And almost everyone else for that matter
03:22:18 <zzo38> Yes, that is why I typed that message
03:24:32 <pikhq> Oh, he wouldn't have to kill all Chinese people.
03:24:44 <pikhq> Just all people who speak the Chinese language he wants superiority at.
03:24:53 <pikhq> *Much* easier problem.
03:26:05 <zzo38> Then in that case, learn to be Chinese and then don't kill yourself.
03:37:00 -!- Lymia has quit (Ping timeout: 260 seconds).
04:14:15 <elliott__> <CakeProphet> Sgeo_: I'm finding it entertaining
04:14:30 <elliott__> CakeProphet: wait 'til you get to homestuck :D
04:18:48 * Sgeo_ headaches at the dumbwaiter
04:19:13 <Sgeo_> http://www.mspaintadventures.com/?s=4&p=000404
04:25:46 <elliott__> Sgeo_: oh btw HAMSTEAK UPDATE i love this reversal of the balance of power mwahahaha endless bugging power
04:25:59 <Sgeo_> Knew about it for a while
04:26:59 <elliott__> yeah but so did i every time you said it so everything is going according to plan :D
04:31:28 <pikhq> Y'know what'd be very, very nice?
04:31:36 <pikhq> Replay Gain on video.
04:31:42 <pikhq> Y U NO DO IT, MPLAYER?
04:32:08 <pikhq> Second time I've used it, okay?
04:32:28 <elliott__> everyone just using it a few times
04:33:16 <Sgeo_> elliott__, Y U NO LIKE Y U NO?
04:33:41 <elliott__> Sgeo_: im going to rip your fucking heart out
04:35:20 <coppro> Sgeo_: Y U NO HAVE HEART?
04:40:02 <Sgeo_> coppro, Y U NO HAVE BLOOD?
04:40:09 -!- Sgeo_ has changed nick to Sgeo.
04:44:01 <pikhq> elliott__: Guess what's being developed by a suckless dev?
04:44:15 <pikhq> http://hg.suckless.org/sbase/file/a9db33a9bfea
04:45:48 <elliott__> my interest in coreutils is rapidly diminishing
04:45:53 <elliott__> do they have anything actually non-trivial
04:46:01 <elliott__> nope, doing all the simples tuff first
04:46:12 <elliott__> i can guarantee this will never be a viable full coreutils replacement
04:46:21 <pikhq> Yeaaah, he started 2 days ago.
04:47:04 <pikhq> Is there anything non-trivial in coreutils?
04:47:56 <elliott__> because the latter is not really non-glibc-portable and the like
04:47:59 <elliott__> and it's what really needs replacing
04:48:14 * pikhq hasn't looked at util-linux's src
04:48:48 <elliott__> pikhq: they use some gnu shit like get_program_name() or something
04:48:55 <elliott__> that adds overhead to every single program if its included in the libc
04:49:41 <coppro> pikhq: obious bug in tee
04:50:31 <coppro> it will accept "-e\xff" as a valid flag
04:50:35 <elliott__> good to know the suckless ultra-minimalist spirit is still alive
04:51:21 <elliott__> http://hg.suckless.org/sbase/file/a9db33a9bfea/cat.c
04:51:29 <elliott__> the one program that's utterly trivial to write with read/write
04:51:40 <elliott__> and that actually suffers for stdio overhead because it's such a tiny program
04:52:12 <coppro> elliott__: he uses getopt into a char
04:53:31 <coppro> clearly these things should just be written in assembly
04:53:34 <coppro> also screw backwards compatibility
04:53:40 <coppro> let's have a C compiler with sane flags
04:53:54 <elliott__> writes its own ELF headers and everything
04:53:59 <elliott__> totally syscalls, no libc dependencies
04:54:01 <elliott__> http://asm.sourceforge.net/asmutils.html
04:54:13 <elliott__> coppro: here's another idea: let's not use C
04:55:17 <coppro> elliott__: provide me with an alternative and I'm behind you all the way
04:55:19 <zzo38> I think you should write a version in C and a version in assembly language. Use the program that is assembly language when it is compatible with the computer.
04:55:40 <elliott__> for coreutils... any language at all is sufficient, jesus
04:55:46 <elliott__> these are utterly trivial programs for the mostpart
04:55:46 <coppro> elliott__: a minimum portable language
04:56:02 <elliott__> coppro: there is no way C is minimum. that is a laughable claim.
04:56:37 <coppro> elliott__: I didn't claim it was
04:57:09 <elliott__> "gimme an alternate to c" "criteria?" "a dynamically-typed interpreted scripting language"
04:57:26 <coppro> it is quite minimal on a relative scale, while having asufficient abstraction to be portable
04:57:48 <elliott__> C has tons and tons and tons of semantics
04:58:09 <elliott__> i refuse to even argue that, there is no way C is minimal as far as portable languages go:)
04:58:22 <elliott__> (I might argue its portability too, but I'm way too lazy to right now)
04:58:49 <elliott__> like, ANS Forth is if anything /more/ portable than C, and it certainly has much less semantic baggage
04:58:56 <elliott__> (no, I don't think ANS Forth is a good replacement for C)
04:59:47 <elliott__> "Michael J. Fox Appearing in Back to the Future" ;; Telltale, this is a very dishonest title to put in my inbox >:|
05:00:47 <pikhq> elliott__: So far, I very nearly have a functioning util-linux with musl.
05:01:05 <pikhq> 2 patches thus far, simply pulling in the right includes.
05:01:15 <pikhq> (it seems to have relied on overinclusion in the headers)
05:02:14 <zzo38> Probably C is made to need a lot of things because many different computers have a lot of things, such as the different kind of data types, and different optimization, and so on.
05:04:55 -!- elliott__ has quit (Ping timeout: 252 seconds).
05:05:16 <pikhq> *3* lines of patching.
05:05:26 <zzo38> But still, isn't quite perfect
05:06:29 <coppro> elliott__: minimal in terms of abstraction, not simplicity
05:08:41 <pikhq> Aaand a single GNU-ism.
05:08:49 <pikhq> So far, versionsort().
05:11:30 <Sgeo> I'm now sufficiently scared of my power cord that I'm not going to charge my computer until I have a new one
05:11:39 <pikhq> And now, a different fail.
05:11:57 <Sgeo> Seriously, it's sparking and making sounsd
05:11:58 <pikhq> Their mount relies on no-longer-extant defines in the Linux headers.
05:14:10 <zzo38> Then, make a new one that is minimal in abstraction and simplicity and compile to native codes but can do the different kind of optimizations and other features that can be specific to the computers and whatever else. I think someone invented C-- for a similar purpose to this?
05:14:23 <pikhq> ... Waaait, that's libmount which isn't even needed at all.
05:15:11 <pikhq> --disable-libmount
05:18:38 <pikhq> And now, something that confuses me.
05:18:48 <pikhq> I have no idea where that should be found.
05:19:29 -!- Sgeo has quit (Read error: Connection reset by peer).
05:19:55 <pikhq> Musl seems to not define it.
05:21:53 <pikhq> Oh, no wonder, NGROUPS is not POSIX.
05:33:14 <zzo38> There is also Pascal, although many things Pascal is missing (such as default cases, which some Pascal systems provide; hexadecimal/octal numbers, which WEB provides; preprocessor macros, which WEB provides (also usable to make conditional compilation)), including many things that is just not Pascal such as using pointers like C and bitwise operations and stuff! Is many thing wrong!
05:33:33 <zzo38> However, it does have a few good features such as ability to specify number size datatype by range, which C doesn't do.
05:34:35 <zzo38> And apparently the syntax in Pascal for forward declarations of procedures that have parameters, is really horrible (although I don't know how it works, is just what Knuth wrote that it is really horrible).
05:37:35 -!- calamari has joined.
05:37:42 <pikhq> GAAAH, stuff uses error in here.
05:38:15 <pikhq> By far the most devious GNUism.
05:42:01 <pikhq> Okay, not going to work on it any more, but it would not be that hard to port util-linux to be vaguely portable.
05:48:39 <CakeProphet> To quote Stanford algorithms expert Donald Knuth, "Who are you? How did you get in my house?"
05:53:06 <CakeProphet> I'm actually not sure why most languages index arrays starting at zero. It makes sense, but I have no way of explaining why..
05:53:58 <pikhq> It makes some array arithmetic easier...
05:54:10 <pikhq> It also makes a fuckton of sense with C's semantics.
05:54:18 <pikhq> Remember, a[b] == *(a+b)
06:02:29 <CakeProphet> it would be interesting if computation power had increased faster (relative to need) than memory size. So essentially we were more concerned with optimizing memory over computation time.
06:03:15 <pikhq> Well, actually, it's memory bandwidth that's stifling.
06:03:59 <CakeProphet> relative to need though? it seems that optimizing speed over memory use has been preferred in most cases.
06:04:29 <pikhq> The best way to optimise for speed these days *is* to optimise for memory use.
06:04:38 <zzo38> I like index arrays starting at zero it makes sense not only for pointer arithmetic but in a few others ways, sometimes even mathematical sensibility.
06:05:51 -!- zzo38 has quit (Quit: Let's put all of your money in the toilet. Whoever wins will be their job to take *all* the money from the toilet and to flush *all* the suits down the toilet.).
06:07:21 <pikhq> L1 cache is a few kilobytes. An L1 cache miss costs about a dozen clock cycles. L2 cache is *maybe* a few megs. An L2 cache miss will cost you a few hundred clock cycles.
06:08:53 <pikhq> Oh, yeah, and it costs a couple of clock cycles to fetch *from* L1.
06:11:15 <pikhq> Oh, yeah, and a single fetch from disk could well cost you thousands of clock cycles.
06:11:27 <pikhq> Space optimisation *is* speed optimisation these days.
06:12:05 <pikhq> In case you can't tell, most people haven't caught on yet.
06:12:10 <coppro> optimizing memory location is important
06:12:21 <coppro> small is useless if it's scattered
06:12:24 <pikhq> Oh, yes, absolutely.
06:12:32 <coppro> also disks may have caches
06:12:43 <pikhq> Locality lets your reads actually come from cache most of the time.
06:13:00 <CakeProphet> ah, so my prototype linked list filesystem is a no-go?
06:13:03 <pikhq> Which can save your ass if you're dealing with an inherently large working set.
06:13:11 <coppro> CakeProphet: not necessarily
06:13:22 <CakeProphet> coppro: oh, well it doesn't exist anyways. :P
06:13:28 <pikhq> CakeProphet: So... FAT?
06:14:30 <CakeProphet> I was thinking more along the lines of individual bytes. you know, to simplify everything. :D
06:14:53 <pikhq> Uh, that wouldn't work well on any storage device.
06:14:58 <coppro> CakeProphet: It depends on the nature of the disk
06:15:06 <pikhq> Except maybe a large, large array of magnetic core.
06:15:13 <coppro> SSDs are pretty much random access
06:15:58 <pikhq> coppro: Not *quite*. A large request is more efficient than a small one, because of DMA.
06:16:07 <pikhq> Well, more efficient than many small ones.
06:16:32 <CakeProphet> My persistent storage is an abacus. What do you recommend?
06:16:45 <coppro> pikhq: not familiar with it, but if it's just a size thing, then the effects it has on locality are incidental
06:17:55 <pikhq> coppro: Basically, the CPU sends a request to the device and then gets told when the request is done...
06:18:35 <pikhq> Combined with the limited number of requests that can be in flight and once, it's much more efficient to simply tell the SSD to do a handful of giant requests and wait around, do something else, then to keep feeding it a giant list of small requests.
06:19:28 <pikhq> The maximum queue depth on a SATA drive is, uh, 31, I think.
06:19:43 <coppro> I don't know the mechanics of hard drives well enough to be sure, but I imagine seeks on those are quite inexpensive too, although you are still far better off reading linearly
06:19:57 <pikhq> Seeks on SSDs are effectively instantaneous.
06:20:42 <pikhq> It's just the pesky bit about copying from SSD to RAM that makes linear reads better.
06:21:31 <coppro> I imagine you could design a magnetic disk where the maximum cost of a seek is one rotation
06:21:39 <coppro> no clue if that's how modern drives work
06:21:57 <coppro> ... goddamn it why do we stlil program in assembly
06:22:03 <CakeProphet> abacii are very durable, and can hold persistent data for centuries with minimal effort if kept in a dry environment!
06:22:23 <coppro> CakeProphet: also one free of earthquakes
06:22:33 <pikhq> coppro: Pretty sure it's pretty close to that even now.
06:23:20 <coppro> think about that for a second
06:23:21 * oklopol opens a beer after a long day at work
06:23:26 <coppro> elector-/magnetic/ pulse
06:23:38 <coppro> y'know, with the how do they work and stuff
06:23:49 <pikhq> The issue is that 10 millisecond seeks are ungodly slow when a millisecond is a thousand clock cycles.
06:24:09 <pikhq> Hard drives are actually harder to wipe with magnetism than you'd think.
06:24:27 <coppro> modern hard drives don't take 10 milliseconds for a rotation
06:24:45 <coppro> <-- order of magnitude issues
06:25:36 <oklopol> also my psychic told me i'll soon get out of the jobless situation i'm in at the moment, and that i will soon finish a project i've been working on for a long time
06:25:52 <oklopol> i suppose research isn't work :\
06:26:24 <pikhq> They have neodymium magnets *in them*, usually...
06:26:34 <pikhq> Decent sized ones, too.
06:27:07 <coppro> Now, they're often also shielded
06:27:16 <CakeProphet> yeah I've played around with those. They're ridiculously strong.
06:27:35 <coppro> so if the shield is intact, doing any magnetic damage is difficult
06:27:43 <coppro> and a pulse will just be summarily ignored
06:27:50 <oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring
06:28:03 <pikhq> Probably do a number on the drive controller, making it effectively unreadable, though.
06:28:27 <pikhq> oklopol: ... Srsly?
06:28:28 <coppro> also if it was running at the time you might end up with the write head getting charged and causing some write-age
06:28:35 <oklopol> pikhq: srsly in what sense?
06:28:41 <coppro> `quote add < oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring
06:28:45 <pikhq> oklopol: Do you seriously use the services of a psychic?
06:29:09 <coppro> pikhq: I don't know which is worse. The possibility of him using a psychic or the fact that he thought it a good idea to tell us
06:29:09 <oklopol> it is a fact that i "use the services" of a psychic
06:29:19 <pikhq> "Do you *actually* use one?"
06:29:52 <coppro> Do you use your psychic for psychic services exclusively, and not any other services that may be incidental to the psychich-ness?
06:30:01 <oklopol> well define "use", it is a fact that i receive a monthly cold reading
06:30:09 <oklopol> and that i read it carefully
06:30:19 <pikhq> Okay, my question is answered.
06:30:25 <pikhq> Now, for more questions.
06:30:39 <CakeProphet> I /am/ psychic, so I don't even bother getting someone else to do it.
06:31:27 <oklopol> how should i know, curious i guess?
06:32:30 -!- wareya has quit (Read error: Connection reset by peer).
06:32:44 <pikhq> Do you have any concern for their predictions being any more than a parlor trick?
06:33:12 <pikhq> (that is, do you care whether or not it's actually even slightly legit?)
06:33:21 <pikhq> Okay, then you're just kinda weird. :P
06:33:21 -!- wareya has joined.
06:33:38 <oklopol> well i'm sure it's not even slightly legit
06:33:47 <pikhq> Then you're just kinda weird.
06:33:49 <oklopol> i'm interested in whether this is obvious to me from actually reading them
06:34:20 <oklopol> and it is so dead obvious that i'm wondering if this is a particularly crappy psychic
06:34:27 <pikhq> But thank goodness you're not also exhibiting an entirely irrational belief.
06:35:18 <pikhq> CakeProphet: How irrational of you. :P
06:35:25 <oklopol> as i said, the only concrete facts in the last prediction were that i'd get out of my current jobless situation
06:35:36 <oklopol> and i've been employed for what a year
06:36:38 <oklopol> the others i cannot really verify yet but apparently i'm going to meet some 40yo guy through common friends, and who will change my life in some way, there are so many ways why i don't see this happening
06:37:30 <oklopol> although, if a 40yo friend of a friend asks me to marry them anytime soon i'll probably have to say yes, and start believing.
06:37:53 <pikhq> Hmm. Oerjan's ~40, you met him through #esoteric, and he has probably changed your life in *some* way.
06:37:58 <pikhq> Clearly, this person is reading your past.
06:38:14 <oklopol> erm, actually with great luck, i'll be meeting oerjan soon
06:38:28 <oklopol> i wonder if he'll ask me to marry him
06:39:16 <CakeProphet> oklopol: it's more likely that this 40 year old will slip you a psychedelic drug without your knowledge, I'd say.
06:39:32 <oklopol> that would certainly change things
06:39:52 <pikhq> And then you'll find out you're one of the 1% of Europeans immune to AIDS.
06:40:30 <oklopol> i'm pretty sure i am, at least i have some evidence that i'm immune to chlamydia
06:40:39 <oklopol> and i don't even know if that's possible.
06:43:31 <oklopol> come on... they're not even trying, "I should thank you for the initiative you took just 917 days ago that when you asked me to determine what was going to happen in your astral configuration ..."
06:43:52 <pikhq> ... What the *hell*, chlamydia...
06:44:22 <pikhq> I, uh, think it might count as a eukaryote.
06:44:44 <oklopol> so does it even make sense to be immune to it
06:44:58 <oklopol> or would that be like being immune to dogs
06:45:11 <oklopol> i'm pretty sure i'm immune to dogs btw.
06:45:47 <pikhq> It's a fucking bizarre "bacterium".
06:45:59 <CakeProphet> oklopol: it's very possible to have chlamydia with no symptoms.
06:46:34 <oklopol> CakeProphet: i'm aware of this
06:47:38 <pikhq> At varying points, it looks vaguely like a virus/eukaryote and vaguely like a bacterium.
06:48:03 <pikhq> Erm, sorry, misread.
06:48:31 <pikhq> It's still motherfucking weird.
06:50:00 <oklopol> hmm, apparently the gods of nature refuse to tell jenna my credit card number
06:51:14 <oklopol> argh, i'm sleepy as hell and still like 8 hours of being awake to go
06:58:25 <CakeProphet> !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
06:58:26 <EgoBot> Interpreter dechatspeak installed.
06:58:57 <CakeProphet> actually "ur" could be either "your" or "you're"
07:03:33 <CakeProphet> !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
07:03:33 <EgoBot> There is already an interpreter for dechatspeak!
07:03:40 <EgoBot> That interpreter doesn't exist!
07:03:45 <EgoBot> Interpreter dechatspeak deleted.
07:03:48 <CakeProphet> !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
07:03:48 <EgoBot> Interpreter dechatspeak installed.
07:04:30 <EgoBot> Substitution replacement not terminated at /tmp/input.29075 line 1.
07:12:43 <EgoBot> Interpreter dechatspeak deleted.
07:12:48 <CakeProphet> while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you later/g;s{\bw/e\b}{whatever}g;s
07:13:11 <CakeProphet> !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
07:13:11 <EgoBot> Interpreter dechatspeak installed.
07:13:55 <CakeProphet> !dechatspeak l8er, though for some reason people actually spell it l8ter
07:13:55 <EgoBot> Substitution replacement not terminated at /tmp/input.29791 line 1.
07:16:36 <CakeProphet> yeah I'm stumped now. I moved it over to emacs and it highlight correctly.
07:19:41 <CakeProphet> Looks like we have no defense against all of those chatspeaking heathens that frequent our beloved channel.
07:27:35 -!- ais523 has quit (Remote host closed the connection).
07:50:16 -!- Patashu has joined.
07:52:47 -!- monqy has quit (Quit: hello).
08:16:27 -!- calamari has quit (Quit: Leaving).
08:49:09 -!- Kustas has joined.
08:59:01 <CakeProphet> Perl's flip-flop operator is pretty cool, but I haven't seen a use for it yet.
09:02:09 <Patashu> http://perl-tricks.blogspot.com/2007/01/flip-flop-operator.html hahahaha it's literally like a circuitry SR flipflop
09:10:22 <CakeProphet> that actually does look somewhat useful for parsing large sections of something.
09:10:43 <CakeProphet> not necessarily large, but something that can be broken up into sub-parses
09:12:33 -!- myndzi has quit (Ping timeout: 258 seconds).
09:12:38 -!- myndzi has joined.
09:23:05 <CakeProphet> there's even another variation of what .. does.
09:23:10 <CakeProphet> Patashu: If either operand of scalar ".." is a constant expression, that operand is considered true if it is equal (== ) to the current input line number (the $. variable).
09:40:02 -!- Lymia has joined.
09:40:02 -!- Lymia has quit (Changing host).
09:40:02 -!- Lymia has joined.
09:41:00 -!- FireFly has joined.
09:44:50 <CakeProphet> One of my favorite operators so far has been //. a // b is equivalent to defined(a) ? a : b
09:55:04 -!- Kustas has quit (Quit: Weinberg's First Law: Progress Is Made On Alternate Fridays).
10:02:14 <Lymia> Let's make an esolang where the most useful operator is a:b::c:d
10:02:17 <Lymia> Question is what it would do.
10:05:17 -!- sebbu2 has joined.
10:05:17 -!- sebbu2 has quit (Changing host).
10:05:17 -!- sebbu2 has joined.
10:06:33 <olsner> looks like the is to as is to operator (i.e. "a is to b as c is to d")
10:06:50 <Lymia> Now what kind of a programming language could you build around it?
10:07:12 <Lymia> That would still be Turing complete that is.
10:08:14 -!- sebbu has quit (Read error: Operation timed out).
10:08:15 -!- sebbu2 has changed nick to sebbu.
10:19:51 -!- Kustas has joined.
10:26:40 -!- Kustas has quit (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.17/2009122204]).
10:37:08 -!- Kustas has joined.
10:52:42 -!- Kustas has quit (Quit: over and out).
11:05:23 -!- Phantom_Hoover has joined.
11:10:54 -!- Sgeo has joined.
11:19:55 -!- oerjan has joined.
11:38:08 -!- BeholdMyGlory has joined.
11:39:08 -!- Vorpal has joined.
11:47:42 <oerjan> <CakeProphet> yeah I'm stumped now. I moved it over to emacs and it highlight correctly.
11:54:58 <Sgeo> Why am I reading Problem Sleuth while eating?
11:55:23 <oerjan> so you can sleuth and slobber
11:59:22 <lambdabot> Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them.
12:04:51 -!- MigoMipo has joined.
12:18:02 <Phantom_Hoover> http://www.scribd.com/doc/24048466/Converting-of-Matter-to-Energy-by-AB-Generator
12:18:23 <Phantom_Hoover> Stealing my ideas from the future and passing them of as their own before I even have them.
12:20:50 <Phantom_Hoover> It essentially works by balancing the energy/mass loss from Hawking radiation by pumping in more mass, which effectively performs perfect matter-to-energy conversion.
12:21:44 -!- TOGoS has joined.
12:21:59 -!- TOGoS has left.
12:25:24 <Phantom_Hoover> It could power a Kardashev-1 civilisation with a man shovelling coal.
12:26:36 <Phantom_Hoover> Well, FSVO 'shovelling coal' equal to 'firing it into the hole against the maelstrom of gamma rays coming out of it'.
12:27:31 <oerjan> every piece of coal would get turned into energy equivalent to a nuclear bomb...
12:27:32 <Phantom_Hoover> And you still need either 10^8 or 10^16 (stupid ambiguous past me) of mass, and you need to make it into a black hole, which is the really hard part.
12:27:53 <oerjan> you'd not want to stand close to that
12:29:02 <oerjan> and if your feeding apparatus failed, you'd have an even greater explosion on your hands...
12:29:25 -!- pikhq_ has joined.
12:29:35 -!- pikhq has quit (Ping timeout: 258 seconds).
12:31:45 <Phantom_Hoover> I Mathematicad all the calculations a while ago; I'll see if I can find them.
12:37:22 <Phantom_Hoover> So yeah, the world's power output can be met with a 10^11 kg black hole with 1.8*10^-7 kg/s of matter.
12:39:05 <Phantom_Hoover> O.o the power output of a GRB is only a 20,000th of that of every star in the observable universe.
12:44:40 <Sgeo> What's the chance of a GRB directly hitting Earth?
12:45:53 <Phantom_Hoover> They hit us all the time, that's why they're so amazing.
12:46:05 <Phantom_Hoover> They're literally from the other side of the universe.
12:46:23 <Sgeo> Hmm. I guess it's nearby GRBs that would be problematic?
12:47:36 <Sgeo> gamma Ray Burst
12:47:55 <Phantom_Hoover> Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'.
12:50:37 -!- sebbu2 has joined.
12:50:37 -!- sebbu2 has quit (Changing host).
12:50:37 -!- sebbu2 has joined.
12:53:44 -!- sebbu has quit (Ping timeout: 258 seconds).
12:54:00 <Phantom_Hoover> (There's a very cool book about various spacey things that can kill you called "Death from the Skies" by Phil Plait; you should read it.)
12:54:32 <Sgeo> Blah paying money
12:54:37 <olsner> OGL-accelrointu kahvinkeitin
12:54:47 <Sgeo> I think I'd rather read a math book or a quantum physics book
12:55:18 <Vorpal> <olsner> OGL-accelrointu kahvinkeitin <-- Finnish?
12:55:27 <olsner> Vorpal: looks like it!
12:57:33 <Vorpal> olsner, and where is it from?
12:57:47 <oerjan> `addquote <Sgeo> Hmm. I guess it's nearby GRBs that would be problematic? <Phantom_Hoover> Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'.
12:57:47 <Vorpal> "open gl acceleration <something>" I guess
12:57:47 <olsner> Vorpal: from warpdrive
12:57:50 <HackEgo> 436) <Sgeo> Hmm. I guess it's nearby GRBs that would be problematic? <Phantom_Hoover> Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'.
12:57:54 <Vorpal> olsner, not familiar with that
12:58:04 <Vorpal> olsner, unless you mean the star trek thingy
12:58:53 <Vorpal> olsner, oh is it like bash.org=
12:59:19 <olsner> Vorpal: yes, quite similar
13:06:57 <oerjan> using the grinding and processing unit
13:10:48 <oerjan> teapots are space age technology, so 60s...
13:11:53 <Vorpal> <Phantom_Hoover> http://arxiv.org/pdf/astro-ph/0002442v1 <-- very interesting
13:28:10 <Sgeo> Wooo GBracha post
13:29:51 <cheater_> also, figures 3 and 4 look amazingly much like His Noodliness
13:31:23 -!- Cheery has joined.
13:33:18 -!- martian67 has joined.
13:33:34 -!- martian67 has left ("Leaving").
13:37:20 -!- foocraft has joined.
13:47:10 -!- oerjan has quit (Quit: leaving).
13:54:32 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
14:01:24 <Phantom_Hoover> OK the list at the bottom of that page is both silly and very interesting.
14:04:08 <Phantom_Hoover> http://en.wikipedia.org/wiki/Orders_of_magnitude_(numbers)
14:09:04 -!- ralc has joined.
14:09:21 <Phantom_Hoover> Suggest you consult oklopol on matters of graph theory.
14:17:59 -!- TOGoS has joined.
14:18:22 -!- TOGoS has quit (Read error: Connection reset by peer).
14:29:07 -!- copumpkin has joined.
14:29:07 -!- copumpkin has quit (Changing host).
14:29:07 -!- copumpkin has joined.
14:35:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:40:41 -!- Patashu has quit (Ping timeout: 258 seconds).
14:41:04 -!- copumpkin has joined.
14:45:57 -!- copumpkin has quit (Ping timeout: 260 seconds).
15:33:13 -!- cheater_ has quit (Ping timeout: 260 seconds).
15:35:32 -!- azaq23 has joined.
15:37:02 <Sgeo> I think I broke my brain
15:37:19 <Sgeo> Regular functions get an argument representing the continuation, but continuations don't?
15:54:12 <Phantom_Hoover> I'm pretty sure that's how it works. By which I mean very sure.
15:56:29 <oklopol> "<cheater_> figure BELOW footnote? wtf?" <<< this is the standard in lecture notes in computer science
15:57:46 <Cheery> does languages designed to compose audio&music count into esoteric?
15:59:14 <Phantom_Hoover> If it's just Python with music-manipulation primitives, then no.
15:59:42 <Cheery> are difference equations esoteric? I've seen couple of those in digital audio stuff
16:00:07 <Cheery> http://en.wikipedia.org/wiki/Digital_biquad_filter
16:00:42 <oklopol> if everyone was like me, channels specializing in X would be the last place you'd wanna ask about X because once i've heard the question more than 50 times it doesn't even occur to me to answer it seriously
16:00:53 <Cheery> Phantom_Hoover: do not confuse.
16:01:14 <Phantom_Hoover> Oh, right, it's another name for a recurrence relation.
16:01:42 <oklopol> whatever-ihope's-current-name-is once talked about an idea of his for a DE based lang
16:02:17 <oklopol> but i guess it was just "hey what about a lang based on DE" and an example
16:02:59 <oklopol> i didn't confuse, i just only read Phantom_Hoover's comment and worked based on that
16:03:08 <oklopol> what the fuck are difference equations
16:04:19 <Phantom_Hoover> Which may, on further reflection, have been called Gravity.
16:05:23 <oklopol> i didn't know about the three-body problem when i read about gravity but umm so i guess gravity doesn't have an interp then
16:05:45 <Cheery> maybe I get those direct form equation sort of things.
16:07:27 <oklopol> "<Phantom_Hoover> Oh, right, it's another name for a recurrence relation." <<< why do i not read what other people say :D
16:07:45 -!- cheater_ has joined.
16:10:48 <Cheery> http://paste.pocoo.org/show/401151 <- biquad filter in python
16:11:10 <Cheery> and I'll get whatever highpass/midpass whateverpass stuff from the cookbook for that :)
16:11:33 <oklopol> that program SHOULD be sorry.
16:11:51 <Phantom_Hoover> Oh, incidentally: to mix two sine waves, do you just add them or are you meant to maths them together?
16:12:06 <Cheery> this filter is one major useful thing for subtractive synthetis.
16:12:51 <oklopol> what is subtractive synthesis?
16:13:36 <oklopol> does highpass do a FT, remove some low stuff and unFT?
16:13:38 <Cheery> that's creation of timbre by taking something complex and remove harmonics from it.
16:13:52 <oklopol> (or whichever way is a reverse transform and which non-reverse)
16:14:12 <Cheery> biquad filter is one of generic filters that lets you do resontant high-pass/low-pass/band-pass filters.
16:15:08 <oklopol> timbre is obtained by *removing* harmonics? i thought timbre was the harmonics :\
16:15:34 <oklopol> what does "resonant" mean?
16:16:11 <Cheery> human mouth behaves like an adjustable filter according to the wikipedia article.
16:16:40 <oklopol> well of course it does but does it work as a high-pass/low-pass/band-pass filter?
16:16:48 <Cheery> shape it takes affects cutoff frequencies of the air passing through.
16:16:49 <oklopol> maybe that's what you meant
16:17:18 <oklopol> yeah i think fizzie has mentioned some of this stuff some time
16:22:17 <Cheery> now it's one of the few things I know how to create. :)
16:23:14 <Cheery> my synth tools: multi-pass filtering, bunch of primitive waveform samples, controlling the parameters of these things with slower samples.
16:45:47 -!- copumpkin has joined.
16:45:47 -!- copumpkin has quit (Changing host).
16:45:47 -!- copumpkin has joined.
16:47:31 -!- pumpkin has joined.
16:47:31 -!- pumpkin has quit (Changing host).
16:47:31 -!- pumpkin has joined.
16:47:57 -!- Kustas has joined.
16:50:15 -!- copumpkin has quit (Ping timeout: 255 seconds).
17:03:49 -!- monqy has joined.
17:16:54 <Phantom_Hoover> OK I think I'm immune to Reddit's comment-sorting algorithm or something.
17:21:44 -!- Kustas has left.
17:23:33 <pikhq_> Mmkay, so the 2 largest problems with building anything on musl: People suck and rely on overincludes, and gnulib is the most unportable piece of shit known to man.
17:24:58 <pikhq_> Some headers in common libcs include more headers than is strictly necessary.
17:25:09 <pikhq_> Some programs rely on this.
17:26:02 <pikhq_> Still, it's an issue for building with musl, as musl has fairly minimal includes.
17:40:19 -!- augur has quit (Remote host closed the connection).
17:50:11 -!- zzo38 has joined.
18:02:37 -!- augur has joined.
18:20:42 -!- Sgeo has quit (Ping timeout: 255 seconds).
18:35:37 <cheater_> first lol-powered amp: http://techcrunch.com/2011/06/04/first-solar-powered-laptop/
18:36:23 -!- Kustas has joined.
18:36:27 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:37:57 -!- zzo38 has quit (Remote host closed the connection).
18:38:14 -!- Phantom_Hoover has joined.
18:45:27 -!- foocraft has joined.
18:49:12 -!- olsner has quit (Quit: Leaving).
19:11:34 -!- ralc has quit (Quit: Leaving).
19:11:39 -!- atrapado has joined.
19:20:18 -!- Kustas has quit (Quit: it's gonna get interesting).
19:21:40 -!- sebbu2 has changed nick to sebbu.
19:22:40 -!- oerjan has joined.
19:23:48 <oerjan> <Sgeo> Regular functions get an argument representing the continuation, but continuations don't?
19:24:32 <oerjan> ...why the heck are people gone when i get to logread them
19:26:33 <oerjan> although unless the continuation is "exit program" it will necessarily contain another continuation inside it to transfer control to. um, i guess it could also loop.
19:27:23 <oerjan> (btw i realized in unlambda that it is possible to use the e exit-program function to construct a function equivalent to any other continuation)
19:27:27 <Phantom_Hoover> http://en.wikipedia.org/wiki/Islamic_inheritance_jurisprudence#The_role_of_Islamic_inheritance_in_the_development_of_Islamic_Mathematics
19:27:50 <Phantom_Hoover> Algebra: the result of stupidly-written Qur'an verses.
19:28:17 <oerjan> (e is essentially the top continuation reified)
19:29:56 <oerjan> seems i mentioned it in http://esolangs.org/wiki/Unlambda#Meta-notation
19:31:07 -!- Demetrius has joined.
19:32:43 <Phantom_Hoover> Hello Demetrius unless you are a neopagan in which case please stay so we can laugh at you otherwise welcome.
19:33:31 <Demetrius> Phantom_Hoover, hello :P But I’m just a passer-by, I don't really program in esoteric languages and I am an atheist :P
19:34:09 <oerjan> atheists do seem to be in majority among those professing their beliefs here
19:36:25 <Demetrius> i program in java and python a bit, but never did anything esoteric
19:36:36 <Demetrius> though I do find Piet very interesting
19:38:04 <Demetrius> Phantom_Hoover, I took on java because I wanted to write a game for my mobile phone... In fact, I am still working on it, but very slowly :
19:38:51 <Demetrius> I can program in most imperative languages if I have a manual at hand :D but I don't have much practice
19:39:21 <oerjan> > cycle "imperative languages suck! "
19:39:22 <lambdabot> "imperative languages suck! imperative languages suck! imperative languag...
19:39:57 <oerjan> (don't mind me, i'm just being stereotypically #esoteric)
19:40:19 <Demetrius> oerjan, maybe they do, but I'm too lazy to learn functional ones
19:40:30 <oerjan> not as lazy as haskell!
19:40:48 <Phantom_Hoover> Yeah, you're... not going to be the most popular person.
19:41:10 -!- Demetrius has left ("Zmicier").
19:41:13 <oerjan> i, on the other hand, am certainly lazier than haskell
19:41:23 -!- Demetrius has joined.
19:41:33 <Demetrius> I closed the channel by mistake xD
19:41:34 <oerjan> Demetrius: i was afraid you were serious
19:41:58 <oerjan> and we cannot have serious people here on this channel
19:42:09 <oerjan> ok except Vorpal and zzo38
19:42:21 <Demetrius> well, I guess serious people won't talk about esoteric languages
19:42:40 <Demetrius> oerjan, and how do you know they are serious?
19:42:52 <oerjan> Gregor _should_ be serious but isn't
19:43:04 <oerjan> well Vorpal is stereotypically serious
19:43:20 <oerjan> zzo38 is stereotypically incapable of not being serious
19:43:38 <oerjan> (you'll understand when you meet him)
19:43:48 <oerjan> well ais523 has this serious air about him
19:43:57 -!- Cheery has quit (Quit: Lost terminal).
19:44:34 <Demetrius> in fact I came here because sebbu typed a message to a wrong channel and had to explain where it belonged :D
19:44:36 <oerjan> i mean he even managed to earn money on something esoteric once. if _that_ isn't missing the point...
19:45:51 <oerjan> i did not say language
19:46:48 <Demetrius> well, that doesn't sound very esoteric
19:47:14 <lambdabot> <no location info>: parse error on input `?'
19:47:21 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
19:47:26 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
19:47:53 <oerjan> we also have other bots that are more esoteric
19:47:56 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
19:48:01 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
19:48:19 <oerjan> sadly fungot is still not with us
19:48:36 <oerjan> fizzie: Y U NO FIX FUNGOT
19:48:56 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ test.c \ tmpdir.14145
19:49:03 <oerjan> not immensely successful
19:49:27 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14262
19:49:37 <oerjan> i hope that wasn't something important
19:49:42 <Demetrius> hope there was nothing important there... :o
19:51:43 <oerjan> <Phantom_Hoover> YOU LIED TO ME LAMBDABOT <-- i assume you are joking
19:52:41 -!- atrapado has quit (Quit: FIN).
19:52:53 <Demetrius> `echo "Ня ведаю, навошта, але няхай сабе будзе" >тэкст
19:52:55 <HackEgo> "Ня ведаю, навошта, але няхай сабе будзе" >тэкст
19:52:57 <oerjan> Demetrius: you may understand HackEgo, while you can change a lot in it, does have protection against real malice
19:52:59 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14730
19:53:51 <oerjan> Demetrius: oh hm that `run thing it said above is important, without it your commands can have only one literal argument
19:53:56 <Phantom_Hoover> `run echo "Ня ведаю, навошта, але няхай сабе будзе" >тэкст
19:54:00 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14880
19:54:45 <Demetrius> maybe it doesn't like output redirection? or cyrillic?
19:55:05 <oerjan> it most certainly does output redirection
19:55:12 <Demetrius> `run echo "Nia viedaju, navošta heta, ale niachaj sabie budzie" >tekst
19:55:18 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ tmpdir.15087 \ тэкст
19:56:04 <oerjan> so perhaps it's the shell which has problems
19:56:08 <HackEgo> Nia viedaju, navošta heta, ale niachaj sabie budzie
19:56:22 <oerjan> well that accent got through
19:56:49 <HackEgo> Ня ведаю, навошта, але няхай сабе будзе
19:58:43 <Demetrius> the łacinka version has one word more than a cyrillic one
19:59:40 <Demetrius> `run echo "Nia viedaju, navošta, ale niachaj sabie budzie" >tekst
19:59:56 <HackEgo> Nia viedaju, navošta, ale niachaj sabie budzie
20:02:51 <oerjan> HackEgo's hg repository use sometimes makes things happen strangely, that might be why тэкст didn't show up before my touch
20:04:17 <oerjan> if commands are simultaneous it runs both simultaneously and merges the resulting repositories
20:05:02 <oerjan> sometimes the process even fails messily
20:06:19 <Demetrius> in fact, I never really worked with mercurial
20:07:38 -!- atrapado has joined.
20:08:26 <oerjan> me neither, HackEgo and EgoBot are Gregor's bots
20:10:46 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
20:11:03 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 he hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python recursion recursion2 redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacr
20:11:21 <oerjan> that's the bot's esoteric parts
20:11:53 <oerjan> well + a lot of silly stuff
20:12:19 <oerjan> it would appear there are no so many userinterps they don't all fit
20:14:14 <EgoBot> Interpreter recursion deleted.
20:14:19 <EgoBot> Interpreter recursion2 deleted.
20:14:26 <oerjan> they won't really work anyhow
20:14:46 <EgoBot> c char buf[1024]; int i; fgets(buf, 1024, stdin); for (i=0;buf[i];i++)buf[i]=(buf[i]=='\n')?'\0':buf[i]; if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf);
20:15:21 <EgoBot> perl for(<>){s/\b.+?\b/map/g;print}
20:15:34 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 he hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes
20:15:59 <EgoBot> haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print
20:16:54 <EgoBot> Interpreter he deleted.
20:18:07 <EgoBot> haskell main = do a <- getLine ; putStrLn (a ++ reverse a)
20:18:53 <EgoBot> Interpreter cockney deleted.
20:19:06 -!- Sgeo has joined.
20:19:19 <oerjan> !delinterp sffffffffedeesh
20:19:20 <EgoBot> Interpreter sffffffffedeesh deleted.
20:19:24 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh simpleacro simplename slashes svedeesh swedish ucat valsp
20:20:33 <EgoBot> unlambda ```s`d`@|i`ci
20:20:39 <EgoBot> Interpreter ucat deleted.
20:20:58 <EgoBot> haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map (("<ehird> " ++) . unwords . words) $ food $ map toLower)
20:21:24 <EgoBot> Interpreter funetak deleted.
20:21:43 <EgoBot> underload (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?)S
20:21:59 <EgoBot> bf ++++++++++++++[>+++++++>+++>+++++>++++++<<<<-]>.-.>+++.<+++.+++++++++++++++++.--------.>-.------------.>>.<+++.>-.<-.<+.-----------------------.
20:22:12 <EgoBot> sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@<pl(2?=#Cp"1+:#Mm%+#Mm1,3255?=#Cp"1-:#Mm?<-#Mm10,3254-#Mm1?=#Cp"1>:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1
20:22:33 <EgoBot> Interpreter chef deleted.
20:22:46 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez yodawg
20:23:17 <oerjan> ok i think they all fit now, unless someone added an interpreter in z...
20:23:46 <oerjan> !delinterp sffffedeesh
20:23:47 <EgoBot> Interpreter sffffedeesh deleted.
20:24:16 -!- zzo38 has joined.
20:24:31 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez yodawg
20:25:01 <EgoBot> sh echo ''; (echo -ne 'set terminal dumb\nplot '; cat) | gnuplot
20:25:27 <oerjan> !show postmodern_aoler
20:32:16 -!- aloril has quit (Read error: Connection reset by peer).
20:36:11 <Demetrius> CakeProphet, what is Problem Sleuth?
20:36:38 -!- elliott__ has joined.
20:36:53 <CakeProphet> http://www.mspaintadventures.com/?s=4 Warning: It will likely take more than a day to finish.
20:37:33 <elliott__> CakeProphet: on to Homestuck yet? :-P
20:37:55 <elliott__> Homestuck is, like, twice as long in terms of strips but takes about five times as long to read because of the pesterlogs and Flashes.
20:38:14 <Phantom_Hoover> CakeProphet, don't worry, it is impossible to finish Homestuck in a day unless you have the incredible blockheaded seriousness of Vorpal.
20:38:21 -!- aloril has joined.
20:38:40 <elliott__> A week is a more reasonable estimate for Homestuck. Two weeks, if you have a life.
20:38:50 <elliott__> Four days if you have less than zero lifes.
20:39:16 <CakeProphet> I thought Planck units were the smallest measurable quantity of some property
20:39:34 <elliott__> Phantom_Hoover: http://www.mspaintadventures.com/sweetbroandhellajeff/?cid=032.jpg
20:39:52 <coppro> elliott__: how do you think you compare to other people in terms of general superiority?
20:40:13 <elliott__> coppro: is this a serious question?
20:40:32 <elliott__> coppro: are you asking everyone this or just me? :D
20:40:38 <elliott__> oh i thought that was "hell yes" :D
20:41:02 <CakeProphet> Phantom_Hoover: ah, so it depends on the measurement in question whether or not it is the largest or smallest?
20:41:19 <coppro> elliott__: just you, obviously
20:41:33 <Phantom_Hoover> CakeProphet, technically the Planck units are just the units you get from the fundamental physical constants.
20:41:50 <elliott__> coppro: Do I get to know why you're asking if I answer? :P
20:42:25 <CakeProphet> coppro: alt+n should do the trick unless you have over 10 windows up.
20:42:32 <coppro> CakeProphet: yes. yes I do
20:44:07 <elliott__> coppro: I find it fairly obvious that I'm quite a bit more intelligent than some hypothetical average person of my age; I don't think I'm qualified to judge the average intelligence of society as a whole so I'll avoid doing that comparison globally. I'm pretty terrible at motivating myself and working with other people though, so /shrug... I have no idea how to measure the "superiority" of a person :P
20:44:57 -!- pikhq_ has quit (Ping timeout: 252 seconds).
20:44:57 -!- pikhq has joined.
20:45:06 <coppro> elliott__: hrm... I'll call that 0.6 Wolframs
20:45:17 <elliott__> coppro: wow, you have no idea how big a Wolfram is
20:45:29 <elliott__> for a start, the standard unit is the Dijkstra, Wolfram is just an exceptionally high measurement on that scale
20:46:02 <elliott__> Secondly I rabidly avoided making any positive claim other than "I'm quite a bit more intelligent than the average fifteen-year-old" X-D
20:46:34 <elliott__> 21:52:11: <Phantom_Hoover> Gregor, I am sorely disappointed at the loss of searchable logs of this place.
20:46:34 <elliott__> 21:52:17: <Phantom_Hoover> Please fix your hg ones or something.
20:46:37 <coppro> elliott__: A Wolfram is defined as "thinking oneself superior to everyone else"
20:46:41 <CakeProphet> I mean, hell, I was more intelligent than the average fifteen year old. It's not difficult I think.
20:47:05 <elliott__> coppro: There are vastly more non-fifteen year olds than fifteen year olds, and I only consider myself superior in intelligence :P
20:47:14 <coppro> 0.5 Wolframs is "thinking oneself to be exactly average"
20:47:24 <elliott__> But both Dijkstra's and Wolfram's values on that scale are astronomical :P
20:47:29 <coppro> elliott__: it's an age-adjusted scale
20:47:40 <coppro> Gene Ray I think gets higher than 1
20:47:58 <elliott__> To be honest if 0.5 means you consider yourself average then my real measurement is almost certainly greater than 0.6, but everyone downplays their ego.
20:48:22 <CakeProphet> This may be downplaying my ego, but I don't really consider myself extraordinary.
20:48:26 <coppro> I agree, but that response seemed 0.6-ish
20:48:57 <oerjan> elliott__> Testing this irssi madness
20:48:58 <coppro> I scale higher than I'd like too
20:49:15 -!- jix has joined.
20:49:29 <oerjan> shows up in my irssi as 22:48 elliott__> Testing this irssi madness
20:49:48 <coppro> I'm probably actually in the 0.9+ range
20:49:55 <oerjan> this is slightly disturbing
20:49:57 <CakeProphet> Shows up in mine as: 16:48 < elliott__> Testing this irssi madness
20:50:16 <CakeProphet> except instead of an 'e' there's a string of weird block-shaped symbols.
20:50:26 <elliott__> oerjan> I FUCKING HATE YOU ALL AND YOU SHOULD ALL EAT SHIT AND DIE UGH
20:50:42 <elliott__> oerjan> CakeProphet: coppro: Phantom_Hoover: FUUUUUUCK YOOOOUUUUUUU
20:51:01 <oerjan> elliott__: possibly i should not have revealed this
20:51:17 <elliott__> oerjan: it has clearly driven you insane.
20:52:32 <elliott__> I think it's the left-arrow character
20:53:01 <elliott__> 05:53:06: <CakeProphet> I'm actually not sure why most languages index arrays starting at zero. It makes sense, but I have no way of explaining why..
20:53:19 <elliott__> CakeProphet: Makes indexing arithmetic easier, and also uses the correct definition of the naturals as the indexing set :)
20:53:44 <CakeProphet> does it /really/ make indexing arithmetic easier? What kind of indexing are we talking about?
20:53:57 <CakeProphet> standard incremental/decremental indexing is easy with any range.
20:54:17 <elliott__> twodee->onedee with 0-indexing: yh + x
20:54:22 <elliott__> twodee->onedee with one-indexing: (y-one)h + x
20:54:40 <CakeProphet> http://dl.dropbox.com/u/16495819/Screenshot.png is what I see
20:55:30 <elliott__> mostly because it has eclipse on it ;D
20:55:41 <CakeProphet> yeah I had a Java class last semester and haven't taken it down.
20:55:53 <coppro> CakeProphet: suppose you have a pointer
20:56:03 <coppro> what do you add to that pointer to get the first element?
20:56:12 <elliott__> pointers are a shitty justification
20:56:18 <elliott__> because pointers make shitty arrays :)
20:56:51 <elliott__> ok you don't know how coordinates work
20:56:53 <coppro> CakeProphet: LIES AND SLANDER
20:58:27 <elliott__> coppro: do i get to know why you asked me now
20:58:38 <CakeProphet> elliott__: actually isn't h=x if you're trying to flatten the array into one dimension?
20:58:49 <coppro> elliott__: I wanted to determine your ego in Wolframs
20:59:18 <elliott__> that is, h is the maximalest y coordinate plus one
20:59:48 <oerjan> um not plus one if it's one-indexed >:)
21:00:47 <oerjan> CLEARLY ONE-INDEXING IS THUS SUPERIOR
21:00:51 -!- ralc has joined.
21:00:55 * oerjan runs away cackling evilly
21:01:51 -!- Demetrius has quit (Quit: see you!).
21:01:56 <lambdabot> [-2,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,5...
21:02:02 <CakeProphet> oerjan: see? doesn't that just simplify everything?
21:07:03 <oerjan> > [(+)`join`(*)|(*)<-(-)`scanl1`fix(-1:)]
21:07:05 <lambdabot> [-2,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,5...
21:08:41 <oerjan> > [(+)`join`(-)|(-)<-(-)`scanl1`fix(-1:)]
21:08:41 <lambdabot> [-2,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,5...
21:09:15 <elliott__> arariarearihaihetihmatcieaeratticsjcs
21:09:36 * oerjan is suddenly reminded of Val$ar
21:10:14 <elliott__> i want some vhdl kind of processor thing what
21:11:24 <oerjan> > (/)`scanl1`fix(0.5:)
21:11:25 <lambdabot> [0.5,1.0,2.0,4.0,8.0,16.0,32.0,64.0,128.0,256.0,512.0,1024.0,2048.0,4096.0,...
21:12:02 <oerjan> at least that idiom is best -1-indexed
21:16:36 <CakeProphet> !addinterp lperl perl while(<>){s/ (?<!\\) \{\{ (.*?) (?!\\) \}\} /$1/xee;print}
21:16:36 <EgoBot> Interpreter lperl installed.
21:16:49 <CakeProphet> !lperl What is all this nonsense about {{90+0}}?
21:16:49 <EgoBot> What is all this nonsense about 90?
21:19:11 -!- atrapado has quit (Quit: FIN).
21:21:31 <CakeProphet> oerjan: not a fan of the repeat function I've noticed. fix (x:) is just too cool. :P
21:22:09 <oerjan> ...it did not fit in with the rest there
21:22:45 <CakeProphet> didn't fit in? aren't they equivalent though?
21:23:14 * oerjan declares CakeProphet to have no sense of aesthetics
21:23:58 <oerjan> i mean if we were going for _cleanness_...
21:24:03 <lambdabot> [-2,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,5...
21:24:19 <lambdabot> [-2,99999999999909,199999999999820,299999999999731,399999999999642,49999999...
21:24:36 <lambdabot> [-2,99,200,301,402,503,604,705,806,907,1008,1109,1210,1311,1412,1513,1614,1...
21:24:40 <lambdabot> [-2,999,2000,3001,4002,5003,6004,7005,8006,9007,10008,11009,12010,13011,140...
21:24:42 <lambdabot> [-2,9999,20000,30001,40002,50003,60004,70005,80006,90007,100008,110009,1200...
21:24:45 <lambdabot> [-2,99999,200000,300001,400002,500003,600004,700005,800006,900007,1000008,1...
21:24:47 <lambdabot> [-2,9999999,20000000,30000001,40000002,50000003,60000004,70000005,80000006,...
21:24:50 <lambdabot> [-2,99999990,199999982,299999974,399999966,499999958,599999950,699999942,79...
21:24:56 <lambdabot> [-2,990,1982,2974,3966,4958,5950,6942,7934,8926,9918,10910,11902,12894,1388...
21:24:59 <lambdabot> [-2,9990,19982,29974,39966,49958,59950,69942,79934,89926,99918,109910,11990...
21:25:03 * oerjan wonders if elliott__ has a point
21:25:40 <CakeProphet> I like [1..] because it's actually [0.99.., 1.99....] :)
21:26:55 <elliott__> , he said to the phd in mathematics
21:27:32 <CakeProphet> though it would be nifty (read: pointless) if Haskell supported 0.99..
21:29:19 <CakeProphet> !lperl {{'a'..'Z' #Perl's enumeration stuff isn't anywhere near as good as Haskell's}}
21:32:02 <EgoBot> Interpreter lperl deleted.
21:32:03 <CakeProphet> !addinterp lperl perl while(<>){s/ (?<!\\) \*\{ (.*?) (?!\\) \}\* /$1/xee;print}
21:32:04 <EgoBot> Interpreter lperl installed.
21:33:21 -!- Slereah has quit (Ping timeout: 252 seconds).
21:33:58 <CakeProphet> !lperl This is a *{'test' . join ('','a'..'z')}*
21:33:58 <EgoBot> This is a testabcdefghijklmnopqrstuvwxyz
21:35:08 -!- Phantom_Hoover has quit (Quit: Leaving).
21:35:10 <CakeProphet> !lperl Also a test to enforce list context *{@{['a'..'z']}}* *{()='a'..'z'}*
21:35:10 <EgoBot> Also a test to enforce list context 26 *{()='a'..'z'}*
21:36:03 <EgoBot> Interpreter lperl deleted.
21:36:10 <CakeProphet> !addinterp lperl perl while(<>){s/ (?<!\\) \*\{ (.*?) (?!\\) \}\* /$1/gxee;print}
21:36:10 <EgoBot> Interpreter lperl installed.
21:42:16 -!- Slereah has joined.
21:45:25 -!- ralc has quit (Quit: Leaving).
21:46:56 -!- azaq23 has quit (Quit: Leaving.).
21:50:04 <CakeProphet> Your SYLLADEX'S FETCH MODUS is currently dictated by the logic of a STACK DATA STRUCTURE. You were never all that great with data structures and you find the concept puzzling and mildly irritating.
21:52:29 <CakeProphet> elliott__: so what's a better implementation for arrays than utilizing pointer arithmetic?
21:52:39 -!- Slereah has quit (Ping timeout: 255 seconds).
21:52:53 <elliott__> CakeProphet: well the /interface/ of pointers is bad for arrays
21:52:58 <elliott__> implementation demands on the data, ofc
21:58:12 <CakeProphet> what could be more straightforward for a particular datum than a contiguous region of memory accesses by pointer arithmetic?
21:58:28 <elliott__> it's ok for one-dimensional arrays but...
21:59:17 -!- Slereah has joined.
22:00:38 <elliott__> CakeProphet: btw i should note that homestuck is still ongoing
22:01:08 <elliott__> (after two years and over three thousand seven hundred pages :))
22:01:52 <CakeProphet> so elliott__, are you a fortran programmer? If so I have a question for you.
22:02:24 <oklopol> a lot of what i did in my master's thesis was basically esolanging
22:02:43 <elliott__> oklopol: yeah yeah and im the president of the us stop bragging
22:07:22 <oklopol> actually i do even more esolanging type stuff in this survey thingie i just finished, I'M SURE YOU'D ALL ENJOY IT
22:08:00 <elliott__> oklopol: im going to remove your organs
22:08:43 <elliott__> `addquote <oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring
22:08:45 <HackEgo> 437) <oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring
22:09:04 <elliott__> he said "`quote add" because he's an idiot who should die
22:09:16 <elliott__> (it's an insult to my quote system :<)
22:09:45 <elliott__> 06:34:27: <pikhq> But thank goodness you're not also exhibiting an entirely irrational belief.
22:09:47 <CakeProphet> elliott__: the subcommand interface is reminiscent of MUD commands.
22:09:50 <elliott__> pikhq: SAID THE EX-CHRISTIAN ;D ;D ;D ;D ;D; D; D; ;D; D; ;D;D;
22:10:11 <oklopol> i wonder if you can get napping pills at 1am in the morning
22:10:13 <elliott__> 06:37:30: <oklopol> although, if a 40yo friend of a friend asks me to marry them anytime soon i'll probably have to say yes, and start believing.
22:10:16 <elliott__> oklopol: ive got a confession to make
22:10:27 <oklopol> i need to be at uni in 7 hours and i've slept all day
22:11:09 <oklopol> elliott__: yeah right and i'm a famous bisexual
22:11:47 <oklopol> we can't, you're underage and have a penis
22:12:23 <oklopol> but how's about that thing you were supposed to get back to me about
22:12:35 -!- Slereah has quit (Ping timeout: 252 seconds).
22:13:57 -!- CakeProphet has quit (Ping timeout: 240 seconds).
22:16:16 -!- CakeProphet has joined.
22:16:16 -!- CakeProphet has quit (Changing host).
22:16:16 -!- CakeProphet has joined.
22:18:12 -!- SimonRC has quit (Ping timeout: 252 seconds).
22:19:18 -!- SimonRC has joined.
22:19:55 -!- Slereah has joined.
22:21:52 -!- CakeProphet has quit (Ping timeout: 252 seconds).
22:23:14 <zzo38> Did you try the "NABEATSU of the world" code golf?
22:27:03 -!- CakeProphet has joined.
22:27:03 -!- CakeProphet has quit (Changing host).
22:27:03 -!- CakeProphet has joined.
22:28:26 <CakeProphet> I wonder how someone goes about becoming an IRCop
22:28:55 <oerjan> you mean like freenode staff?
22:30:00 <CakeProphet> (Note: the slightest bit of thunder in the distance makes me disconnect. It's stupid. I probably won't be able to hold a conversation)
22:30:43 <elliott__> CakeProphet: By not asking that question :)
22:31:25 -!- Lymia has quit (Ping timeout: 246 seconds).
22:31:37 <oerjan> no no, you just go to #freenode and ask "How can I become the ruler of this network as part of my quest for world domination?"
22:32:30 -!- Slereah has quit (Ping timeout: 252 seconds).
22:33:00 <oerjan> well that should slightly increase _my_ chances, at least
22:34:27 <oklopol> freenode ircops do not k-line spammers
22:34:39 <elliott__> freenode is a bit too conservative a network for your tastes I think ;D
22:34:48 <elliott__> or, i suppose, in the world of irc, too progressive
22:35:06 <oklopol> well, i know this guy who spend like a week just spamming 24/7 and asking for a k-line before he got one
22:35:24 <elliott__> but freenode actually uses glines don't they or something
22:35:27 <elliott__> klines are one-server which is silly
22:35:37 <oklopol> freenode usually gives a kline afaik
22:36:19 <Sgeo> Well, there are some channels that if you join you get klined, iirc
22:36:30 <CakeProphet> so they won't [kg]-line you for disrupting hundreds of channels at a time with spam?
22:36:42 <coppro> CakeProphet: they will
22:36:56 <elliott__> that would require more than one nick anyway
22:36:58 <coppro> the problem is that Freenode staff are not always around
22:37:07 <elliott__> hmm or is the additional mode thing greater than that
22:37:13 <oklopol> but not just from say spamming all day on #freenode or #ubuntu
22:37:20 <oklopol> they just keep kickbanning you
22:39:26 <elliott__> oklopol: did you know you're a aoiejsj
22:40:42 <CakeProphet> elliott__: so whatever became of representing regular expressions as sets in Haskell?
22:40:43 -!- Slereah has joined.
22:40:53 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:40:54 <elliott__> CakeProphet: wasn't that like years ago
22:41:04 <elliott__> it doesn't work for obvious reasons
22:41:19 <zzo38> My own IRC server has no spam as far as I know, possibly because spam bots do not find it.
22:41:24 <elliott__> you can't skip infinite elements to find the one you want.
22:41:39 <zzo38> I used to have a comment form that was also spam many, but now I changed it to comment on gopher only, and there is no spam message.
22:41:57 <CakeProphet> elliott__: what if you use some fancy method of interleaving results from each expression?
22:42:07 <elliott__> CakeProphet: it's a pointless idea anyway :)
22:42:16 <elliott__> a tree structure is far more appropriate
22:42:27 <oklopol> "<elliott__> you can't skip infinite elements to find the one you want." <<< regular languages are countable sets
22:42:46 <elliott__> oklopol: but the naive way of doing | (concatenation) doesn't work
22:42:51 <oklopol> but it can be exponential complexity to search ofc
22:42:52 <elliott__> and IIRC interleaving had a stupid problem that i forget
22:43:01 <elliott__> because recognising it becomes like O(n)
22:43:07 <elliott__> where n is something utterly unrelated to the string you're testing
22:43:26 <oklopol> "<elliott__> oklopol: but the naive way of doing | (concatenation) doesn't work" <<< very good point
22:43:49 <oklopol> well n can be 2^k where k is length, as i mentioned
22:43:54 <oklopol> for instance for the full language
22:43:56 <elliott__> right, point is, lists are a stupid way to do it
22:44:02 <CakeProphet> n would be, the cardinality of the language accepted by the regular expression right? or whatever the terminology is.
22:44:08 <oklopol> so is your mom because she doesn't know what regexps are
22:44:16 <elliott__> it's the number of elements before the one you're testing in the list
22:44:19 <elliott__> oklopol: oh right the main flaw is
22:44:29 <elliott__> for anything that matches infinitezzzzz
22:44:36 <elliott__> yeah it was bsically the stupidest idea
22:44:41 <CakeProphet> elliott__: well right, I was talking about worst-case (which technically can't ever happen in an infinite list)
22:44:52 <oklopol> it most certainly is the stupidest idea in the world, yes
22:45:16 <oklopol> i was only disagreeing with the technical detail that was completely irrelevant
22:45:44 <oklopol> for some reason i suddenly want a theremin
22:46:30 <elliott__> the ondes martenot is really like fifteen instruments in one
22:47:40 <zzo38> I have made my own version of MegaZeux, including many features that other people have requested (and some that nobody has requested until far after I made my version), but still nobody else likes it (except for 2 people, one of whom refuses to use it anyways).
22:47:42 <CakeProphet> elliott__: sure, but only if a piano is like 88 instruments in one.
22:47:58 <elliott__> an instrument is something that you can activate to make a single noise
22:48:20 <CakeProphet> more if you count each string, but I don't. I got by the key because that's the smallest dividable component that a player interacts with.
22:48:22 <elliott__> so a theremin in a continuous universe is a real line of instruments
22:49:14 <CakeProphet> elliott__: same thing with an ondes because of the ribbon.
22:49:20 <zzo38> A piano can also do many other things, such as pedals, holding one key down silently for one string to make the other one make noise too, it is a different kind, and you could also play the strings directly.
22:50:04 <elliott__> CakeProphet: what's the ribbon again
22:50:45 <CakeProphet> elliott__: there's a little thing you can press down right in front of the normal keys that allows you to produce a continuous pitch.
22:51:07 <elliott__> does that actually give you infinite number of tones though
22:51:12 <elliott__> like a theremin (theoretically) does
22:51:16 <CakeProphet> I believe the note corresponds to which keyboard key you're physically below
22:52:03 <oklopol> because then 1cm is not the same distance in notespace everywhere
22:52:11 <oklopol> of course, it is not all that in the theremin afaiu
22:52:34 <CakeProphet> oklopol: I might be wrong on that assumption actually. I don't know for sure.
22:52:47 <CakeProphet> it just seemed to make sense. Otherwise you'd have to memorize which location is what pitch.
22:53:02 -!- Slereah has quit (Ping timeout: 240 seconds).
22:53:05 <CakeProphet> oklopol: also, I'm guessing you mean a fretless guitar.
22:53:07 <oklopol> but at least it continuously starts rising faster as you go, what you described would halve and double the speed at pretty much random spots
22:53:35 <elliott__> imagine playing a tune designed for a flat, continuous range on that
22:53:37 <CakeProphet> well, no, it doesn't sound chopped up when you change the pitch.
22:53:59 <oklopol> well in a fretful one, you have the same thing
22:54:00 <CakeProphet> here, I will find some music with ondes martenot.
22:54:25 -!- Slereah has joined.
22:54:28 <zzo38> Fiddle. It makes a big difference, you know.
22:54:36 <elliott__> `addquote <zzo38> Fiddle. It makes a big difference, you know.
22:54:38 <HackEgo> 438) <zzo38> Fiddle. It makes a big difference, you know.
22:55:29 <CakeProphet> http://www.youtube.com/watch?v=a35DH9tKjZI
22:56:13 <oklopol> erm what, the left hand is just used to control volume? :D
22:56:43 <oklopol> in the theremin it's okay because it looks like a guitar.
22:56:45 <CakeProphet> the left hand can control a number of properties.
22:56:54 <oklopol> this one looks like a piano so it feels retarded not to have two hands
22:56:58 <elliott__> oklopol: in the theremin it's okay because without the volume it'd be stupid :D
22:57:19 <elliott__> maybe if you had like superfast superprecise hands so you could avoid making everything sound like running your keys down a piano
22:58:01 <oklopol> i wish i had a touchkeyboard
22:58:08 <CakeProphet> there are different styles of playing an ondes. Also it can produce chords through other means. (I believe there are switches or buttons for different chords)
22:59:17 <oklopol> going to get one asap actually
22:59:28 <oklopol> i've had this one thingie in mind for some time
22:59:53 <elliott__> http://www.pimproom.com/sc_images/products/741_large_image.jpg
23:00:06 <elliott__> way cooler than a touchscreen though :D
23:00:14 <oklopol> yeah those would be awesome
23:00:16 <elliott__> http://www.biztoolbelt.com/uploads/5CellulonCL850VirtualKeyboard.jpg THE FUTURE
23:00:30 <elliott__> oklopol: http://www.cectcellphone.com/product.php?id_product=178/178-VKB%20Celluon%20CL850.html
23:00:35 <monqy> he future looks awful
23:01:08 <monqy> PEANUTS FOR THE PPLEASURE
23:01:31 -!- elliott__ has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
23:01:49 <elliott__> PEANUTS FOR THE PPLEASURE by det ondes Problem
23:01:59 <elliott__> coming to an esoteric record store near you
23:04:20 <CakeProphet> it appears that you can play the ondes 2-handed at a constant volume.
23:04:45 <CakeProphet> also the keys can apparently bend a full semiton as well.
23:05:10 <oerjan> elliott__: if you capitalize Problem you really need to capitalize Ondes
23:05:32 <elliott__> oerjan: no, the instrument is ondes Martenot
23:05:41 <elliott__> I lowercased det just because "Det ondes" looks weird :D
23:06:02 <elliott__> oerjan: you just don't understand _art_
23:07:04 <oklopol> art is just fart but you don't even give an eff
23:07:14 <elliott__> "synthpop nintendo-noise jazz fusion" <-- i can put words together too
23:07:30 <CakeProphet> elliott__: no those are all based on actual genres.
23:07:36 -!- zzo38 has quit (Quit: zzo38).
23:07:44 <elliott__> CakeProphet: what, you know of a synthpop nintendo-noise jazz fusion band? :D
23:07:58 <CakeProphet> ...no, I know of synthpop bands, nintendocore, noise, and jazz fusion.
23:08:08 <elliott__> yes, and i too can string those words together
23:08:12 <CakeProphet> and by "know" I mean "I could find them with Wikipedia and Google"
23:08:47 <oklopol> i'd certainly like a touchscreen based instrument with a continuous scale where a semitone is xcm everywhere
23:08:54 -!- Slereah_ has joined.
23:08:56 <oklopol> but touchscreens should feel like poking a boob
23:09:04 <elliott__> `addquote <oklopol> but touchscreens should feel like poking a boob
23:09:06 <HackEgo> 439) <oklopol> but touchscreens should feel like poking a boob
23:09:56 <oerjan> CakeProphet: http://xkcd.com/903/
23:09:59 -!- Slereah has quit (Ping timeout: 248 seconds).
23:10:10 <oklopol> are there boobs you wack and squeeze around to move the mouse?
23:10:37 <CakeProphet> oerjan: yes I often have this problem. Though I can definitely tell someone what spark plugs and cars are without wikipedia.
23:10:51 <oklopol> like those little nipples in laptop keyboards, but they'd be full-blown boobies
23:11:01 <elliott__> `addquote <oklopol> are there boobs you wack and squeeze around to move the mouse? [...] <oklopol> like those little nipples in laptop keyboards, but they'd be full-blown boobies
23:11:03 <HackEgo> 440) <oklopol> are there boobs you wack and squeeze around to move the mouse? [...] <oklopol> like those little nipples in laptop keyboards, but they'd be full-blown boobies
23:11:19 <CakeProphet> oerjan: but, shit, there's too much information to remember everything.
23:11:26 * Sgeo is not a car person
23:11:56 <elliott__> so on the subject of things that aren't how depressing sgeo is
23:12:02 <elliott__> http://xkcd.com/907/ <-- randy realises he's getting old
23:12:31 <CakeProphet> Sgeo: a spark plug provides a spark that ignites a mixture of fuel and air in an engine.
23:12:55 <CakeProphet> elliott__: yes I've noticed a change of tone in the most recent comics.
23:13:41 <elliott__> do you mean it's been getting shittier cuz its been going on a lot longer than that
23:13:42 -!- Slereah has joined.
23:14:18 -!- Slereah_ has quit (Ping timeout: 252 seconds).
23:14:43 <elliott__> http://xkcd.com/903/ is one of the high-points of the post-four hundred era
23:15:12 <elliott__> actually i almost feel like it's gotten bad enough that it should be the post-five hundred era
23:15:24 <elliott__> in comparison the fourxx comics are much better than the current lot :D
23:15:42 <CakeProphet> elliott__: there's also this: http://xkcd.com/550/
23:15:52 <elliott__> CakeProphet: Except that that's a terrible strip??
23:16:24 <oklopol> haha lol @ "Ha ha: MEMES!"
23:17:05 <elliott__> let me just set aside some time to be stupid enough to laugh at that
23:17:10 <elliott__> hey looks like next month is chemical lobotomy month youre in luck
23:17:21 <oerjan> oklopol: MEMES? DON'T YOU MEAN CARROTS?
23:17:37 <elliott__> oerjan: im going to snap your spine and drain all the blood from your neck
23:17:55 <elliott__> oerjan: then throw you into a meat grinder
23:17:57 <oerjan> elliott__: hey it was the one perfect time for it
23:18:25 <oerjan> oklopol: reddit meme. exceedingly forced.
23:19:31 <elliott__> oklopol: "I thought of a few witty remarks to make on a number line, let's draw this... hmm... I guess I need to pad it out a bit... like with false statements or something"
23:19:36 -!- Slereah_ has joined.
23:19:42 <elliott__> "What if I posted this as an xkcd"
23:19:48 -!- pikhq has quit (Ping timeout: 252 seconds).
23:19:53 -!- Slereah has quit (Ping timeout: 276 seconds).
23:19:53 -!- pikhq_ has joined.
23:19:55 <elliott__> "doubt it I'll probably get laid if I post this or something"
23:20:19 <elliott__> if that doesn't make sense, then we've localised the problem to randy's brain.
23:20:39 <oklopol> i still feel like i'm not quite getting all those number remarks
23:21:24 <oerjan> or possibly it actually _is_ in oklopol's brain
23:22:59 <CakeProphet> oerjan: quite a bit of it is math trolling I believe.
23:23:54 <oerjan> infuriates how? but i can only find one statement there that might possibly be _true_
23:24:16 <elliott__> i'm poorly so i'm sitting here on irc wasting time and you're trying to justify one of the worst xkcd's in recent memory, it is merely amusing to respond :)
23:24:51 <oklopol> 8 is the largest even prime?
23:25:03 <oklopol> why does he write that there
23:25:15 <elliott__> oklopol: because it's FALSE! HAHA!
23:25:22 <oerjan> i'm pretty sure oklopol is trolling us
23:25:26 <elliott__> see if he had put it on two, it would be true.
23:25:46 <oklopol> some of them do make sense, some i don't get but it's my fault, but what the fuck is that prime thing
23:26:00 <elliott__> oklopol: http://www.youtube.com/watch?v=7EnrZMrNBQc
23:30:47 <CakeProphet> elliott__: I don't think it's a good comic either but it's obvious that most of it is intended to either confuse or annoy, which it has apparently done.
23:31:25 <CakeProphet> people who get annoyed at false statements.
23:31:41 <elliott__> this is stupid and you're stupid for thinking it's a good strip :P
23:31:53 <monqy> I'm annoyed that someone would make it
23:32:45 <CakeProphet> this guy seems to know what he's talking about: http://forums.xkcd.com/viewtopic.php?f=7&t=71146#p2614309
23:32:56 <elliott__> doubtful, he's a poster on the xkcd forum
23:33:00 <elliott__> monqy: yes, it is predictably shit
23:33:02 <CakeProphet> but otherwise that entire thread is retarded.
23:33:15 <elliott__> "I can't supply all the details, but there might be some grounds for 8 being the supposed largest even prime joke."
23:33:20 <elliott__> pictured: trying to defend a comic being funny
23:33:33 <elliott__> that... does this person even understand humour
23:33:46 <elliott__> "The joke is justified by my insane logic; HA HA!"
23:34:25 <elliott__> wow, you're as good at jokes as randall
23:34:48 <CakeProphet> dude I'm a pro. Don't even compare to that shit.
23:34:51 * oerjan beats CakeProphet with a dead parrot
23:35:22 <elliott__> monqy: i wonder if randy gets propositioned on the street
23:35:28 <elliott__> (answer: no, but he tries his darndest)
23:36:13 <elliott__> yeah im practically tearing off my shirt and destroying walls
23:36:37 <Sgeo> representitives?
23:37:15 <monqy> sgeo you are so immature
23:37:18 <Sgeo> representatives
23:37:20 <oklopol> http://xkcd.com/889/ <<< finally a good one
23:37:49 <monqy> do turtles really think that
23:38:06 <elliott__> "I'm getting this picture in my mind... a teenage Randall, saying to himself "when I'm in my twenties, then, then I'll get all the sex!" And then a barely adult Randall saying to himself "when I'm 20, then, then I'll get all the sex!" And then he just skips over about thirty to fifty years and decides it must be when you're really old that you get to have a lot of sex."
23:41:15 <CakeProphet> elliott__: I see someone else shares your seething hatred for Randall in his shitty comics. You should send him a PM and he might invite you to a shirt-tearing wall-destruction party.
23:41:53 <monqy> whose shirts whose walls
23:42:05 <monqy> sounds manly regardless
23:42:06 <elliott__> It's just good ol-... well, old - xkcdsucks.
23:42:28 <elliott__> Which got stupider near the end but now it mostly has guest reviews and they're occasionally amusing.
23:42:34 <elliott__> I only checked because we were talking about it. :p
23:49:47 <oklopol> http://xkcd.com/887/ okay this was hilarious
23:50:56 <oklopol> i actually laughed out loud at the punchline
23:51:27 <elliott__> i have, but randy told me AYB references aren't funny again yet
23:52:32 -!- TOGoS has joined.
23:54:09 -!- Patashu has joined.
23:54:24 <oklopol> it was a reference? ewww :\
23:54:41 <oklopol> okay funniness has disappeared
23:55:25 <oklopol> First, "All primes are odd except 2, and 2 is the oddest of all". It's my understanding that when something in number theory is proven and lots of it depends on looking at things "p-adically" the first paper proves it for all odd primes. Then, a year later someone comes back and does the hard 2 case.
23:55:26 <oklopol> 'First, "All primes are odd except 2, and 2 is the oddest of all". It's my understanding that when something in number theory is proven and lots of it depends on looking at things "p-adically" the first paper proves it for all odd primes. Then, a year later someone comes back and does the hard 2 case.'
23:55:37 <oklopol> is this true? sounds retarded.
23:55:47 <coppro> AFAICT that wasn't a reference to 286
23:55:52 <coppro> it was obviously a reference to Zero Wing
23:55:54 <oklopol> i've seen the opposite happen about 42 times
23:56:10 <elliott__> coppro: 286's punchline implies "AYB is not funny yet"
23:56:14 <oklopol> if it was a reference, it was not funny; but certainly sounds like how AYB could've started
23:56:24 <elliott__> not many years later at all, 887's punchline is "AYB is hilarious"
23:56:44 <elliott__> by order of randy i can't find 887 funny.
23:56:50 <coppro> elliott__: maybe it's funny again now
23:57:09 <elliott__> coppro: sorry, Randy has not yet said so in his comic, so I cannot believe it.
23:57:15 <elliott__> "Decades from now" --http://xkcd.com/286/
23:57:19 <elliott__> it's not funny yet, it has not been decades
23:57:50 <Patashu> this webcomic has no internal consistency
23:57:59 <CakeProphet> elliott__: wow, so there's a website in which people devote significant amounts of time finding flaws in xkcd comics?
23:58:29 <elliott__> it takes, like, three minutes to write a blog post
23:58:37 <elliott__> how long did that p-adic poster spend trying to defend the eight-prime joke? :P
23:58:49 <CakeProphet> enough to write several paragraphs of hate and even dig back into previous comics to find places where he was inconsistent or used the same joke again.
23:59:12 <elliott__> CakeProphet: have you considered that it's fun to pretend to take it more seriously than you actually do
23:59:27 <oerjan> to prove fermat's last theorem it suffices to prove it for each odd prime, and 4.
23:59:29 <elliott__> come on, it's less pathetic than tons of shit the xkcd fans would do for the comic
23:59:31 -!- foocraft has quit (Quit: Leaving).
23:59:42 <elliott__> call it "literary criticism" if you want ;D
23:59:59 <CakeProphet> elliott__: well, depends on your definition of 'fun.' it sounds like a terrible waste of time to me.
00:00:21 <oerjan> oklopol: no that was an early solved case
00:00:24 <elliott__> CakeProphet: good thing you're not required to read/write it, then
00:00:40 <oerjan> but clearly this shows that 4 is an even prime
00:00:42 <oklopol> then is that guy actually referencing something or just being stupid
00:00:46 <elliott__> CakeProphet: however i invite you to look at the channel you're calling things a waste of time in :)
00:01:45 <oklopol> oerjan: do you at all know how the proof goes btw?
00:02:01 <elliott__> it goes like doot doot doot do do do do do
00:02:19 <oklopol> obviously Phantom_Hoover is the expert on that here but i wouldn't be surprised if you also knew some of the fancy words involved
00:02:42 <oklopol> how long is the shortest proof atm?
00:03:05 <oklopol> elliott__: to quote Phantom_Hoover, "surely everyone here knows how the proof goes"
00:03:31 <CakeProphet> elliott__: hey, #esoteric is an excellent way to spend time.
00:03:33 <oklopol> and when we didn't, he explained it to us
00:03:43 <CakeProphet> time that would otherwise be spent doing something productive.
00:04:19 <elliott__> to quote famous bisexual oklopol, "and when we didn't, he explained it to us"
00:04:48 <oklopol> elliott__: if it's any consolation, after this survey and my next article, i'll try to drop finite state automata and concentrate on CA, which feel much less like esolanging
00:05:23 <elliott__> oklopol: im going to put your limbs into separate bags
00:06:04 <elliott__> oerjan: http://esolangs.org/w/index.php?title=Infinity&curid=1253&diff=23206&oldid=20220
00:06:18 * elliott__ looks at this article WOW this article sucks
00:07:58 <oklopol> that seems like a slightly pointless article
00:08:31 <elliott__> it is, it's free of all informational content :P
00:08:43 <oerjan> i sometimes get this impression cpressey has a slightly tortuous relationship to math
00:08:49 <elliott__> http://esolangs.org/wiki/Special:Whatlinkshere/Infinity
00:09:40 <elliott__> http://esolangs.org/wiki/Lazy_evaluation
00:09:46 <elliott__> oh, the link added points to... a joke article
00:10:16 <oerjan> we have reached the esounderbelly
00:11:42 <oerjan> i didn't see the point in moving the conversation, it's not like there was any slanderous information involved
00:12:04 <oerjan> well in what _you_ said, anyway :P
00:12:07 <oklopol> what were you talking about?
00:12:20 <elliott__> but i'd have to send it to everyone present
00:13:38 <oerjan> <oerjan> well i'm sorry but once you are showing symbols it's too late anyhow
00:14:32 <oerjan> mostly, i think there are very few who have survived after reaching that stage
00:14:34 <oklopol> it's crazy that there are like a million cool diseases but no one ever gets those
00:14:40 <oklopol> everyone just gets like them flues
00:15:52 <oklopol> admittedly after changing dem to them i should've removed the e too
00:17:17 <elliott__> i gather Caroline enjoyed her rabies
00:17:43 <elliott__> http://upload.wikimedia.org/wikipedia/commons/c/c1/Rabies_Free_Countries_Sourced_2010.svg rabies-free bitch
00:18:30 <oerjan> http://en.wikipedia.org/wiki/Milwaukee_protocol
00:19:03 <elliott__> oerjan: handling bats leads to rabies? but they're so cute :(
00:19:40 <oklopol> so umm, tomorrow's conference lectures start when i went to sleep yesterday, and end when i woke up
00:19:50 <oklopol> i'll probably learn so much
00:20:28 <oklopol> one of the speakers has a proof of P=NP
00:20:36 <oerjan> you're in a conference?
00:21:20 <oklopol> i'm not really an organizer since i was doing my master's thesis when most of the stuff was happening
00:21:40 <oklopol> although i did referee one paper (it sucked THE ASS :D)
00:22:01 <elliott__> i don't keep track of the lovelifes of famous bisexuals oklopol
00:22:23 <oerjan> hey if it's a P=NP proof it should show up on godel's lost letter any moment /s
00:22:29 <oklopol> why thank you for asking, you can read it here http://tucs.fi/research/publication-view/?pub_id=tSalo11a
00:22:43 <elliott__> oerjan: There were 2 survivors out of 25 patients treated under the first protocol. A further 10 patients have been treated under the revised protocol and there have been a further 2 survivors.[6]
00:23:12 <oklopol> oerjan: proof goes as follows: nature can be simulated in polynomial time, and bubbles solve an np-complete problem when they form their lattice
00:23:22 <elliott__> oklopol: did you write this in notepad
00:23:39 <oerjan> i'd hazard a guess the obvious error is in the second part
00:23:47 <elliott__> there is no way you wrote this >:|
00:24:20 <elliott__> oklopol: lol they gave you a master's for this?
00:25:00 <oklopol> elliott__: well i solved at least 3 problems that had been open for more than a decade, this formally qualifies a laudatur.
00:25:20 <oklopol> oerjan: lol thought you meant obvious error in the second paragraph of my abstract :D
00:26:27 <oklopol> but in fact one of my conjectures is complete bullshit, because of a definition being wrong
00:26:32 <oklopol> this was fun to notice the day that was published
00:28:56 <oklopol> elliott__: umm dunno, once i come up with an interesting result
00:29:09 -!- pikhq_ has quit (Ping timeout: 240 seconds).
00:29:23 -!- pikhq has joined.
00:29:23 <oklopol> if i don't, probably in 4 years, if i do, perhaps right after that
00:31:10 <oklopol> http://www.math.utu.fi/projects/uc2011/timetable.html this here conference, more cs than math
00:31:23 -!- FireFly has quit (Quit: swatted to death).
00:32:57 <elliott__> go to that one it sounds interesting
00:33:02 <oklopol> i suppose it's basically an esolanging conference
00:33:18 <oklopol> Computing with planar toppling domino arrangements
00:33:34 <oklopol> A Universal Flying Amorphous Computer
00:34:37 <oerjan> strange name that second author
00:35:14 <oklopol> yeah i guess he had two sex changes
00:35:34 <oklopol> man -> universal amorphous computer -> man
00:36:30 <elliott__> i wanna change my name to A Universal Flying Amorphous Computer now
00:36:56 <oklopol> i have to try to sleep for a bit...
00:37:29 <elliott__> damn where is olsner whne you don't need him
00:37:58 <oerjan> sweding around like swedes do
00:40:01 <oklopol> yeah i'm not sure why i added that appendix but i guess there might be readers who don't know basic math but manage on page 30 anyway
00:40:05 <oerjan> i don't think that notation quite got through
00:42:31 <oklopol> right the 2 on the line above should be the exponent of n
00:44:13 <oklopol> actually there are very few "obviously" claims where i actually skip the exact proof, in fact i have gone to great lengths to formalize everything so formal that no one in their right mind would ever read it
00:45:10 <oklopol> that would've been cool, but perhaps i'm still a factor of a few hundred away from that in formalness
00:45:33 <CakeProphet> I think in technical writing it's a good idea to not skip over details that might seem obvious.
00:45:55 <elliott__> except that makes mathematical proofs unreadable :)
00:46:12 <oklopol> you do that in a phd and in an article
00:46:27 <oklopol> you don't do that in a master's thesis or a book
00:46:51 <oklopol> in a book, you don't do it because the reader is assumed not to know the boring details, and is such forced to suffer through them to make sure they understand what's actually happening
00:47:18 <oklopol> in a master's thesis, you don't do it because *the author* is demonstrating they know this stuff
00:47:24 <elliott__> 20:38:27: <ehird`> so now my Underload (...)s are no longer functions
00:47:24 <elliott__> 20:38:29: <ehird`> what should i call them?
00:47:38 <elliott__> the coining of the terioerioeioroeioioireoriooioerioermoinologiiiiiiiiiiiiiiiiiiiiojdfg
00:48:28 <oklopol> "<CakeProphet> maybe not with proofs." what else is there
00:56:19 <oerjan> baby, feel that equivalence
00:57:55 <CakeProphet> that's an interesting way to view biconditionality.
00:58:45 <elliott__> well biconditional i guess but it's the same thing as equivalence :)
01:00:09 <oerjan> it's a congruence relation, if you take its quotient you get a boolean algebra
01:01:17 <oerjan> the quotient of an equivalence relation is what you get if you identify equivalent elements
01:02:03 <oerjan> a congruence relation is an equivalence relation which respect your other operations, such as in this case ->, and, or
01:02:19 <CakeProphet> so the quotient is the set where the relation is true?
01:02:55 <oerjan> the quotient is a set whose elements are the equivalence classes of the relation
01:05:08 <CakeProphet> so congruence relations are equivalence relations that -- what you just said.
01:05:29 * CakeProphet only learned the basics of relations in his discrete math class.
01:05:47 <oerjan> yes. the significance of that is that you can transfer your other operations to the quotient
01:07:07 <oerjan> the map from an original element to the corresponding quotient element then becomes a homomorphism
01:09:00 <CakeProphet> which map? There's a lot of different kinds of maps. :D
01:09:29 <oerjan> map is here a synonym for function
01:10:05 -!- Lymia has joined.
01:10:06 -!- Lymia has quit (Changing host).
01:10:06 -!- Lymia has joined.
01:10:34 <oerjan> Lymia: YOUR IP WAS HANGING OUT
01:11:14 <CakeProphet> oerjan: so when you convert the original element into its equivalence class, it preserves the algebraic structure?
01:11:14 <Lymia> DMZ points at my dad's computer. Who cares.
01:11:53 <CakeProphet> hmmm, okay. I'll need to learn more about abstract algebra to understand what that entails.
01:12:59 <oerjan> http://en.wikipedia.org/wiki/Isomorphism_theorem#General
01:13:53 <CakeProphet> but an equivalence class is a set. Do you have to change the operations at that point to work with the equivalence class, or do you still use the same definition as before?
01:13:58 <oerjan> in wikipedia's usual even-more-incomprehensible-than-necessary style
01:14:13 <elliott__> its so the editors can prove theyre smart
01:14:39 <CakeProphet> oerjan: yeah the articles are dense, but the specificity helps when you need to know /exactly/ what something means. It's terrible for learning a new subject in advanced math though.
01:15:45 <elliott__> yeah but mathworld is easier to understand most of the time and just as precise, c'mon :P
01:15:57 <oerjan> well let's say A and B are two equivalence classes, and & is one of the operations. Then the congruence requirement means that for every a in A and b in B, a & b ends up in the _same_ class C, so just define A & B = C
01:16:55 <CakeProphet> ah okay, so the operation becomes something else, but still works the same way.
01:18:02 <CakeProphet> basically with the equivalence class version of the operation you're just applying the operation to all of the elements.
01:18:29 <elliott__> <Lymia> DMZ points at my dad's computer. Who cares.
01:19:04 <oerjan> well... there's a small caveat in that A & B applied to all elements is not necessarily _all_ of C, i think
01:19:59 <oerjan> C needs to be a whole equivalence class
01:21:13 <CakeProphet> so you just get some subset of C. Though I have no idea how you would know what C is without more information..
01:21:41 <oerjan> well you just take anything which is equivalent to something (and thus everything) in C
01:21:52 <oerjan> and that must still be in C
01:22:38 <CakeProphet> that's interesting. You can take any subset of an equivalence class, and find every member of that equivalence class in a given set.
01:24:31 <CakeProphet> my discrete math teacher was incorrect. He seemed to use equivalence class as a synonym for equivalence relation.
01:25:15 <CakeProphet> one of our test questions was to determine whether a given relation was an equivalence class by determining that it was transitive, symmetric, and reflexive.
01:25:34 <CakeProphet> and he's like, one of the better professors at my university. That's saying a lot.
01:27:59 <oerjan> the US seems to come on top if you compare the _best_ universities. i wonder how it'd do if you compared the _median_
01:28:51 <elliott__> oerjan: the funnest would be comparing the worst :D
01:28:55 <CakeProphet> I go to a pretty small university. Not saying that being a small university is bad, but in this case it's true.
01:29:31 <oerjan> although i guess this may be heavily skewed by different countries having different cutoffs for the quality needed for an institution to call itself a university
01:29:40 <CakeProphet> the modal university would be the one with the most satellite campuses I think.
01:29:43 <coppro> CakeProphet: An equivalence relation over a set gives rise to a partition of that set into equivalence classes under that relation
01:30:10 <CakeProphet> coppro: yep, I just read about that on Wikipedia actually. :D
01:30:52 <coppro> all evidence points to you not having one
01:31:05 <coppro> elliott__: goddamn executive meddling in doctor who
01:31:29 <elliott__> coppro: I stopped watching because Moffat turned from genius to incompetent after taking the reins
01:31:48 <elliott__> or are you referring to something other than new episodes
01:31:53 <CakeProphet> !lperl I'm trying to find a way to use *{"THIS"}* thing I made, but alas I cannot think of anything.
01:31:53 <EgoBot> I'm trying to find a way to use THIS thing I made, but alas I cannot think of anything.
01:32:08 <EgoBot> perl while(<>){s/ (?<!\\) \*\{ (.*?) (?!\\) \}\* /$1/gxee;print}
01:32:51 <CakeProphet> originally it was {{ but that would make balancing issues arise
01:33:10 <coppro> elliott__: I'm referring to the new episodes
01:33:17 <coppro> elliott__: at what point did you stop watching?
01:33:28 <CakeProphet> while(<>){s/ (?<!\\) \*\{ (.*?) (?!\\) \}\* /$1/gxee;print}
01:34:12 <elliott__> coppro: I watched a few episodes of the new series, then didn't for reasons of bad time management rather than disinterest (although I didn't think they were very good episodes), then I got friends whining at me about how terrible the writing is :)
01:34:27 <elliott__> A constant stream of meaningless myth arcs is plot, right?
01:34:29 <Lymia> !lperl blahblah*{print "You suck"}*blahblah
01:34:29 <EgoBot> You suckblahblah1blahblah
01:34:41 <Lymia> !lperl blahblah*{"You suck"}*blahblah
01:34:42 <EgoBot> blahblahYou suckblahblah
01:36:00 <EgoBot> Interpreter lperl deleted.
01:36:01 <CakeProphet> !addinterp lperl perl while(<>){s/ (?<!\\) \{\{ (.*?) \}\} (?!\})/$1/gxee;print}
01:36:01 <EgoBot> Interpreter lperl installed.
01:36:08 <CakeProphet> once again negative look-around saves the day
01:36:08 <coppro> elliott__: kay. the first of Matt Smith's seasons was pretty good I thought; the second is going downhill but I think it's due to trying to stuff the story into the time available before the midseason cliffhanger. I hope it picks up in August
01:36:24 <elliott__> coppro: Also River Song is the worst character ever invented.
01:37:03 <coppro> elliott__: Why do you say that?
01:37:06 <CakeProphet> !lperl This is a {{@{[qw*MOTHERFUCKIN' TEST DAWG*]}}}.
01:37:47 <elliott__> coppro: She's a blatant Mary Sue whose entire basis is "OOH, MYSTERIOUS FUTURE COMPANION PERSON, BE VERY MYSTERISED"
01:39:15 <elliott__> {x <-- not the start of a code block
01:39:19 <coppro> elliott__: Kay, that might be how she was introduced. She gets developed a lot more later on. Definitely got some serious Mary Sue going on though.
01:39:43 <elliott__> coppro: I'm aware she's been developed a small amount, but that really doesn't justify the Mary Sueness
01:39:43 <CakeProphet> elliott__: NOPE. TOO HACKISH DOESN'T WORK THAT WAY.
01:39:56 <elliott__> coppro: Also this "SORT OF A TIME LORD" thing makes no fucking sense.
01:40:25 -!- calamari has joined.
01:41:01 <CakeProphet> though don't ask me why you would ever escape the {{
01:41:23 <coppro> elliott__: they actually just explained that; whether you like the explanation or not is up to you. To me, it's not too far-fetched compared with the rest of the series.
01:42:19 <elliott__> coppro: erm, they just revealed /and/ explained it simultaneously
01:43:09 <elliott__> coppro: but the explanation isn't an explanation, it's just "banging in the tardis makes time lordy things"
01:43:53 <elliott__> actually i have to wonder why time lords are still practically extinct, you'd think the doctor would just seduce someone and take them to the tardis, that should be enough to get some full time lord dna going
01:43:55 -!- variable has quit (Remote host closed the connection).
01:43:56 <coppro> elliott__: It was due to exposure to the Vortex; the same basic thing that made the Time Lords what they are now.
01:44:22 <coppro> The Doctor clearly had no idea it could work that way until now
01:44:51 <elliott__> Sweet, eagerly awaiting an episode of gratuitous sex scenes
01:45:01 <elliott__> I MUST DO IT... FOR THE TIMELORDS [sax]
01:46:18 <EgoBot> Interpreter lperl deleted.
01:46:19 <CakeProphet> !addinterp lperl perl while(<>){s/ (?<!\\) \{\{ (.*?) \}\} (?!\})/$1/gxee;s/\\{/{/g;print}
01:46:20 <EgoBot> Interpreter lperl installed.
01:46:31 <elliott__> CakeProphet: you realise {{"{{"}} works to escape
01:46:49 <elliott__> you could even define two subs that return "{{" and "}}" with short names
01:47:17 <EgoBot> Interpreter lperl deleted.
01:47:28 <elliott__> !addinterp lperl perl while(<>){s/ (?<!\\) \{\{ (.*?) \}\} (?!\})/$1/gxee;s/\\{/{/g;print}
01:47:29 <EgoBot> Interpreter lperl installed.
01:47:54 <CakeProphet> I was going to add escaping of \'s, but that was far more \\'s than I was comfortable with.
01:47:58 -!- Vorpal has quit (Ping timeout: 250 seconds).
01:48:41 <EgoBot> Interpreter lperl deleted.
01:49:17 <CakeProphet> !addinterp lperl perl while(<>){s/ \{\{ (.*?) \}\} (?!\})/$1/gxee;print}
01:49:17 <EgoBot> Interpreter lperl installed.
01:51:13 <CakeProphet> also, Perl pretty much dominates the golfing of this one.
01:51:48 <CakeProphet> the golfed form would s/while/for/ and take out the /x option and whitespace
01:52:06 <elliott__> coppro: also i don't like the new theme :D
01:52:15 <coppro> elliott__: I agree with you there!
01:52:18 -!- comex has quit (Quit: ZNC - http://znc.sourceforge.net).
01:52:29 <coppro> but the "The Doctor is being awesome now" music is good
01:52:41 <elliott__> they should have just picked one off http://whomix.trilete.net/ :D
01:53:16 <elliott__> that huge torrent is now three percent completed, i should note
01:55:20 <EgoBot> Interpreter lperl deleted.
01:55:23 <CakeProphet> !addinterp lperl perl $_=<>;s/{{(.*?)}}(?!})/$1/gee;print
01:55:24 <EgoBot> Interpreter lperl installed.
01:55:38 -!- sebbu2 has joined.
01:55:54 -!- variable has joined.
01:56:21 <CakeProphet> elliott__: e evaluates the replacement string as Perl code. ee evaluates the replacement string as Perl code and then evaluates that.
01:58:33 -!- sebbu has quit (Ping timeout: 240 seconds).
01:59:57 <CakeProphet> `run echo '$_=<>;s/{{(.*?)}}(?!})/$1/gee;print' | wc -c
02:01:32 -!- elliott__ has quit (Quit: FUUUUUUUUUUUUUUUUUUUCK YOUUUUUUUUUUUUUUUUUU).
02:01:57 <oerjan> !perl $_ = "hm..."; s/hm/"'1+2'"/e; print;
02:02:03 <oerjan> !perl $_ = "hm..."; s/hm/"'1+2'"/ee; print;
02:02:07 <oerjan> !perl $_ = "hm..."; s/hm/"'1+2'"/eee; print;
02:03:26 <CakeProphet> !perl $_ = "hm..."; s/hm/"'q{1+2}'"/eeee; print;
02:03:42 <CakeProphet> !perl $_ = "hm..."; s/hm/"'q{q[q<1+2>]}'"/eeeeee; print;
02:04:03 <oerjan> !perl $_ = "hm..."; s/hm/"'q{q[q<1+2>]}'"/eeeee; print;
02:04:14 <Lymia> !perl $_ = "hm..."; s/hm/"'q{1+2}'"/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee; print;
02:04:37 <oerjan> at this point we need w and h flags
02:04:42 <CakeProphet> conjecture: there can be an arbitrary number of e options.
02:05:10 <Lymia> !perl $_ = "hm..."; s/hm/"'q{print 'perverse'}'"/e; print;
02:05:10 <EgoBot> 'q{print 'perverse'}'...
02:05:14 <Lymia> !perl $_ = "hm..."; s/hm/"'q{print 'perverse'}'"/ee; print;
02:05:35 <CakeProphet> hmm, yeah I don't know where standard input is going.
02:05:35 -!- calamari has left ("Leaving").
02:05:53 <oerjan> Lymia: bad ' matching i think
02:06:29 <oerjan> CakeProphet: in lperl previously the explicit print got first
02:06:32 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{print 'perverse'}}'"/e; print;
02:06:33 <EgoBot> 'q{q{print 'perverse'}}'...
02:06:36 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{print 'perverse'}}'"/ee; print;
02:06:50 <Lymia> An extra way to do (extra perverse) conditionals?
02:06:54 <oerjan> Lymia: you cannot have nested ''
02:07:09 <oerjan> i don't recall if it's even possible to escape them
02:07:13 <CakeProphet> it may have a problem with the nested {}'s as well but I'm not sure.
02:07:58 <CakeProphet> in any case you can use pretty much anything as a delimeter with the q construct.
02:07:58 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{print \'perverse\'}}'"/ee; print;
02:08:25 <EgoBot> possibly even pound sign?
02:08:32 <oerjan> Lymia: i think the \ get stripped already at the " stage
02:08:49 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{print \\'perverse\\'}}'"/ee; print;
02:08:50 <EgoBot> q{q{print 'perverse'}}...
02:08:57 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/ee; print;
02:08:58 <EgoBot> q{q{q{print 'perverse'}}}...
02:09:00 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eee; print;
02:09:00 <EgoBot> q{q{print 'perverse'}}...
02:09:03 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeee; print;
02:09:03 <EgoBot> q{print 'perverse'}...
02:09:07 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeeee; print;
02:09:11 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeeeee; print;
02:09:41 <oerjan> Lymia: well the {}'s nested pretty well...
02:09:56 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/e; print;
02:09:57 <EgoBot> 'q{q{q{print \'perverse\'}}}'...
02:09:59 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/ee; print;
02:09:59 <EgoBot> q{q{q{print 'perverse'}}}...
02:10:05 <Lymia> !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eee; print;
02:10:06 <EgoBot> q{q{print 'perverse'}}...
02:10:33 <EgoBot> Can't find string terminator "}" anywhere before EOF at /tmp/input.17755 line 1.
02:11:46 -!- rodgort has quit (Quit: ERC Version 5.3 (IRC client for Emacs)).
02:12:06 -!- rodgort has joined.
02:12:21 <coppro> elliott__: I estimate 8% for me. Incidentally, do you know what the "the Doctor is being awesome" music is called?
02:12:30 <oerjan> hm "" is just an abbreviation for q"" iirc
02:12:30 <CakeProphet> !perl $_=q{q[q<q(q!q@q#q$q%q^q&q*muhahahahahahaha*&^%$#@!)>]};$_=eval for 1..12;print
02:12:30 <EgoBot> q[q<q(q!q@q#q$q%q^q&q*muhahahahahahaha*&^%$#@!)>]
02:12:44 <oerjan> and '' for q'' which is a special case
02:13:19 <CakeProphet> q is '', and yes those forms are abbreviations of the more general form.
02:14:13 <oerjan> well but i also recall that using '' as delimiters in some of the other quote-like constructs turns off interpolation
02:14:54 <oerjan> !perl $_ = "test"; s'test'$1'; print;
02:15:20 <Lymia> !perl $_=q{q[q<q(q!q@q#q$q%q^q&q*muhahahahahahaha*&^%$#@!)>]};$_=eval for 1..120;print
02:15:20 <EgoBot> q[q<q(q!q@q#q$q%q^q&q*muhahahahahahaha*&^%$#@!)>]
02:16:04 <Lymia> !perl $_="q{q[q<q(q!q@q#q$q%q^q&q*muhahahahahahaha*&^%$#@!)>]}";$_=eval for 1..120;print
02:16:05 <EgoBot> $# is no longer supported at /tmp/input.18287 line 1.
02:16:21 <Lymia> !perl $_="q{q[q<q(q!q@q~q$q%q^q&q*muhahahahahahaha*&^%$~@!)>]}";$_=eval for 1..120;print
02:16:22 <EgoBot> q{q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%STDOUT@!)>]}
02:16:32 <oerjan> CakeProphet: erm sure you didn't get other lines in DCC?
02:17:27 <oerjan> !perl print "a" for 1..10;
02:17:43 <CakeProphet> so I'm guessing the return value of eval is bad.
02:18:03 <CakeProphet> !perl $_="q{q[q<q(q!q@q~q$q%q^q&q*muhahahahahahaha*&^%$~@!)>]}";eval for 1..12;print
02:18:03 <EgoBot> q{q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%STDOUT@!)>]}
02:18:20 <CakeProphet> !perl $_="q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}";eval for 1..11;print
02:18:21 <EgoBot> q{q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}
02:18:51 <CakeProphet> !perl $_="q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}";$_=eval for 1..11;print
02:18:51 <EgoBot> q{q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}
02:19:06 <CakeProphet> it might be a bad idea to use all of those symbols together at once like that...
02:20:27 <oerjan> !perl $_="q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}"; print eval;
02:20:28 <EgoBot> q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%~@!)>]
02:20:43 <CakeProphet> !perl $_="q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}";($_=eval) for 1..11;print
02:20:44 <EgoBot> q{q[q<q(q!q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}
02:21:21 <CakeProphet> my guess is that it has something to do with horrid abuve of quote-like operators.
02:21:51 <oerjan> what variable is the for 1..11 construct using? >:)
02:22:22 <CakeProphet> why $_ of course. Why, what is the problem?
02:22:37 <oerjan> oh and it's made local i guess
02:22:45 <oerjan> so it's reinstated after the loop
02:23:01 <CakeProphet> yes, if $_ were global terrible things would happen.
02:23:59 <CakeProphet> !perl $s="q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}";$s=eval$s for 1..11;print$s
02:23:59 <EgoBot> Array found where operator expected at (eval 6) line 1, at end of line
02:24:26 <CakeProphet> now we're getting into the "abuse of quote-like operator" errors.
02:24:45 <Patashu> lol wtf are you guys doing
02:26:02 <oerjan> CakeProphet: leave off the outer "
02:26:41 <CakeProphet> !perl $s='q{q[q<q(q!qq~q%q^q&q*muhahahahahahaha*&^%~@!)>]}';$s=eval$s for 1..11;print$s
02:26:42 <EgoBot> Array found where operator expected at (eval 6) line 1, at end of line
02:27:21 <CakeProphet> !perl $s='q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}';$s=eval$s for 1..11;print$s
02:27:48 <CakeProphet> we got the evil genius at the delicious quoted core.
02:37:27 <CakeProphet> open VARIABLE, EXPR. If you don't specify EXPR, then the scalar variable with the same name as the filehandle name is evaluated and used as the filename.
02:40:05 <Patashu> you guys know of any esoteric logic gates?
02:40:41 <oerjan> reversible gates are cool
02:41:18 <oerjan> (and theoretically, cool physically as well)
02:42:53 <Patashu> reversible computing, huh...
02:46:23 <oerjan> sounds obviously possible, actually...
02:46:35 <Patashu> you just need to define proper encoding schemes
02:46:46 <oerjan> standard quining techniques applied to hardware
02:47:49 <oerjan> the data part would be the memory
02:48:24 <CakeProphet> so I recently discovered this: http://perldoc.perl.org/functions/tie.html
02:48:40 <CakeProphet> and I think it would be a good way to explore some unorthodox variable assignment semantics.
02:49:35 <CakeProphet> but in general it just looks useful. You could easily write a package that automatically breadcrumbs a variable for you each time it's reassigned.
02:55:03 <coppro> this is so very very awesome: (elliott you better visit this link when you read the logs) http://www.youtube.com/watch?v=sjtzib0G9Rs
02:58:49 <coppro> those things are awesome
02:59:14 <CakeProphet> http://www.youtube.com/watch?v=B1O2jcfOylU
02:59:23 <CakeProphet> may have already seen this one. it's the mario bros. theme song
02:59:44 <coppro> except that one doesn't have Adam Savage dancing around
02:59:54 <coppro> also I haven't heard them play Mario Bros
03:01:13 -!- augur has quit (Remote host closed the connection).
03:03:43 <CakeProphet> also this: http://www.youtube.com/watch?v=xD_HQ4B0Fcw
03:06:44 <CakeProphet> er... the "this" is an artifact from something else I was going to type.
03:53:36 -!- Slereah has joined.
03:53:37 -!- Slereah_ has quit (Ping timeout: 240 seconds).
03:59:12 <CakeProphet> future elliott: Good post-400 xkcd: http://xkcd.com/602/
04:03:10 -!- Slereah_ has joined.
04:04:33 -!- Slereah has quit (Ping timeout: 260 seconds).
04:06:51 -!- Slereah has joined.
04:07:36 -!- Slereah_ has quit (Ping timeout: 260 seconds).
04:14:18 -!- pikhq has quit (Ping timeout: 240 seconds).
04:14:27 -!- pikhq has joined.
04:18:51 -!- Slereah has quit (Read error: Operation timed out).
04:19:42 -!- Slereah has joined.
04:21:05 -!- oerjan has quit (Quit: leaving).
04:26:08 -!- Slereah has quit (Ping timeout: 250 seconds).
04:26:15 -!- Slereah has joined.
04:34:52 -!- Slereah_ has joined.
04:35:52 -!- Slereah has quit (Ping timeout: 248 seconds).
04:39:43 -!- variable has quit (Quit: /dev/io failed).
04:46:55 <CakeProphet> I love entering random IP addresses into tracepath
04:50:24 -!- Slereah_ has quit (Ping timeout: 250 seconds).
04:51:50 -!- Slereah has joined.
04:55:52 -!- Slereah_ has joined.
04:56:56 -!- Slereah has quit (Ping timeout: 240 seconds).
05:00:51 -!- variable has joined.
05:37:21 <oklopol> "<CakeProphet> basically what they are." <<< how many lectures did 'a relation between X and Y is a subset of XxY' take?
05:41:00 <oklopol> "<CakeProphet> oerjan: so when you convert the original element into its equivalence class, it preserves the algebraic structure?" <<< note that it's the 'homomorphism' type of 'preserve' and not the isomorphism type -- you might map multiple things to the same element, operations just do the same thing on both sides
05:44:29 -!- aloril has quit (Ping timeout: 250 seconds).
05:52:17 <oklopol> Briefly, if A is an algebra, a congruence on A is an equivalence relation F on A which is a subalgebra when considered as a subset of (the latter with the coordinate-wise operation structure).
05:53:19 <oklopol> but lol that's a great definition lol :D
05:55:16 <oklopol> well, i guess wp is an encyclopedia and not math for kids with alfred the bunny but anyway could at least give a list of equivalent definitions instead
05:57:04 -!- aloril has joined.
06:02:30 -!- augur has joined.
06:08:28 <Patashu> sbahj related http://www.youtube.com/watch?v=u7YfVmY9Qjs
06:17:37 <CakeProphet> oklopol: that was only one lecture. There was only two or so lectures on relations; it was a very small section of the course.
06:18:20 <CakeProphet> the largest sections were spent on combinatorics and induction proofs.
06:26:08 <CakeProphet> the sections were: a small section on boolean algebra and basic logical statements (wooo), a large section on proofs by definition/negation/contraposition covering things like divisibility and primality, a large section on induction proofs, a large section on combinatorics, a lecture on set theory, a lecture on relations, and then the last section was a mashup of FSA, regular languages/expressions, and graph theory.
06:27:27 <CakeProphet> all-in-all the most interesting math course I've taken so far. I plan on taking "Introduction to Advanced Mathematics" and then Topology later, preferably with the same professor if I don't transfer.
06:30:09 -!- Patashu has quit (Ping timeout: 240 seconds).
06:30:09 <CakeProphet> My other options are Calc 3, linear algebra, or real analysis. bleh, no thanks. Number theory is another option that would be interesting as well.
06:31:40 <CakeProphet> Linear algebra could be useful in programming, I guess...
06:32:36 <CakeProphet> but I want to learn about some motherfucking spaces.
06:33:46 <coppro> also what school is this?
06:36:09 -!- Sgeo has quit (Ping timeout: 250 seconds).
06:38:02 <CakeProphet> basically it used to be a satellite campus of Georgia Tech but is now a separate university.
06:39:23 <CakeProphet> also parts of that article read like a website for the university..
06:47:49 <CakeProphet> I plan on transferring to Tech in my fourth year so that I can get all the good reputation while avoiding most of the obscene tuition costs.
06:52:29 <coppro> you americans and your tuition
06:53:37 <CakeProphet> why? Because people flip the fuck out if you raise taxes.
06:54:07 <coppro> and don't understand economics
06:54:20 <coppro> see: any government that is not allowed to run a deficit
06:54:21 <CakeProphet> dude the tea party movement is the most retarded thing I've ever seen in American politics.
06:54:37 <coppro> not allowing a government to run a deficit is suicide
06:54:47 <coppro> like, your country is doomed
06:55:08 <CakeProphet> the states have way too much deficit though.
06:56:01 <coppro> now, structural deficits suck balls
06:56:48 <coppro> currently living in California working at the country^Wcompany that will someday RULE THE WORLD^W^W^W do stuff
06:56:51 <CakeProphet> we have a very pervasive structural deficit. I believe for every $2 we generate we spend 5. roughly
06:57:09 <coppro> structural deficit definitely shouldn't happen
06:57:16 <coppro> but outlawing deficit altogether is not the solution
06:57:24 <coppro> because otherwise the government can't help a struggling economy
06:57:54 <coppro> also dumb is the GODDAMN EVERYONE, not just Americans, who think that when the economy is doing well, taxes should go down because the government doesn't need the money
06:58:02 <CakeProphet> honestly I think raising taxes is the solution to our deficit. Perhaps even economic problems.
06:58:34 <CakeProphet> cutting programs is not because any bill to cut programs will get fucked up in congress.
06:58:49 <CakeProphet> and because no one can fucking decide what to cut.
06:59:09 <coppro> well problem #1 is you're in a whole
06:59:25 <coppro> you effectively have to cut taxes
06:59:29 <coppro> or borrow a shitton of money
07:00:04 <CakeProphet> raising taxes is an equivalent solution really.
07:00:06 <coppro> because your government can't safely raise taxes; the economy is still fragile
07:00:22 <coppro> this is the real problem
07:01:08 <coppro> once the economy picks up, they can and should raise taxes
07:01:18 <coppro> but that could be a long time
07:01:21 <CakeProphet> however, a lot of the extra revenue could be spent on economic stimulus programs which, while at the same time alleviated a structural problem of not enough revenue.
07:01:23 <coppro> they should also continue to cut spending
07:01:38 <coppro> military in particular
07:01:40 <CakeProphet> economic stimulus programs such as finding a way to eliminate our trade deficit... which is another structural problem.
07:02:44 <coppro> another common misconception is that government debt is bad
07:03:48 <coppro> government debt can be friggin' awesome when you've got bonds that pay out at less than inflation
07:04:08 <coppro> although too much of it will bite you if inflation drops
07:04:27 <CakeProphet> but generally our legislative branch is too busy focusing on partisan bullshit to be effective at creating economic recovery programs, so..
07:05:16 -!- Slereah_ has quit (Ping timeout: 255 seconds).
07:05:26 <coppro> now of course there is the 'print money' approach
07:05:37 <coppro> but the US economy is dead if that happens
07:05:48 <coppro> I just hope I'm out of the country before
07:05:51 -!- mtve has quit (Ping timeout: 252 seconds).
07:06:00 <CakeProphet> yeah, I don't even think printing more money is even a valid consideration.
07:06:22 -!- Slereah has joined.
07:07:32 <coppro> of course I don't think the US government is quite as stupid as Zimbabwe
07:07:33 <CakeProphet> in my mind a gradual increase in taxes, cutting of unecessary programs, and establishment of new programs that are designed to ultimately generate more economic stability should be our goal
07:07:50 <coppro> I trust Congress not to cause two hundred million percent inflation
07:08:48 <CakeProphet> coppro: yes, congress is only borderline retarded.
07:08:52 <coppro> that's about as far as I go though
07:09:43 <CakeProphet> I wonder if things would improve if we made Obama temporary dictator for the duration of his term.
07:09:43 -!- mtve has joined.
07:10:05 <CakeProphet> honestly it seems like a better option than having congress fumbling everything.
07:11:57 <coppro> you don't consider that they're already doing so?
07:12:09 <CakeProphet> are they? I haven't been paying attention to that.
07:12:19 <coppro> see wisconsin for instance
07:12:45 <coppro> your country is in a state of political turmoil, the problem being that you have a nice half-and-half split
07:13:45 <CakeProphet> the minority that absolutely hate Obama are way more vitriolic than any protest group I've witnesses. Granted, I'm young. :P
07:14:18 <CakeProphet> it's very easy to think that there's racism involved.
07:14:50 <coppro> oh, I'm not really talking about Obama-haters
07:15:15 <CakeProphet> we've always been in that state. always as in... the last several decades.
07:15:15 <coppro> They will exist for any political leader
07:15:39 <coppro> There is a fairly significant portion of our population who believes Harper is going to ruin the country
07:15:54 <coppro> I used to think that. Now I don't since I can keep my sanity that way.
07:16:11 <CakeProphet> coppro: typical stupid American that I am, I had to look up that name to know what you were talking about. :P
07:16:48 <coppro> but also because his temperament has improved just enough that I think we might survive
07:18:46 <CakeProphet> man, I wish my higher education was paid for. :P
07:19:54 <CakeProphet> there's absolutely no disadvantages to educating your populace beyond secondary education.
07:20:09 <coppro> which is obviously wrong
07:20:16 <coppro> government shouldn't spend money, etc.
07:22:01 <CakeProphet> it costs money, but ultimately it enables anyone, regardless of economic background, to become well-educated. And without a well-educated populace a democracy is pretty much doomed.
07:22:12 -!- wth has joined.
07:22:38 -!- wth has changed nick to Guest56111.
07:24:04 <EgoBot> perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
07:24:10 <coppro> CakeProphet: Student, presently working at the aforementioned company
07:24:22 <coppro> in September, I resume studenting
07:24:27 <CakeProphet> coppro: er, aforementioned? perhaps I missed something.
07:24:56 <coppro> 02:56 < coppro> currently living in California working at the country^Wcompany that will someday RULE THE WORLD^W^W^W do stuff
07:25:55 <coppro> by working on an open-source project and having Google people say "You should work for us". So I did.
07:26:10 <CakeProphet> I would VERY MUCH be interested in going to california and doing graduate studies at Berkeley.
07:26:19 <CakeProphet> also.. I NEED to get into open source development.
07:26:25 <CakeProphet> there's absolutely no reason I shouldn't be right now.
07:26:26 <coppro> you should come to Waterloo instead
07:27:36 <CakeProphet> see, I thought that as just some weird onomatopoeia I didn't understand.
07:27:39 <coppro> although I actually have no clue about the relative expense of graduate schools, I know that it's a hell of a lot cheaper to undergrad in Waterloo
07:28:01 -!- Guest56111 has left ("Leaving.").
07:28:03 <CakeProphet> same with Southern Poly compared to Georgia Tech.
07:28:29 <CakeProphet> I prefer not to think about it when I can.
07:29:40 <CakeProphet> I pretty much double the cost by living on campus though. Next semester I'm living off campus and it will get way cheaper.
07:30:15 <CakeProphet> AND, Poly transfers very well to Tech. Though I'm not sure if any of the advanced CS courses will transfer because Tech has a jacked up Computer Science degree.
07:30:25 <CakeProphet> jacked up in a cool way. Just non-standard.
07:30:54 <coppro> ah yeah we have some programs like that here
07:31:13 <coppro> less so now that the faculty is moving on to an á la carte system
07:31:41 <CakeProphet> and since I'm waiting until my fourth year to attempt a transfer I will have to take SOME advanced CS classes.
07:32:05 <CakeProphet> but I'm almost positive data structures will transfer, and databases.
07:32:38 <CakeProphet> I have no idea about the introductory Java courses I took. GT starts off with a Python-based course.
07:32:58 <coppro> fourth year seems dangerous to attempt a transfer
07:34:07 <CakeProphet> as it turns out, taking summer classes in the middle of a post-relationship suicidal crisis is a bad idea.
07:35:37 <CakeProphet> but I'm over that now. It was still a poor decision though.
07:36:19 <EgoBot> perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat
07:36:49 <EgoBot> Substitution replacement not terminated at /tmp/input.8285 line 1.
07:37:14 <CakeProphet> it highlights properly in emacs, and I've checked every replacement string to see if it terminates. Yet I still get an error.
07:37:27 <CakeProphet> which leads me to believe that it's some odd syntax thing.
07:38:27 <EgoBot> That interpreter doesn't exist!
07:38:29 <EgoBot> Interpreter dechatspeak deleted.
07:38:47 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
07:39:35 <EgoBot> perl $_=<>;s/{{(.*?)}}(?!})/$1/gee;print
07:40:42 <CakeProphet> !addinterp lsh perl $_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print
07:40:42 <EgoBot> Interpreter lsh installed.
07:42:49 <CakeProphet> I sometimes get lost in rapturous amazement of whatever programming language I happen to be focusing on at various points in my life.
07:43:39 <CakeProphet> like how Perl can do those two things in 36 and 37 bytes...
07:46:02 <Lymia> !lsh hiiiiiiii{{"bluhbluh"}}
07:46:03 <EgoBot> /bin/sh: bluhbluh: command not found
07:46:21 <Lymia> !lsh hiiiiiiii{{echo "you suck"}}
07:46:39 <Lymia> !lsh {{perl -c "fork while fork"}}
07:46:39 <EgoBot> Can't open perl script "fork while fork": No such file or directory
07:46:44 <Lymia> !lsh {{perl -e "fork while fork"}}
07:46:53 <Lymia> !lsh {{perl -e "print 'hi'"}}
07:47:30 <CakeProphet> it was either you or Patashu that was interested in learning it.
07:47:43 <EgoBot> Use: !bfjoust <program name> <program> . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/
07:47:49 <Lymia> !bfjoust myon [[+-]+]
07:48:25 <EgoBot> Score for Lymia_myon: 7.6
07:48:56 <CakeProphet> `run echo '$_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print' | wc -c
07:49:31 <Lymia> CakeProphet, what does that do?
07:49:35 <Lymia> `run echo '$_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print'
07:49:40 <HackEgo> $_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print
07:49:57 <CakeProphet> well wc -c counts the bytes on standard in--oh
07:50:16 <CakeProphet> yes I was just double checking my arithmetic.
07:52:06 <CakeProphet> I'm not sure how I'm going to feel about my class that's most likely going to be either C++ or C# next semester
07:53:49 <CakeProphet> it will be like putting myself in a straight-jacket but attaching speedy rockets and <insert metaphor for extra type safety that I can't think of>
07:55:15 <pikhq> So. Should I sleep?
07:55:25 <pikhq> I mean, I just got home, but it *is* 02:00.
07:56:32 <CakeProphet> !lperl hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t'
07:56:33 <EgoBot> hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t'
07:56:36 <CakeProphet> !lperl hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t'}}.
07:56:37 <EgoBot> hmmm, let me think about it. yes you should.
07:57:02 <pikhq> Damn you, EgoBot, for being the voice of reason.
07:59:36 -!- monqy has quit (Quit: hello).
08:02:28 <CakeProphet> coppro: so clang is basically a better C compiler.
08:02:44 <pikhq> CakeProphet: Problem: You do NOT want to bootstrap with it.
08:02:48 <pikhq> Not only no but hell no.
08:03:12 <CakeProphet> pikhq: okay. For all of my future bootstrapping purposes I will refrain from using clang. :P
08:03:33 <pikhq> It's actually a fairly necessary use case for a C compiler.
08:03:50 <pikhq> As everything else tends to rely on the presence of a sane, functioning C compiler.
08:04:08 <pikhq> (well, actually, everything else tends to rely on the presence of a sane, functioning GNU C compiler, because fuck you.)
08:04:55 <coppro> pikhq: why do you not want to bootstrap with clang?
08:05:32 <coppro> although I recall you have some weird definition of bootsrap I don't remember
08:06:05 <CakeProphet> besides, I'll probably write CakeOS PHP, Java, COBOL, Visual Basic, or something awful Haskell. Or a combination of all of those languages interpreted/compiled by fortran.
08:06:20 <CakeProphet> thereby riding my system of the evil of C that has plagues operating systems for too long.
08:07:19 <pikhq> coppro: Oh, I dunno, "it relies on a functioning C++ library, and the only full-featured one in UNIX-land pretty much requires GCC and a particular set of libcs that it can fuck with".
08:08:04 <pikhq> (yes, the C++ library *also* pokes around in libc internals. Because "fuck you", says GNU.)
08:09:15 <coppro> pikhq: Oh. I would direct you at the sister libc++ project then
08:09:28 <pikhq> Yeah, but it's a WIP.
08:09:34 <pikhq> I do approve of the project, though.
08:09:50 <coppro> It should be capable of handling clang on a Mac
08:10:20 <coppro> not other platforms, because there are a few places where it pops into Mac's libc to access a few locale things which aren't exposed properly by POSIX
08:11:10 <coppro> it is effectively impossible to implement it quickly on top of libc without code duplication
08:12:35 <pikhq> This, in my mind, is a bug to be solved by defining a standard means for the libc to expose things to the C++ library.
08:12:58 <pikhq> (whether by POSIX or "These are the functions we want; implement them if you want our stuff to work."...)
08:13:26 <pikhq> Not by brazenly going in with "Eeeeh, fuck sanity, I'm going to assume I can fuck around with implementation internals".
08:14:00 <CakeProphet> !addinterp rot47 perl $_=<>;tr/!-~/P-~!-O/;print
08:14:00 <EgoBot> Interpreter rot47 installed.
08:14:12 <EgoBot> E6DE:?8 x 2> 2 ?:?;2 PoRST/UYX
08:14:33 <pikhq> Sadly, sanity is not widely accepted behavior in C.
08:14:38 <coppro> pikhq: Don't get me started on wchar_t by the way
08:14:43 <coppro> it's bad enough with char
08:14:49 <pikhq> Oh, *fuck* wchar_t.
08:15:07 <coppro> I imagine it will be something like this:
08:15:37 <coppro> a) If we have a known libc that does not implement our extensions, we will attempt to hack it appropriately
08:15:45 <EgoBot> testing I am a ninja !@#$%^&*)
08:15:55 <coppro> b) If we are told to assume our extensions exist, we use them
08:16:10 <coppro> c) If we have a known libc with our extensions, we use them
08:16:36 <coppro> d) Otherwise we do what best we can
08:16:50 <pikhq> Also, this is presuming there's an actual need to poke around in the libc internals.
08:17:04 <coppro> pikhq: The primary issue is properties of characters
08:17:25 <coppro> C++ requires providing access to a mask table, which is a sane implementation of the C standard but not required
08:17:41 <coppro> In a worst-case scenario, the lookup table would have to be built on-demand
08:17:49 <CakeProphet> I once worked on a MUD codebase that did not use libc at all. Instead if defined its own, often buggy or non-standard, versions of libc functions.
08:17:57 <coppro> by calling C functions on every character
08:18:19 <coppro> Now, for wchar_t the situation is much worse, as we can't even do that safely
08:18:24 <pikhq> That's... Actually broken behavior of C++.
08:18:27 <coppro> unless we halt every thread
08:18:34 <CakeProphet> strlen was str_len, for example. isupper was is_upper.
08:18:39 <coppro> pikhq: oh yes, this is very broken
08:18:49 <coppro> pikhq: C++ locales suck balls
08:18:52 -!- MigoMipo has joined.
08:18:58 <coppro> pikhq: the mask table is not in itself a bad idea
08:19:10 <CakeProphet> it was actually my first experience programming in C, so I thought those were the standard names for a while. Eventually I switched to libc though after realizing the true horror...
08:19:16 <pikhq> coppro: Not bad, just broken in a modern environment.
08:19:30 <pikhq> As is everything to do with the char type, TBH.
08:19:37 <coppro> pikhq: The issue with wchar_t is that functions like isupper() depend on the global locale
08:19:55 <pikhq> ... *Global* locale.
08:20:08 <pikhq> As in, per process, not per thread.
08:20:15 <pikhq> Jesus fuck that's a bad idea.
08:20:24 <coppro> C existed long before threads were a concern, remember?
08:20:36 <coppro> of course it's a terrible idea
08:20:46 <CakeProphet> can someone explain size_t to me? Are there differences in the type used for size_t among machines?
08:20:56 <coppro> it allows you to construct locale objects and has isupper_l and similar functions
08:21:09 <coppro> the problem is that POSIX does not have this for wchar_t
08:21:17 <pikhq> CakeProphet: size_t is supposed to be *whatever type* is appropriate for storing the size of types and allocations of memory.
08:21:43 <pikhq> CakeProphet: It does not have to be an int, though I think it *does* have to be a minimum of 16 bits and be bound.
08:21:48 <coppro> so on a POSIX-compliant system, there is no reasonable way to implement C++ locales on top of system locales
08:22:16 <CakeProphet> pikhq: right, I was just wondering if it was ever anything other than an int. I suppose it's good that it exists in case it ever changed though.
08:22:26 <pikhq> How's about we just replace the C library and the C++ library? Entirely.
08:22:37 <coppro> pikhq: backwards compatibility
08:22:40 <pikhq> CakeProphet: Well, it's sure as hell not an int on x86_64.
08:22:52 <pikhq> coppro: Yes, I know. But still...
08:23:16 <CakeProphet> you could just have a new library and keep the old one around...
08:23:37 <pikhq> How's about we just kill everyone and everything and restart civilization my way?
08:24:12 <coppro> pikhq: oh actually nevermind
08:24:35 <coppro> the char case is safe, we can implement the C spec directly since it gives little leeway
08:25:47 <CakeProphet> fixing all numeric typeclasses and that length-returning-an-Int crap
08:31:20 <CakeProphet> it handles concurrency well and it's fairly fast/portable from what I understand, but it handles string poorly iirc.
08:31:35 <pikhq> Erlang was *designed* to run standalone.
08:31:35 <coppro> Erlang handles strings as Haskell does
08:31:50 <coppro> but it's intended to run systems, yes
08:31:58 <pikhq> Well, "standalone" in the sense of "the VM runs on bare hardware just fine".
08:32:24 <coppro> also well-written Erlang is basically indestructible
08:32:53 <pikhq> Again, as designed.
08:33:30 <pikhq> The language itself isn't that great, but man it's probably the single most reliable thing I've seen.
08:36:17 <coppro> oops half the server cluster just went down. Good thing that wasn't the entire thing or service might have been interrupted for more than a few seconds
08:41:48 <coppro> pikhq: If tarcieri ever makes some real concrete decisions, Reia could be excellent
08:42:42 <coppro> (Reia being an attempt at a sane [Ruby-like in this case] language on the erlang VM)
08:50:13 <pikhq> The population of Manhattan was *decreased* in the past 100 years.
08:50:44 <pikhq> It used to be 2.3 million, it's now 1.5 million.
08:54:24 <pikhq> Though the population of New York City itself has shot way up; it's simply spread out to the other boroughs of the city...
09:41:59 -!- Vorpal has joined.
09:57:50 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
10:02:21 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
10:02:34 <Lymia> > zipWith [1..] [1..]
10:02:35 <lambdabot> Couldn't match expected type `a -> b -> c'
10:02:58 <lambdabot> forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
10:06:28 <Lymia> > zipWith (\x y -> [x..y]) [1..] [100..]
10:06:29 <lambdabot> [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2...
10:06:42 <Lymia> > zipWith (\x y -> [x..y]) [1..] [..1]
10:06:43 <lambdabot> <no location info>: parse error on input `..'
10:06:53 <Lymia> > zipWith (\x y -> [x..y]) [1..] [0..-inf]
10:06:54 <lambdabot> Not in scope: `inf'Not in scope: `..-'
10:06:58 <Lymia> > zipWith (\x y -> [x..y]) [1..] [0..-9999999999999999999999999999]
10:07:14 <Lymia> > zipWith (\x y -> [x..y^2]) [0..] [0..]
10:07:15 <lambdabot> [[0],[1],[2,3,4],[3,4,5,6,7,8,9],[4,5,6,7,8,9,10,11,12,13,14,15,16],[5,6,7,...
10:16:49 <lambdabot> liftM f m1 = do { x1 <- m1; return (f x1) }
10:18:20 -!- Patashu has joined.
10:19:09 <Lymia> > zipWith (\x y -> [x/2..y^2]) [0..] [0..]
10:19:10 <lambdabot> [[0.0],[0.5,1.5],[1.0,2.0,3.0,4.0],[1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5],[2...
10:19:28 <Lymia> > zipWith (\x y -> [x^0.5..y^2]) [0..] [0..]
10:19:30 <lambdabot> Ambiguous type variable `t' in the constraints:
10:19:48 <lambdabot> [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(0,10),(1,0),(...
10:20:33 <Lymia> > zipWith (\x y -> [x**0.5..y**2]) [0..] [0..]
10:20:34 <lambdabot> forall a a1 b. (Floating a, Num a1, Integral b) => (a -> a -> a, a1 -> b -> a1)
10:20:35 <lambdabot> [[0.0],[1.0],[1.4142135623730951,2.414213562373095,3.414213562373095,4.4142...
10:20:42 <Lymia> Insta huge numbers.
10:26:23 <CakeProphet> > let plane = map (take 10 . repeat) in plane
10:26:24 <lambdabot> Overlapping instances for GHC.Show.Show ([a] -> [[a]])
10:26:55 <CakeProphet> > let plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane
10:26:57 <lambdabot> [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0...
10:30:40 <CakeProphet> > let plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane;coords = liftM2 (,) [0..10] [0..10] in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane
10:30:42 <lambdabot> <no location info>: parse error on input `;'
10:31:28 <CakeProphet> > let {plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane; coords = liftM2 (,) [0..10] [0..10]} in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane
10:31:29 <lambdabot> <no location info>: parse error on input `in'
10:32:03 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:34:00 <CakeProphet> > let {plane = map (take 10 . repeat) $ take 10 (repeat 0); coords = liftM2 (,) [0..10] [0..10]} in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane
10:34:01 <lambdabot> <no location info>: parse error on input `-'
10:34:15 <CakeProphet> well, I'm going to bed now. Good night. :P
10:41:34 <lambdabot> Source not found. Take a stress pill and think things over.
10:41:41 <lambdabot> Data.Function fix :: (a -> a) -> a
10:41:56 <Vorpal> I guess that wasn't quite right
10:43:20 <Vorpal> Deewiant, is that a tuple?
10:43:48 <Vorpal> Deewiant, I thought tuples were special syntax.
10:43:57 <lambdabot> forall a b c. a -> b -> c -> (a, b, c)
10:44:35 <Deewiant> But GHC still defines them like that
10:44:56 <Vorpal> Deewiant, so ghc specific? or standard haskell?
10:45:11 <Deewiant> data (,) a b = (,) a b is GHC specific, I'm fairly sure
10:45:40 <Deewiant> So it could just be builtin in other environments
10:45:47 <Vorpal> but it seems to be included in Prelude yeah
10:46:07 <Deewiant> Well yes, (,) is guaranteed to exist and work
10:49:12 -!- pikhq has quit (Ping timeout: 248 seconds).
10:49:22 -!- pikhq has joined.
11:36:22 -!- foocraft has joined.
11:40:37 -!- TOGoS has quit (Read error: Connection reset by peer).
11:45:00 -!- TOGoS has joined.
12:02:54 -!- SimonRC has quit (Ping timeout: 260 seconds).
12:10:20 -!- SimonRC has joined.
12:32:33 -!- foocraft has quit (Ping timeout: 252 seconds).
12:55:40 -!- Demetrius has joined.
12:56:53 -!- FireFly has joined.
13:02:10 -!- foocraft has joined.
13:18:20 -!- invariable has joined.
13:19:29 -!- invariable has quit (Remote host closed the connection).
13:20:00 -!- ralc has joined.
13:20:18 -!- variable has quit (Remote host closed the connection).
13:20:51 -!- variable has joined.
13:21:07 -!- Patashu has quit (Ping timeout: 246 seconds).
13:32:49 -!- Sgeo has joined.
13:36:19 -!- foocraft has quit (Ping timeout: 255 seconds).
13:37:12 -!- Deewiant has quit (Ping timeout: 248 seconds).
13:38:26 -!- Deewiant has joined.
13:50:14 -!- foocraft has joined.
14:00:05 -!- TOGoS has left.
14:46:30 -!- azaq23 has joined.
15:21:37 -!- Sgeo has quit (Ping timeout: 255 seconds).
15:28:14 <Vorpal> "available frequency steps: 2.27 GHz, 2.27 GHz, 1.60 GHz, 800 MHz" <--- err, what? That looks wrong.
15:31:13 <fizzie> Maybe it's a rounding thing, and the two highest are, say, 2271 and 2270 MHz.
15:31:17 <fizzie> "available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz"
15:32:00 <Vorpal> fizzie, 2271 and 2270 sounds silly.
15:32:14 <Vorpal> I doubt intel would add that to a mobile core 2 duo.
15:34:23 <Vorpal> well I don't know how to extract the info to verify the rounding thing
15:35:07 <Vorpal> $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
15:35:07 <Vorpal> 2267000 2266000 1600000 800000
15:35:12 <Vorpal> fizzie, looks like you were right
15:37:11 -!- malorie has left.
15:38:37 <fizzie> It could have a "full-speed" mode separate from "scaled-frequency" modes, maybe, and then they've wanted to make it possible to run it close-enough to full speed without switching away from the scaled-frequency operation. (But that's just a guess; I don't have a clue about the details of cpufreq implementation.)
15:39:38 <fizzie> Does your cpufreq-info report the stats in % of time spent in different modes? Which 2.27 GHz it uses?
15:39:48 <Vorpal> cpufreq stats: 2.27 GHz:18,01%, 2.27 GHz:1,58%, 1.60 GHz:2,29%, 800 MHz:78,12% (169038)
15:39:54 <Vorpal> cpufreq stats: 2.27 GHz:7,35%, 2.27 GHz:0,70%, 1.60 GHz:1,77%, 800 MHz:90,18% (3298838)
15:39:58 <Vorpal> for the different cores
15:40:21 <Vorpal> (what is that number in parens at the end?)
15:40:43 <Vorpal> fizzie, so it seems it uses both
15:41:18 <fizzie> I guess the cpufreq governors just put them on a sorted line and go through all when stepping up to meet demand.
15:41:23 <fizzie> "cpufreq stats: 2.80 GHz:2.14%, 2.60 GHz:0.07%, 2.40 GHz:0.05%, 2.20 GHz:0.06%, 2.00 GHz:0.05%, 1.80 GHz:0.39%, 1000 MHz:97.24% (82236)"
15:43:47 <fizzie> The PPC iBook had two cpufreq speeds -- 533 MHz and 1066 MHz -- and it had some sort of huge latency thing when switching, I think I recall from syslog that it decided to not use the ondemand governor because of that.
15:45:43 -!- Phantom_Hoover has joined.
15:49:09 <lambdabot> Phantom_Hoover: You have 6 new messages. '/msg lambdabot @messages' to read them.
15:50:01 -!- azaq23 has quit (Quit: Leaving.).
16:04:17 -!- Sgeo has joined.
16:04:52 -!- Kustas has joined.
16:06:49 -!- comex has joined.
16:10:04 -!- pikhq_ has joined.
16:10:13 -!- pikhq has quit (Ping timeout: 260 seconds).
16:19:35 -!- elliott has joined.
16:33:21 <elliott> 02:12:21: <coppro> elliott__: I estimate 8% for me. Incidentally, do you know what the "the Doctor is being awesome" music is called?
16:33:26 <elliott> coppro: I think I did at one point but have now forgotten.
16:34:47 <elliott> 02:23:01: <CakeProphet> yes, if $_ were global terrible things would happen.
16:34:47 <elliott> 02:23:08: <CakeProphet> instead it's a weird pseudo-global thing.
16:34:50 <elliott> CakeProphet: it is just an "our"
16:35:28 <elliott> 02:27:21: <CakeProphet> !perl $s='q{q[q<q(q!q@q~q%q^q&q*muhahahahahahaha*&^%~@!)>]}';$s=eval$s for 1..11;print$s
16:35:29 <elliott> 02:27:22: <EgoBot> muhahahahahahaha
16:35:38 -!- Kustas has quit (Quit: restart).
16:37:38 -!- Kustas has joined.
16:37:49 <elliott> 02:55:03: <coppro> this is so very very awesome: (elliott you better visit this link when you read the logs) http://www.youtube.com/watch?v=sjtzib0G9Rs
16:38:47 <elliott> 03:59:12: <CakeProphet> future elliott: Good post-400 xkcd: http://xkcd.com/602/
16:38:47 <elliott> There are good post-400 xkcds but... this is not one of them.
16:38:51 -!- monqy has joined.
16:40:45 <elliott> 06:08:28: <Patashu> sbahj related http://www.youtube.com/watch?v=u7YfVmY9Qjs
16:41:26 <Sgeo> I finally successfully performed a Second Life experiment I've been wanting to do for a while
16:56:03 <coppro> elliott: evidence indicates they played that theme at least three times that weekend; I was there for two that weren't in the video. Those coils are pretty surreal
17:02:35 <elliott> Sgeo won't tell us what he experimented SOB
17:09:09 -!- MigoMipo has joined.
17:11:33 <Sgeo> Oh, sorry, was afk
17:11:58 <Sgeo> Experimented to determine whether or not gravity takes longer to take effect at higher altitudes. It does.
17:12:32 <Sgeo> Unless there's something else going on that I'm not realizing
17:12:44 <coppro> it doesn't take longer to take effect
17:12:56 <coppro> gravity is always taking effect
17:13:56 <Sgeo> coppro, I'm talking about Second Life. When an object in Second Life goes from being weightless to having weight, it takes an amount of time dependent on altitude for it to start detectably moving
18:06:11 -!- augur has quit (Remote host closed the connection).
18:11:36 -!- elliott has quit (Remote host closed the connection).
18:13:33 -!- augur has joined.
18:13:59 -!- Kustas has quit (Quit: over and out).
18:15:29 -!- elliott has joined.
18:24:41 -!- augur has quit (Remote host closed the connection).
18:26:37 -!- augur has joined.
18:32:21 -!- wareya has quit (Read error: Connection reset by peer).
18:32:55 -!- wareya has joined.
18:33:46 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:36:00 -!- Phantom_Hoover has joined.
18:45:08 -!- augur has quit (Remote host closed the connection).
18:52:31 -!- olsner has joined.
19:02:27 <Phantom_Hoover> What is it with people on /r/IAmA thinking that famous people care about them in the slightest.
19:04:18 -!- pikhq has joined.
19:04:27 -!- pikhq_ has quit (Ping timeout: 252 seconds).
19:07:26 -!- pumpkin has changed nick to copumpkin.
19:14:33 -!- sebbu has joined.
19:14:33 -!- sebbu has quit (Changing host).
19:14:33 -!- sebbu has joined.
19:17:31 -!- sebbu2 has quit (Ping timeout: 250 seconds).
19:19:58 <oklopol> so one of the talks was about implementing boolean circuits by putting chloroform and grease inside an MRI machine
19:20:52 <oklopol> and i have this feeling that the woman got a tiny orgasm every time she said the word "unconventional"
19:22:22 <elliott> did A Universal Flying Amorphous Computer have anything interesting to say
19:22:36 <oklopol> also there was a talk about fsa and tm's reading input from the future and they opened up with a fucking discussion of the grandfather or whatever paradox and i almost yelled NOOOOOOOOOOOOOOOOOOOOOOOOOO
19:23:02 <elliott> would you like a hug oklopol you sound distressed
19:25:20 <oklopol> it's like, you're 2 and you go hmm how does this walking thing go... ah, it goes this way. *few years pass* hmm okay i've mastered this *more years pass* god this stuff is boring, left right left right yeah yeah maybe i'll find a chair and then in fucking 10 years EVERYONE STARTS GOING WOW LOOK AT THESE STICKS UNDER ME WHAT IF I DO LIKE THIS THEN I'LL LIKE MOVE AND SHIT HAHAHA LOOK OKLOPOL I CAN *WALK* WHAT DO YOU THINK ABOUT WALKING?!?
19:25:54 <oklopol> (actually i don't remember when ppl learn to walk)
19:26:24 <oklopol> erm and that was about time machines if it was not clear for some reason
19:26:43 <olsner> time machines are like walking?
19:27:18 <oklopol> no, but the grandfather paradox is something 4-year-olds think about before they grow a brain
19:28:02 <oklopol> see i'm also so tired of saying i hate time travel that i have to make it interesting for myself
19:29:15 <oklopol> elliott: universal blah is on thursday
19:29:42 <Phantom_Hoover> The grandfather paradox is pretty stupid as a thing to think about.
19:30:06 <oklopol> hey umm remember a few weeks or something ago when i said i'd totally solved a prob i've been trying to solve for a year and that it was my third attempt which was the charm and then i realized how fun it doesn't work
19:30:32 <oklopol> elliott and oerjan were here at least
19:30:38 <oklopol> in any case, I HAVE TOTALLY SOLVED IT NO
19:30:46 <oklopol> i wonder if that was a freudian slip
19:32:10 <oklopol> Phantom_Hoover: an n-dimensional picture is when you color Z^n with a finite set of colors in such away that everything except some finite product of intervals gets # as color and the product of intervals gets colors from some set S
19:32:19 <elliott> oklopol: omg raciest................
19:32:36 <oklopol> a picture-walking automaton is a nondeterministic automaton that walks on the cells of a picture, accepting if there is a computation that leads to a final state
19:32:44 <elliott> stop being a raciest omg.....................
19:33:33 <oklopol> you start from some initial state at a corner and your rules are of the form Q x (S \cup {#}) -> 2^(Q x {directions here})
19:33:57 <oklopol> so depending on what state you are in and what you read, you choose some state given by the rule and a move in some direction
19:34:13 <elliott> Phantom_Hoover: look at this raciesm...
19:34:34 <oklopol> now, we define NFA and FNFA as the classes of picture languages (sets of pictures) you can define when the automaton is allowed to exit the picture it is accepting, and not exiting it, respectively
19:34:42 <oklopol> i proved NFA = FNFA in all dimensions
19:34:54 <elliott> oklopol: ur raciesm against blak people discusts me.........
19:34:57 <oklopol> in the sense that i haven't yet realized why my proof is wrong this time
19:36:16 <oklopol> for two dimensions, you can find the proof in my master's thesis, but i left dimensions above 2 open
19:36:29 <oklopol> because the proof refused to generalize
19:36:57 <oklopol> the feeling between coming up with the solution and realizing it's crap = <3
20:00:45 * Phantom_Hoover concludes that RobotRollCall is by now just an annoying power user.
20:01:41 <Phantom_Hoover> Because in http://www.reddit.com/r/askscience/comments/hsrsq/what_would_happen_in_terms_of_gravity_if_you/ she says that all the other answers aren't giving the whole story and proceeds to reel off her own spiel about field theory.
20:02:17 <Phantom_Hoover> Thing is, the top answer *does* explain it, although not rigorously, while hers just says "the field in a shell is zero. It just is".
20:03:43 <elliott> "So if the sun were to just blink out of existence we would follow our orbit for another 8 minutes before everything went to hell?" THIS PERSON HAS CLEARLY NEVER READ THE ED STORIES
20:03:54 <elliott> "Stuff doesn't blink out of existence, so that's, to put it bluntly, not an interesting question." --RobotRollCall
20:04:21 <Phantom_Hoover> She seems to take glee in crushing unrealistic hypotheticals.
20:04:23 -!- augur has joined.
20:04:38 <elliott> ARE YOU SURE YOU AREN'T JUST UPSET ABOUT YOUR OWN UNREALISTIC HYPOTHETICALS
20:04:57 <elliott> ">Okie doke, so let's say something accelerated the sun very quickly…
20:04:58 <elliott> No, let's not. Let's consider only things that are actually possible."
20:05:34 <elliott> It's linked by someone complaining about RRC at the top of your link.
20:07:32 -!- pikhq_ has joined.
20:09:57 -!- pikhq has quit (Ping timeout: 250 seconds).
20:15:06 <elliott> maybe I'll have to use IO for this
20:15:36 <elliott> it seems to be the only way to make it all work it right
20:15:42 <elliott> (unsafePerformIO causing problems? shock and horror)
20:16:47 <pikhq_> elliott: Where "this" == ?
20:17:20 <elliott> pikhq_: I'm working on an interning library
20:17:31 <elliott> so that e.g. you can do Scheme symbols with "Interned String"
20:17:44 <elliott> pikhq_: and it uses reallyUnsafePtrEquality# behind the scenes in the Eq instance
20:18:23 <pikhq_> ... That's frightening.
20:39:09 <coppro> what is an interning library?
20:39:58 -!- Rugxulo has joined.
20:40:37 <Rugxulo> I actually found Ben Olmstead's old Befunge-93 compiler (MCBC), but it doesn't work :-(
20:40:53 <Rugxulo> nevertheless, for any completist who wants a copy, get it here:
20:40:55 <Rugxulo> http://web.archive.org/web/20040221222300/http://www.mines.edu/students/b/bolmstea/mtfi/mcbc10.zip
20:43:02 <Rugxulo> I just thought it was cool, esp. since I could never find the damn thing ... though ironically it crashes (SIGSEGV) on any input, no matter how simple
20:47:54 <Rugxulo> yes ... and BTW I never found the fabled "Betty" compiler that Wikipedia mentions
20:48:45 <Rugxulo> even BFC mentioned is long gone (though I once found a copy somewhere but forget where, some forum)
20:49:56 <Rugxulo> Chris Pressey did do a minor bugfix for his official BEF a few months ago too
20:50:37 <elliott> he comes here occasionally
20:50:47 -!- CakeProphet has quit (Ping timeout: 252 seconds).
20:50:54 <Rugxulo> I saw him in here once or twice, but that was rare (and before the refresh)
20:51:30 <elliott> He was here pretty much all the time last year
20:52:21 -!- CakeProphet has joined.
20:52:22 -!- CakeProphet has quit (Changing host).
20:52:22 -!- CakeProphet has joined.
20:55:02 <elliott> > zip "abcd" [(),(),(),(),()]
20:55:03 <lambdabot> [('a',()),('b',()),('c',()),('d',())]
20:55:54 <elliott> > zip (map ("abcd"!!) [0,2..]) (map ("abcd"!!) [1,3..])
20:55:55 <lambdabot> [('a','b'),('c','d'),(*Exception: Prelude.(!!): index too large
20:56:00 <elliott> where's oerjan when you need 'im
21:03:31 <lambdabot> Test.QuickCheck two :: Monad m => m a -> m (a, a)
21:03:31 <lambdabot> Prelude zip :: [a] -> [b] -> [(a, b)]
21:03:31 <lambdabot> Data.List zip :: [a] -> [b] -> [(a, b)]
21:04:31 -!- Demetrius has quit (Quit: gnite!).
21:10:15 -!- Patashu has joined.
21:14:23 -!- CakeProphet has quit (Ping timeout: 240 seconds).
21:16:09 -!- CakeProphet has joined.
21:16:09 -!- CakeProphet has quit (Changing host).
21:16:10 -!- CakeProphet has joined.
21:24:39 -!- Rugxulo has quit (Quit: ChatZilla 0.9.87 [Firefox 3.6.10/20101005225428]).
21:25:31 <elliott> I want "abcd" -> [('a','b'),('c','d')] but actually I need to handle the odd case too so basically never mind
21:36:04 <elliott> > zip ["la","le","li","lo","lu","ra","re","ri","ro","ro"] [0..]
21:36:05 <lambdabot> [("la",0),("le",1),("li",2),("lo",3),("lu",4),("ra",5),("re",6),("ri",7),("...
21:36:17 <elliott> ?pl \x y -> string x >> return y
21:36:29 <elliott> > zipWith ((. return) . (>>) . string) ["la","le","li","lo","lu","ra","re","ri","ro","ro"] [0..]
21:37:50 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
21:47:13 -!- CakeProphet has quit (Ping timeout: 246 seconds).
21:49:07 -!- CakeProphet has joined.
21:49:08 -!- CakeProphet has quit (Changing host).
21:49:08 -!- CakeProphet has joined.
21:53:31 -!- Patashu has quit (Ping timeout: 250 seconds).
21:58:32 <CakeProphet> elliott: Yeah <open 0> doesn't work unfortunately because I don't believe open returns the filehandle it returns a success value.
21:59:14 <CakeProphet> elliott: and yes, $_ is an our variable but in many situations it becomes either dynamically or lexically local, I'm not sure which though.
21:59:37 <elliott> Isn't the definition of our a dynamically local variable?
22:00:06 <CakeProphet> no our is a "shared package variable", which basically means it's dynamic global.
22:00:22 <elliott> "As $_ is a global variable, this may lead in some cases to unwanted side-effects. As of perl 5.9.1, you can now use a lexical version of $_ by declaring it in a file or in a block with my. Moreover, declaring our $_ restores the global $_ in the current scope."
22:00:29 <elliott> Ah, so it's literally just a global variable
22:00:44 <elliott> But you can use our to make it temporarily local
22:03:41 -!- ralc has quit (Quit: Leaving).
22:04:54 -!- CakeProphet has quit (Ping timeout: 276 seconds).
22:05:38 -!- sebbu2 has joined.
22:05:38 -!- sebbu2 has quit (Changing host).
22:05:38 -!- sebbu2 has joined.
22:07:31 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:09:20 -!- sebbu has quit (Ping timeout: 252 seconds).
22:09:20 -!- sebbu2 has changed nick to sebbu.
22:09:59 -!- pikhq has joined.
22:10:00 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:23:44 -!- augur has quit (Remote host closed the connection).
22:24:11 -!- augur has joined.
22:25:00 -!- oerjan has joined.
22:25:59 <oerjan> <elliott> where's oerjan when you need 'im
22:26:13 <oerjan> sipping his coffee in a restaurant
22:26:14 <elliott> yeah its fucking unacceptable
22:26:28 <elliott> oerjan: well lah-de-dah mister fancy
22:26:37 <elliott> if you're so rich then why don't you buy an ipad so you can always be bugged by me :|
22:26:53 <elliott> middle of the night, BEEP BEEP "oerjan i need haskell help"
22:28:08 <oerjan> > zip (map ("abcd"!!) [0,2..]) (map ("abcd"!!) [1,3..])
22:28:09 <lambdabot> [('a','b'),('c','d'),(*Exception: Prelude.(!!): index too large
22:28:21 <oerjan> > zip (map (cycle "abcd"!!) [0,2..]) (map (cycle "abcd"!!) [1,3..])
22:28:22 <lambdabot> [('a','b'),('c','d'),('a','b'),('c','d'),('a','b'),('c','d'),('a','b'),('c'...
22:28:23 <elliott> yeah, turns out I actually don't need that function :D
22:28:31 <elliott> digit = choice $ zipWith (>>) (map (try . string) digits) (map return [0..])
22:28:31 <elliott> where digits = ["la", "le", "li", "lo", "lu", "ra", "re", "ri", "ro", "ru"]
22:28:35 <elliott> would be nice if you could make that a bit less ugly
22:28:44 <elliott> oops did i just reveal what i'm writing :D
22:29:05 -!- CakeProp1et has joined.
22:29:27 <oerjan> is it that syl language?
22:29:49 <elliott> so I'm going to write the BEST SYL IMPLEMENTATION EVARRR
22:29:55 -!- CakeProp1et has quit (Client Quit).
22:30:07 <elliott> we're talking multiple backends, C FFI here
22:30:27 -!- CakeProphet has joined.
22:31:35 <oerjan> digit = choice [try (string d) >> return n | d <- digits | n <- [0..]]
22:31:53 <elliott> but... but you made it less point-free...
22:31:55 * oerjan has never tried that zip comprehension before
22:32:01 <elliott> also that should be a comma before n, not |
22:32:12 <oerjan> SOMETIMES LESS POINT-FREE IS BETTER
22:32:19 <elliott> integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return
22:32:23 <elliott> wanna de-ugly that too? :P
22:32:49 <oerjan> um no, i believe | is the syntax for the "zip these together" comprehension extension
22:33:08 <elliott> it might not be an extension any more what with haskell twentyten
22:33:58 <CakeProphet> the main problem I have with point-free is I can't READ ANYTHING.
22:34:14 <elliott> Illegal parallel list comprehension: use -XParallelListComp
22:34:20 <elliott> CakeProphet: that's your problem, not point-free's.
22:34:25 <elliott> or, well, sometimes it's the code's problem.
22:34:38 <olsner> not if the code is point-free, that is never wrong
22:34:39 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f b
22:34:47 <elliott> but, well, I can't read obfuscated perl, doesn't make perl a bad language :D
22:34:51 <elliott> where's olsner wher eyou need him
22:34:59 <elliott> but i ... forget what ... i ... was ... oh yes thats what
22:35:03 <oerjan> @hoogle f a -> b -> f b
22:35:03 <lambdabot> Control.Applicative (<$) :: Functor f => a -> f b -> f a
22:35:03 <lambdabot> Control.Applicative (*>) :: Applicative f => f a -> f b -> f b
22:35:03 <lambdabot> Prelude (>>) :: Monad m => m a -> m b -> m b
22:35:06 <elliott> olsner: bochs has some kind of interface to its console, right?
22:35:10 <elliott> so OS stuff can print debug to it
22:35:14 <CakeProphet> elliott: Haskell isn't a bad language. I'm saying point-free style, in very complicated situations, results in a mess of code that takes far too long to decipher.
22:35:21 <CakeProphet> elliott: a mess of very very concise code.
22:35:24 <elliott> CakeProphet: Let me rewrite what you said to actually be not wrong:
22:35:34 <elliott> CakeProphet: Point-free style, when misapplied, results in a mess.
22:35:41 <elliott> Perl, when misapplied, results in a mess.
22:36:15 <olsner> elliott: hmm, yes istr reading something like that from the config menus... I think it might not be enabled by default though
22:36:19 <elliott> Point-free, when it can be executed well -- which it usually can be if you have the right combinators -- is more readable than the pointful version (to someone who's experienced reading Haskell)
22:36:30 <elliott> It's essentially a higher level of abstraction, just one that can be misapplied.
22:36:36 <oerjan> digit = choice . zipWith (<*) [0..] $ try . string <$> digits
22:36:39 <CakeProphet> I don't really see where Perl comes into play with the readability of point-free style. But sure, non-relevant comparisons are fun.
22:37:02 <olsner> > fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1
22:37:03 <lambdabot> [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,...
22:37:47 <elliott> i kid, i haven't looked at yours
22:38:02 <elliott> oerjan: that's pretty nice
22:38:09 <elliott> right now I'm trying to make integer less ugly though, but I'll save that
22:38:30 <elliott> since the parallel comprehension is non-standard
22:38:57 <Vorpal> elliott, how goes the spec!!
22:39:11 <lambdabot> Prelude floatDigits :: RealFloat a => a -> Int
22:39:11 <lambdabot> Numeric floatToDigits :: RealFloat a => Integer -> a -> ([Int], Int)
22:39:18 <elliott> CakeProphet: digits is a local define.
22:39:43 <Vorpal> elliott, not well, there is a computer spec missing. And how are you?
22:40:09 <elliott> Vorpal: actually legitimately ill
22:40:24 <Vorpal> elliott, well then you have time for the spec now!
22:40:28 <elliott> YEAH NOW YOU FEEL BAD FOR MAKING FUN OF MY SITUATION ;_____;
22:40:38 <olsner> elliott: looks like you just write to port e9, if it's enabled: http://heim.ifi.uio.no/~inf3150/doc/tips_n_tricks/e9hack.html
22:40:44 <elliott> Vorpal: but what if the painkillers make me insane :/
22:40:54 <Vorpal> elliott, can they do that?
22:41:01 <elliott> Vorpal: i don't know, i'm too ill to think clearly
22:41:12 <oerjan> <elliott> integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return
22:41:49 <elliott> Vorpal: see, i'm writing crazy code like that
22:41:54 <elliott> clearly not sane right now
22:41:56 <Vorpal> elliott, well get off irc, and rest then
22:42:10 <Vorpal> elliott, that code looks fine to me. What is liftA2 though?
22:42:14 <Vorpal> I don't remember that one
22:42:16 <elliott> are you advising me to stay in bed all day and waste time, because that's... exactly what i'm doing
22:42:21 <lambdabot> Control.Applicative (*>) :: Applicative f => f a -> f b -> f b
22:42:22 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
22:42:22 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
22:42:25 <elliott> Vorpal: liftM2, but s/Monad/Applicative/
22:42:39 <Vorpal> elliott, and uh. <|> is?
22:43:04 <elliott> oerjan: your digit doesn't type
22:43:07 <CakeProphet> similar to a | in a regex or... many other things I don't remember the names of.
22:43:09 <Vorpal> oh right, that makes quite a lot of sense then
22:43:09 <elliott> Vorpal: actually the applicative choice thing too
22:43:29 <Vorpal> elliott, now what does it do?
22:43:35 <CakeProphet> ...applicative choice? I still need to learn the rest of Applicative.
22:43:38 <elliott> Vorpal: (<|>) :: Alternative f => f a -> f a -> f a
22:43:46 <elliott> CakeProphet: it's just a generalisation, pretty much
22:43:48 <Vorpal> elliott, no I meant the code in general
22:43:49 <elliott> CakeProphet: I hide Parsec's
22:43:59 <elliott> because the Alternative operator works on the Parsec monad too
22:44:01 <elliott> Vorpal: what it says on the tin
22:44:12 <Vorpal> elliott, meh, too tired to parse it atm
22:44:17 <CakeProphet> elliott: right, but does Applicative have a notion of success and failure like Parsec?
22:44:23 <oerjan> <CakeProphet> what is <*? <-- oh hm, elliott: s/<*/<$/
22:44:42 <elliott> CakeProphet: no, like I said, Alternative does
22:44:45 <lambdabot> class Applicative f => Alternative f where
22:45:31 <elliott> name = concat . many1 $ liftA2 (:) normalCons vowel
22:45:56 <lambdabot> Source not found. You type like i drive.
22:46:06 <elliott> CakeProphet: I actually think Alternative /is/ MonadPlus
22:46:21 <elliott> CakeProphet: it's just that a lot of the haskell library doesn't consider things above monads
22:46:27 <CakeProphet> elliott: for list it seems to be exactly the same.
22:46:39 <elliott> similarly, liftM2 is superfluous
22:46:46 <elliott> but we haven't had Applicatives as long as monads
22:46:48 <oerjan> elliott: concat <$> up there
22:46:50 <elliott> thus why all this stuff is duplicated
22:47:13 <elliott> Couldn't match expected type `[Char]' with actual type `Char'
22:47:13 <elliott> String () Data.Functor.Identity.Identity [Char]
22:47:21 <lambdabot> forall a b (f :: * -> *). (Functor f) => b -> f a -> f b
22:47:26 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
22:47:40 <Vorpal> at least the type is the same
22:47:54 <CakeProphet> according to the documentation it's the same thing.
22:47:58 <Vorpal> elliott, come on, (+) and (-) have the same type, don't they?
22:48:09 <elliott> what's the name of the principle that lets you derive facts from types
22:48:15 <elliott> what's the name of the principle that lets you derive facts from types
22:48:27 <elliott> because I think we could deduce that (fmap . const) and (<$) are the same by just the types
22:48:27 <Vorpal> elliott, now we know that multiplication is addition! :P
22:48:32 <oerjan> elliott: parametricity
22:48:48 <elliott> I have a hunch it would work here
22:49:00 <oerjan> and i think it applies to fmap.const = (<$)
22:49:05 <elliott> let's see ... (a -> f b -> f a)
22:49:25 <oerjan> at least assuming a Functor instance respecting the laws
22:49:27 <olsner> I think you can make more functions of the same type by using undefined
22:49:30 <elliott> because that's the only way to get an f thing
22:49:39 <elliott> and the only (a -> b) here is const
22:49:41 <elliott> since we can't inspect our a
22:49:50 <CakeProphet> Ah there's an instance for MonadPlus m => Alternative (WrappedMonad m)
22:49:53 <elliott> so yeah, there is only one function of the type (a -> f b -> f a)
22:50:22 <oerjan> olsner: yeah basic parametricity only works for terminating functions, although there is some research on adding non-termination and seq
22:50:24 <Vorpal> elliott, unless you involve bottom I think?
22:50:31 <elliott> Vorpal: yeah yeah, those aren't real functions
22:50:34 <elliott> total function, if you will, whatever
22:50:41 <oerjan> (it's a feature of System F lambda calculus)
22:50:42 <elliott> name = concat <$> many1 (liftA2 (\x y -> [x,y]) normalCons vowel)
22:50:47 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
22:51:21 <Vorpal> wtf is the t. in seq's type?
22:51:21 <lambdabot> No instance for (GHC.Show.Show (f [t]))
22:51:21 <lambdabot> arising from a use of `M76367029...
22:51:37 <Vorpal> elliott, why couldn't they say so :P
22:51:40 <olsner> Vorpal: it's a type variable
22:51:51 <Vorpal> elliott, the forall is implicit
22:51:52 <elliott> seq :: a -> b -> b -- from GHCi
22:51:59 <elliott> Vorpal: <lambdabot> forall a t. a -> t -> t
22:51:59 -!- variable has quit (Remote host closed the connection).
22:52:05 <elliott> note that ghci actually omits all top-level foralls
22:52:12 <elliott> because they can be unambiguously abbreviated
22:52:13 <oerjan> elliott: sequence [normalCons, vowel]
22:52:16 <elliott> (and this is in haskell itself)
22:52:33 -!- variable has joined.
22:53:13 <oklopol> "<elliott> but, well, I can't read obfuscated perl, doesn't make perl a bad language :D" <<< but doesn't it kind of make the coding style bad? or maybe i misunderstood what your point was
22:53:27 <oerjan> elliott: iirc i saw someone apply parametricity to typeclasses like Functor before; basically you need to add the typeclass methods as extra parameters
22:53:33 <lambdabot> No instance for (GHC.Show.Show (f [a]))
22:53:33 <lambdabot> arising from a use of `M19706092...
22:53:40 <lambdabot> forall a (f :: * -> *). (Applicative f) => f [a]
22:54:15 <elliott> oerjan: well, it's easy to prove "by hand"
22:54:28 <elliott> oklopol: sure, but we're considering point-free style a language here, not a style
22:54:51 <elliott> oklopol: i.e. the general point is "~(there are unreadable examples of X -> X is unreadable)"
22:55:12 <CakeProphet> uh, sure, once you learn everything. Might as well say anything is easy.
22:55:55 <CakeProphet> eh. I don't feel like making language comparisons today.
22:56:11 <oklopol> "<elliott> oklopol: sure, but we're considering point-free style a language here, not a style" <<< hmm okay accepted
22:57:14 <CakeProphet> Haskell itself is easy. Learning everything about its libraries is not so much.
22:57:33 -!- Vorpal has quit (Ping timeout: 260 seconds).
22:57:49 <monqy> what's not so much about it
22:58:14 <olsner> maybe it just isn't a lot
22:59:03 <oklopol> CakeProphet just got owned
22:59:40 <CakeProphet> more like: CakeProphet just got interpretted literally!
23:00:59 <oklopol> whatever you say slave boy :|
23:02:47 <CakeProphet> > let x = (:) <$> Nothing <*> y; y = x <|> pure [] in x
23:03:06 <CakeProphet> > let x = (:) <$> Maybe 5 <*> y; y = x <|> pure [] in x
23:03:06 <lambdabot> Not in scope: data constructor `Maybe'
23:03:12 <CakeProphet> > let x = (:) <$> Just 5 <*> y; y = x <|> pure [] in x
23:03:57 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
23:04:50 <elliott> > fmap (take 9) (some (Just 9))
23:04:51 <oerjan> <elliott> note that ghci actually omits all top-level foralls <-- there's a flag for that
23:05:00 <elliott> oerjan: but it's desirable :P
23:05:06 <elliott> at least for confused beginners
23:05:33 <CakeProphet> elliott: so basically what I interpret from these bits of code is that I'll never really want to use some or many.
23:05:46 <elliott> well this is lambdabot and Maybe, both of which are contrived
23:05:56 <elliott> what are some and many even meant for, anyway?
23:06:08 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
23:06:21 <oerjan> <CakeProphet> > pure [] <-- it's ambiguous which Applicative you are using so lambdabot ends up creating a dummy type for it, which of course has no Show instance
23:08:01 <lambdabot> forall a (f :: * -> *). (Num a, Applicative f, Num (f a)) => f a
23:09:02 <olsner> grr, windows sends mousewheel events to the focused window, not to the window under the cursor
23:09:20 <lambdabot> Overlapping instances for GHC.Show.Show ((a -> b) -> b)
23:09:27 <elliott> you can scroll background windows in Windows, can't you?
23:09:36 <elliott> I think the top window gets a chance to /handle/ it
23:09:40 <elliott> but if it declines it bubbles downwards
23:09:52 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
23:10:31 <CakeProphet> excellent. I can now obfuscate arithmetic.
23:11:10 <olsner> elliott: hmm, however the mechanism, the effect is that the wrong window scrolls :)
23:11:49 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
23:11:52 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
23:11:58 <olsner> (can you run SC2 in linux somehow? that would eliminate all my windows problems)
23:12:00 <CakeProphet> > let x = (:) <$> Maybe 5 <*> y; y = x <|> pure [] in x
23:12:01 <lambdabot> Not in scope: data constructor `Maybe'
23:12:29 <elliott> CakeProphet: i asked olsner.
23:12:43 <elliott> olsner: http://appdb.winehq.org/objectManager.php?sClass=version&iId=20882
23:13:26 <oerjan> oh it's just some v = v <|> many v
23:15:23 <olsner> elliott: cool, looks like there is some chance of success then!
23:15:24 <CakeProphet> I know it can in the discrete case, since list is a monad, but what about in the continuous case?
23:16:12 <lambdabot> Source not found. Do you think like you type?
23:16:55 <CakeProphet> http://www.haskell.org/ghc/docs/6.12.1/html/libraries/base/src/Control-Applicative.html#Alternative
23:17:33 <elliott> CakeProphet: functions are monads, yes
23:17:45 <elliott> I'm not sure if you can analogise the function monad instance to the list instance. oerjan?
23:18:03 <oerjan> ah indeed it was right
23:18:22 <elliott> oerjan: <CakeProphet> can a time-varying signal be a monad? <CakeProphet> I know it can in the discrete case, since list is a monad, but what about in the continuous case?
23:18:29 <elliott> type DiscreteSignal t = [t]
23:18:33 <elliott> type ContinuousSignal t = Time -> t
23:18:37 <elliott> where Time is a real, conceptually
23:18:53 <elliott> both have monad instances, but is the monad instance to the latter analogisable as a "continuous" version of the former (list monad)?
23:19:02 <oerjan> indeed the >>= definitions don't correspond much
23:20:19 <oerjan> iirc the -> monad _is_ analogous to the ZipWith monad
23:20:49 <CakeProphet> that might be useful, but I don't know how the ZipWith monad works.
23:21:10 <oerjan> well i'm not sure it's defined in the library, even
23:21:24 <lambdabot> No instance for (GHC.Show.Show (Control.Applicative.ZipList t))
23:21:33 <elliott> newtype ZipList a = ZipList { getZipList :: [a] }
23:21:33 <elliott> instance Functor ZipList where
23:21:33 <elliott> fmap f (ZipList xs) = ZipList (map f xs)
23:21:55 <oerjan> WHY THE FUCK DIDN'T THEY ADD A SHOW INSTANCE
23:22:27 <elliott> pure x = ZipList (repeat x)
23:22:29 <elliott> indeed, looks like a function ;D
23:23:00 <elliott> I wonder if (ZipList a) is the same as (Integer -> a) if you only have the Functor/Applicative/Monad instances (not the constructor)
23:23:21 <oerjan> well ZipLists can be finite
23:23:39 <oerjan> but otherwise, that's essentially what i recall discovering
23:24:38 <elliott> oerjan: no they can't, if you don't have the constructor
23:24:40 <oerjan> > getZipList $ ZipList [1,2,3] >>= \n -> ZipList [4,5,6]
23:24:40 <lambdabot> No instance for (GHC.Base.Monad Control.Applicative.ZipList)
23:24:45 <elliott> pure results in an infinite list
23:24:54 <elliott> so there's no way to get a finite list
23:24:57 <oerjan> elliott: erm you cannot construct id
23:25:03 <oerjan> only constant functions
23:25:25 <elliott> oerjan: hmm, can't you with <*>?
23:25:51 <oerjan> how? both arguments are repeats
23:25:53 <elliott> > let foo n = pure n <*> foo (succ n) in foo 0 :: ZipList Integer
23:26:03 <elliott> > let foo n = pure n <*> foo (n+9) in getZipList (foo 0)
23:26:21 <elliott> > let foo n = pure (const n) <*> foo (n+9) in getZipList (foo 0)
23:27:16 <oerjan> > getZipList (pure (const 1) <*> pure undefined)
23:27:16 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...
23:27:56 <oerjan> since it cannot _look_ at undefined, it cannot distinguish pure undefined from anything else
23:28:40 <oerjan> and your recursion is going in the wrong _direction_, you aren't actually moving _along_ the list
23:29:23 <CakeProphet> so if I made a union of [t] and (Float -> t) I could define applicative/monad/functor instances but they would have different semantics for each case.
23:29:44 <elliott> CakeProphet: have you been paying attention?
23:29:48 <elliott> there is more than one list monad
23:29:54 <elliott> and one of them acts like functions
23:30:16 <CakeProphet> no I haven't actually. you guys started talking about stuff that is currently over my head so I stopped paying attention. :)
23:30:23 <oerjan> elliott: pure f <*> pure x = pure (f x) so you cannot construct anything other than pure x just from the methods in _any_ Applicative instance
23:31:34 <elliott> oerjan: same with Monad I think
23:35:18 <oerjan> <elliott> integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return
23:35:36 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f b
23:36:09 <oerjan> :t ((?p *>) . return . negate)
23:36:09 <lambdabot> forall (f :: * -> *) a b. (?p::f a, Applicative f, Monad f, Num b) => b -> f b
23:36:59 <oerjan> CakeProphet: dynamic scoped variable
23:37:22 <elliott> dammit Maharba respond quickly ;D
23:37:28 <oerjan> useful for getting types out of lambdabot without needing to add \p -> to everything
23:38:25 <elliott> 05:30:23: <RodgerTheGreat> I'd guess that an entirely nature or an entirely nurture explanation for homosexuality is oversimplifying things. Homosexuality is associated with notably different brain chemistry (for the person's gender), so I'd guess there's an inherited propensity that's either repressed or reinforced based on the person's experiences
23:38:25 <elliott> 05:31:04: <RodgerTheGreat> Many diseases, conditions and other types of deviations work like this.
23:38:25 <elliott> irc user rodgerthegreat proves abnormality of homosexuality, news at eleven
23:38:46 <lambdabot> Control.Applicative optional :: Alternative f => f a -> f (Maybe a)
23:38:47 <lambdabot> Text.Parsec.Combinator optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
23:38:47 <lambdabot> Text.ParserCombinators.ReadP optional :: ReadP a -> ReadP ()
23:40:24 <oerjan> @hoogle f a -> f (a -> b) -> f b
23:40:25 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
23:40:25 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
23:40:25 <lambdabot> Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b
23:40:51 <lambdabot> The operator `Control.Applicative.<**>' [infixl 4] of a section
23:41:00 <lambdabot> The operator `GHC.Base.>>=' [infixl 1] of a section
23:41:47 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
23:41:51 <elliott> presumably it's an error correction then
23:42:58 <elliott> 06:04:40: <RodgerTheGreat> in my opinion, functional languages are pretty and clean looking, but are an *inherently* inefficient way of programming, because they don't work remotely like conventional hardware does. Magical perfect compilers that can optimize in every conceivable fashion could theoretically balance this, but Magical perfect compilers do not exist. I like my imperative languages.
23:42:58 <elliott> has rodgerthegreat ever actually said anything that's true? i'm honestly curious
23:43:21 <oerjan> elliott: integer = natural <**> choice [negate <$ string "hu", return id]
23:45:11 <CakeProphet> elliott: obviously roger doesn't know how Haskell works.
23:45:22 <lambdabot> The operator `Control.Applicative.<|>' [infixl 3] of a section
23:45:44 <oerjan> elliott: i guess <|> rather than choice suffices
23:45:59 <elliott> integer = natural <**> (negate <$ string "hu" <|> return id)
23:46:14 <lambdabot> The operator `GHC.Base.<$' [infixl 4] of a section
23:46:51 <oerjan> remembering precedence does get a bit hairy
23:46:58 <lambdabot> [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...
23:47:43 <oerjan> <elliott> presumably it's an error correction then <-- iirc...
23:47:55 <lambdabot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "elliott!~elliott@unaffiliated/elliott", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":?echo ("]} rest:"("
23:48:00 <oerjan> ?info do x <- test; f x
23:48:47 <oerjan> CakeProphet: <$ is 4, so binds tighter than <|> at 3
23:49:14 <oerjan> CakeProphet: note that's the point of my > (0$0 ...) tests above
23:49:34 <oerjan> string "hu" is a Parsec parser which parser precisely that string
23:50:01 <CakeProphet> so what on earth is that <$ doing to String "hu"
23:50:19 <oerjan> elliott: hm i just realized... does string do try internally?
23:50:44 <CakeProphet> oerjan: yeah I believe it backtracks on failure.
23:50:47 <oerjan> CakeProphet: it's throwing away the monadic result (which is just "hu" iirc) and replacing it by the negate function
23:50:56 <elliott> I had to use (try . string) in digit
23:50:57 <elliott> integer = natural <**> (negate <$ try (string "hu") <|> return id)
23:52:51 <oerjan> CakeProphet: Parsec has a strange model for avoiding keeping too many possible backtrackings. basically once a parser parses a single character correctly, it refuses to backtrack to other options for it, unless you use the try combinator
23:53:36 <oerjan> so you have to be careful to use try if you have multiple possible parses starting with the same character
23:53:51 <elliott> that's conventional, not strange, isn't it :)
23:54:23 <oerjan> i don't know if that's conventional, LALR(1) parsers certainly don't do that...
23:54:31 <elliott> well for combinator parsers
23:55:04 <oerjan> although i saw a brief discussion of the matter after the recent attoparsec fiasco on reddit
23:55:40 <CakeProphet> so when <*> and friends apply to Parsec they don't change the matching behavior only the result?
23:55:43 <elliott> that's where i picked up the opinion that it was conventional ;D
23:56:05 <oerjan> CakeProphet: yep. that's sort of the essence of Applicative combinators, they can only modify results
23:56:41 <CakeProphet> so since the right-hand side of <**> is being applied to the left hand side, is string "hu" actually doing any matching?
23:57:13 -!- GreaseMonkey has joined.
23:57:13 -!- GreaseMonkey has quit (Changing host).
23:57:13 -!- GreaseMonkey has joined.
23:57:14 <oerjan> CakeProphet: of course
23:58:07 <oerjan> <**> is the same as liftA2 (flip ($)) iiuc
23:58:26 <CakeProphet> ah, based on the type I thought it was flip (<*>)
23:58:56 <lambdabot> Source not found. Where did you learn to type?
23:59:00 <oerjan> oh i hope not, as that's would make it useless...
23:59:10 <oerjan> CakeProphet: Applicative method
23:59:14 <lambdabot> class Functor f => Applicative f where
00:00:08 <elliott> -- | A variant of '<*>' with the arguments reversed.
00:00:09 <elliott> (<**>) :: Applicative f => f a -> f (a -> b) -> f b
00:00:09 <oerjan> elliott: what? that would be useless
00:00:19 <elliott> oerjan: well it's an aesthetic thing...
00:00:30 <elliott> CakeProphet: no, luhu is -4
00:00:48 <oerjan> > [1,2] <**> [(+5), (+10)]
00:01:03 <oerjan> > flip (<*>) [1,2] [(+5), (+10)]
00:01:11 <oerjan> elliott: nope i was right :)
00:01:25 <CakeProphet> ah ookay, because with liftA2 or whatever you're doing when you call <**>, you're chaining the two monads together with >>
00:02:37 <elliott> oerjan: um i am quoting from the code itself here
00:02:44 <elliott> -- | A variant of '<*>' with the arguments reversed.
00:02:44 <elliott> (<**>) :: Applicative f => f a -> f (a -> b) -> f b
00:02:44 <elliott> (<**>) = liftA2 (flip ($))
00:02:51 <elliott> crock of shit documentation
00:02:54 <oerjan> CakeProphet: well another way to say it, is x <**> f = flip ($) <$> x <*> f
00:03:11 <elliott> oerjan: oh i think it means the arguments to the _function_
00:03:40 <oerjan> elliott: yeah it also reverses the intuitive execution order, which is why <**> is useful here...
00:03:59 <CakeProphet> oerjan: I was basically forgetting that, since Parsecs matching semantics are carried through >>=, when you use things like applicative functions you're still chaining together the parsers. I'm not entirely sure what I thought was going on before.
00:06:04 <oerjan> CakeProphet: well this is sort of because by convention when you make monads into applicatives you let <*> have a left-to-right execution order
00:06:24 <oerjan> it occurs to me that would be an entirely correct Applicative instance to do it reversely, actually.
00:06:37 <oerjan> in fact you could make a newtype for it, does it exist?
00:06:53 <lambdabot> Control.Monad liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
00:06:55 <lambdabot> Control.Applicative liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
00:08:11 <oerjan> i don't find it, but it would be like
00:08:22 <CakeProphet> okay with fundeps, saying a -> b is basically saying that a decides what b is yes?
00:08:29 <elliott> "If the function returns, this is an expression, otherwise it is a statement."
00:09:01 <CakeProphet> I'm not entirely sure what that DOES, but I think I understand the /concept/
00:09:15 <CakeProphet> elliott: lol. if a function doesn't return, it's probably not a function.
00:09:41 <oerjan> instance Applicative a => Applicative (Reverse a) where pure x = Reverse (pure x); (Reverse f <*> Reverse x) = Reverse (x <**> f)
00:09:43 <monqy> elliott: from what is that
00:09:47 <monqy> (I'm vomiting too)
00:10:01 <monqy> strapping young lad?
00:10:03 <oerjan> newtype Reverse x = Reverse x
00:10:23 * elliott complains on the talk page
00:10:28 <oerjan> newtype Reverse a x = Reverse (a x)
00:11:19 <oerjan> CakeProphet: ^ i believe that would give you a modified Applicative which did all execution chaining in the opposite direction
00:11:31 <oerjan> but still fulfilled all the laws (i assume)
00:12:15 <monqy> so is this language's special thing purely based on what names it uses for things
00:12:32 <monqy> pardon my highly technial terminology
00:12:59 <elliott> monqy: well it's kind of neat to have every program be fully pronouncable
00:13:17 <elliott> if you remove all the whitespace you can have, like, full function definitions be "words"
00:13:19 <elliott> which is nice aesthetically
00:13:23 <elliott> but yes the semantics are nothing special
00:13:40 <elliott> i'm just implementing it because i'm bored
00:14:10 <oerjan> it's not precisely the first pronunciation-based language
00:14:16 <monqy> implement speech to text for it
00:14:35 <elliott> oerjan: true, but that's not really the same thing :P
00:14:50 <monqy> where by speech to text I mean speech to program
00:15:22 <elliott> I confess that the main reason I'm implementing it is because I can call the implementation sylladex
00:15:52 <elliott> monqy is disappointed in my shallow reference-based reasons for implementing languages.
00:18:33 -!- calamari has joined.
00:20:15 -!- calamari has quit (Client Quit).
00:20:18 <oerjan> you should see his evil twin mwahaharba
00:21:37 <oerjan> elliott: were there any remaining functions to prettify?
00:22:50 <elliott> oerjan: not yet, but there will be as soon as maharba replies :D
00:36:31 <elliott> does anyone know of a hash function that optimises for the size of the resulting hash?
00:36:35 <elliott> like crc but less... useless
00:36:41 <elliott> a dynamic-length hash i guess...
00:36:50 <monqy> right now I'm imagining maharba meant "if the function terminates, it is an expression; otherwise, it is a statement". makes everything better.
00:36:50 <elliott> hmm i'm not thinking right
00:43:38 <elliott> it's amazing how inconsistent Crawl's interface actually is, it's much worse than NetHack's
00:43:39 <elliott> -- http://crawl.develz.org/learndb/index.html
00:44:07 -!- GreaseMonkey has quit (Quit: The Other Game).
00:45:11 -!- GreaseMonkey has joined.
00:45:11 -!- GreaseMonkey has quit (Changing host).
00:45:11 -!- GreaseMonkey has joined.
00:51:36 <oerjan> pure is shorter than return...
00:52:06 <CakeProphet> oerjan: but import Control.Applicative is not shorter than an empty string.
00:52:36 <oerjan> CakeProphet: i was assuming he had it imported already
00:53:18 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f (Maybe a)
00:53:55 <CakeProphet> however if n*2 > 26 where n is the number of uses of return, then you will save bytes overall.
00:54:19 <CakeProphet> assuming you don't already have Control.Applicative imported, which you probably do. :P
00:55:03 <elliott> this isn't about golfing :P
00:55:15 <oerjan> > reverse.(:"hag")$'i'
00:55:54 <elliott> grossly, SyL is not whitespace-irrelevant
00:56:08 <elliott> lack of unambiguous number terminators :(
00:56:11 <CakeProphet> angry square mouth man is angry that you never use him and always use his pure counterpart (:[])
00:56:51 <lambdabot> Data.Generics.Aliases unGM :: GenericM' m -> a -> m a
00:56:51 <lambdabot> Prelude return :: Monad m => a -> m a
00:56:51 <lambdabot> Control.Monad return :: Monad m => a -> m a
00:57:28 <CakeProphet> @hoogle a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m
00:58:45 <monqy> why would you do that
00:58:47 <CakeProphet> or angry square mouth man, depending on what you're referring to.
00:59:22 <CakeProphet> monqy: why do we do anything? why can I answer questions with more vague generic questions that apply to any situation?
00:59:40 <monqy> why would you search for that function
01:00:05 <monqy> it's pretty obvious that it doesn't exist
01:00:08 <monqy> if you think about it
01:00:17 <monqy> also what's this about (: [])
01:00:32 <elliott> i mean, apart from nudefined
01:00:41 <elliott> because it returns a polymorphic parameter it isn't given
01:01:15 <lambdabot> forall a b c d e f. (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
01:01:31 <elliott> oerjan: ban maharaba plz he is crime of no replying
01:01:40 <elliott> now why does zipWith5 even exist...
01:01:55 <CakeProphet> because sometimes you've got to zip 5 lists, I mean come on.
01:02:29 <oerjan> :t (,,,,,,,,,,,,)
01:02:29 <lambdabot> forall a b c d e f g h i j k l m. a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m)
01:02:45 <monqy> define tuples in template haskell, make generic zipwith
01:03:00 <elliott> monqy: there's that proposal for hlists as tuples
01:03:07 <elliott> (a,b,c) == a :- b :- c :- HNil or whatever
01:03:14 <elliott> which I guess you define like
01:03:18 <oerjan> hm didn't it get added recently
01:03:30 <oerjan> @hoogle [a -> b] -> [a] -> [b]
01:03:30 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
01:03:30 <lambdabot> Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b
01:03:30 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
01:03:41 <elliott> I could use that in Shiro...
01:04:26 <oerjan> (zapp? being the equivalent of ap / <*> for zipping, naturally)
01:05:02 <elliott> data CS r = (:-) {-# UNPACK #-} !Value {-# UNPACK #-} !r
01:05:08 -!- FireFly has quit (Quit: swatted to death).
01:05:13 <elliott> i.e. two-dimensional is CS (CS CZ)
01:06:29 <oerjan> i'm pretty sure unpacking / unboxing only works with fields of fixed size, possibly even fixed type
01:07:04 <Lymia> :t ((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,))
01:07:05 <lambdabot> forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5
01:07:05 <lambdabot> d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10
01:07:05 <lambdabot> d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11 a12 b12 c12 d12 e12 f12 g12 h12 i12 j12 k12 l12 m12. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -
01:07:05 <lambdabot> > l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m), a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 ->
01:07:05 <lambdabot> c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 -> l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> (
01:07:10 <lambdabot> a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3), a4 -> b4 -> c4 -> d4 -> e4 -> f4 -> g4 -> h4 -> i4 -> j4 -> k4 -> l4 -> m4 -> (a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l4, m4), a5 -> b5 ->
01:07:11 <lambdabot> c5 -> d5 -> e5 -> f5 -> g5 -> h5 -> i5 -> j5 -> k5 -> l5 -> m5 -> (a5, b5, c5, d5, e5, f5, g5, h5, i5, j5, k5, l5, m5), a6 -> b6 -> c6 -> d6 -> e6 -> f6 -> g6 -> h6 -> i6 -> j6 -> k6 -> l6 -> m6 -> (
01:07:13 <lambdabot> a6, b6, c6, d6, e6, f6, g6, h6, i6, j6, k6, l6, m6), a7 -> b7 -> c7 -> d7 -> e7 -> f7 -> g7 -> h7 -> i7 -> j7 -> k7 -> l7 -> m7 -> (a7, b7, c7, d7, e7, f7, g7, h7, i7, j7, k7, l7, m7), a8 -> b8 ->
01:07:15 <lambdabot> c8 -> d8 -> e8 -> f8 -> g8 -> h8 -> i8 -> j8 -> k8 -> l8 -> m8 -> (a8, b8, c8, d8, e8, f8, g8, h8, i8, j8, k8, l8, m8), a9 -> b9 -> c9 -> d9 -> e9 -> f9 -> g9 -> h9 -> i9 -> j9 -> k9 -> l9 -> m9 -> (
01:07:17 <lambdabot> a9, b9, c9, d9, e9, f9, g9, h9, i9, j9, k9, l9, m9), a10 -> b10 -> c10 -> d10 -> e10 -> f10 -> g10 -> h10 -> i10 -> j10 -> k10 -> l10 -> m10 -> (a10, b10, c10, d10, e10, f10, g10, h10, i10, j10, k10,
01:07:19 <lambdabot> l10, m10), a11 -> b11 -> c11 -> d11 -> e11 -> f11 -> g11 -> h11 -> i11 -> j11 -> k11 -> l11 -> m11 -> (a11, b11, c11, d11, e11, f11, g11, h11, i11, j11, k11, l11, m11), a12 -> b12 -> c12 -> d12 ->
01:07:21 <lambdabot> e12 -> f12 -> g12 -> h12 -> i12 -> j12 -> k12 -> l12 -> m12 -> (a12, b12, c12, d12, e12, f12, g12, h12, i12, j12, k12, l12, m12))
01:07:23 <elliott> yea verily this is a good use of the channel
01:07:33 <Lymia> :t (((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,
01:07:34 <Lymia> ,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,
01:07:34 <lambdabot> parse error (possibly incorrect indentation)
01:07:35 <Lymia> ,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)))
01:07:55 <Lymia> :t (.............................................................................................................................................................................................................................................................................................................................................................................................................................)
01:07:57 <lambdabot> `................................................................................................................................................................................................
01:07:57 <lambdabot> .......................................................................................................................................................................................................
01:08:15 <oerjan> :t let a x = (,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a)
01:08:16 <lambdabot> forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5
01:08:16 <lambdabot> d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10
01:08:16 <lambdabot> d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m),
01:08:16 <lambdabot> a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 -> c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 ->
01:08:16 <lambdabot> l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> (a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3),
01:08:25 <Lymia> :t (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
01:08:26 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:08:26 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:08:26 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:08:26 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:08:28 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:14 <oerjan> eek ghc defines that many?
01:09:17 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:20 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:20 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:20 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:20 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:20 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:28 <oerjan> (i think the haskell report only requires up to 15 or something)
01:09:29 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:34 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:34 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:34 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:34 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:34 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:44 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:52 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:52 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:52 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:52 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:52 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:54 <monqy> why would you do this
01:10:06 <Lymia> I'll take it to PM~
01:10:19 <elliott> yes we need no filthy lambdabotsex here in public
01:10:48 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,) x in (a,a,a,a,a,a,a)
01:10:59 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:01 <lambdabot> Workaround: use nested tuples or define a data type
01:11:15 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:17 <lambdabot> Workaround: use nested tuples or define a data type
01:11:24 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:31 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:11:32 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:11:32 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:11:32 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:11:32 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:11:37 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:39 <CakeProphet> I love how they suggest a workaround. As though anyone needs a 72-tuple.
01:11:51 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:11:51 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:11:51 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:11:51 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:11:51 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:11:55 <elliott> CakeProphet: what workaround
01:11:59 <elliott> Lymia: i thought you were taking it to pm
01:12:02 <Lymia> elliott, couldn't.
01:12:07 <Lymia> lambdabot didn't respond. >:(
01:12:17 <elliott> Lymia: you need ?type or @type
01:12:21 <CakeProphet> elliott: 21:11 < lambdabot> Workaround: use nested tuples or define a data type
01:12:33 <lambdabot> t227 t228 t229 t230 t231 t232 t233 t234 t235 t236 t237 t238 t239 t240 t241 t242 t243 t244 t245 t246 t247 t248 t249 t250 t251 t252 t253 t254 t255 t256 t257 t258 t259 t260 t261 t262 t263 t264 t265
01:12:33 <lambdabot> t266 t267 t268 t269 t270 t271 t272 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 t281 t291 t301 t311 t321 t331 t341 t351 t361 t371 t381 t391 t401 t411 t421 t431 t441
01:12:33 <lambdabot> t451 t461 t471 t481 t491 t501 t511 t521 t531 t541 t551 t561 t571 t581 t591 t601 t611 t621 t631 t641 t651 t661 t671 t681 t691 t701 t711 t721 t731 t741 t751 t761 t771 t781 t791 t801 t811 t821 t831
01:12:33 <lambdabot> t841 t851 t861 t871 t881 t891 t901 t911 t921 t931 t941 t951 t961 t971 t981 t991 t1001 t1011 t1021 t1031 t1041 t1051 t1061 t1071 t1081 t1091 t1101 t1111 t1121 t1131 t1141 t1151 t1161 t1171 t1181
01:12:33 <lambdabot> t1191 t1201 t1211 t1221 t1231 t1241 t1251 t1261 t1271 t1281 t1291 t1301 t1311 t1321 t1331 t1341 t1351 t1361 t1371 t1381 t1391 t1401 t1411 t1421 t1431 t1441 t1451 t1461 t1471 t1481 t1491 t1501 t1511
01:12:58 <Lymia> I need to learn more Haskell...
01:14:13 <oerjan> CakeProphet: i was slightly tempted there
01:14:39 <elliott> `addquote [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] <Lymia> I need to learn more Haskell... <CakeProphet> ..I need to get op privs.
01:14:40 <HackEgo> 441) [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] <Lymia> I need to learn more Haskell... <CakeProphet> ..I need to get op privs.
01:14:46 <elliott> possibly the backstory lessens the humour of that one :D
01:14:53 -!- foocraft_ has joined.
01:15:14 <CakeProphet> monqy: there is no humour because I AM NOT ENGLISH.
01:15:15 <elliott> foocraft_: stop crafting foos
01:15:15 <oerjan> dissected with the frog
01:15:36 <oerjan> or we'll put you behind bars
01:16:57 <CakeProphet> ^ http://www.youtube.com/watch?v=y8m3wC5pH-8
01:17:39 -!- foocraft has quit (Ping timeout: 240 seconds).
01:17:40 <elliott> oerjan: can you ban Maharba[exclamation mark][asterisk]@[asterisk] preemptively for not replying
01:19:12 <elliott> maybe i'll implement some other language but still call the implementation sylladex
01:19:54 <elliott> meanwhile, the loper blog has now completely degenerated into idiocy
01:20:06 * CakeProphet is devising one of those self modifying thingamajiggers.
01:20:34 <elliott> it used to be interesting if you could get past stanislav's... stanislavosity
01:20:40 <CakeProphet> consisting of the self-modifying language and a sister ESOTERIC REGULAR EXPRESSION LANGUAGE.
01:20:49 <elliott> CakeProphet: latter already exists (cyclexa)
01:22:13 <CakeProphet> the key here is that mine will be awesome.
01:22:35 <elliott> it's actually really interesting
01:22:38 <elliott> ask him about it sometime.
01:22:59 <monqy> only time I heard of loper was in a conversation about laughing at the losethos guy I forget his name
01:23:12 <elliott> monqy: stanislav is like the losethos guy but less insane
01:23:34 <Sgeo> It makes sense that some hypotheticals are unanswerable
01:23:51 <Sgeo> But not things like what if the sun stopped existing, would we still orbit
01:25:08 <monqy> wow I'm trying to read the loper blog
01:26:15 <oerjan> Sgeo: um that's because "the sun stopped existing" is a violation of energy conservation, so it reduces to "if this thing ruled out by the laws of physics happens, what would the laws of physics say about this intuitively related thing"
01:27:33 -!- zzo38 has joined.
01:30:14 <oerjan> to make the sun "disappear" _without_ violating energy conservation and general relativity, you would have to actually _move_ the energy at lower-than-light-speed somewhere, at which point you could try to calculate the results
01:31:10 <pikhq> oerjan: There's another means.
01:31:29 <elliott> oerjan: except that it's more like freeze-framing the universe in a debugger, and removing the sun itself
01:31:29 <pikhq> oerjan: The sun could exhibit an exceptionally improbable instance of quantum teleportation.
01:31:40 <elliott> sure, the laws of physics don't actually allow this, except maybe as pikhq said
01:31:43 <elliott> but we can model it conceptually
01:32:01 <pikhq> (assuming that wave-particle duality holds for such large objects, which is admittedly an open question)
01:32:01 <elliott> just have a special "event" sun-disappears which has those effects on state, in the laws of physics
01:32:10 <elliott> and evaluate it to the point where you can be sure that sun-disappears never interacts with the earth
01:32:26 <elliott> you can "implement" things that don't interact with everything else in the universe, in the laws of physics
01:32:35 <elliott> and as long as you can prove that no such unevaluatable interaction occurs
01:32:41 <elliott> you can say what the effects would be without actually reconciling this paradox
01:33:02 <elliott> which is why we can give a perfectly satisfactory answer to the question "what would happen to our orbit if the sun disappeared instantly?"
01:33:50 <pikhq> And that answer is, of course, "Nothing, until the lack-of-gravity and lack-of-light propogates (about 8 minutes)".
01:33:59 <oerjan> elliott: um i interpret "unanswerable" as there is no answer that can be deduced from anything we can plausibly do
01:34:15 <elliott> oerjan: you mean we can't test it?
01:34:19 <oerjan> of course one could make up hypotheses
01:34:21 <elliott> that's not what's being asked, the question is one of theory
01:34:57 <pikhq> oerjan: We can make very highly plausible hypotheses from our understanding of valid theories.
01:34:59 <elliott> oerjan: the question is actually -- "If the laws of physics had a special-case mechanism which made a special state transition at this particular arbitrary point, then what would happen?"
01:35:19 <elliott> oerjan: now, this is answerable as long as the specific scenario doesn't actually cause some kind of logical contradiction in the theory
01:35:24 <elliott> even if the theory as a whole has "impossible" scenarios
01:35:37 <pikhq> oerjan: Which is the only reasonable way to interpret questions about such hypotheticals.
01:35:45 <elliott> oerjan: i mean /any/ hypothetical question is like this
01:36:34 <Sgeo> I don't see where RRC made such a comment to someone who asked such a question, link?
01:36:36 <pikhq> Doesn't matter if the hypothetical situation itself could, likely, never be tested without an infinite improbability drive.
01:37:08 <elliott> Help me understand (self.askscience)
01:37:08 <elliott> submitted 5 hours ago by Numerous1
01:37:09 <elliott> If humans are NOT supposed to be monogamous, and are supposed to find the best genes, survival of the fittest and all that, why do humans fall in love?
01:37:14 <elliott> totes question for /r/askscience
01:38:03 <elliott> "The other way of quantifying distance is to imagine freezing time at some instant, and then physically measuring the distance between A and B using a series of rulers. Of course, you can't freeze time and physically measure cosmological distances. But you can compute what those instantaneous distances are, using inferences gleaned from astronomical observations and some maths."
01:38:12 <elliott> why robotrollcall, it looks like you're using a hypothetical impossible scenario here
01:39:07 <Sgeo> It's not on http://www.reddit.com/r/askscience/comments/hsrsq/what_would_happen_in_terms_of_gravity_if_you/ as far as I can tell, or her userpage
01:39:07 <Sgeo> Did she delete it?
01:39:17 <elliott> its linked from that thread
01:39:19 <oerjan> didn't einstein explain this measuring distance stuff pretty thoroughly
01:39:37 <elliott> http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/
01:40:15 <elliott> "Personally, I think the #1 reason to distrust Bitcoin is that both the libertarian nuts and the gold nuts love it." hmm... this person isn't thinking right
01:42:35 <Sgeo> RRC: "Okie doke, so let's say something accelerated the sun very quickly
01:42:35 <Sgeo> No, let's not. Let's consider only things that are actually possible."
01:43:05 <elliott> yeah, that's the objectionable comment IMHO
01:44:20 <Sgeo> http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/c1tvm5c well, this does make sense
01:44:23 <elliott> three days without homestuck update, starting to lose ability to metabolise
01:44:40 <Sgeo> elliott, SJAHJ update recently.
01:44:47 <elliott> Sgeo: the situation is not comparable
01:44:50 <elliott> and i'm aware of the sbahj update
01:52:10 <elliott> http://www.nbcnewyork.com/news/local/123187958.html
02:00:11 <monqy> It's more brazen than anything else by lightyears.
02:00:32 <Sgeo> Is Shumer utterly unaware that Tor is also being used to keep the website anonymous?
02:01:46 <monqy> "It's an online form of money laundering used to disguise the source of money, and to disguise who's both selling and buying the drug" - Schumer on Bitcoins
02:02:26 -!- _foocraft has joined.
02:05:44 -!- foocraft_ has quit (Ping timeout: 250 seconds).
02:08:02 <CakeProphet> I now have some new ideas for my own language. But I'll be focusing more on the ability to define new matching/zero-width operators.
02:11:27 <CakeProphet> so the language I'm brainstorming currently resembles a traditional language designed for pattern matching more than it resembles a regular expression language. I guess that makes it esoteric. :P
02:15:53 <Lymia> CakeProphet, you mean Perl?
02:16:06 <Lymia> #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
02:16:11 <Lymia> Perl in a nutshell.
02:16:53 <CakeProphet> it's still a regular expression language, it's just slightly more verbose.
02:17:08 <CakeProphet> that do things not related to matching patterns in text.
02:17:39 <CakeProphet> essentially they're treated as zero-width assertions.
02:18:11 <oerjan> are you talking about perl or your new language now? >:)
02:19:24 -!- Lymia has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D | #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/).
02:19:38 <CakeProphet> but yes, step one will the regular expression language. step two is the self-modifying language. Because the second one will be able to use pattern matching constructs in the first.
02:19:38 -!- elliott has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:19:57 <elliott> you can bash any lang w/ obfuscated code.
02:19:57 <monqy> perl out of a nutshell
02:20:36 <CakeProphet> you can even bash bash with obfuscated code.
02:21:30 <CakeProphet> and in the above example of obfuscated Perl, you can even obfuscate code with bash and bash that too.
02:22:27 <Sgeo> There is a result of my experiment that is not according to my theory, though
02:22:51 <Sgeo> At low enough gravity, the test object higher up never responded to gravity, but the one nearer the ground did
02:23:26 <Sgeo> I did predict such an effect, but not that low down, and didn't think strength of gravity could affect it
02:23:44 <Sgeo> This is in Second Life, btw
02:24:10 <Sgeo> My current hypothesis for an explanation is that terminal velocity is lower for lower gravity
02:24:26 <Lymia> elliott, golfed code vs obfuscated code.
02:24:26 <CakeProphet> oh. lol. well, in actual physics, the strength of gravity most certainly determines the effective radius of the field (even though it's theoretically infinite iirc).
02:25:19 <CakeProphet> and by "strength of gravity" I actually mean the mass of the object.
02:25:22 <Lymia> Sgeo, just break out the disassembles.
02:25:43 <elliott> that doesn't help for serverside
02:27:06 <CakeProphet> Sgeo: try adjusting the gravity and see if the inverse square law applies. If it does you should be able to calculate some kind of cutoff distance for a given mass to not be affected by the gravity.
02:27:33 <Sgeo> cutoff distance?
02:28:10 <Sgeo> Hmm, test if gravity is as strong in the air as near the surface?
02:28:30 <Lymia> What is big G on Second Life?
02:28:46 <CakeProphet> yes, basically. and test if it's inversely proportional to the square of the distance, specifically.
02:29:40 -!- _foocraft has quit (Ping timeout: 240 seconds).
02:29:48 <oerjan> um note in ordinary gravity it's distance to the earth's _center_, not the surface
02:29:52 <Sgeo> I doubt it, but I'll try it
02:30:09 -!- Kustas has joined.
02:30:17 <CakeProphet> Sgeo: yeah I'm probably expecting too much from Second Life there. :P
02:30:35 <Sgeo> I think it's easier to test terminal velocity first, though
02:30:52 <CakeProphet> but it would explain why objects off the ground wouldn't be affected by a low gravity.
02:31:03 <elliott> i should do that in elliottcraft
02:31:19 <elliott> infinite threedee plane OBVIOUSLY HAS A CENTRE
02:31:23 <Sgeo> CakeProphet, I have a diferent explanation
02:31:58 <CakeProphet> elliott: is that going to be like a crazy physics playground?
02:32:16 <Sgeo> If terminal velocity is not enough to pull the object down 1 representable float within 1 frame, then gravity can't do anything
02:32:19 <CakeProphet> something that like updated Garry's Mod would be awesome.
02:32:58 <Sgeo> Then again, the oberved approximate cutoff suggests, under my model, that in low gravity, terminal velocity is reached in about a second, so that seems a bit... um, weird
02:33:03 <CakeProphet> but does it explain why the elevation matters?
02:33:07 <elliott> CakeProphet: minecraft done right. by which i mean: completely differently/
02:33:09 <Sgeo> But I should just measure it already
02:33:18 <elliott> more similar to dwarf fortress, even.
02:33:25 <CakeProphet> elliott: it should be an awesome physics playground..
02:33:25 <Sgeo> CakeProphet, yes. Higher elevation == representable floats are more distant
02:34:26 <CakeProphet> or more similar in that it's more complex.
02:35:53 <CakeProphet> elliott: Make it first-person style with AWESOME PHYSICS GUNS that can do things like shoot a projectile through the air and remote detonate it to produce a sustained gravity field at the center of the blast point.
02:36:10 <Sgeo> I like to call representable floats of altitude "cosmic shells"
02:36:38 <CakeProphet> elliott: and a gun that dilates time in a region of space.
02:37:38 <CakeProphet> I think time dilation would be an excellent element to a puzzle game. Along with a gravity field generating thing.
02:37:41 <Sgeo> It's theoretically possible that the gravitational delay I observed is a measuring artifact, I guess.
02:37:52 <Sgeo> But the fact that gravity stopped at higher altitudes is not an artifact.
02:37:58 <Sgeo> (for low enough gravity)
02:38:13 <elliott> asteroids ii is a shooter though. but the engine could be reused. :p
02:38:18 <CakeProphet> Sgeo: perhaps you've discovered a theory of special Second Life relativity.
02:39:10 <CakeProphet> that has nothing to do with the real one..
02:39:28 <monqy> are you suggesting second life isn't real
02:42:56 -!- _foocraft has joined.
02:47:06 <oerjan> beware of the crafty foos
03:14:20 -!- pikhq_ has joined.
03:14:48 -!- pikhq has quit (Ping timeout: 260 seconds).
03:14:54 <CakeProphet> odd, for some reason my mouse just decides to not work for several seconds at a time.
03:23:29 <Kustas> if it does not affect the keyboard the same way, then it's something esoteric
03:31:24 <elliott> CakeProphet: after typing?
03:38:59 -!- Sgeo_ has joined.
03:39:11 -!- Sgeo has quit (Ping timeout: 255 seconds).
03:51:30 <CakeProphet> elliott: sometimes. But that's a different problem related to me accidentally brushing the touchpad, which somehow interferes with the mouse I believe.
03:53:33 <elliott> CakeProphet: system -> preferences -> mouse -> touchpad, disable "disable touchpad while typing"
03:53:42 <elliott> that might help. very annoying behaviour.
03:57:06 -!- Sgeo has joined.
03:59:19 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
03:59:58 <elliott> still no homestuck update. world as we know it starting to decompose. suicide imminent.
04:00:58 <elliott> "I certainly sat in lots of Scheme design meetings where I pushed for obvious things like branch cuts, error handling, and other "useful" things and was told that such things would ... make the language "too useful" [thus meaning too many people would flock to it and it would be the end of the designers' ability to do the things to the language that _they_ wanted to do]."
04:01:31 <pikhq_> Ah, yes, avoid success at all costs.
04:02:05 -!- olsner_ has joined.
04:02:11 <elliott> To be fair, in Haskell that's achieved by trying to pack in as much abstraction as possible, rather than omitting useful things. :p
04:02:44 <elliott> It's definitely a sentiment I can get behind, though; god knows how many ideas are ruined because the thinker starts considering other people.
04:03:31 <elliott> http://christian-success-institute.org/ DEVELOPING SUCCESSFUL CHRISTIAN ENTREPRENEURS THROUGH BIBLICAL SUCCESS PRINCIPLES
04:04:02 * elliott checks if Eigenclass has updated lately.
04:05:18 -!- olsner has quit (Ping timeout: 252 seconds).
04:12:30 <elliott> how much does everything suck
04:14:07 -!- Lymia_ has joined.
04:14:07 -!- Sgeo has quit (Ping timeout: 276 seconds).
04:14:40 -!- Lymia has quit (Disconnected by services).
04:14:42 -!- Lymia_ has changed nick to Lymia.
04:14:44 -!- Lymia has quit (Changing host).
04:14:44 -!- Lymia has joined.
04:16:46 <oerjan> current suckage level: 62.8%
04:17:36 <elliott> also, that's far too low a value
04:18:06 <elliott> Sturgeon's law would imply that only an infinitesimal percentage of things do not suck
04:18:28 <CakeProphet> Woah, I'm like... writing a language spec.
04:18:37 <Lymia> CakeProphet, you are?
04:18:46 <CakeProphet> yes, I'm working on a regular expression language.
04:18:56 <elliott> I usually just write troll languages nowadays.
04:19:01 <elliott> http://esolangs.org/wiki/Befunge/index.php
04:19:01 <elliott> http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
04:19:33 <elliott> (both named after talk pages spambots repeatedly created; I made the article versions so that the admins couldn't legitimately keep the talk pages protected to prevent vandalism :D)
04:21:12 <pikhq_> Well, that was astounding.
04:21:26 <pikhq_> Somehow, Firefox was causing swap thrashing without having any pages in swap.
04:21:54 <pikhq_> I do believe that's a whole new level of fail.
04:23:57 <CakeProphet> I have no idea why my computer decided to allocate 244 KBs of swap when it's only used 1.6 gigs of memory out of 3.7
04:24:09 <pikhq_> It had 0 swap. And thrashing.
04:24:20 <pikhq_> *And it was fucking swap thrashing*.
04:24:32 <pikhq_> At least, that's what iotop showing kswapd using a bunch of IO tells me.
04:24:53 * CakeProphet uses Chrome, has no problems other than Flash crashing occasionally.
04:25:18 <elliott> Chrome actually uses more virtual memory than Firefox, although I think less real memory
04:25:24 <elliott> Since all the code can be shared, pretty much
04:25:29 <elliott> Of course, virtual memory is irrelevant on sixtyfour-bit
04:25:51 <elliott> The thing with Chrome for me is that it scales much better with large numbers of tabs whereas Firefox doesn't.
04:26:41 <CakeProphet> elliott: also see: frequent crashing in Firefox
04:27:17 <elliott> A program written in an unsafe language crashing? I'm shocked.
04:27:26 <elliott> Chrome crashes semi-often too, but it's at least usually localised to a tab or a few.
04:44:46 -!- CakeProphet has quit (Ping timeout: 250 seconds).
04:44:55 -!- CakeProphet has joined.
04:44:56 -!- CakeProphet has quit (Changing host).
04:44:56 -!- CakeProphet has joined.
04:45:12 -!- CakeProphet has changed nick to Kallisti.
04:45:22 <pikhq_> Yeah, virtual memory is basically a non-issue. Heck, mmap the entire address space and it doesn't even matter.
04:45:54 <pikhq_> (well, except that your page table might hate you if you don't madvise to tell Linux to use huge pages)
04:46:21 -!- Kallisti has changed nick to CakeProphet.
04:51:36 -!- oerjan has quit (Quit: Good night).
04:54:19 -!- CakeProphet has quit (Ping timeout: 240 seconds).
04:54:25 -!- elliott has quit (Ping timeout: 276 seconds).
04:57:32 -!- CakeProphet has joined.
04:57:32 -!- CakeProphet has quit (Changing host).
04:57:32 -!- CakeProphet has joined.
04:58:36 -!- Sgeo has joined.
05:21:59 -!- Patashu has joined.
05:31:22 <pikhq_> And now, the comic is technically no longer Dresden Codak's full-time job.
05:31:32 <pikhq_> Let's see if this changes anything at all with the update schedule.
05:36:38 <pikhq_> CakeProphet: Previous observations seem to suggest this will be utterly unnoticable.
05:37:12 -!- augur has quit (Remote host closed the connection).
05:42:23 -!- Kustas has quit (Quit: disco out of the blues).
05:46:27 <oklopol> "<elliott> has rodgerthegreat ever actually said anything that's true? i'm honestly curious" <<< i cannot quite recall such a miracle
05:46:43 <oklopol> then again i recall very few concrete things he has said and many of them you just pasted
05:49:10 -!- pikhq has joined.
05:49:20 -!- pikhq_ has quit (Ping timeout: 240 seconds).
05:49:38 <oklopol> "<elliott> 05:31:04: <RodgerTheGreat> Many diseases, conditions and other types of deviations work like this." <<< also what he says about homosexuality sounds correct enough in the sense that the correct modern explanation to everything is "it's complicated"
05:50:40 <oklopol> but i guess you were more worried about his calling gays diseased, so to speak.
05:51:53 <pikhq> It amuses me somewhat that, for a while, I could have probably been called a Christian deist...
05:52:06 <pikhq> Which is such a contradiction in terms I can't help but giggle.
05:52:38 <oklopol> why is it a contradiction?
05:53:09 <pikhq> oklopol: Typically, Christianity holds that there is a large amount of divine intervention in the world.
05:53:16 <pikhq> Deism holds that there is none.
05:54:43 <pikhq> Yeah, deism is the belief that there was a deity who created the world and has since not intervened.
05:55:11 <oklopol> well you know i get this nice feeling in my balls if i think the big bang had a beard and liked marshmellows.
05:55:32 <pikhq> It's perhaps the only theistic claim that doesn't directly contradict known empirical evidence.
05:55:55 <pikhq> Though, having no basis *in* empirical evidence, it is most likely bullshit.
05:56:31 <oklopol> well it makes it rather meaningless and thus the adult thing is not to talk about it
05:56:33 <coppro> let's go weak atheism!
05:56:40 <CakeProphet> Buddhism has some theistic claims that are supported by empirical evidence. Particularly the positive effects of meditation on the brain.
05:56:48 <pikhq> CakeProphet: That's not a theistic claim.
05:56:53 <CakeProphet> that might stretch the definition--yes, that.
05:56:55 <pikhq> CakeProphet: A theistic claim is a claim that there is a deity.
05:57:18 <oklopol> yeah because prayer certainly never has effects on the brain
05:57:29 <CakeProphet> I interpreted theistic as meaning "something that concerns religious practice", but that's not quite right.
05:57:34 <pikhq> The common subset of the beliefs termed "Buddhism" does not contain a theistic claim.
05:57:36 <coppro> meditation is different from prayer
05:57:55 <pikhq> Supernatural claims, sure, but not theistic ones.
05:57:55 <CakeProphet> pikhq: Is Therevada the most common subset?
05:58:16 <pikhq> Not "the most common subset". "The common subset".
05:58:39 <pikhq> As in, the set of beliefs that is common to all beliefs which are called "Buddhism".
05:59:12 <pikhq> Though, actually, I'm pretty sure Therevada is fairly close to that.
05:59:22 <oklopol> coppro: i'm not saying they're the same thing, i'm saying i doubt meditation is better
05:59:53 <pikhq> You've got to be pretty damned careful when discussing Buddhism, though. It makes Christianity look homogenous. :P
06:01:03 <pikhq> coppro: Whoo, weak atheism!
06:01:20 <pikhq> oklopol: The belief that there is *probably* no deity.
06:01:28 <CakeProphet> Therevada is at least the most traditional. The common subset would be parts of the Pali Canon I think.
06:01:55 <pikhq> And that, even if there is, there is no reason to think *that* there is currently.
06:02:14 <pikhq> As opposed to strong atheism, the belief that there absolutely, positively, IS NOT a deity.
06:02:36 <coppro> and has as much logical foundation as any theistic claim
06:02:49 <pikhq> Strong atheism is not a very common position.
06:03:19 <pikhq> Though it is a commonly held position of strawmen.
06:03:36 <CakeProphet> From now on, all atheists will be assigned fuzzy atheism values determining their strength of belief in a lack of a deity.
06:04:05 -!- _foocraft has quit (Ping timeout: 255 seconds).
06:04:36 -!- augur has joined.
06:04:38 <pikhq> There's also the belief that atheists... Hate $DEITY (typically YHWH).
06:04:42 <pikhq> That one confuses me greatly.
06:04:54 <CakeProphet> I can't hate something that I don't believe in.
06:05:01 <coppro> pikhq: that one's not special to atheists
06:05:32 <CakeProphet> pikhq: though it's possible to hate that other people believe such a thing. Or to hate the concept itself. So that's not out of the question, and would be very similar to hating the deity itself for someone who believes these things.
06:05:36 <coppro> Any person not of $RELIGION hates $DEITIES[$RELIGION]
06:06:08 <pikhq> CakeProphet: Distinct from hating the deity personally, though.
06:06:26 <coppro> I CLEARLY DESPISe EVERY DEITY EVER
06:06:26 <CakeProphet> * @{$DEITIES{$RELIGION}} if this is Perl.. of course. :D
06:06:32 <coppro> BANJO CAN SUCK MY COCK
06:06:47 <oklopol> there should be a term for people who love to talk about this stuff, that's really all that matters. maybe theist should mean that.
06:07:02 <oklopol> i'd be the only atheist in town
06:07:21 <oklopol> then again i love telling people how annoying these talks are when they occur, so i guess i'm just as bad
06:07:41 <CakeProphet> I enjoy my stance of agnosticism, primarily because I don't have to explain much.
06:07:53 <pikhq> CakeProphet: Do you believe that there is a deity?
06:08:10 <CakeProphet> pikhq: I believe that I can't know the answer to that question.
06:08:22 <coppro> What's your best guess?
06:08:39 <pikhq> CakeProphet: I'm not asking "Do you think there is a deity, or do you think there is not a deity?"
06:08:45 -!- oklopol has quit.
06:08:53 <pikhq> CakeProphet: I'm asking "Do you think 'There is a deity' is definitely a true statement?"
06:09:20 <CakeProphet> pikhq: I know exactly what you asked. :P There are multiple questions I can't know the answer to.
06:09:28 <Patashu> Applying aristolean binary on/off logic to deities and religion is a GREAT idea guys!!!
06:09:39 <Patashu> Let's argue about undecidable questions
06:09:53 <pikhq> Patashu: Fuck you and your lack of reading comprehension.
06:10:22 <CakeProphet> I prefer to apply nine-valued vdhl logic to logical statements about deities.
06:10:44 <CakeProphet> I believe that the truth of "There is a deity" is U (uninitialized)
06:10:49 <Patashu> http://www.abelard.org/category/category.php
06:10:52 <Patashu> this guy will free ur mind
06:10:57 <pikhq> CakeProphet: Then you're an atheist. Congrats.
06:11:15 <pikhq> CakeProphet: BTW, 9-valued VHDL logic is definitely a good choice for this. :P
06:11:25 <CakeProphet> pikhq: well, sure. Atheism and agnosticism aren't mutually exclusive believes.
06:11:28 <Patashu> what's VHDL logic again? high, low, don't know, don't care, error...
06:11:32 <pikhq> CakeProphet: Quite true.
06:12:35 <CakeProphet> Patashu: I believe there are two for "true" and "false" with no high and low impedence quality.
06:13:11 <pikhq> Patashu: I'm going to insist on a proof that this person has attended an "Intro to Logic" course.
06:13:32 <CakeProphet> Patashu: http://en.wikipedia.org/wiki/IEEE_1164
06:14:07 <pikhq> CakeProphet: Well, yes. Any course with a satisfactory treatment of deductive logic would work, really.
06:15:12 <CakeProphet> there's 6 for (weak|strong) (true|false|unknown), then high impedence, don't care, uninitialized
06:15:20 -!- Vorpal has joined.
06:15:45 <pikhq> Patashu: Also, this discussion seems to start off with wrong *premises*.
06:15:50 <CakeProphet> the true, false, unknown bit is also a ternary logic system in itself.
06:16:02 <CakeProphet> and then the strong weak stuff comes from four-valued logic used in circuits.
06:16:04 <Patashu> yeah, though not a useful one I think?
06:16:09 <CakeProphet> things that, I don't know anything about. (circuits, that is)
06:16:26 <pikhq> Patashu: Categorical logic is not commonly used these days, due to being a relatively weak system of logic.
06:16:43 <Patashu> but if one of the values is 'unknown'...unless that's a specific value, not the value is unknown?
06:16:59 <CakeProphet> in programming languages, it's not common to have a real ternary logic system though. Most languages simply treat the undefined value as false.
06:17:17 <CakeProphet> representing the case where the truth is unknown.
06:17:39 <pikhq> It's truth-functional propositional logic that's commonly used, and the discussion you linked to doesn't even make any claims against it.
06:17:41 <CakeProphet> (true or unknown) = true; (false or unknown) = false
06:17:50 <pikhq> (though, the claims it *does* make are non-sense)
06:17:57 <pikhq> s/non-sense/nonsense/
06:21:12 <CakeProphet> I'm not sure how conditional statements work, or anything like that. I assume you just construct everything with (and|or) and not
06:21:15 <Patashu> true and 0.6*true = 0.6*true
06:21:30 <CakeProphet> fuzzy logic doesn't really work that way, I think.
06:21:55 <Patashu> well, if it has a 60% chance of being true and a thing that is always true, the and is 60% too
06:22:57 <Patashu> x AND y = minimum(truth(x), truth(y))
06:23:17 <Patashu> although that's just one way of defining it
06:25:01 <CakeProphet> you could also define it as with probability. With and as multiplication, and or as addition with a maximum value of 1.
06:25:39 -!- jcp has quit (Ping timeout: 244 seconds).
06:26:52 <CakeProphet> honestly the boolean operators should be typeclass methods.
06:27:55 <Patashu> http://www.captchart.com/post/2546187692/corgling-good-submitted-by-stammsternenstaub I want one
06:28:26 <Patashu> is there an Unknown in haskell?
06:28:55 <CakeProphet> or a number of things. But it doesn't fit into the ternary logic model.
06:28:55 <pikhq> One could define a Trivalue type just fine.
06:29:27 <CakeProphet> though you'd have to give true and false a different name
06:29:33 <pikhq> data Trivalue = Unknown | True | False -- Note: will need a qualified import
06:29:43 <pikhq> CakeProphet: Or do a qualified import of Prelude.
06:30:16 <CakeProphet> undefined is something quite different from unknown in this sense.
06:30:28 <pikhq> Yeah, bottom is very different.
06:30:45 <monqy> I wasn't paying attention so I didn't know what you were talking about
06:30:52 <pikhq> monqy: Trivalue logic.
06:31:08 <CakeProphet> Perl employs a kind of three-valued logic between true, false, and undefined
06:31:18 <monqy> how does it work there
06:31:19 <Patashu> damnit I have all these tabs open but everyone is talking about things on IRC and they are interesting
06:31:20 -!- jcp has joined.
06:31:58 <CakeProphet> undef is considered false in a boolean context, but many functions will return undef to signify something different than true and false.
06:32:27 <CakeProphet> and then there's defined(x), which returns true for both true and false values, but false for undef.
06:32:39 <Patashu> I think SQL does ternary logic
06:33:47 <Patashu> think so...let me try and find out
06:33:48 <CakeProphet> or is it like most languages where null/nil/undef is a special kind of false value.
06:34:05 <Patashu> according to ye wikipedia: http://en.wikipedia.org/wiki/Three-valued_logic#Applications
06:34:13 <pikhq> You could rather easily do trivalue logic in Java.
06:34:41 <monqy> Note that a missing value is not the same as either a numeric value of zero, or a string value of zero length.
06:34:45 <pikhq> Though you'd have to do the operators manually. I'm at least pretty sure that trying to do an operator on a Null will get you an exception.
06:35:04 <Patashu> in java only objects can be null
06:35:07 <Patashu> and primitives won't work on objects iirc
06:35:14 <pikhq> Oh? Fuck Java even more.
06:35:15 <Patashu> because you can't define operators for things
06:35:30 <Patashu> well except for the capital letter object versions of primitives and strings, of course
06:35:39 <CakeProphet> one of my favorite things about Perl logic is that the boolean operators also serve as control flow statements. and/or return the last parameter evaluated.
06:35:47 <Patashu> iirc the biginteger class has a big ass list of add(biginteger a, big integer b) type methods
06:35:55 <pikhq> I was, of course, referring to the objected version of Bool...
06:36:10 <monqy> I hate it when people use boolean operators as control flow
06:36:18 <pikhq> CakeProphet: That's actually fairly common in imperative languages...
06:36:27 <pikhq> CakeProphet: As typically, the boolean operators short-circuit.
06:36:39 <CakeProphet> monqy: why? it's not very difficult to follow and makes things very convenient.
06:36:41 <Patashu> Boolean has compareTo, equals, booleanValue
06:37:00 <pikhq> CakeProphet: You can, in fact, do it in C, though not as usefully without GNU expression statements.
06:37:03 <Patashu> compareTo throws nullpointerexception
06:37:03 <monqy> CakeProphet: it's not very difficult to follow until it gets difficult to follow
06:37:13 <CakeProphet> pikhq: but in C for example they return bool. Perl literally returns whatever the parameter was. Perl doesn't actually have boolean data types.
06:37:42 <pikhq> CakeProphet: No they don't.
06:37:44 <monqy> lots of languages are like that aren't they
06:37:47 <pikhq> CakeProphet: They return int.
06:38:02 <pikhq> CakeProphet: C doesn't actually have boolean data types.
06:38:11 <monqy> scheme and lua, for two
06:38:16 <pikhq> (well, there's _Bool, but that's just an integer type)
06:38:18 <CakeProphet> pikhq: bool is a kind of synonym for int, yes.
06:38:44 <monqy> haskell is lazily evaluated so you never need that nonsense
06:38:55 <CakeProphet> ...I'm not talking about short-circuiting.
06:39:18 <monqy> haskell is functional so you never need that nonsense
06:39:41 <CakeProphet> I'm saying. you can do things like: function($x || 4) and it will return 4 if $x is false.
06:40:28 <CakeProphet> monqy: that was more directed to above statements that I didn't have time to respond to.
06:40:52 <pikhq> Aaaah, bad type systems.
06:41:11 <monqy> I must say I do like a good type system
06:41:14 <Vorpal> CakeProphet, that example sounds perlish
06:41:44 <pikhq> CakeProphet: You see, bad!
06:41:50 <CakeProphet> $x //= 3 will give $x a value of 3 if it's currently holding undef (which it does by default)
06:41:56 <Vorpal> CakeProphet, what does it do in perl?
06:42:03 <pikhq> And it definitely has an extensive type system. Those damned sigels would have no meaning otherwise.
06:42:11 <Vorpal> the $x || 4 one I mean
06:42:35 <Vorpal> same sort of thing as || does in shell?
06:42:44 <monqy> anyway in haskell you'd probably use the maybe monad for that sort of thing
06:42:46 <CakeProphet> Vorpal: function is just a dummy name. || returns the last value evaluated by short-circuiting or.
06:43:19 <Vorpal> CakeProphet, it would just equal 1 in C. I have to say that is somewhat saner
06:43:27 <monqy> at least I think you'd use <|> and Maybe
06:43:35 <Vorpal> that sort of construct that is
06:44:01 <Patashu> which language has more operators. haskell or perl?
06:44:04 <CakeProphet> Vorpal: it's the exact same effect, except you can now pass the original value to outer expressions.
06:44:22 <monqy> haskell operators are just functions
06:44:25 <Vorpal> Patashu, I would assume haskell, though maybe not if you limit yourself to prelude
06:44:33 <CakeProphet> Vorpal: because if $x || 0 returns 0, that is false in boolean context. $x || 4 would return 4, which is true.
06:44:45 <Vorpal> Patashu, and only count those that you don't need ` for
06:45:03 <Patashu> yeah when I say operator I mean 'funny symbol string'
06:45:26 <pikhq> Patashu: Then Haskell.
06:45:35 <monqy> > let (~~!~~) = (++) in "look " ~~!~~ "operator"
06:45:37 <pikhq> Patashu: Because there are infinitely many possible such things.
06:45:48 <Vorpal> does perl let you define your own operators?
06:45:49 <monqy> I used a bad thing
06:46:02 <Vorpal> ah, definitely haskell then
06:46:04 <monqy> > let (.+.) = (++) in "look " .+. "operator"
06:46:04 <CakeProphet> you can however overload existing operators OO-style.
06:46:10 <Patashu> there's a library for perl that lets you define new operators
06:46:13 <Patashu> by chaining unambiguous ones together
06:46:48 <Patashu> and there's a template system for C++ that lets you define constants by drawing cubes
06:46:58 <Patashu> because it's an unambigous series of operators once all the whitespace is removed
06:47:03 <Patashu> let's see if I can find it again
06:47:03 <Vorpal> Patashu, care to link me?
06:47:19 <CakeProphet> but anyways, Perl's boolean operators are awesome because I don't have to pull out if statements to do something very very simple, like return a default value in the case that something is false/undefined.
06:47:23 <Patashu> http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha!
06:47:40 <pikhq> Vorpal: It used a similar trick to that IOCCC entry that computed pi by examining its own area.
06:48:05 <Vorpal> pikhq, that one depended on K&R CPP iirc?
06:48:20 <pikhq> Vorpal: I don't think it was anything inherent.
06:48:30 <pikhq> CakeProphet: Perhaps you should use a better language.
06:49:30 <monqy> CakeProphet: what languages do you know, anyway
06:50:51 <Vorpal> <Patashu> http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha! <-- ew
06:50:53 <CakeProphet> Perl, Python, C, Java, C#, Haskell (though it escapes me very quickly), sh. Those are the ones I'm pretty comfortable with.
06:51:13 <monqy> so you're comfortable with haskell but it escapes you?
06:51:24 <Vorpal> haskell is definitely complex to learn. I know some of it. But there is so much of it.
06:52:07 <CakeProphet> I now Haskell. Syntax and semantics. All of the abstract modules that most Haskell programs rely on? No.
06:52:31 <pikhq> CakeProphet: I find the abstractions to be utterly simple, personally.
06:52:50 <pikhq> Of course, I'm a freak who picked up Haskell in a week.
06:53:28 <Vorpal> pikhq, haskell has a vast standard library. I only know a fraction of it yet.
06:53:41 <pikhq> Vorpal: Prelude really isn't that large.
06:53:52 <pikhq> Some of the other stuff that comes in GHC is, though.
06:54:13 <Vorpal> pikhq, I meant stuff like Control.Whatever and so on
06:54:29 <coppro> Control.CategoryTheoreticalAbstractionNumberFourteen
06:54:35 <pikhq> Yeaaah, that's not standard stuff.
06:54:43 <Vorpal> pikhq, well, it is used quite a bit
06:54:44 <pikhq> Some of it ships in the Platform, though.
06:54:51 <Vorpal> pikhq, if we keep to prelude I'm quite okay
06:54:54 <CakeProphet> Languages I don't know as well (I'll be constantly referring to reference material, but I know the language itself): C++, PHP, Javascript, Scheme
06:54:56 <pikhq> That "some" is relatively easy, though.
06:54:56 <Patashu> I know C++ and java and I can pretend to know haskell, bash and python
06:55:00 <Patashu> I need to learn more languages
06:55:17 <monqy> I try not to know php
06:55:19 <coppro> (The misuse of Theoretical instead of Theoretic was a design mistake that was standardized early and no one has since bothered attempting to correct in order to maintain backwards compatibility)
06:55:22 <pikhq> CakeProphet: Pretty much all C++ programmers will need to keep a reference manual handy.
06:55:29 <pikhq> CakeProphet: C++ is just too big to keep in your head.
06:55:42 <Patashu> couldn't you do some kind of aliasing thing to let you use either?
06:56:43 <coppro> Patashu: it's a highly contentious issue
06:56:50 <Vorpal> I know C very well. Bash I know intimately. Haskell I know some of. And then there is a crapload of other languages which I knew but haven't used much or know some of and so on, including everything from pascal and vhdl to python and scheme.
06:57:49 <CakeProphet> monqy: the main trying to not know PHP is a good idea is because it's a very poorly designed subset of Perl with a standard library that makes absolutely no sense.
06:57:56 <monqy> python is easy to pretend to know
06:58:19 <CakeProphet> Python was the first language I completely mastered.
06:58:31 <pikhq> There's a lot of languages where you can hum a bar and I can fake it.
06:58:35 <monqy> CakeProphet: I am the sort of awful person who dislikes it when people like php
06:58:42 <Vorpal> monqy, I actually coded in it though (python that is)
06:58:50 <Vorpal> mostly university stuff
06:58:54 <monqy> python is easy to code in
06:59:11 <Vorpal> oh erlang, I know that fairly well. Better than haskell definitely.
06:59:14 <CakeProphet> I used to think Python was a good language. I have since learned better.
06:59:33 <monqy> I can pretend to know erlang but I don't know any of the standart guard/function/whatever names
06:59:35 <Vorpal> CakeProphet, I'm mostly annoyed at python's abysmal speed.
06:59:41 <Vorpal> even pypy is utterly slow
06:59:57 <monqy> I don't judge languages based on implementation speed
07:00:06 <monqy> I don't see what's so special about python though
07:00:07 <Patashu> what kind of person thinks -python- is a bad language
07:00:11 <Vorpal> monqy, true, but I have yet to see a fast python implementation
07:00:38 <CakeProphet> monqy: someone who exects more and doesn't enjoy being treated like a child from the perspective of the language designer.
07:00:54 <pikhq> Patashu: If nothing else, there's the bit about van Rossum being convinced that TCO is a misfeature.
07:00:55 <Vorpal> Patashu, come on, dynamically typed, and not pattern matching. At least erlang has the latter.
07:01:24 <monqy> all languages suck
07:01:32 <Vorpal> Patashu, that depends on what you plan to use it for
07:01:32 <pikhq> Haskell has the lowest level of suck.
07:01:42 <Patashu> I think I'll learn python next anyway, can't be worse than java
07:01:46 <Vorpal> pikhq, haskell would not be very good for programming FPGAs in
07:01:52 <CakeProphet> Patashu: you should learn Perl because it is the best thing ever.
07:01:58 <pikhq> Vorpal: I was giving a statement about the general case.
07:02:00 <CakeProphet> Patashu: and Python is much better than Java.
07:02:11 <Vorpal> pikhq, I'm saying it is domain dependent which is the best language
07:02:12 <Patashu> I know python has a module for making GUIs/graphics stuff in it somewhere
07:02:22 <pikhq> Vorpal: Most languages do.
07:02:23 <Patashu> imagining using opengl from within haskell gives me a shiver
07:02:24 <monqy> haskell is good until I get really annoyed with what it lacks and how it's a pain to metaprogram
07:02:25 <Vorpal> there are some things where sed is excellent.
07:02:34 <Vorpal> doesn't make sed a good language for most tasks
07:02:52 <monqy> also I have a gripe about infix operators but that is just me
07:02:59 <Vorpal> Patashu, yes, I think the existing opengl bindings for haskell are pretty much a direct mapping
07:03:00 <pikhq> Patashu: The only issue with the OpenGL binding in Haskell, for instance, is that it's all in IO, and hence not that Haskelly.
07:03:12 <Patashu> opengl is a global variable state machine
07:03:19 <CakeProphet> Python is actually pretty good at metaprogramming. But, so is any decently made dynamically typed and interpreted language
07:03:50 <pikhq> The only languages that are "pretty good" at metaprogramming are Lisps.
07:04:40 <CakeProphet> easy to metaprogram, yes. I was talking about pure capability.
07:04:58 <monqy> pure capability: do it by hand
07:06:53 <monqy> as I see it, at a certain point, languages are all about making things nice (in a general enough sense to encompass safety and friends)
07:07:40 <CakeProphet> Even more generally, languages are all about making things good.
07:08:05 <monqy> I'll equate nice and good here so we can agree
07:08:49 <Vorpal> languages are about communication, be it between humans, between a human and a compiler, between two programs or whatever.
07:09:13 <monqy> but is it nicegood communication
07:09:29 <Vorpal> monqy, but why does English exist then? ;P
07:09:46 <Vorpal> okay, French is harder to learn, definitely.
07:10:04 <Vorpal> I said harder to learn, that means worse
07:10:23 <monqy> I meant in terms of elegance, power, lack of ambiguity, and friends
07:10:27 <pikhq> "Harder to learn" is not an objective statement regarding languages.
07:10:31 <Vorpal> of course, all natural languages suck apart from lojban possiblyu
07:10:40 <pikhq> Lojban is not a natural language.
07:10:41 <monqy> lojban is very natural
07:11:23 <Vorpal> pikhq, what is a generic term for languages used to communicate between humans then?
07:11:36 <monqy> not necessarily verbal
07:11:57 <Patashu> do you need a more generic term?
07:12:06 <Vorpal> I guess "human languages" work
07:12:23 <Vorpal> though it *does* exclude aliens.
07:12:24 <fizzie> "Natural languages" is a term but only if you exclude constructed ones.
07:12:40 <Vorpal> fizzie, constructed ones should be included. That was the point.
07:12:46 <pikhq> There's not a commonly used generic term.
07:12:48 <fizzie> Didn't bother to read backscroll, and it shows, yes.
07:13:05 <Vorpal> fizzie, speaking of which. Hi.
07:13:05 <pikhq> "Spoken language" doesn't include sign languages, "natural language" doesn't include conlangs, ...
07:13:17 <pikhq> "Human language" probably includes programming languages.
07:13:22 <Patashu> afaik language only referred to how humans communicated until programming came along
07:13:30 <monqy> I meant human languages as in meant for human communication
07:13:34 <Vorpal> hm I should learn to *speak* Lisp.
07:13:42 <monqy> programming language would be meant primarily for communication with machines
07:13:42 <Vorpal> just to fuck up the term "spoken languages"
07:13:47 <Patashu> so you'd verbalize a program that outputs the result you want to communicate?
07:13:53 <pikhq> Patashu: And then came Chomsky.
07:13:54 <Patashu> Open bracket open bracket...
07:14:02 <Vorpal> Patashu, no that is it rendered in English
07:14:15 <Patashu> Or would you come up with a syllable for each symbol
07:14:30 <Vorpal> you need to speak the *actual* language. Presumably somehow speaking the AST.
07:14:37 -!- sebbu has quit (Ping timeout: 276 seconds).
07:14:51 <monqy> well then you can't use sugar can you :(
07:15:10 <Patashu> if you want to learn to speak a programming language, learn to speak golf script
07:15:16 <Patashu> it'll take you the least amount of time
07:15:26 <monqy> speaking perl would be pretty great
07:15:48 <Vorpal> monqy, oh god, I wonder what a typical JAPH would sound like XD
07:16:33 <monqy> how would a human interpret something like erlang
07:16:38 <coppro> http://spikedmath.com/272.html
07:16:59 <monqy> assuming actual use of concurrency and friends
07:17:38 <monqy> generally, interpretation of any sort of complicated control/flow would be interesting
07:18:02 <pikhq> monqy: There is no requirement that concurrency be implemented by many *actual* simultaneous threads of execution.
07:18:10 <Vorpal> monqy, using Petri nets you could understand them I guess.
07:18:11 <pikhq> It's sufficient to merely keep track of multiple program counters.
07:18:16 <Vorpal> but that is not what you asked
07:18:52 <Vorpal> pikhq, and registers. erlang compiles to a register machine byte code iirc.
07:19:26 <pikhq> Ah, right, it does.
07:19:30 <monqy> pikhq: right, but for a human to keep track of it at all (in common conversation) would be nice
07:19:38 <monqy> where by nice I mean hilarious
07:20:26 <monqy> where by hilarious I mean interesting
07:21:17 <Vorpal> monqy, where by interesting you mean nice?
07:23:32 <monqy> a language with really crazy flow and necessitation of a lot of memory
07:23:53 <monqy> designed to be difficult for human communication
07:24:21 <Sgeo> I need to find a way to ethically measure terminal velocity
07:25:12 <CakeProphet> you're still talking about second life right?
07:25:33 <Sgeo> I'm dropping stuff off of high heights
07:25:40 <Sgeo> I set it up so that they're "temporary"
07:25:45 <Sgeo> After some time, they die
07:25:46 <monqy> alternatively, an extremely straightforward language where nearly all remembering is done as part of learning it
07:25:48 <Sgeo> But they're dying too soon
07:25:51 <monqy> designed to be easy for humans to use
07:25:59 <Sgeo> They're dying too soon
07:26:08 <CakeProphet> Sgeo: why not make them something other than temporary?
07:26:09 <Vorpal> monqy, which language is that
07:26:11 <Sgeo> Disabling the temporary might mean accidentally leaving litter all over the place
07:26:25 <Sgeo> CakeProphet, I'll probably set them up to respond to a simwide command to die
07:26:31 <monqy> Vorpal: purely hypothetical, as far as I know :(
07:26:49 <Vorpal> monqy, ah. <monqy> a language with really crazy flow and necessitation of a lot of memory <-- that one likely does exist though
07:26:50 <CakeProphet> Sgeo: is it you that enjoys MUDs/text-based-games?
07:27:07 <Sgeo> SL isn't text-based
07:27:14 <monqy> sgeo is the virtual worlds guy
07:27:18 <monqy> he enjoys virtual worlds
07:27:20 <Vorpal> monqy, I would suggest something based on malbolge
07:27:39 <CakeProphet> since they are very much like virtual worlds.
07:27:39 <Sgeo> CakeProphet, MUSHes, a little
07:27:47 <Vorpal> Sgeo, what about table top rpgs?
07:27:54 <CakeProphet> Sgeo: well, right, I use MUD as a general term for all of those things.
07:27:54 <Sgeo> Vorpal, I do like Paranoia
07:28:16 <Vorpal> Sgeo, what about the classical ADnD?
07:28:21 <CakeProphet> the problem with MUSH is it has awful syntax. MOO is a little better.
07:28:51 <monqy> does malbolge have crazy control flow
07:29:00 <Vorpal> monqy, very. Check the esolang wiki
07:29:19 <Sgeo> CakeProphet, I like MOO coding, at least from what I understand of it, but LambdaMOO may as well be dead, there's no one there
07:29:25 <CakeProphet> Vorpal: no need to escape things in the replacement string of a substition. ;)
07:29:33 <Lymia> I should host that.
07:29:41 <Vorpal> CakeProphet, you fail at sed
07:29:48 <Vorpal> CakeProphet, & means "the match"
07:30:01 <Vorpal> CakeProphet, so *yes* I need to escape it
07:30:17 <Vorpal> CakeProphet, that is what s/n/&/ would do yes
07:30:25 <Vorpal> CakeProphet, which is quite pointless
07:30:58 <CakeProphet> yes, I do fail at sed. Because I use Perl instead. oh ho!
07:31:20 <monqy> ooh "Set code pointer to the value pointed to by the current data pointer." always good
07:31:41 <Patashu> variable goto considered harmful
07:32:11 <Vorpal> monqy, malbolge still?
07:32:35 <Vorpal> Patashu, you are talking about malbolge. I would just say "malbolge considered harmful"
07:32:51 <Patashu> is there variable goto in non-malbolge languages?
07:33:20 <Vorpal> Patashu, most assemblers have it
07:34:20 <monqy> ridiculous continuation usage such as to emulate variable goto
07:34:28 <monqy> a favorite pasttime
07:36:49 <Patashu> the fakest thing in the world is freddiew beating stacker: http://www.youtube.com/watch?v=-e_NiwPz-MQ
07:37:20 <Sgeo> My terminal velocity hypothesis is slowly being debunked
07:41:17 <Lymia> Sgeo, so Second Life does inverse square law?
07:41:41 <Sgeo> Lymia, wasn't trying to measure that
07:41:58 <Sgeo> Wasn't taking notes on exact velocities either
07:52:16 -!- zzo38 has quit (Remote host closed the connection).
08:01:42 <CakeProphet> I enjoy this IOCCC entry: http://www0.us.ioccc.org/2000/primenum.c
08:19:32 <Vorpal> CakeProphet, I like the one that is shaped like an aircraft
08:19:57 <Vorpal> that is some absurd timing. Quiet for many minutes, and then we spoke within a second of each othjer
08:20:32 <Vorpal> CakeProphet, calling it a simulator is stretching it
08:21:00 <Vorpal> CakeProphet, I mean, it doesn't even stall. Or behave reasonably in any way
08:21:12 <CakeProphet> well... I don't actually run any of this code I just go by the description.
08:21:20 <CakeProphet> this is by far my favorite one that I've seen so far.
08:22:16 <CakeProphet> it opens a file and mirrors it along a diagonal. Running it on itself produces a program that does the same thing.
08:28:26 -!- Vorpal has quit (Ping timeout: 248 seconds).
08:28:53 <CakeProphet> though I don't believe running it a second time will work.
08:31:55 <CakeProphet> well no, that would be impossible I think. applying the program twice to itself should produce the original. I think I misread.
08:33:12 -!- olsner_ has quit (Quit: Leaving).
08:49:46 <CakeProphet> Oh hey, the author of that program lives in Marietta, GA too
09:01:11 <CakeProphet> heh, there's an entry that is: #include "/dev/tty"
09:16:30 -!- monqy has quit (Quit: hello).
09:16:41 -!- myndzi has quit (Ping timeout: 255 seconds).
09:22:05 -!- myndzi has joined.
09:25:10 -!- pikhq_ has joined.
09:25:13 -!- pikhq has quit (Ping timeout: 260 seconds).
09:28:18 <Lymia> CakeProphet, so...
09:28:21 <Lymia> It's a C compiler?
09:31:56 <Lymia> CakeProphet, link to the /dev/tty thing?
09:31:59 <Lymia> Also, the rule added to stop it.
09:32:48 -!- GreaseMonkey has quit (Quit: The Other Game).
09:33:04 <CakeProphet> Lymia: http://www0.us.ioccc.org/1988/spinellis.hint
09:33:20 <CakeProphet> ...change .hint to .c to see the source code. But I have no idea why you would do that since I told you what it was.
09:34:22 <Patashu> it includes whatever you type
09:39:29 -!- Tritonio has joined.
09:54:10 -!- Vorpal has joined.
09:56:26 <lifthrasiir> CakeProphet, hm, the IOCCC is dead now however?
09:56:27 <Patashu> what other horrible things could you include
09:56:33 <Patashu> include a socket, have C code streamed from other computer?
09:56:52 <Patashu> but it'd never generate code
09:57:26 <CakeProphet> I often sit and stare at /dev/urandom seeing if it will ever output a C program...
09:57:36 <Patashu> can you include a named pipe?
09:58:02 <cheater_> CakeProphet: but all it does is perl, right?
10:02:08 <Vorpal> <Patashu> but it'd never generate code
10:02:36 <Vorpal> Patashu, I'm still catting it waiting to get a free copy of every book written
10:02:47 <Patashu> how would you know when you had it?
10:02:48 <CakeProphet> it would be interesting to attempt to express as a probability.
10:03:07 <Vorpal> Patashu, well, some sort of sense when interpreting it as ascii? ;P
10:03:20 <Patashu> what's the shortest possible C program?
10:03:35 <CakeProphet> with some compilers the null string is an acceptable C program.
10:05:03 <Patashu> it needs to have -something-, right?
10:05:04 <CakeProphet> you'd basically just declare an empty main.
10:05:22 <Vorpal> CakeProphet, const char main[] = "\0"; <-- likely to segfault
10:05:37 <Patashu> doesn't it -have- to return something? guess it depends on the standard
10:05:57 <Vorpal> Patashu, main? not in C99. Then main has an implicit return 0 at the end
10:06:43 <Vorpal> CakeProphet, not in standard C afaik
10:08:05 <Patashu> this might be of interest: http://golf.shinh.org/p.rb?Timeout
10:08:20 <Patashu> according to whatever (probably extremely lax) compiler golf.shinh.org uses, this is a valid C program
10:08:43 <lambdabot> No instance for (GHC.Float.Floating GHC.Types.Int)
10:10:19 <CakeProphet> there is your probability of randomly picking 11 bytes and getting that string.
10:11:41 <CakeProphet> however, if you combine that probability with several hundred variations of short C programs you might get some more reasonable odds.
10:12:14 <Lymia> http://moonbase.rydia.net/mental/blog/programming/zipperfs
10:12:26 <CakeProphet> but anything more than a few bytes becomes effectively indistinguishable from 0
10:12:39 <Lymia> "one can cd into a lambda-term in bash."
10:12:45 <Deewiant> > ((1/) . genericLength . group . sort $ "int main {}") ^ (length "int main {}")
10:13:48 <Lymia> Patashu, so, wait.
10:13:51 <Deewiant> CakeProphet: Filtering out bytes that don't exist in "int main {}"
10:13:57 <Lymia> You could submit a string that looks like main='[binary blob]';
10:15:21 <Deewiant> CakeProphet: Just to see how much it would increase the odds
10:17:10 <CakeProphet> so yeah, effectively not ever going to happen.
10:17:54 <Deewiant> > ((^).(1/).genericLength.nub)<*>length $ "main=-277;"
10:18:37 <CakeProphet> perhaps the odds of generating /any/ valid C program is significant... but still most valid C programs are going to have /tiny/ probabilities of occuring randomly, so I don't think their summation will be much better.
10:19:44 <Lymia> What about the odds of getting any valid Perl program?
10:20:33 <CakeProphet> considering it's based entirely on program length there's probably a better chance because Perl has a larger number of valid, small programs.
10:20:47 <Sgeo> Did this conversation start on Reddit? I remember seeing something like this before
10:21:04 <CakeProphet> No this conversation started with weird #includes
10:22:17 <Sgeo> Weird #includes were mentioned on Reddit
10:22:20 -!- Tritonio has quit (Quit: Leaving).
10:22:24 <cheater_> ubuntu@ubuntu:~$ cat /dev/urandom | strings | tr "\n" " " | while read -d -n1 s; do echo -n $s; sleep 0.1; done
10:22:24 <cheater_> ,J[g? 3 +! ?krNQAudiobooks Desktop Documents Downloads imazing Music Pictures Podcasts Public Templates Ubuntu One VideosR ML7AkM:X %X_8Pl OC@U #D|
10:22:41 <Sgeo> Moth decided to fly into my eye
10:25:05 <fizzie> if "$s" happens to be "*", echo $s will list all non-dot files in current dir.
10:26:07 <cheater_> how do i prevent it from happening?
10:26:21 <fizzie> echo -n "$s", perhaps.
10:26:54 <CakeProphet> or is globbing still on with double quotes?
10:28:10 <HackEgo> /bin/ls: cannot access *: No such file or directory
10:32:31 <Vorpal> btw /dev/urandom is quite good at generating befunge programs
10:33:35 <HackEgo> 1 babies bin bluhbluh env foo paste ps quine.pl quine2.pl quine3.pl quotes quotese tekst tmpdir.11854 тэкст
10:59:07 <HackEgo> syntax error at quine3.pl line 2, at EOF. \ Execution of quine3.pl aborted due to compilation errors..
10:59:15 <HackEgo> #!/bin/perl \ open 0; print while <0>
11:02:08 <Patashu> what happens if a control character is in a befunge program?
11:02:13 <Patashu> compile fail? interpreter fail? ignored?
11:02:29 <Patashu> well, maybe 'when loaded into memory' fail
11:02:36 <Vorpal> Patashu, it reflects off it when running
11:03:24 <Patashu> how come though? I guess it's a good behaviour for \0
11:03:59 <Vorpal> I'm not sure if any interpreter does UTF-8, if so I guess you could get invalid code points
11:04:02 <Vorpal> other than that however
11:06:12 <Vorpal> Patashu, I used somewhat filtered output from /dev/urandom for fuzz testing. Filtered to reduce reflecting since I wanted to test the behaviour of actual commands. Found a few crash bugs that way (division by zero in a fingerprint, and a few other things)
11:06:22 <Patashu> does befunge expect windows or unix style line breaks?
11:06:29 <Patashu> vorpal: yeah that's a good use of it
11:06:38 <Vorpal> Patashu, mac style too
11:06:46 <Patashu> does it look at the first one it finds and use that?
11:08:08 <Vorpal> Patashu, for cfunge at least the only way you can get a loading error would be a system call for reading failing. Since it uses mmap it couldn't use /dev/urandom directly (you can't mmap character devices)
11:08:21 <Vorpal> oh and out of memory I guess for too large program
11:09:20 <Vorpal> also mmap is nice. That way you don't have to deal with newlines split across fgets() chunks and so on
11:09:53 <Patashu> it's amazing how something as simple as how to break up lines is done differently on every OS
11:10:20 <Vorpal> well the mac case doesn't apply on OS X iirc
11:12:51 <Vorpal> Deewiant, does ccbi handle unicode for the source?
11:13:05 <Deewiant> Old versions did, not currently
11:13:41 <Deewiant> Because I read the spec as disallowing unicode
11:14:21 <Vorpal> Deewiant, you used to argue otherwise
11:14:54 <Deewiant> Like I just said, I used to think Unicode isn't allowed and now I think it is :-P
11:15:32 <Vorpal> Deewiant, hm, but isn't there a limit to the largest character constant allowed in source
11:16:18 <Vorpal> Deewiant, ah yes that doesn't completely cover unicode does it?
11:16:42 <Deewiant> 0x10ffff covers practically all unicode you'll run into
11:16:51 <Vorpal> Deewiant, but not the complete unicode
11:18:04 <Deewiant> I forget how exactly 0x110000 and upwards works
11:18:24 <Deewiant> Is it closer to user-defined or undefined by Unicode
11:18:28 <Vorpal> isn't the private use area up there somehow
11:19:00 <Deewiant> 0x100000 - 0x10fffd is private use
11:19:51 <Deewiant> I'm pretty sure that 110000 and upwards is not part of unicode
11:20:08 <Deewiant> Of course you can encode it with UTF-any and use it internally but you can't call it unicode anymore
11:20:43 <Deewiant> But in any case, you can always map anything up to 0xffffffff to the corresponding 32-bit signed integer and thus never break the rule of "no larger than 2^31-1" ;-)
11:21:17 <Patashu> which will we run out of first, unicode addresses or ipv6 addresses?
11:21:50 <Vorpal> the "burn rates" are very different.
11:22:09 <Patashu> although I suspect unicode will be replaced before ipv6 is replaced
11:30:57 -!- clog has quit (Ping timeout: 240 seconds).
11:31:03 -!- clog has joined.
11:36:05 -!- azaq23 has joined.
11:39:21 -!- ais523 has joined.
11:53:15 -!- ralc has joined.
12:05:19 -!- ralc has quit (Quit: Leaving).
12:19:39 -!- ais523 has quit (Read error: Connection reset by peer).
12:20:17 <Sgeo> Huh. That's strange.
12:20:50 <Sgeo> As I approach the point where gravity starts working again, when I give the object weight..... gravity starts to affect it, just a little, then stops
12:24:40 -!- ais523 has joined.
12:29:43 <Sgeo> Not helping is the fact that I'm not 100% sure if the function I'm using to scale down gravity actually scales down gravity
12:40:20 <Sgeo> My previous points about gravity, that it does take longer to take effect at higher altitudes
12:40:31 <Sgeo> Well, this new experiment seems to be in conflict with that
12:48:03 <Sgeo> Time to start doing an automated binary search for the minimum gravity that stays active
12:50:36 -!- Kustas has joined.
12:51:07 -!- Kustas has quit (Client Quit).
12:52:28 <Lymia> http://esolangs.org/wiki/Andrei_Machine_9000
12:53:08 <Lymia> Help me figure this out.
13:02:39 -!- Kustas has joined.
13:03:06 -!- Kustas has quit (Client Quit).
13:03:59 <ais523> Lymia: it's like a massively more complex version of Eodermdrome
13:05:08 <ais523> also, that syntax is insane
13:05:19 <ais523> I notice the example only uses the wimpmode syntax, which isn't fully general
13:05:21 <Lymia> Show suitable is it for making a golfing contest around?
13:05:31 <Patashu> if you want to go mad I guess
13:05:45 <Lymia> So is it suitable for making a golfing contest around*
13:06:15 <Vorpal> Lymia, that was some weird typos yeah
13:06:52 <Lymia> I'm not sure what I was thinking....
13:07:10 <Lymia> ais523, how hard is it to implement?
13:07:10 <Vorpal> ais523, wimpmode? I don't see any mention of that in the article
13:07:29 <ais523> pattern-matching on graphs always is
13:07:33 <Lymia> Golfing contest nasty?
13:07:42 <ais523> Vorpal: the alternative syntax for graphs
13:07:42 <Patashu> you'd have to be mad to codegolf that
13:07:53 <ais523> the sort of thing where getting a working program at all would take hours or days
13:08:11 <ais523> oklopol could probably do it in a few hours, but lesser mortals like me would take ages
13:08:14 <Lymia> ais523, that is. a contest to make an implementation of it.
13:08:21 <Patashu> oh, an implementation of it
13:08:30 <ais523> Lymia: writing in it looks like it would be easier than implementing it
13:09:33 <Lymia> ais523, so if I asked you to golf it...
13:09:39 <Vorpal> Lymia, would you make a contest to make a befunge-98 interpreter with all the fingerprints ccbi implements, including TRDS?
13:09:50 <Vorpal> well okay, that would be even harder.
13:10:10 <ais523> Vorpal: I'd say implementing TRDS would be easier than AM9K, but take longer
13:10:16 <ais523> as in, it's more obvious how to go about it and what to do
13:10:23 <ais523> but there's more work involved
13:10:38 <Vorpal> ais523, aren't there any good algorithms for pattern matching on graphs?
13:10:44 <Vorpal> that you could simply make use of
13:10:51 <Sgeo> Hah! Minimum absolute gravity IS altitude dependent!
13:11:14 <ais523> but the particular sort of pattern matching involved there could match several independent parts of the graph
13:11:20 <ais523> I wouldn't be surprised if it was NP-complete or worse
13:11:47 <ais523> and a programming language where every independent step of execution is NP-complete is going to be a pain to implement, and very slow even if you manage it
13:11:54 <Vorpal> huh. Why did the lamp and the external monitor suddenly flicker.
13:12:20 <Vorpal> no change to the laptop's internal monitor.
13:12:29 <Vorpal> thunderstorm maybe. hrrm.
13:13:02 <Lymia> ais523, I need a reference implementation. Keep it secret.
13:13:05 <Vorpal> ais523, why is it that thunderstorms can cause electric devices to flicker?
13:13:13 <Vorpal> Lymia, make it yourself?
13:13:16 <ais523> Vorpal: because they disrupt the power supply
13:13:30 <Vorpal> ais523, hm, how? induction?
13:13:36 <ais523> no, lightning hitting power cables
13:13:43 <ais523> or outdoor transformers
13:13:49 <ais523> that has a noticeable effect on things like the voltage
13:13:54 <Vorpal> must be quite some way from here though. No thunder sound
13:14:08 <ais523> sometimes during a thunderstorm the power companies have to switch between main and backup circuits a lot
13:14:15 <ais523> and they often have slightly different voltages
13:14:47 <Vorpal> ais523, is that done automatically? The switching I mean.
13:15:59 <Vorpal> ais523, how damaging is it to electronics?
13:16:06 <Lymia> http://esolangs.org/wiki/Network_Headache < zzo, you...
13:16:18 <ais523> it varies on what those electronics are
13:16:36 <ais523> things that are sensitive often have extra circuitry to filter out unexpected voltage changes
13:16:37 <Vorpal> ais523, computers, TFT-monitors, that sort of stuff
13:17:03 <ais523> and you can get "surge protectors" that do the filtering themselves (they tend to filter out not just surges but spikes and similar issues)
13:18:22 <Vorpal> Lymia, fun that it is implemented!
13:18:52 <Vorpal> ais523, should probably get a surge protector at some point. Cheaper than an UPS surely?
13:19:10 <ais523> you can get them crossed with multi-way power strips
13:19:54 <Vorpal> I looked at UPSes but most of the capacity that would be useful to me seems to have internal fans or suchlike.
13:20:04 <Vorpal> and I aim for a quiet environment
13:23:47 <Lymia> http://esolangs.org/wiki/MONOD < Let's start a golf contest for this.
13:44:32 -!- oerjan has joined.
13:50:40 -!- nooga has joined.
13:51:02 <Sgeo> How do I binary search on a value that, each comparision, comes out differently?
13:51:14 <Sgeo> Of course, I'd have to find a range or something
13:51:37 <oerjan> although i have still pondered the problem
13:52:20 <oerjan> (basically, my idea was never to do a comparison that could contradict a previous one)
13:53:02 <nooga> I NEED TO CODE SOMETHING INNOVATIVE OR ELSE I WILL DIE
13:53:19 <oerjan> which i think binary search usually does. actually i think i pondered the more tricky problem of doing that while _sorting_
13:53:52 <oerjan> (still possible, i believe)
13:55:02 <Sgeo> oerjan, by comparision, I mean determining whether the value is higher or lower than my current estimate. I can't know what the value is, and the value keeps changing.
13:55:13 <nooga> maybe umm... regex jit compiler (optimizing)
13:55:46 <oerjan> in fact you might think one criterion of an efficient sorting algorithm would be that it does just that... never gives the comparisons a chance to contradict themselves, because that means you knew what the answer should be and not every comparison can then give information
13:56:02 <Vorpal> nooga, why would you die
13:56:03 <ais523> nooga: program a shell optimizer
13:56:17 <ais523> that sees things like sort | head, and uses a different version of sort that goes O(n) rather than O(n log n) in that case
13:56:19 <oerjan> Sgeo: well are you trying to constantly change your estimate, and it changes only slightly each time?
13:56:33 <oerjan> *the actual value only
13:56:45 <Patashu> so it's a what, a fuzzy binary sort?
13:56:47 <Sgeo> I don't know how much the actual value changes
13:56:48 <nooga> Vorpal: my tasks are so mind numbing that i can feel a constant loss of grey matter
13:56:55 <Patashu> could you take the average of N samples?
13:57:04 <oerjan> Patashu: search, but yeah that sounds like it
13:57:05 <Vorpal> nooga, do what ais523 said
13:57:19 <Sgeo> With the naive binary search I've been doing, I got 0.003125 and 0.006250
13:57:30 <Sgeo> Wildly different answers as far as I'm concerned
13:58:00 <Sgeo> I don't know if just continuing to do this, and averaging, will.. do anything useful
13:58:15 <Patashu> Well you have a rough estimate
13:58:18 <oerjan> <ais523> that sees things like sort | head, and uses a different version [...] <-- i thought it was possible to make a sort which did that automatically if cut off, see ghc's sort
13:58:21 <Patashu> Why not take samples around that range
13:58:23 <nooga> ais523: a bit crazy ;]
13:58:23 <Patashu> graph it and look at the graph
13:58:41 <ais523> oerjan: it may be, but I think that relies on the way Haskell does laziness
13:58:49 <ais523> and the way UNIX pipes do laziness isn't good enough
13:59:11 <Patashu> does ghc's lazy sort work in every single way? could I ask for element number 8 and it would optimize around that?
13:59:31 <Sgeo> And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not
13:59:40 <Sgeo> Ooh, statistics time blargh
13:59:51 <oerjan> Sgeo: hm i guess this is a distribution finding problem restricted by your only being able to get one bit of information on each sample
14:00:10 <Sgeo> Minimum Absolute Gravity was so much easier. At a lower altitude I got 0 always, higher altitude non-0
14:00:12 <oerjan> i cannot say i recall seeing that :P
14:00:22 <ais523> finding the eighth highest element is as computationally difficult as finding all the first eight, isn't it?
14:00:36 <ais523> unless you know in advance the length of the list and it's less than fifteen members long?
14:00:55 <oerjan> ais523: sounds reasonable, but i don't know
14:01:25 <Patashu> if you somehow proved seven numbers are higher than it and no others are without sorting those then that would do
14:01:29 <Patashu> but how would that even work, quicksort-ish?
14:01:46 -!- Vorpal has quit (Ping timeout: 248 seconds).
14:02:16 <Patashu> it seems possible to set up but too edge case-y
14:02:25 <ais523> Patashu: you mean verifying that a number is the 8th highest in a list, rather than finding the 8th highest?
14:02:34 <oerjan> Sgeo: i vaguely recall something about order statistics which are used for comparing two completely unknown (but continuous) distributions
14:03:09 <Sgeo> Ugh, there are at least two different qays to ask "Is gravity working or not", and they give different answers. I just thought of a third.
14:03:29 <Patashu> Why does secondlife implement gravity to such a level
14:03:41 <Sgeo> Well, not ways, so much as "what do you mean by 'working'"?
14:04:05 -!- TOGoS has joined.
14:04:05 <Sgeo> I'm almost certain that it's just edge cases not being considered
14:04:15 <Patashu> Maybe you should file a bug report
14:04:23 <Patashu> FIX THIS IMMEDIATELY I CAN'T IMPLEMENT MY SPACE STATION LIKE THIS
14:05:02 <oerjan> <Sgeo> And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not <-- are both random and changing? if so you cannot do much more than getting a heap of comparisons between them, can you... but that could still be enough to check statistically what you want
14:05:09 <Sgeo> I just want to know why gravity sometimes starts then stops.
14:05:15 <Sgeo> If it's low enough
14:05:22 <ais523> floating point rounding errors?
14:05:29 <Sgeo> ais523, probably
14:05:35 <Sgeo> But I want to know the exact nature of these
14:06:36 <Sgeo> And by probably, I mean yes, I'm almost certain that's what's going on, and that's what I want to understand better.
14:07:26 <oerjan> perhaps they're actually using a random algorithm for small values >:)
14:07:50 <Patashu> it might be some kind of multithreading race condition that makes it essentially random
14:08:41 <oerjan> like if gravity is 0.5 of what is needed to go one minimal step each time unit, then it does so randomly half the time
14:08:42 <Sgeo> I think it's more likely that the physical framerate keeps changing
14:09:12 <Sgeo> The unit of time is dependent on how laggy the server is.
14:16:07 <Sgeo> Maybe Havok documentation has all the answers or something, and I should just go read it
14:18:07 <Sgeo> Havok documentation is behind a paywall
14:21:18 <Sgeo> Maybe if I try the experiment in a less laggy place, I'll get similar results more consistently?
14:44:00 -!- Patashu has quit (Ping timeout: 240 seconds).
14:46:27 -!- MigoMipo has joined.
14:49:02 -!- oerjan has quit (Quit: leaving).
14:56:52 -!- FireFly has joined.
15:00:03 -!- Sgeo has quit (Ping timeout: 255 seconds).
15:04:21 -!- Sgeo has joined.
15:05:16 <Sgeo> Is there a name for a function similar to call/cc except it never returns?
15:25:56 -!- sebbu has joined.
15:25:56 -!- sebbu has quit (Changing host).
15:25:56 -!- sebbu has joined.
15:27:49 -!- sebbu2 has joined.
15:27:49 -!- sebbu2 has quit (Changing host).
15:27:49 -!- sebbu2 has joined.
15:30:59 -!- sebbu has quit (Ping timeout: 260 seconds).
15:39:11 -!- oklopol has joined.
15:49:28 -!- zzo38 has joined.
15:54:15 -!- FireFly has quit (Read error: Connection reset by peer).
15:57:06 <zzo38> What kind of measurement of the size of a program can you use? * Bytes * Lines * Pages * Semicolons * Tokens * Executable file size
15:58:36 -!- TOGoS has left.
15:58:47 -!- sebbu2 has changed nick to sebbu.
16:05:07 -!- pikhq_ has quit (Ping timeout: 250 seconds).
16:05:07 -!- pikhq has joined.
16:09:32 <Lymia> Depends on what you're using the measurement for.
16:12:13 <zzo38> But what kind of ideas you have for what measurement, and what it can be used for? I am thinking generally just to see a measure of how large that a large program is.
16:14:42 -!- Phantom_Hoover has joined.
16:14:49 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
16:17:00 * Sgeo lays out the syntax he's been imagining for his language
16:17:37 <Sgeo> https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006245.html
16:17:46 <Sgeo> Erg, wow, I should have used pastie
16:19:39 -!- Vorpal has joined.
16:27:02 <Gregor> GGGGC: Seemingly consistently faster than Java's GC? :)
16:27:28 -!- FireFly has joined.
16:29:31 <Vorpal> Gregor, how did you test it? Using the same code but with java's gc and then with yours?
16:31:37 <Gregor> Using Boehm's GCBench as well as binary trees. It's not really fair since Java is JITting and I'm not, but the code is trivial here so hopefully the GC is the biggest price.
16:31:47 -!- zzo38 has left.
16:34:00 <Gregor> Going to ISMM this year gave me two good ideas, both of which helped :)
16:43:01 <Sgeo> I have not the slightest idea how to make something into an AST
16:43:30 <Sgeo> Or even enough Javascript to visualize what an AST looks like in Javascript
16:43:50 <Gregor> ... uhhh, that's pretty sad?
16:45:07 <Sgeo> http://pastie.org/private/hf2bkigtu21ciny5oso3a acceptable syntax or nightmare from hell syntax?
16:50:43 <Sgeo> Phantom_Hoover, the language I want to make
16:51:30 <Sgeo> Inspired by Fancy lambdas, which are kind of like Ruby lambdas except with the arguments on the outside of the {}
16:51:38 <Sgeo> Why, do the pipes suck?
16:51:49 <Sgeo> Is function(){} better?
16:53:12 <Sgeo> But does it look like a decent language to work with? That is, should I not be shot for making it?
16:54:10 <Phantom_Hoover> Sgeo, dunno about that; ask elliott if you want a 'yes'.
16:54:55 -!- ais523 has quit (Read error: Operation timed out).
16:55:04 <nooga> {x y z: something something something}
16:55:20 <Sgeo> .......ooooooooohhhhhhh
16:55:44 <Sgeo> Wait, but then, I can't have the { on a separate line after the arguments
16:56:06 <Sgeo> Hmm, not sure how important tha is to me
16:56:39 -!- ais523 has joined.
17:01:26 -!- olsner has joined.
17:11:28 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
17:13:57 <nooga> full grammar for PCRE is probably longer than a full grammar for ANSI C
17:15:21 <Sgeo> This language is not a regex.
17:17:15 <olsner> can you write a PCRE that matches all PCRE:s?
17:18:51 <olsner> I kind of thought PCRE:s were even turing complete (or whatever the corresponding term is for grammars, fully recursive?)
17:19:01 <olsner> and there pikhq said it too, proof?
17:20:04 <nooga> http://big-o.nl/apps/pcreparser/pcre/PCREParser.html#name.grammar
17:21:37 -!- elliott has joined.
17:22:22 <Sgeo> I posted a sample of the language I'm imagining.
17:23:01 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
17:24:35 <elliott> http://esolangs.org/wiki/Snack
17:24:39 <elliott> this fucking shit should be illegal
17:25:02 <ais523> elliott: the TURKEY BOMB style of esolanging, except not innovative or interesting in any way?
17:25:03 <lambdabot> ais523: You have 1 new message. '/msg lambdabot @messages' to read it.
17:25:07 <lambdabot> Phantom_Hoover said 56m 57s ago: Here you go.
17:25:17 <elliott> ais523: hey, you didnt follow the instructions
17:25:25 <ais523> ah no, more like Deadfish
17:25:29 <ais523> and I'm a rebel in that way
17:26:08 <Sgeo> "SIMPLE Interpreter:"
17:26:45 <ais523> wait, that language is actually worse than DeadFish
17:27:30 <Sgeo> Therefore, it will have more implementations than DeadFish?
17:27:48 <elliott> Phantom_Hoover: Now now, they clearly do not understand what they are doing.
17:27:54 <ais523> at least DeadFish was a) aware it was possible, and b) almost interesting
17:27:55 <elliott> I have helpfully clarified on http://esolangs.org/wiki/Talk:Snack.
17:28:27 <elliott> between this and NetFuck, we sure are getting a lot of dreck today
17:28:51 <Sgeo> Esme... makes no sense to me
17:28:57 <elliott> ais523: that interpreter is ... interesting
17:29:02 <elliott> wtf did "stack" come from?
17:29:16 <elliott> oh, and I'm not sure cin >> stringvar actually works as expected
17:29:21 <Phantom_Hoover> Sgeo, fun fact: my first significant conversation on #esoteric was confirming that I didn't make Esme.
17:29:29 <ais523> elliott: if it's a std::string, I think it does
17:29:35 <ais523> or at least, it does something moderately sane
17:29:50 <Sgeo> I'd like to read that log
17:29:56 <ais523> hmm, I think Dagoth may have made Esme just to troll zzo38
17:30:13 <elliott> the more it's used the more diluted it gets
17:30:34 <elliott> I removed it from a bunch of pages a while ago because of that
17:30:40 <ais523> elliott: that one almost deserves shameful, but I'm not quite sure
17:30:46 <elliott> ais523: yes, it's definitely close
17:30:47 <ais523> it needs category:languages, anyway
17:30:48 <Phantom_Hoover> And you just called it the worst language on the wiki.
17:31:05 <ais523> the whole point of shameful is that it's rare enough that people wouldn't determine its existence
17:31:06 <elliott> I think we'll have to see what SmallBug does next to decide, we must be cautious with this important task of ours
17:31:19 <ais523> (and I'd definitely delete the category description page if someone created one, it doesn't work if it isn't a redlink)
17:31:31 <elliott> ais523: re: troll zzo, [[Talk:Esme]] is a pretty funny page
17:31:41 <ais523> elliott: I know, that's what I was referring to
17:31:56 <Phantom_Hoover> 10.01.12:11:57:27 <Phantom_Hoover> The sysrq key? ← this was honestly the first thing I said in-channel.
17:32:16 <elliott> hmm, the stub template on [[Hashes]] implies that we actually want someone to expand it
17:32:20 <elliott> I find this quite a dangerous remark to have
17:32:32 <elliott> (diff) (hist) . . Language list; 17:28 . . (-12) . . Phantom Hoover (Talk | contribs) (Undo revision 23225 by Special:Contributions/SmallBug (User talk:SmallBug) No. Just no.)
17:32:35 <elliott> Phantom_Hoover: that was unwarranted
17:32:48 <nooga> :[~~~~K] $[L.~K] -> Q !L <- Q
17:33:46 <ais523> elliott: wrt your rvv edit summary, it's referring to novelty contact lenses designed to make your eyes look different as part of a halloween costume
17:33:58 <elliott> ais523: yes, but what a thing to spam a wiki with
17:34:11 <ais523> well, generic spam won't get very far, you'll just be outspammed
17:34:12 <elliott> it's obviously a wiki spambot/person, because it used the correct syntax
17:34:19 <ais523> highly specific spam is more likely to get the results you want
17:34:29 <elliott> ais523: I suppose it's just trying to get the googlejuice
17:34:34 <elliott> but what wiki doesn't use nofollow?
17:34:48 <ais523> the latest trick is creating thousands of different domains, each optimised for a slightly different query
17:34:53 <ais523> and making them all soft-redirects to your actual site
17:35:08 <ais523> well, there are probably later tricks I don't know about
17:35:17 <ais523> I just consider that one particularly ridiculous
17:36:08 <nooga> when i was 12 and tried to learn Delphi, my idea of perfect computer language was that it would let me to easily write a tetris clone with constructs like: make green rectangle, move rectangle etc.
17:36:38 <Phantom_Hoover> elliott, if FURscript is shameful, then Snack is unquestionably shameful.
17:37:11 <nooga> probably inventor of FURscript was 13 when he invented it and now he's ashamed
17:37:34 <elliott> Phantom_Hoover: have you /seen/ FURscript?
17:37:42 <elliott> [DIRFORMAT="DIRECTORY","BYPASSSECURITY?"] FORMATS A DRIVE AND ASKS WHETHER TO BYPASS ALL RESTRICTIONS
17:38:07 <elliott> heh, the WRITE command has different syntax
17:38:23 <nooga> BASIC fan probably
17:38:53 <ais523> elliott: hmm, given that it's formatting a drive but given a dir as an argument, I wonder if it's intended for POSIXy systems?
17:38:53 <olsner> elliott: I was suggesting that you invented furscript
17:39:09 <ais523> the only plausible way I can think of to specify a drive using a directory is to specify mountpoint
17:39:16 <elliott> ais523: considering that the compiler was to be written in VB6, I doubt it
17:39:26 <nooga> "The structure is based off a mix of html, turbo pascal, and BASIC." <-- rright
17:39:46 <elliott> It is, of course, unrelated to FurryScript. --Zzo38 18:33, 11 August 2009 (UTC)
17:40:09 <elliott> ais523: have we moved over to Timwi's server yet?
17:40:14 <elliott> I'm not keeping track of these thing
17:40:35 <ais523> elliott: not as far as I know
17:41:16 <elliott> Phantom_Hoover: no, he "offered" to take over
17:41:20 <elliott> because Graue is such a terrible person
17:41:20 <Sgeo> "but I think he got as far as a text box and a copyright notice before going back to programming his graphics calculator. "
17:41:27 <Sgeo> I loved TI-BASIC
17:41:29 <elliott> (because Graue wouldn't respond to his email asking for sysop rights)
17:41:45 <Sgeo> Wait, is it TI-BASIC?
17:41:51 <elliott> Phantom_Hoover: FFS, it's in the logs, stop expecting me to know where something happened.
17:42:22 <ais523> <form><textarea cols=120 rows=80></textarea></form><p><small>Copyright (C) Alex Smith 2011</small></p>
17:42:43 <Phantom_Hoover> elliott, since Gregor stopped updating the codu HG logs, I haven't had searchable logs.
17:43:05 <elliott> Phantom_Hoover: How does this relate to me having to nkow where every damn thing happened?
17:43:11 <elliott> Besides, get the rsync glogbot logs.
17:43:18 <ais523> elliott: it's a text box and a copyright notice
17:43:23 <ais523> I'm not sure if it actually /works/, though
17:43:34 <Phantom_Hoover> FWIW, there is no indication anywhere that they exist.
17:43:46 <ais523> and that textarea syntax is really old-fashioned
17:43:50 <ais523> because I learnt HTML far too long ago
17:44:01 <elliott> Phantom_Hoover: there is in glogbot's help message
17:44:09 <elliott> would you like it to spam the channel at regular intervals instead?
17:44:42 <elliott> ais523: AFAIK that's the current textarea syntax
17:44:55 <elliott> ais523: well, except that not doing it with CSS probably makes you a bad person
17:44:59 <ais523> I at least expected the dimensions to be done with CSS nowadays
17:45:11 <Phantom_Hoover> elliott, no, but I would like it if it indicated their existence in the page on codu, or in the topic of #glogbot.
17:45:14 <ais523> and I hate that syntax because it basically means you have to guess the browser user's screen width and font size
17:45:21 <ais523> rather than having it become a sensible size automatically
17:45:32 <ais523> no wonder browsers are offering resizable textboxes as a feature nowadays
17:45:40 <ais523> glogbot has a channel?
17:45:44 <elliott> ais523: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-textarea-element
17:45:55 <elliott> yep, rows and cols still exist
17:46:02 <elliott> and don't appera to be deprecated, either
17:46:10 <elliott> but ofc, there's basically no reason not to use CSS instead
17:46:11 <Phantom_Hoover> Oh, and the rsync command provided doesn't actually work.
17:46:25 <elliott> Phantom_Hoover: topic of glogbot:
17:46:27 <elliott> "See !glogbot_help for how to use it."
17:46:32 <elliott> -glogbot- glogbot is a logging bot. Source: https://codu.org/projects/stuff/logbothg/ . Anyone may request that glogbot log their channel by inviting it: /invite glogbot . This usually requires ops. It will stop logging a channel if kicked: /kick glogbot . If you cannot /invite or /kick it, you can also ask Gregor to add or remove your channel. See also !glogbot_cmds, !logs .
17:46:37 <elliott> WHOOPS TURNS OUT IT DOES GIVE YOU THAT INFORMATION
17:46:43 <elliott> And the rsync command does work, you fucked it up. Quit whining.
17:46:46 <ais523> "If the cols attribute is specified, its value must be a valid non-negative integer greater than zero. If applying the rules for parsing non-negative integers to the attribute's value results in a number greater than zero, then the element's character width is that value; otherwise, it is 20."
17:46:47 -!- zzo38 has joined.
17:47:06 <Phantom_Hoover> elliott, I copied and pasted it from glogbot's own message.
17:47:09 <elliott> ais523: how is that arbitrary?
17:47:13 <elliott> it's just handling a parse error
17:47:16 <elliott> Phantom_Hoover: you fucked it up.
17:47:24 <ais523> elliott: wouldn't it make more sense to treat the attribute as not there
17:47:30 <ais523> rather than picking 20 for the width out of thin air?
17:47:31 <Phantom_Hoover> elliott, "rsync --size-only -avz rsync://codu.org/logs/glogbot/ logs/"
17:47:36 <elliott> ais523: 20 is the default width if it's not specified
17:47:40 <elliott> ais523: so it /does/ act like it's not there
17:47:43 <ais523> for a multiline text box?
17:47:49 <elliott> ais523: hysterical raisins
17:47:51 <Phantom_Hoover> Please tell me a) where that is fucked up and b) where it deviates from the command given in !logs.
17:48:16 <elliott> Phantom_Hoover: Seriously, just shut up, I am not your personal tech support, especially when you're being this whiny.
17:48:25 <elliott> You haven't even told anyone what error you received, just "it doesn't work", which is laughable.
17:49:02 <Phantom_Hoover> elliott, maybe I wouldn't be "whiny" if your immediate response hadn't been to treat me like an idiot.
17:49:12 <elliott> Phantom_Hoover: seriously. shut up.
17:49:24 <Phantom_Hoover> And if I so obviously fucked up, why would you even need to know the error?
17:50:03 <Phantom_Hoover> It was clearly my idiocy in composing it; such an astonishing intellect as yours would be able to point out the error without effort.
17:50:08 <ais523> <kabdib> I once wrote some perl that read C source code and spit out still compilable C source, but fucked up with random indentation, single line declarations (with initializers), mixed bracing style and use of whitespace, and added comments like "increment i" when it saw "++i".
17:50:24 <ais523> I love the choice of Perl as a language for doing that munging, it seems to fit somehow
17:50:27 <pikhq> And the new Nintendo console is (surprise, surprise) approximately 4 Wiis duct taped together.
17:50:32 <pikhq> Or, 8 Gamecubes duct taped together.
17:50:47 <cheater_> just came up with a new hack for hardware that doesn't even exist yet
17:50:51 <ais523> pikhq: really, it doesn't need to be that much powerful than the Wii to hit Nintendo's core market, though
17:51:03 <pikhq> ais523: Yeah, true.
17:51:04 <cheater_> apparently, an LED can also be used as a light *sensor*
17:51:13 <olsner> does it even need to be *any* more powerful than wii?
17:51:13 <ais523> cheater_: that's not surprising at all
17:51:19 <pikhq> ais523: The Wii U is pretty fucking stupid, though.
17:51:23 <ais523> in fact, a regular diode can be if you cut the top open
17:51:25 <olsner> they should've just made a new controller like everyone else
17:51:31 <cheater_> in the future, when monitors are made out of LEDs, you could imagine a possible hack to the monitor's firmware to make it a camera
17:51:35 <ais523> pikhq: the name is a pretty silly start, at least
17:51:40 <pikhq> Its *controller* is probably more powerful than the Wii.
17:51:42 <ais523> not only is it stupid, it's also difficult to pronounce
17:51:43 <cheater_> granted, it wouldn't be too focused, but you could post-process that
17:52:08 <cheater_> so you could stalk people with LED monitors
17:52:15 <pikhq> The *controller*, the *controller* has a 6.2" display and a touch screen.
17:52:47 <elliott> <olsner> does it even need to be *any* more powerful than wii?
17:52:54 <elliott> The Wii is getting really dated, to be honest
17:53:03 <ais523> pikhq: this reminds me of the GameCube games designed to use a GBA as the controller
17:53:10 <elliott> I gather that Super Mario Galaxy 2 was a bit of a pain to develop because the console is so outdated
17:53:28 <ais523> some of the best games tend to be done on consoles getting outdated, though
17:53:37 <ais523> because they bring together a lot of talent to work out how to really use the consoles well
17:53:41 <pikhq> ais523: Except as an official accessory.
17:53:42 <elliott> also, "Wii U"? are Nintendo /aiming/ for bad names at this point?
17:54:06 <pikhq> I wonder if the Wii U will also support Gamecube games & controllers.
17:54:25 <olsner> elliott: but was the wii any more powerful than gamecube? my point is that they just need to stick it a new box with a new name and a new controller and they could be done as far as most of their customers are concerned
17:54:27 <pikhq> If so, then it will be fucking absurd.
17:54:37 <elliott> olsner: yes, the Wii was more powerful than the gamecube
17:54:51 <pikhq> olsner: The Wii had a higher clocked PowerPC.
17:54:51 <ais523> pikhq: well, the Wii needs the Classic Controller, rather than a Wiimote, for many of its games
17:54:58 <ais523> and you can substitute a GameCube controller instead
17:55:04 <elliott> GCN: CPUIBM PowerPC "Gekko", 486 MHz
17:55:06 <elliott> Wii: CPUIBM PowerPC-based[1] "Broadway"
17:55:09 <Phantom_Hoover> So, anyone who doesn't think wanting help is whining want to tell me what "rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1526) [Receiver=3.0.7]" means?
17:55:12 <elliott> no clock rate info, but I'll bet >486 MHz
17:55:20 <pikhq> It was 700-something.
17:55:27 <pikhq> ais523: The Wii U supports Wii controllers.
17:55:49 <elliott> olsner: yeah, the Wii was more powerful than the gamecube by quite a bit
17:55:50 <zzo38> The Nintendo Wii does use many similar hardware to GameCube.
17:56:01 <elliott> http://en.wikipedia.org/wiki/Nintendo_GameCube#Technical_specifications
17:56:01 <elliott> http://en.wikipedia.org/wiki/Wii#Technical_specifications
17:56:26 <pikhq> zzo38: The Wii's backwards compatibility is done by, basically, dual-booting.
17:56:34 <zzo38> (Once I put a game in and it did not recognise it as Wii so it started it in GameCube mode, it displayed the title screen correctly, including animation, but did nothing else.)
17:56:51 <pikhq> Yeah, it just has a port of the Gamecube's OS to the Wii. That's their BC.
17:57:07 <elliott> pikhq: with what zzo38 said, I wonder if it even needed porting
17:57:16 <elliott> I mean, apart from controller support, I guess
17:57:43 <olsner> elliott: ok, so maybe a *little* bit more than putting same thing in a new box will be required :P
17:58:00 <elliott> It occurs to me that Nintendo could introduce absolutely any new controller they wanted and people wouldn't dismiss it, just because of how badly that backfired with the Wii
17:58:04 <pikhq> The hardware access was radically different on the Wii; all hardware access went through an ARM chip, for the sake of DRM.
17:58:11 <elliott> were they decent trolls, they'd have exploited this
17:58:33 <pikhq> elliott: Well, their new controller is making the NES brick look ergonomic.
17:58:48 <elliott> I don't see how they'll pull off the fancy Wiimote stuff with it
17:58:57 <elliott> it doesn't exactly look like a very good sword or tennis racquet
17:59:02 <pikhq> You can also use a Wiimote.
18:00:01 <elliott> hmm, the screen is actually quite clever, because it allows for secret information
18:00:09 <elliott> which has always been an advantage of internet play IMO
18:00:36 <elliott> apple why are you emailing me about the new os x version...
18:00:46 <ais523> elliott: do you want me to email you about the new os x version too?
18:00:50 <pikhq> Yeah, this is the *second* means of doing that the Wii U has to offer, BTW.
18:00:57 <ais523> pikhq: what's the first?
18:00:59 <Sgeo> Phantom_Hoover, I don't think wanting help is whining, but I'm not exactly capable of helping you, sorry.
18:01:16 <ais523> ah, the Wii U can do that?
18:01:26 <ais523> you'd think they'd at least use DSes or 3DSes
18:01:33 <pikhq> Presuming GC compatibility, which honestly would take little more than a couple extra lines off of a motherboard.
18:02:02 <zzo38> Idea of screen, I already had similar idea. And actually some older systems had it too, I think, just ones that nobody used.
18:02:09 <ais523> pikhq: it would need controller ports
18:02:11 <elliott> being able to link up to a DS as a controller would be cool
18:02:38 <ais523> that's the big issue with some other consoles and backwards compatibility, the major issue to using old controllers was the lack of correctly-shaped ports
18:03:07 <pikhq> ais523: Actually, the big issue was no freaking way to execute old software.
18:03:26 <pikhq> Nintendo does not have this problem, because they've been using the PowerPC since the Gamecube.
18:03:31 <ais523> pikhq: I'm not talking about old software, but just use of old controllers for new games
18:03:51 <elliott> Is there any information on the system specs of the U?
18:03:55 <pikhq> Yeah, that's basically a non-issue. If you want to support old controllers, it's easy.
18:04:09 <elliott> hmm, the console itself looks quite ugly
18:04:13 <elliott> in comparison with the Wii
18:04:16 <pikhq> Especially with older consoles where the controllers used the same damned protocol.
18:04:27 <elliott> (which actually had functional use, too; you could fit it practically anywhere)
18:04:57 <zzo38> I have many ideas making up my own system instead. It will not have these kind of problems! I fix many things. And it will describe *everything* in the manual.
18:05:24 <elliott> "Claims have been made that the new machine is significantly more powerful than the PlayStation 3 and Xbox 360."
18:05:32 <elliott> source is IGN and Kotaku, so I'm not about to start believing that immediately
18:05:51 <zzo38> I already got some people who can build the circuitboards and stuff like that.
18:06:15 <pikhq> elliott: It's not like it'd be *too* hard.
18:06:24 <ais523> zzo38: assuming it's not massively overpriced and there's a sensible way to ship it from Canada, I'd buy it
18:06:25 <elliott> "01net also claims to know some of the technical specifications of the new console (translation from Develop): "CPU is custom IBM PowerPC with three cores, GPU should be an ATI from the R700 family, with a shader unit at version 4.1. RAM should be at least 512 MB."[19]"
18:06:30 <pikhq> Just slip a more recent multicore processor and a modern GPU in there.
18:06:34 <zzo38> I made some timesheets programs for their company and I told them I can have barter instead of paid in cash
18:06:36 -!- augur has quit (Write error: Broken pipe).
18:06:49 <nooga> IT'S TOO DAMN HOT!
18:07:01 <pikhq> Of course, Nintendo's still running technology that's competitive with the PS2. :P
18:07:58 <ais523> pikhq: and the PS2 was so successful that that's a good thing
18:08:14 <elliott> it's always impressive how low-spec consoles tend to be
18:08:15 <zzo38> ais523: The first few units produced will probably be overpriced but they will also be colored in gold and have other stuff specific to the limited editions. So, the normal edition will not be overpriced, but will have the same electronic hardware basically, can run the same software, and so on.
18:08:28 <elliott> you need, like, a PC with twice the specs to get the same quality out of them
18:08:40 <elliott> because people optimise aggressively for consoles since they're uniform
18:09:13 <ais523> coppro: did you mean to ping me with that?
18:09:17 <ais523> I thought zzo38 was Canadian
18:10:09 <elliott> zzo38: how much will the gold edition cost
18:10:32 <coppro> makes more sense for ais523 to want a Canadian one due to price, but there's region-locking and format issues if you do that
18:10:45 <zzo38> elliott: I don't know how much any edition will cost yet
18:10:53 <ais523> coppro: it's just that I assumed that zzo38 being in Canada, that's where they'd be made
18:11:05 <elliott> zzo38: not even approximately?
18:11:17 -!- nooga has quit (Ping timeout: 240 seconds).
18:11:17 <elliott> coppro: you think /zzo's/ console will have region-locking?
18:11:21 <zzo38> No. I have not selected the specific hardware parts yet. Only in general I have.
18:11:31 <elliott> zzo38: can you leak any details? :D
18:12:37 <coppro> ais523: oh, I thought you meant the Wii U
18:13:01 <ais523> gah, that name hurts my head just when I try to mentally pronounce it
18:13:17 <ais523> thus, I have to skim comments containing it (no mental pronunciation) rather than read them (which does normally cause mental pronounciation for me)
18:13:18 <zzo38> It will have region-coding, but only for regions with different TV format (such as NTSC/PAL), and the programs and hardware that is built-in is all open so you can even override that.
18:13:19 -!- nooga has joined.
18:14:07 <elliott> what games-containing media will it take?
18:14:14 <zzo38> So, the Canadian software should work fine in United States, and in Japan, but to use in England it is PAL so it is different.
18:14:27 <pikhq> zzo38: In the modern world, there's no need for that.
18:14:39 <elliott> yeah, if the software outputs digitally that's unnecessary
18:14:41 -!- monqy has joined.
18:14:56 <zzo38> elliott: DVD. Also USB for small files downloadable from kiosks or whatever, if such things exist.
18:15:37 <zzo38> USB also works so you do not need to use optical media if you do not like it.
18:15:39 <coppro> The hardware can have built-in converters for video formats anyway
18:15:41 <elliott> zzo38: you realise that USB drives are competitive with DVD for storage space, btw?
18:15:55 <elliott> in fact, with an SDHC cart, it can far surpass DVDs
18:16:11 <elliott> coppro: er, that only affects speed, no?
18:16:53 <coppro> but speed is important
18:17:05 <elliott> coppro: sure... it's hard to be slower than optical drives, though
18:17:19 <elliott> actually, personally I would just include a USB port or two, and no DVD drive -- after all, there are plenty of USB DVD readers
18:17:36 <elliott> so you could support optical media entirely within software, and make the console smaller and (slightly) cheaper too
18:18:00 <zzo38> elliott: Thanks for the idea, I might consider that, maybe
18:18:15 <coppro> No stupid CSS licensing fees too
18:18:34 <elliott> coppro: CSS is optional isn't it?
18:18:46 <elliott> and if the console didn't support it, nobody would use it
18:18:49 <elliott> so that's kind of irrelevant :P
18:18:51 -!- nooga has quit (Ping timeout: 246 seconds).
18:19:03 <zzo38> I was not going to license CSS anyways I was trying to make it to remove all CSS from the drive so that it must be done in software if at all.
18:19:46 <zzo38> If I choose not to have a optical drive, I will have more than 2 USB ports, though.
18:20:04 <elliott> why would you ever need more than two media in at once?
18:20:12 <elliott> (and also have sufficient power requirements that a USB hub wouldn't suffice?)
18:20:16 <elliott> or are controllers USB too?
18:20:31 <elliott> in which case, yeah, obviously you'd want like five ports
18:20:33 -!- nooga has joined.
18:20:34 <zzo38> No, controllers are not USB.
18:20:45 <zzo38> Synchronous serial.
18:21:01 <zzo38> Packets are 32 bits.
18:21:09 <elliott> it seems like it'd be simpler to do the controllers over USB too since you could reuse the driver
18:21:21 <elliott> and also it means that if you used fewer controllers, you could use more storage media
18:21:28 -!- zzo38 has quit (Quit: zzo38).
18:26:51 -!- ais523_ has joined.
18:27:26 -!- ais523 has quit (Disconnected by services).
18:27:32 -!- ais523_ has changed nick to ais523.
18:31:56 -!- nooga has quit (Ping timeout: 276 seconds).
18:32:54 -!- nooga has joined.
18:34:44 -!- augur has joined.
18:35:09 <elliott> wat, nintendo's E3 press site is "open"
18:35:28 <elliott> as in it has an obvious username and password
18:35:31 <elliott> http://press.nintendo.com/E32011/ username: E32011, password: nintendo
18:35:47 <ais523> elliott: did you guess them?
18:35:51 <elliott> someone gimme a wget command to mirror everything :D
18:36:00 <elliott> oh wait, the videos are huge
18:36:03 <ais523> and are the videos subdirs of that page?
18:36:13 <elliott> with lots of info and links
18:36:26 <ais523> I mean, are the links to subdirs of the directory the page is in?
18:36:36 <elliott> "Please note: Nintendo 3DS screenshots are provided as 2D images."
18:36:38 <ais523> otherwise, if you follow all links, you can end up mirroring the whole Internet
18:36:45 -!- elliott has set topic: Please note: Nintendo 3DS screenshots are provided as 2D images. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:36:59 <nooga> use peg/leg OR write parser by hand
18:37:04 <elliott> I'm surprised this page doesn't have some spiel about NO UNAUTHORISED ACCESS
18:37:14 <nooga> help me with decision
18:37:22 <elliott> ESRB Age-Gate Notification:
18:37:23 <elliott> This video/trailer may only be displayed if it is behind an age-gate that: (1) is age-neutral (i.e., requires the user to input their date of birth or select it from a drop-down bar); (2) employs reasonable technical measures to keep underage users from re-entering their age after initially being denied access; and (3) does not display any ESRB rating information on the trailer player or the age-gate itself. Failure to implement these requirement
18:37:23 <elliott> s may jeopardize your ability to obtain material of this nature from us in the future.
18:37:26 <ais523> I bet it's designed for people to access while still maintain plausible deniability
18:37:48 <elliott> you're... not allowed to tell people the ESRB rating?
18:38:04 <ais523> elliott: it's basically "how old are you? PS if it's too low you don't get to get in, but we're not going to /tell/ you what it should be in the hope that you'll give your real DOB rather than calculating one that will let you in"
18:38:25 <elliott> is there anybody who doesn't just select the oldest age possible on those?
18:38:45 <elliott> I mean, who would bother picking out their real birthdate?
18:39:11 <elliott> hmm, it seems everything on this press site is in a zip
18:39:16 <elliott> even things that are only a few hundred kilobytes
18:40:04 <ais523> elliott: wget -r -k -p -np (in an empty directory) might work
18:40:07 <elliott> and I can't open the zip I tried
18:40:14 <ais523> elliott: password-protected?
18:40:23 <elliott> dunno, file-roller just gives up
18:40:26 <elliott> ais523: the server's slow enough, and the files sufficiently numerous, that I don't care enough to mirror it
18:40:36 <ais523> yep, I was just looking up out of curiosity
18:40:39 <elliott> I mean, it's not like there's going to be any information or video or whatever here that won't be available publicly soon enough
18:40:54 * elliott nabs the upcoming list of [console] games, though
18:41:54 <elliott> a /minute/ to download a thirty-seven kilobyte file
18:42:16 <elliott> it's going to take twenty hours to download this fifty-megabyte Wii factsheet, apparently
18:42:48 <ais523> perhaps they're being Slashdotted (via something other than Slashdot)
18:43:46 <elliott> ais523: probably by everyone with legitimate access :P
18:44:05 <elliott> oh, it looks like it's on /v/
18:44:36 <elliott> it'll probably all be in a torrent by the end of the day
18:46:27 <ais523> elliott: you actually checked 4chan in order to see if they were responsible for massive access to a site?
18:46:37 <ais523> or was it a guess followed by asking someone likely to know / checking a page likely to indicate?
18:46:54 <elliott> ais523: no, I googled the url
18:47:21 <elliott> I'm surprised Google even indexed them; they're 404'd already
18:47:31 <ais523> although I'm surprised that Google finds results from 4chan, given how quickly the threads are deleted
18:47:51 <ais523> perhaps Google pay for a constant stream of changes to 4chan, just like they do to Wikipedia
18:47:56 <elliott> I have a feeling Google does a lot more than just spidering nowadays
18:48:06 <elliott> they probably try and "subscribe" to rapidly-updating websites via feeds or whatever
18:49:02 <ais523> also, they own quite a few of the rapidly-updating places, like YouTube and Blogger
18:49:50 <Sgeo> Deceased bug in bowl. Soap and _cold_ water enough to get it decently clean?
18:49:55 <Sgeo> There is no hot water.
18:49:59 -!- KingOfKarlsruhe has joined.
18:50:10 <elliott> or all the germs will stay
18:50:14 <elliott> ais523: no this is cold hard fact
18:56:21 <nooga> my gf's laptop refused to work
18:57:15 <ais523> nooga: have you tried bashing on the case a couple of times, a couple of centimetres further from the touchpad and to the left of the power switch, as soon as it starts to make the clicking noise?
18:57:28 <ais523> or does she not have the exact same laptop as me?
18:59:44 <elliott> and you guys make fun of me for not fixing these number keys :D
18:59:56 -!- foocraft has joined.
18:59:57 <ais523> elliott: well, this is easily workaroundable
19:01:04 <elliott> maharba continues to be a bad person for not responding to my questions ;(
19:01:27 <ais523> hmm, just noticed: esolangs tend to disobey Wadler's law, don't they?
19:01:43 <ais523> to the extent that DownRight didn't have a syntax at all until people forced one on me, and then came up with one quite quickly
19:02:06 <elliott> ais523: /good/ esolangs disobey it
19:02:11 <elliott> consider how many languages are /all about/ the syntaz
19:02:21 <elliott> ais523: btw my proposed syntax for downright was much better :<
19:02:44 <ais523> elliott: even BF derivatives tend not to argue a lot about comment syntax
19:03:04 <yorick> there's not much languages like postscript nowadays
19:03:54 <Sgeo> Sadly, what's the difference between lexical syntax and syntax?
19:04:19 <ais523> Sgeo: lexical syntax is syntax of lexicals
19:05:41 <olsner> just like in IOCCC, syntactic obfuscation is boring
19:06:37 <ais523> unless it's tied into computation somehow
19:09:03 -!- oerjan has joined.
19:10:04 <Sgeo> What isn't a lexical?
19:10:21 * Sgeo really, really needs to read about how to parse and lex and.. whatever code
19:11:53 -!- lambdabot has quit (Ping timeout: 250 seconds).
19:12:22 <ais523> Sgeo: hint, lexical != lexeme != lexical analyser
19:13:33 <oerjan> 17:18:27: <Phantom_Hoover> PCREs can't match things recursively, can they?
19:13:34 <oerjan> 17:18:43: <pikhq> PCRE is TC.
19:13:44 <oerjan> the latter doesn't actually necessarily imply the former
19:14:15 <oerjan> because TC does not imply "input-complete"
19:14:19 <ais523> the syntax for recursive matching is (?1)
19:14:22 <ais523> or you can use other numbers
19:14:39 <ais523> e.g. (a(?1)b) matches strings of a given number of a, followed by the same number of b
19:14:52 <ais523> that's only enough to make it a PDA, though, rather than TC
19:15:06 <ais523> olsner: like the difference between TC and BF-complete, I think
19:15:18 <oerjan> s/the former/that PCRE can parse everything that is decidable/
19:15:28 <oerjan> yeah that was the idea
19:15:43 <Phantom_Hoover> <elliott> consider how many languages are /all about/ the syntaz
19:17:16 <oerjan> yeah obfuscation is usually limited to using unreadable base tokens, isn't it.
19:17:30 <oerjan> (e.g. single character ones)
19:17:44 <ais523> oerjan: that's not even intentional obfuscation, I think
19:17:50 <ais523> it can actually make langs easier to read when you're used to ir
19:18:03 <ais523> it's just the esolang's style
19:18:04 <elliott> it just makes implementing it easier :P
19:18:26 <Phantom_Hoover> I suspect that half the crappy BF derivatives were just caused by someone who wanted to try writing an interesting program with <thing>, but couldn't be bothered actually making something original.
19:18:26 <oerjan> also easier to parse... i suspect many esolangers would have trouble implementing a language which didn't use single-char tokens
19:18:46 <elliott> oerjan: which is depressing
19:20:06 <oerjan> nooga: feel targeted? :P
19:20:20 <Sgeo> ais523, is {a b c: code} vs |a,b,c| {code} for lambdas syntax or lexical syntax? I'm... guessing the latter, but not sure
19:20:23 <nooga> i want a language that mutates during the parsing
19:20:45 <oerjan> > let x >:< y = x ++ y in "a" >:< "b" >:< "c"
19:21:09 <oerjan> lambdabot existence failure
19:21:14 <Sgeo> I want to learn how to do things sanely
19:21:18 <nooga> oerjan: no I dont, this nice token just came to my head
19:21:35 <olsner> Sgeo: and this is certainly the place to learn *sane* ways to do stuff
19:21:39 <ais523> Sgeo: I thought you'd have looked it up for yourself by now, but: http://en.wikipedia.org/wiki/Lexical_grammar
19:21:52 <oerjan> Sgeo: the former definitely. lexical syntax is about how you find your language's basic "words"
19:21:57 <elliott> ais523: implying Sgeo would ever google anything when he could ask it awkwardly on irc instead
19:22:07 <ais523> elliott: well, people wouldn't imply that about me
19:22:12 <ais523> (note that I didn't google it either)
19:22:20 <elliott> ais523: the "awkwardly" part is important
19:22:26 <elliott> ais523: anyway, I am using google in the genericised sense here
19:22:31 <elliott> looking it up on wikipedia counts
19:22:32 <ais523> I often ask on IRC when I think it's the easiest way
19:22:35 <elliott> since that's basically what googling would achieve anyway
19:22:40 <olsner> "Please quote to me the dragon book. You may begin with chapter 1 for I know nothing."
19:22:45 <oerjan> Sgeo: e.g. because FORTRAN doesn't have a lexical syntax you get such absurdities as the famous FORI=1,10 vs. FORI=1.10 bug
19:22:53 <elliott> olsner: i'll have to get permission from my dad first
19:23:05 <elliott> oerjan: I'm not familiar; got a link?
19:23:17 <oerjan> (the former starts a for loop, the latter assigns to the variable FORI)
19:23:34 <ais523> elliott: I was about to tell you that, but oerjan was faster
19:23:39 <oerjan> INTERCAL of course does that on purpose :D
19:23:47 <ais523> oerjan: actually, no it doesn't
19:24:04 <ais523> it /almost/ does, but has a specific rule saying you aren't allowed to do things like that
19:24:07 <oerjan> ais523: um it doesn't use whitespace to separate tokens, doesn't it?
19:24:10 <ais523> it's even in the original manual
19:24:17 <ais523> oerjan: no, but it still tokenizes deterministically
19:24:30 <ais523> DOX always parses as DO X
19:24:36 <oerjan> ais523: ok not that kind of example (which has horrendous lookahead)
19:24:54 <ais523> the only corner case is DOREADOUT as DO READ OUT vs. DO REA DO UT
19:24:58 <ais523> which caught out J-INTERCAL
19:25:08 <ais523> but people ignore that one as they can't figure out what the intended behaviour is anyway
19:25:30 <ais523> the case I was referring to was array syntax
19:25:43 <elliott> ais523: that example that the manual explicitly prohibits, I'm really sad about
19:25:49 <elliott> who cares about infinite lookahead?
19:25:51 <ais523> which requires unlimited lookahead to parse correctly, except that if you write a case that would require unlimited lookahead, compilers are allowed to crash
19:26:00 <ais523> or, well, mis-parse it
19:26:02 <ais523> I know C-INTERCAL does
19:26:17 <ais523> however, even handling the reduced version is insane
19:26:29 <ais523> C-INTERCAL does so using a stack of bits, which is packed into an array of integers
19:26:35 <elliott> that's a reason to do something, not to not do it :(
19:27:00 <oerjan> Sgeo: so basically if your language has multicharacter keywords or identifiers, it makes sense to have an initial stage that just finds the boundaries of those, that's lexical analysis, which also throws away whitespace and comments (which become irrelevant once you have done the division)
19:27:02 <ais523> the funny thing is, I even found a program that hit the limit of nested spark/ears groups and had to increase the limit
19:27:15 <elliott> oerjan: it doesn't really make sense IMHO
19:27:18 <elliott> it's a bit of an obsolete notion
19:27:28 <ais523> probably resulting from Joris' experiments in inlining an entire sequence of expressions into one
19:27:52 <ais523> oerjan: probably the most active C-INTERCAL developer who isn't actually a maintainer
19:28:02 <ais523> he's done a lot of useful work in finding/fixing bugs, and improving the optimiser
19:28:12 <ais523> he should get more credit
19:28:32 <elliott> i should actually write itralcen sometime
19:28:59 <ais523> the world needs more INTERCAL impls
19:29:26 <ais523> what level of compatibility would you be aiming for? -72? -72 with COME FROM and text I/O? common subset of C-INTERCAL and CLC-INTERCAL? something else?
19:29:29 <elliott> yes, unfortunately itralcen is very precisely defined, and I don't really feel like writing a GNUstep program to run in qemu which communicates with the host machine via a socket
19:29:36 <elliott> (to actually run ITRALCEN)
19:29:46 <elliott> ok so that could possibly wait ;D
19:30:02 <Deewiant> ais523: COME FROM isn't in a standard?
19:30:07 <elliott> Deewiant: computed COME FROM isn't
19:30:08 <elliott> ais523: at the very least, computed COME FROM
19:30:21 <ais523> Deewiant: even original COME FROM isn't in the -72 standard
19:30:24 <ais523> and there are no other standards
19:30:29 <elliott> ais523: the ideal would be to have its very special own set of extensions and compatibility libraries for C and CLC, though
19:30:39 <ais523> elliott: like C and CLC do for each other
19:30:51 <elliott> ais523: The implementation strategy is basically inspired by CLC I think
19:30:59 <olsner> I think modern intercals should come with all the known COME FROM variants, including computed and parallel
19:31:01 <ais523> is that even /possible/?
19:31:07 <ais523> that would imply that somebody knew how CLC worked
19:31:22 <ais523> I only managed to reverse-engineer the basic outline, and CLC himself has long since forgotten
19:31:27 <elliott> ais523: except that, instead of just having a separate orthogonal language jammed in, it'll be based on the program you're running rewriting itself
19:31:32 <elliott> basically, it'll have self-modifying features
19:31:39 <elliott> and all the basic commands will rewrite themselves down to primitives
19:31:52 <elliott> which might be inline machine code, or maybe just VM instructions, etc.
19:32:06 <ais523> will one of the primitives run arbitrary Perl, like in CLC-INTERCAL?
19:32:08 <elliott> so basically, the whole language will be implemented in its macro system
19:32:22 <ais523> elliott: it's funny in context
19:32:28 <ais523> especially as it's hardly used for anything
19:32:34 <ais523> and is deliberately undocumented
19:33:10 <elliott> hmm, I might bootstrap it by having the bootstrapping code be just one big instruction
19:33:18 <elliott> [run arbitrary <language>] "huge string", basically
19:33:29 <elliott> and that would set up the system to a point where it could run the macro system and self-modify
19:33:34 <elliott> and the rest would be built up in ITRALCEN
19:33:49 <elliott> and the actual bootstrapping script would just do "eval str_param"
19:34:03 <elliott> thus reducing the amount of code not written in full valid ITRALCEN to a line or two
19:34:30 <nooga> NATO vs Anonymous = LOL
19:34:50 <elliott> ais523: I'm not sure how I'll actually handle parsing
19:35:08 <elliott> ais523: I think every command will define how it's parsed, pretty much
19:35:22 <ais523> elliott: note that CLC-INTERCAL's parser's interpretation of ambiguous statements was determined by experiment
19:35:23 <nooga> elliott: i thought about it
19:35:24 <elliott> So all it'd do is lex everything, and start running (which would equate to rewriting itself down to primitives, and then running those primitives)
19:35:26 <Sgeo> Would | | be lexed into beginlambdarglist and endlambdaarglist or just pipe?
19:35:29 <ais523> as nobody could work out what the results of the rules are
19:35:39 <elliott> Sgeo: you can't do the former
19:35:46 <elliott> lexers don't have that kind of information
19:35:55 <nooga> Sgeo: elliott is right
19:35:57 <ais523> also, note that if you support the whole of CLC-INTERCAL, the way a program parses or even lexes could change at runtime
19:36:09 <elliott> nooga: thanks for the confirmation
19:36:30 <elliott> ais523: same with my system, the /whole thing/ is based around commands parsing their invocations and then rewriting themselves
19:36:34 <nooga> elliott: i was just about to answer him but then you came so I confirmed
19:36:52 <elliott> ais523: I'm aiming to handle that explicitly-forbidden infinite-lookahead example, anyway
19:37:14 <ais523> but how do you un-rewrite if the meaning of a command was changed from behind you?
19:37:15 <Sgeo> I still have more questions, but they'd probably be better answered by reading
19:37:16 -!- foocraft has quit (Quit: Leaving).
19:37:31 <ais523> e.g. DO STASH .1 DO EXCHANGE STASH VARIABLE LIST WITH RETRIEVE VARIABLE LIST
19:37:52 <ais523> at least, I can't remember the exact syntax of EXCHANGE, would you really expect me to?
19:37:59 <ais523> but it's much simpler than CREATE's, at least
19:37:59 <elliott> ais523: well, "the meaning of a command changing" is just newspeak for "the command has a branch"
19:38:18 <ais523> elliott: ah, so you'd work out all the possible meanings of a command at compile time?
19:38:32 <ais523> what if the CREATE statement was in a linked Befunge library rather than in the program itself?
19:38:34 <elliott> ais523: possibly; OTOH, it sounds more fun to unrewrite
19:38:50 <elliott> ais523: which would mean that I'd tag every part of the primitive call with the string of INTERCAL that it originated from
19:38:56 <ais523> (I had to implement that as soon as I realised it would be possible, and not too difficult)
19:38:57 <elliott> and then piece it together to unrewrite
19:40:12 <elliott> ais523: I'm really tempted to make the only supported target platform Wine
19:40:26 <ais523> elliott: the development tools will be a pain
19:40:32 <elliott> ais523: Wine with Cygwin, I mean
19:40:36 <ais523> but that's the only thing making it a bad idea
19:40:40 <ais523> also, Cygwin doesn't run under Wine
19:40:43 <elliott> all it'd require is for me to use a handful of Windows calls gratuitously
19:40:44 <ais523> I know, I actually tried
19:40:50 <elliott> people have gotten it working in the past, IIRC
19:40:52 <ais523> well, not last time I tried, at least
19:41:04 <elliott> ais523: well, I could just link to Winelib
19:41:10 <elliott> that doesn't prohibit you from linking to a POSIX libc, after all
19:42:06 <elliott> ais523: ooh, I could make the rewrites "timeless"
19:42:20 <elliott> invalid statements would simply not get rewritten, and executing something which can't be rewritten and isn't a primitive causes an error
19:42:29 <elliott> then, CREATE would simply introduce a new command
19:43:09 <pikhq> elliott: Well, you'd get symbol conflicts if you didn't link to the system libc.
19:43:33 -!- Sgeo has quit (Ping timeout: 255 seconds).
19:43:37 <elliott> pikhq: indeed, but the system is POSIX
19:43:54 <pikhq> True. So there's no real reason you *can't* just link to the system libc.
19:44:25 <elliott> you have to to use Winelib, I think
19:44:58 <pikhq> Yes, and that's why you'd have symbol conflicts if you didn't use the system libc for your libc.
19:45:31 <elliott> ais523: hmm, maybe I'll fork tcc for ITRALCEN
19:45:36 <elliott> ais523: and make it compile into memory only
19:45:41 <elliott> that way, I can make my inline <language> instruction be "inline C"
19:47:05 <elliott> hmm, what's the Windows function to create a dirt-simple alert box?
19:47:25 <oerjan> <ais523> gah, that name hurts my head just when I try to mentally pronounce it
19:47:27 <elliott> it occurs to me that I'll have to think of an actually decent reason to use Windows functions
19:47:33 <ais523> elliott: MessageBoxEx, I think
19:47:37 <ais523> unless they've changed it again
19:47:48 <elliott> ais523: so, MessageBox then
19:47:56 <ais523> I'm not sure if that one ever existed
19:47:57 <oerjan> oh i forgot ais523 is allergic to puns
19:48:01 <ais523> and that's the parent, you can pass in NULL
19:48:10 <olsner> it is MessageBox in visual basic at least (was? dunno about .net)
19:48:10 <ais523> if you don't have a window yourself to parent it to
19:48:17 <elliott> that's not a C string is it
19:48:37 <ais523> not in the normal format, I don't think
19:48:37 <oerjan> (what do you _mean_ i would probably have done it anyway)
19:48:40 <elliott> (LPCWSTR)L"Resource not available\nDo you want to try again?",
19:48:47 <olsner> it's a *long* pointer to a constant wide (or ansi) string
19:48:55 <ais523> olsner: that's what I was guessing
19:49:07 <ais523> I didn't recognise the T, but guessed it indicated UTF-16
19:49:25 <ais523> most API calls use long pointers
19:49:26 <olsner> L stands for herp, T stands for derp, the rest is meaningless
19:49:38 <elliott> ais523: calling MessageBox outside of WinMain is a dumb idea, right?
19:49:42 <elliott> I'm trying to use a regular Unix main()
19:49:48 -!- Sgeo has joined.
19:50:00 <elliott> /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
19:50:07 <elliott> wine doesn't support sixty four bit
19:50:08 <ais523> elliott: a regular main() will emulate all the stuff you need to make it act like a C89 main, I thought
19:50:13 <elliott> this just keeps getting betterer and betterer
19:50:27 <fizzie> TCHAR is either a char (for an ANSI string) or a WCHAR (on a Unicode platform).
19:50:40 <ais523> hmm, is L"string" a Windowsism, or in one of the actual C standards?
19:50:44 <ais523> I think the latter, but am not sure
19:50:48 <ais523> I know it's basically only used on Windows
19:50:57 <olsner> L"" makes a wchar_t string, it's standard
19:50:58 <ais523> because other platforms tend to do their Unicode by hand
19:51:16 <olsner> but you don't know what it means, it "can" be non-unicode
19:51:27 <ais523> yep, depending on what wchar_t is
19:51:32 <ais523> no wonder people generally do it by hand
19:51:36 <olsner> even when it is unicode, sometimes it's UCS-4, sometimes UCS-2 and sometimes UTF-16 :)
19:52:00 <elliott> there's pretty much no justification to use it, ever
19:52:19 <ais523> elliott: what's your opinion on the similar-but-different ucs-2?
19:52:37 <elliott> ais523: UCS-2 can't even handle non-BMP, can it??
19:52:42 <elliott> "It is not possible to encode these code points in UCS-2."
19:52:57 <fizzie> _T is either an empty macro or L, for defining TCHAR string literals.
19:53:08 <ais523> UCS-2 is basically UTF-16 except surrogates are meaningless rather than being usable to express astral planes
19:53:22 <elliott> UCS-2 made sense before the astral planes
19:53:26 <ais523> fizzie: isn't _T in implementation namespace?
19:53:42 <elliott> UTF-16 is acceptable only when you're upgrading from UCS-2, I guess
19:53:55 <pikhq> Which is why Windows uses it for internal APIs.
19:54:14 -!- zzo38 has joined.
19:54:28 <elliott> test.c: In function ‘main’:
19:54:28 <elliott> test.c:6:3: warning: passing argument 2 of ‘MessageBoxA’ from incompatible pointer type
19:54:39 <zzo38> I have talked with the other project manager and can now answer some of your other questions.
19:54:41 <fizzie> ais523: At least it only gets defined if you ask for tchar.h.
19:54:54 <zzo38> We will not omit the optical drive in favor of USB only.
19:54:56 <olsner> elliott: just disable warnings
19:55:34 <fizzie> If it's MessageBoxA, it sounds like it's using the ANSI version, where you should be able to pass a char* too.
19:55:39 <elliott> fizzie: error: ‘_T’ undeclared
19:55:41 <elliott> guess wine doesn't have it
19:55:50 <elliott> and no, it's MessageBox(), which I guess is defined to be MessageBoxA?
19:56:00 <zzo38> elliott: Two of the reasons are: * Optical discs are less expensive in general * Optical discs last longer in general * There are other reasons too
19:56:20 <elliott> zzo38: optical disks last longer than USB disks?
19:56:21 <coppro> that's not two reasons
19:56:23 <fizzie> Yes, but the fact it gets turned to MessageBoxA instead of MessageBoxTheOtherThing indicates ansi.
19:56:56 <coppro> I DO NOT BELIEVE IN ASCII
19:57:04 -!- ais523 has quit (Read error: Connection reset by peer).
19:57:09 <elliott> zzo38: anyway, I thought the point was that you could easily plug a USB DVD drive in, so it saves space overall
19:57:15 * elliott goes back to convincing winegcc to work
19:57:21 <zzo38> The gold edition is currently estimated at $20000.00 although the price will likely go down. Standard edition will be reasonably priced, though, although we cannot yet estimate the price.
19:57:27 <coppro> I BELIEVE IN 1-BYTE UTF-8
19:57:40 <zzo38> Yes, it is very overpriced.
19:58:05 <zzo38> The standard edition will be way less than that. And even the price of the gold edition might not actually be that high, it is just estimate.
19:58:33 <elliott> yay, I just ran a program that uses both fork and MessageBoxA
19:58:36 <olsner> elliott: I think you're supposed to a) define some macro to say whether you want T stuff to mean wchar or char, b) include the header full of T stuff
19:59:02 <zzo38> (I will try to include enough stuff with the gold edition to justify the high price for the purchasers)
19:59:04 <olsner> but using HerpDerpA functions with normal strings should work fine too
19:59:20 <fizzie> You can include <tchar.h> to get the stuff, including the _T thing.
19:59:31 <olsner> the stuff, including the thing :D
19:59:36 <elliott> zzo38: you realise that's approximately five hundred times as expensive as the most expensive consoles, right?
20:00:12 <coppro> CakeProphet: where at?
20:00:18 <fizzie> (Or explicitly define _UNICODE I guess, which should make it use to FooW functions that take wchar_t strings.)
20:00:35 <elliott> lmao, the .exe winegcc generates is actually a shell script
20:00:38 <zzo38> elliott: Yes I do realize that. However, I did say that it is possible the price might go way down even before it is actually sold. Also, the standard edition is not going to cost anywhere near that high price, it is going to be a lot a lot less.
20:00:38 <CakeProphet> Wal-Mart. Working the night shift, stocking shit in the wee hours of the morning.
20:01:00 <olsner> so, yet another brainfuck encoding, this one both herps and derps: https://gist.github.com/1013014
20:01:29 <elliott> olsner: did you write this
20:03:08 <coppro> ugh, sometimes I hate thunderbird
20:03:38 <elliott> coppro: me too; for instance: whenever i'm using thunderbird
20:04:02 <coppro> out of curiosity, what do you use?
20:04:11 <elliott> gmail.com because i'm lazy as fuck
20:04:18 <elliott> it has a decent UI, at least
20:04:27 <elliott> i've muscle-memoried the keyboard shortcuts mostly
20:04:38 <pikhq> Yeah, it's a non-terrible web UI.
20:04:40 <coppro> my problem with gmail is the filtering was a bit braindead last I tried
20:04:43 <elliott> I couldn't switch to any client without the conversation view, pretty much
20:04:46 <pikhq> Which is actually pretty amazing.
20:04:49 <CakeProphet> well, I don't know if I got the job yet, but they're asking me to meet them at the bathroom tomorrow at 10 AM, which PROBABLY means they're going to drug test me, and I'm pretty sure they don't drug test people without hiring them.
20:04:57 <olsner> great, no setting to disable these disgusting automatic smileys in xchat
20:05:04 <elliott> coppro: hmm, the only filters I have are
20:05:07 <elliott> Matches: to:(agora-business@agoranomic.org)
20:05:07 <elliott> Do this: Skip Inbox, Apply label "Agora"[etc.]
20:05:20 <elliott> what do you do that gmail can't handle?
20:05:26 <coppro> but if you try to reapply such a filter after something happens like you accidentally delete a label
20:05:34 <coppro> it filters the whole damn conversation
20:05:38 <coppro> not individual mesasges
20:05:50 <elliott> well... gmail doesn't really have a concept of "message" as something that can move
20:05:53 <coppro> this is unacceptable when I'm using IMAP
20:06:19 <coppro> in particular, I keep A-B and A-D in separate folders
20:06:39 <elliott> that's a terrible practice; I did that, but it turns out it makes reading things a royal pain
20:06:49 <elliott> so I stopped as soon as I actually registered
20:07:19 <coppro> now, if I switched to the web UI exclusively now that they have offline access, that would work; I'd have to learn that I can't do the separate folder thing which would be ok if a bit annoying
20:07:56 <coppro> but there are a few other issues that annoy me sufficiently
20:08:44 <coppro> well, things in total are better with thunderbird
20:08:49 <elliott> what about Sylpheed/Claws? those are pretty popular with the kind of silly people who use traditional-style desktop mail clients
20:09:02 <coppro> if GMail could act as an IMAP client, I'd like that
20:10:03 <coppro> I very much like the webserver I use
20:10:27 <coppro> My email is hosted on a server
20:10:45 <elliott> you typo'd; s/webserver/server/
20:15:01 <pikhq> "Checking for exit in -lboost_regex"
20:15:18 <pikhq> DON'T BE RETARDED YOU RETARD
20:17:01 <pikhq> EXIT IS NOT EVER GOING TO BE IN -lboost_regex. EVER.
20:17:39 <pikhq> This is actually in the AX_BOOST_REGEX macro.
20:18:13 <pikhq> It does that test *using C*, no less.
20:18:42 <pikhq> ... It later goes on to do an AC_CHECK_LIB for *main*.
20:18:52 <pikhq> MAIN IS EVEN LESS LIKELY TO BE IN -lboost_regex.
20:19:13 <pikhq> FUCK YOU, BOOST. FUCK YOU.
20:19:48 <pikhq> Also, FOR THE LOVE OF GOD PEOPLE, USE PKGCONFIG.
20:19:59 <pikhq> IT IS STRICTLY BETTER THAN YOUR STUPID BULLSHIT.
20:20:08 <olsner> I think what it's trying to see is if an empty program can successfully link to -lboost_regex
20:20:27 <pikhq> olsner: Yes, and AC_CHECK_LIB does not do that.
20:20:52 <olsner> it might do that if you give it nonsensical symbol names to check for :P
20:21:23 <pikhq> AC_CHECK_LIB checks to see if you can successfully link a program that contains a reference to a symbol in a given library, *and then execute it*.
20:23:09 <pikhq> So, if you use a symbol that's not in the library you're checking, you're doing it wrong and you suck.
20:23:24 <pikhq> Did I happen to mention that you should use pkg-config?
20:25:51 <olsner> I do believe that you did
20:26:48 <pikhq> It bears mentioning often. As pkg-config is The Right Answer.
20:27:10 <elliott> olsner: do you know how to get bochs to stop outputting all that junk when it starts up
20:27:38 <elliott> its just such a pain to useeee
20:29:00 <elliott> are you proposing i use qemu :p
20:29:44 <olsner> no, I was actually only proposing you don't use bochs :P
20:30:09 <olsner> whether that means replacing it or just ceasing all activity is up to you
20:30:56 <coppro> I'm not an abd person :(
20:31:09 <elliott> youre the most abd fuckin person ive ever heard of
20:31:25 <coppro> well of course I'm abd fuckin
20:31:25 <olsner> ABD people, the very worst kind of people
20:31:51 <olsner> I bet you're extremely syntax too
20:31:57 * pikhq kinda wonders what level of configurability eglibc actually *has*...
20:32:09 <nooga> i like parsing so i will write a parser for a language that you can use to write a parser which is jit compiled and parses text
20:32:25 <pikhq> Most definitely nothing comparable to uclibc, but still, curious.
20:33:48 <nooga> like uh, grep specializer
20:34:02 <olsner> it's the ... grepalizer!
20:34:34 <nooga> i did it once but it sucked
20:34:52 <nooga> i want to make a second attempt
20:35:14 <olsner> so what makes you think it will go better this time?
20:35:41 <nooga> i was in a hurry because i wanted to show it on my university
20:36:08 <nooga> i've got this Puss Ruby DSL, in which you define grammar and then it generates random strings that comply to that grammar
20:36:45 <nooga> what would happen if one defined a grammar of that DSL to generate random grammar definitions and feed them into the Puss itself
20:38:04 <olsner> sorry, I mean P U S S E P T I O N, of course
20:38:19 <nooga> https://github.com/nooga/puss
20:38:53 <nooga> but i don't want to accidentaly divide by 0
20:39:26 <Phantom_Hoover> Yo dawg, division by zero, I N C E P T I O N... they're all tired.
20:39:46 <olsner> elliott: you mean the ones we have are good enough?
20:39:46 <elliott> division by zero is a recursion meme?
20:40:06 <elliott> olsner: no i mean they suck
20:40:17 <Phantom_Hoover> By which I mean people reference it when recursion crops up.
20:40:52 <nooga> "The Seventh Voyage", in which a spaceship defect forces Tichy through a series of time vortices, creating a multitude of temporal copies of Tichy.
20:41:01 <nooga> from the Star Diaries by S. Lem
20:41:24 <nooga> could be a good source of confusing paradoxes
20:41:49 <pikhq> Hmm. eglibc is rather less configurable than I'd hoped.
20:42:01 <pikhq> Though still a hell of a lot better than glibc.
20:43:43 <pikhq> It's possible to make a glibc that won't use dlopen with static linking. That's nice, at least.
20:45:46 <monqy> what's the star diaries
20:46:19 <pikhq> Wow, apparently just getting rid of eglibc's locale support suts a giant swath of the libc's size.
20:46:32 <elliott> You must be logged in and have a valid e-mail address in your preferences to send e-mail to other users.
20:46:42 * elliott confirms his fucking email address
20:47:09 <elliott> This user has not specified a valid e-mail address, or has chosen not to receive e-mail from other users.
20:47:20 <elliott> i guess i will just wait then
20:48:57 <elliott> shut up tarski............
20:50:15 <oerjan> banach-tarski banach-tarski
20:51:16 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
20:51:45 <oerjan> banach-tarski works both as a recursion meme and as a recursion meme, separately
20:52:32 <elliott> hmm, LtU has slown down lately
20:52:41 <oerjan> elliott: NEEDS CONTROL GROUP FOR VERIFICATION
20:52:42 <elliott> and Arcane Sentiment hasn't seen a post since April
20:59:21 -!- elliott has quit (Remote host closed the connection).
21:00:03 -!- elliott has joined.
21:00:43 <elliott> is there really no haskell package for fixed-sized arrays...
21:00:45 <elliott> i.e. three by three by three
21:01:20 <elliott> I mean I know I could do ((a,a,a),(a,a,a),(a,a,a)) but that's ugly
21:01:40 <monqy> type Cool a = ((a, a, a), (a, a, a), (a, a, a))
21:02:30 <olsner> elliott: (a,a,a,a,a,a,a,a,a) then? :)
21:02:35 <oerjan> didn't i see a linear algebra package like that when someone was asking for how to do gauss elimination in haskell a while ago
21:03:18 <oerjan> and btw did anyone ever get that implemented
21:03:28 <elliott> hmatrix-static library: hmatrix with vector and matrix sizes encoded in types
21:03:35 <elliott> Phantom_Hoover: there's repa, but that just encodes dimension in type
21:03:39 <elliott> oerjan: nobody has yet, AFAIK
21:03:46 <Phantom_Hoover> Also, aren't you essentially talking about dependent typing?
21:05:38 <oerjan> elliott: oh wait you actually want arrays, not matrices?
21:05:45 <oerjan> i.e. not linalg related
21:05:56 <elliott> Phantom_Hoover: Yes. This has nothing to do with dependent types.
21:06:08 <elliott> If you think it does, you are mistaken about what dependent types are.
21:06:23 <Phantom_Hoover> "In computer science and logic, a dependent type is a type that depends on a value"
21:06:40 <oerjan> Phantom_Hoover: this is ok without dependent types because you have to encode the dimensions as a _type_, you cannot convert it from a value
21:06:55 <elliott> oerjan: it is ok even if you have values at the type-level.
21:07:00 <elliott> there is no use of the dependent function arrow.
21:07:13 <elliott> it's definitely not dependent typing
21:07:20 <oerjan> elliott: well i mean it's ok in haskell
21:08:23 <oerjan> iirc didn't ghc recently get an extension where integer literals could be used as types, was that for this kind of stuff...
21:08:49 <elliott> That would be really nice, do you have any links?
21:10:02 <elliott> Couldn't match expected type `()' with actual type `Grid (S n0) a0'
21:10:02 <elliott> In the first argument of `(:*:)', namely `() :*: () :*: ()'
21:10:02 <elliott> In the expression: (() :*: () :*: () :*: X) :: Grid T3 ()
21:10:50 <elliott> no lambdabot, no dollar sign
21:12:47 <elliott> () :*: () :: Grid n () ~ () => GridS n ()
21:13:59 <oerjan> i think : has same precedence as ++, 6 or so
21:14:09 <elliott> Constraint is no smaller than the instance head
21:14:09 <elliott> in the constraint: Show (Grid n t)
21:14:09 <elliott> (Use -XUndecidableInstances to permit this)
21:14:21 <elliott> data GridS n t = t :*: Grid n t
21:14:22 <elliott> deriving instance (Show (Grid n t)) => Show (GridS n t)
21:14:39 <oerjan> elliott: um doesn't the (0$0 :) trick work in ghci?
21:15:09 <elliott> oerjan: yes yes yes fix my bug
21:16:30 <oerjan> well "Constraint is no smaller than the instance head" looks pretty accurate
21:19:59 <elliott> <oerjan> i think : has same precedence as ++, 6 or so
21:20:53 <elliott> N :*: (N :*: N) :/: (N :*: (N :*: N) :/: N :*: (N :*: N))
21:20:56 <oerjan> i may have misunderstood; at least i cannot find these number literal types in the language options
21:21:02 <elliott> I said it was infixr why don't you take that into account :(
21:21:19 <elliott> oerjan: but hey look, planet overkill: http://sprunge.us/IAJR
21:21:33 <oerjan> Show instances don't; we've discussed this before i think
21:21:53 <oerjan> *derived Show instances
21:22:17 <oerjan> define showsPrec yourself if you want it to be nice
21:24:57 <elliott> class (Show t => Show (Grid s t)) => Grid s t where
21:25:00 <elliott> that's not a valid constraint, is it.
21:28:14 <oerjan> you might want a , there
21:29:29 <elliott> oerjan: hmm, now i'm venturing into dependent typey territory (wanted to make xs!n a type error if n is too big :D)
21:32:41 <elliott> argh... this is irritating
21:47:59 <elliott> oerjan: i'm still working on it :D
21:53:55 <nooga> i'm writing an infinite, recursive loop that won't kill the stack :D
21:59:16 -!- wareya has quit (Read error: Connection reset by peer).
22:00:10 -!- wareya has joined.
22:01:38 <elliott> oerjan: i wish haskell had proper overloaded integers :(
22:01:57 <elliott> (you can't define a LessThanFour type where (4 :: LessThanFour) causes a type error)
22:02:27 -!- azaq23 has quit (Quit: Leaving.).
22:04:30 -!- Phantom_Hoover has quit (Quit: Leaving).
22:14:16 <nooga> oerjan: i use cdecl and pop function address from the stack as an argument
22:24:41 -!- oscuro has joined.
22:24:44 -!- oscuro has quit (Client Quit).
22:44:53 -!- augur has quit (Remote host closed the connection).
22:50:14 <pikhq> nooga: You could just assume GNU C and make it easy on yourself. :P
22:51:49 <elliott> For example, ''pabi'' plus ''raha'' (5) is written ''gahaha pabi raha''.
22:53:21 <monqy> gahaha is a good name for addition
22:56:58 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:04:38 -!- olsner has quit (Quit: Leaving).
23:05:25 <elliott> pikhq: hey i'm reading a log where you mock me for proposing writing everything above the kernel and drivers in a high-level language because you'd need a supercomputer to do anything :D
23:06:50 <elliott> nooga: its ok hes less of a terrible person now
23:07:06 <pikhq> nooga: I have learned that C sucks terribly.
23:07:20 <nooga> i heard that i'm a terrible person
23:07:24 <elliott> lol apparently Singularity is proof that nothing good will come from Microsoft ever :DDDD
23:07:30 <elliott> it's ok to mock all you guyses past selves right
23:07:35 <pikhq> And that smart algorithms > smart microöptimizations, 99% of the time.
23:07:35 <elliott> i mean i do it to your present selves so i figure
23:07:45 <nooga> from GLaDOS while playing portal 2
23:08:01 <elliott> 00:32:36: <ehird> Bring back Lisp Machines! Write the OS in Lisp and let the user-mode language be Haskell!
23:08:01 <elliott> 00:32:49: <ehird> VIVA LA GRAPH REDUCIÃ<93>N!
23:08:02 <elliott> 00:33:23: <pikhq> You say this because you are unfamiliar with anything more low-level than a simple GUI. :P
23:08:09 <elliott> (vim messing up the unicode, that is)
23:08:54 <pikhq> Also, if you're *going* to do C, it should suck less.
23:09:19 <elliott> apparently if lisp machines were at all good at anything they would still be being made because there's a niche market for them :x
23:09:22 -!- Tritonio has joined.
23:09:59 <nooga> someone should make a lisp cluster in one FPGA chip
23:10:06 <elliott> http://www.cs.york.ac.uk/fp/reduceron/
23:10:11 <elliott> nooga: stanislav is ostensibly working on a lisp fpga :P
23:10:19 <elliott> CakeProphet: It's a symbolic graph-reduction FPGA machine
23:10:28 <elliott> CakeProphet: Specified in York Lava, which is a Haskell library for declarative hardware
23:10:35 <elliott> It's the coolest damn thing ever
23:10:49 <nooga> declarative hardware sounds mind blowing
23:10:54 <CakeProphet> I'm not sure if your definition of cool is representative.
23:11:05 -!- dnm_ has left.
23:11:09 <elliott> CakeProphet: How is this not cool.
23:11:19 <elliott> nooga: see YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz
23:11:25 <elliott> nooga: also, ais' work is similar to this
23:11:33 <elliott> in that he's working on something "one level up" from VHDL
23:11:55 <elliott> that's why he's spending his days compiling algol 60 code into vhdl :)
23:12:04 -!- Patashu has joined.
23:12:24 <elliott> But yeah, the Reduceron is just the coolest thing. and the memos are mind-expanding.
23:12:46 <CakeProphet> I've heard similar things about various drugs.
23:13:38 <elliott> nooga: but yeah, the entire Reduceron is specified in York Lava
23:13:58 <elliott> there's also an emulator in ~seven hundred and fifty lines of C
23:14:03 <elliott> (including whitespace and comments)
23:14:09 <elliott> with speculative evaluation, too
23:14:10 <Patashu> what are we talking about?
23:14:18 <elliott> Patashu: The Reduceron http://www.cs.york.ac.uk/fp/reduceron/
23:14:20 <nooga> yeah, i'm reading the emulator src ;]
23:14:32 <nooga> or rather browsing it
23:14:33 <elliott> Patashu: a purely-functional, symbolic graph reducing CPU architecture
23:15:13 <elliott> nooga: look at fpga/Reduceron/Reduceron.vhd... gotta love generated code :D
23:15:18 <Patashu> so it's haskell in ur circuitry
23:15:46 <elliott> The actual stuff the Reduceron evaluates is more like term-rewriting languages (think Q, Pure) than Haskell
23:15:51 <elliott> But yes, it's functional hardware.
23:16:08 <elliott> Defined with York Lava, which is a Haskell library for declarative hardware development that outputs to VHDL. I feel like I'm repeating myself.
23:16:13 <elliott> Probably because I am repeating myself.
23:19:47 <EgoBot> Interpreter len installed.
23:19:57 <EgoBot> Interpreter len deleted.
23:19:58 -!- augur has joined.
23:20:01 <EgoBot> Interpreter len installed.
23:20:13 <EgoBot> Interpreter len deleted.
23:20:16 <EgoBot> Interpreter wc installed.
23:20:25 <EgoBot> Interpreter wc deleted.
23:20:34 <EgoBot> Interpreter wc installed.
23:20:54 <elliott> It shows words, and characters.
23:20:57 <nooga> elliott: lol at the vhdl code
23:21:16 <elliott> nooga: you should look through the memos, they're really cool
23:21:27 <EgoBot> Interpreter wc deleted.
23:21:27 <nooga> i will, but tomorrow
23:21:28 <EgoBot> Interpreter len installed.
23:21:44 <nooga> got to go, good night
23:22:44 <EgoBot> /usr/bin/wc: sup dawg: No such file or directory
23:22:54 <EgoBot> /usr/bin/wc: sup: No such file or directory
23:23:47 <elliott> <CakeProphet> !wc -c "sup dawg"
23:24:26 <elliott> your version is borken, simple as :P
23:26:16 -!- nooga has quit (Ping timeout: 258 seconds).
23:26:53 <EgoBot> Interpreter wc installed.
23:26:58 <EgoBot> /usr/bin/wc: sup: No such file or directory
23:27:20 <EgoBot> Interpreter len deleted.
23:28:53 <EgoBot> Interpreter wc deleted.
23:29:19 <CakeProphet> not useful if I can't specify options as well as the standard input.
23:30:36 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\b[^-].*//'`; text=`echo "$text" | sed 's/.*\b\([^-]\)/\1/'`; echo "$text" | wc $opts
23:30:37 <EgoBot> Interpreter wc installed.
23:34:08 -!- FireFly has quit (Remote host closed the connection).
23:34:20 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:36:23 * elliott drools over the reduceron memos some more
23:36:57 <elliott> "To see the impact of the dynamic sharing analysis, look at the
23:36:57 <elliott> differences between the numbers of updates and unwinds. Without any
23:36:58 <elliott> sharing analysis, these numbers would be the same. On average, the
23:36:58 <elliott> dynamic sharing analysis avoids 60% of updates."
23:37:41 <elliott> oerjan when i make the perfect computer you can have one ok
23:41:37 <elliott> oerjan: you were meant to say "thank you you are so kind"
23:42:07 -!- pikhq_ has joined.
23:42:07 <oerjan> Danke schön, Sie sind so Kind
23:42:50 <elliott> oops now you guys know my widemouthed secret too
23:45:31 -!- pikhq has quit (Ping timeout: 260 seconds).
23:45:51 <CakeProphet> !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W*\w*)*/; $opt=join(' ', m/$r/); s/$r//;print `echo "$_" | wc $opt`
23:45:51 <EgoBot> Interpreter wc2 installed.
23:46:30 -!- Tritonio has quit (Quit: Leaving).
23:46:48 <elliott> `run echo "-abc donkeys" | sed 's/\b[^-].*//'
23:46:52 <CakeProphet> ..asshole? What about Perl makes me an asshole.
23:47:11 <elliott> `run echo "-abc donkeys" | sed 's/\( \|^\)[^-].*//'
23:47:29 <elliott> `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]//'
23:47:36 <elliott> `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]\)/\/'
23:47:43 <EgoBot> Interpreter wc2 deleted.
23:47:45 -!- elliott has quit (Remote host closed the connection).
23:48:11 -!- elliott has joined.
23:48:45 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts
23:48:45 <EgoBot> There is already an interpreter for wc!
23:48:48 <EgoBot> Interpreter wc deleted.
23:48:48 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts
23:48:49 <EgoBot> Interpreter wc installed.
23:49:10 <EgoBot> Interpreter wc deleted.
23:49:16 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts
23:49:17 <EgoBot> Interpreter wc installed.
23:49:39 <elliott> CakeProphet: bow to your new god
23:49:44 <CakeProphet> !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W+\w+)*/; m/$r/; $opt=$1; s/$r//;print `echo "$_" | wc $opt`
23:49:44 <EgoBot> Interpreter wc2 installed.
23:50:08 <elliott> <CakeProphet> !addinterp wc2
23:50:40 <oklopol> why are there bans on this channel
23:50:45 <oklopol> could someone please remove them all
23:51:15 <cheater_> in case you ever want to use those hosts
23:51:21 <elliott> * #esoteric Banlist: Tue Mar 29 04:26:23 honey!*@beehive.insectopia.us kornbluth.freenode.net
23:51:24 <elliott> thats an important ban oklopol
23:51:26 <EgoBot> Interpreter wc2 deleted.
23:51:47 <elliott> you should totally remove the shutup bans though oerjan
23:51:49 <cheater_> i have a bee nest outside my window
23:51:56 <oklopol> oerjan: could you remove the bans
23:52:08 <oklopol> really think those people are trying to get in?
23:52:30 <elliott> shutup would definitely return if its ban was removed
23:53:30 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print `echo "$_" | wc $opt`
23:53:31 <EgoBot> Interpreter wc2 installed.
23:54:29 <oerjan> we already did a ban list cleanup not _that_ long ago
23:54:53 <oklopol> those are all over a month old
23:55:26 <elliott> definitely think we need shutup unbanned
23:55:42 <oerjan> ...by which i mean something like < 6 months ago
23:55:44 <elliott> CakeProphet: i did, by rewriting it in sh, in the past
23:56:00 <EgoBot> Interpreter wc2 deleted.
23:56:44 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print;#print `echo "$_" | wc $opt`
23:56:44 <EgoBot> Interpreter wc2 installed.
23:56:49 <EgoBot> -c test teorkjwerijwer
23:57:47 <elliott> homp;/^\w*([-]\W+\w+)*/;$o
23:58:03 <elliott> is that a boolean matching?
23:58:03 -!- lambdabot has joined.
23:58:32 <EgoBot> Interpreter wc2 deleted.
23:59:20 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;s/^\w*([-]\W+\w+)*//;$opt=$1;print;#print `echo "$_" | wc $opt`
23:59:20 <EgoBot> Interpreter wc2 installed.
00:00:02 <EgoBot> Interpreter wc2 deleted.
00:00:25 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;s/^\W*([-]\w+\W+)*//;$opt=$1;print `echo "$_" | wc $opt`
00:00:26 <EgoBot> Interpreter wc2 installed.
00:00:53 <CakeProphet> \w stands for "word character" not "whitespace"
00:01:32 <EgoBot> Interpreter wc2 deleted.
00:02:51 <oerjan> > mapM (length <$>) [lines, words, id] "test\nho there"
00:02:52 <lambdabot> Couldn't match expected type `GHC.Types.Char'
00:03:26 <elliott> could this ircing get any better???
00:04:19 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;s/^\s*((?:[-]\S+\s+)*)//;$opt=$1;print;print `echo "$_" | wc $opt`
00:04:19 <EgoBot> Interpreter wc2 installed.
00:04:25 <EgoBot> weorjsoidfjiuwehriuwheriuhweriuh33
00:04:47 <CakeProphet> except with emulating wc as an IRC bot command
00:04:57 <EgoBot> Interpreter wc2 deleted.
00:05:20 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;s/^\s*((?:[-]\S+\s+)*)//;$opt=$1;print `echo "$_" | wc $opt`
00:05:20 <EgoBot> Interpreter wc2 installed.
00:05:23 <pikhq_> Hmm. include-what-you-use may be the single greatest boon to porting something to work on musl.
00:06:43 <oerjan> > mapM (length.) [lines, words, (pure.)] "test\nho there"
00:07:05 <pikhq_> And include-what-you-use is a static analysis tool built with clang that does, well, what you think it does.
00:07:11 <EgoBot> Interpreter sh__ installed.
00:07:21 <CakeProphet> elliott: it's an improved sh because it runs through perl...
00:11:35 <CakeProphet> elliott: also, because there was totally an implied golfing contest, my code has few bytes with whitespace removed
00:12:07 <EgoBot> Interpreter wc2 deleted.
00:12:49 <CakeProphet> !addinterp wc2 perl $_=<>;chop;s/^\s*((?:[-]\S+\s+)*)//;print`echo "$_"|wc $1`
00:12:49 <EgoBot> Interpreter wc2 installed.
00:20:41 <pikhq_> Hmmmm. I think that I might be able to get GNU coreutils to coöperate with me. Near as I can tell, the stupid bits of gnulib are actually just someone being overzealous.
00:20:53 <pikhq_> That is, I may well be able to fix it via rm.
00:21:49 <elliott> but why would you want gnu coreutils
00:23:21 <pikhq_> I was just wondering, mostly.
00:23:45 <pikhq_> I'm going to be amused if the portability problems of GNU shit is because they just stuck too much stuff from gnulib in there.
00:28:47 <CakeProphet> I wonder why stallman is the butt of so many jokes. He's a pretty cool guy, doesn't afraid of anything.
00:29:27 <pikhq_> Guess what won't work anywhere at all?
00:29:53 <pikhq_> Incidentally, that header only exists on OS X 10.5.
00:30:20 <pikhq_> /* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */
00:30:24 <pikhq_> Well, that's what they claim.
00:30:38 <coppro> glibc does the same but they #include <xlocale.h> in <locale.h?
00:33:52 <CakeProphet> coppro: on an utterly pedantic note, I don't think you have to escape the ? if there's nothing in front of it.
00:36:04 <CakeProphet> though it would be an interesting extension if a ? at the beginning of the regex signified that the null string is acceptable or something.
00:36:43 <CakeProphet> equivalent to (?:...)? around the entire expression
00:37:48 -!- cheater_ has quit (Ping timeout: 248 seconds).
00:40:47 -!- cheater_ has joined.
00:52:20 <CakeProphet> I have no idea what I would be doing with myself if I had never learned how to program.
00:52:31 -!- oklopol has quit (Ping timeout: 258 seconds).
00:53:25 <CakeProphet> and would have become an English major or something awful like that.
00:54:26 <CakeProphet> elliott: link me an interesting data structure that I haven't heard of.
00:56:18 <CakeProphet> and on yet another unrelated note, they should REALLY put something like fclabels into Haskell by default, and completely redo the record syntax.
00:56:57 <elliott> haskell records are pretty much the worst yeah
00:57:24 <CakeProphet> because as it currently stands there is no higher-order mechanism to re-set record fields cleanly.
00:57:42 <CakeProphet> without using fclabels, which uses template haskell I believe.
00:57:49 <elliott> we also need some kind of type-directed name resolution.
00:57:51 <elliott> http://hackage.haskell.org/trac/haskell-prime/wiki/TypeDirectedNameResolution
00:57:58 <elliott> CakeProphet: you can derive the accessors manually if you want to avoid TH
00:59:04 <CakeProphet> well it's not so much that I want to avoid it, it's just that the fclabels syntax to declare something as a fclabel is somewhat ugly.
00:59:27 <elliott> you can omit the $() in ghc 7
00:59:36 <elliott> data Point = Point { _x :: Integer, _y :: Integer }
01:00:31 <CakeProphet> elliott: essentially this proposal is proposing a kind of overloading. Which I think is a good idea(tm)
01:00:47 <elliott> we already have overloading (typeclasses)
01:00:51 -!- Sgeo has quit (Ping timeout: 252 seconds).
01:00:52 <elliott> (unstructured overloading is Dangerous)
01:01:10 <elliott> it's in fact just exactly what it says on the tin ... type-directed name resolution :P
01:03:19 <CakeProphet> elliott: to me the . lexeme seems somewhat unecessary.
01:04:38 <CakeProphet> you could just overload the accessor name based on the type of the first argument (read: type directed name resolution) but skip the . syntax, which already has enough things that it represents.
01:06:24 -!- augur has quit (Remote host closed the connection).
01:08:13 <CakeProphet> the only problem would be that :t accessorName is now ambiguous, or would refer to only one while hiding all others. But, that proposal has that problem as well.
01:23:10 <elliott> CakeProphet: that's really ugly. and no, the proposal doesn't have the latter problem
01:23:15 <elliott> note that most of the later sections are just /ideas/
01:23:26 <elliott> and the ones that involve two functions with the same name in the same module scope are bad ones :)
01:24:00 <CakeProphet> I don't see anything wrong with M.accessor x
01:24:49 <CakeProphet> http://hackage.haskell.org/trac/haskell-prime/wiki/ExistingRecords#First-classsyntax
01:25:08 <CakeProphet> I do like this proposal. Except the second syntax form is kind of weird and isn't really needed.
01:25:09 <elliott> M is usually more than one letter :P
01:25:28 <elliott> anyway WHAT WE REALLY NEED IS ML-STYLE MODULES DAMMIT
01:25:42 <CakeProphet> so what's wrong with "accessor x", where the name is resolved by the type of x?
01:28:29 <lambdabot> Test.HUnit.Base (~:) :: Testable t => String -> t -> Test
01:28:30 <lambdabot> Test.HUnit.Base (~=?) :: (Eq a, Show a) => a -> a -> Test
01:28:30 <lambdabot> Test.HUnit.Base (~?) :: AssertionPredicable t => t -> String -> Test
01:28:31 <elliott> <CakeProphet> so what's wrong with "accessor x", where the name is resolved by the type of x?
01:28:36 <elliott> because unstructured overloading is Scary.
01:28:51 <oerjan> CakeProphet: lazy pattern
01:29:23 <elliott> CakeProphet: no, it's not about sugar
01:29:32 <elliott> the .accessor denotes something very important here, it conveys the intent
01:29:46 <oerjan> > case Nothing of ~Just x -> "This will break " ++ x
01:29:47 <lambdabot> <no location info>: Parse error in pattern
01:30:01 <oerjan> > case Nothing of ~(Just x) -> "This will break " ++ x
01:30:04 <elliott> i feel http://r6.ca/blog/20090511T013939Z.html is quite relevant here
01:30:10 <elliott> even though it's about a more dynamic kind of dispatch than this.
01:30:12 <oerjan> > case Nothing of ~(Just x) -> "This will break " ++ x
01:30:15 <lambdabot> "This will break *Exception: <interactive>:(3,0)-(4,21): Irrefutable patter...
01:30:35 <elliott> get the FUCK out of this room
01:33:00 <CakeProphet> elliott: I thought it was about structured overloading..
01:33:38 <elliott> CakeProphet: yes but "f x" doing any kind of overloading is Scary :)
01:33:51 <CakeProphet> what's unstructured about "accessor functions are special, can overlap in a namespace, and are resolved by the type of their first argument"
01:34:58 <CakeProphet> scary for the timid, I suppose. It changes absolutely nothing about the semantics. It's purely a syntax thing to convey a smidgeon of extra warning that something (apparently) EVIL is going on.
01:35:00 <elliott> um what? "accessor functions are special"?
01:35:06 <elliott> type-directed name resolution works on /every/ function
01:35:35 <CakeProphet> right, that's what you're defending, I'm defending someting else.
01:36:12 <elliott> guys what does fly poo look like
01:36:43 <elliott> ok so this thing on my bed
01:37:02 <CakeProphet> if it's large enough to cause alarm probably not.
01:40:05 -!- augur has joined.
01:40:21 <CakeProphet> I mean, accessor functions are already special in the sense that they're automatically generated. It would be perfectly reasonable to specialize them a small step further by allowing their names to be disambiguated by first argument. Regular functions don't /need/ type-directed name resolution so they should be excluded.
01:41:09 <CakeProphet> because, yes, unstructured overloading is scary.
01:42:17 <CakeProphet> overloading of record field names is not scary, and is pretty commonly encountered in languages.
01:43:58 <CakeProphet> overloading of the . symbol to be a kind of reversed function application, a means to qualify variable names, and function composion... is pretty scary.
01:44:18 -!- oklopol has joined.
01:46:18 <elliott> you can pass accessor functions around
01:46:27 <elliott> treating applications of accessor functions differently to all other functions
01:46:30 <elliott> with the exact same syntax
01:46:33 <elliott> and the exact same naming rules
01:46:38 <elliott> is the most perverse, horrible thing ive ever heard of
01:46:49 <elliott> and goes right against everything i know about the spirit of haskell i.e. no insane non-local shit like that
01:47:09 <elliott> anyway . as composition already needs spaces around it because of module resolution
01:47:16 <elliott> ideally I would prefer some kind of unicode for composition
01:47:19 -!- Sgeo has joined.
01:47:22 <elliott> so that . could be less weird like that
01:47:28 <elliott> so we might as well take advantage of it
01:49:12 <elliott> four days without homestuck update :'(
01:50:13 <Sgeo> There isn't going to be a Flash, is there?
01:50:38 <Sgeo> I mean, I'd assume there would be, if not for the fact that the point of Doc Scratch narrating seems to be to prevent it
01:55:18 <elliott> see formspring. no flash till EOA
01:55:46 <Sgeo> The last Bonobo Conspiracy update was July 10, 2010
02:11:15 -!- fizzie has quit (*.net *.split).
02:11:16 -!- Wamanuz3 has quit (*.net *.split).
02:11:16 -!- ttm_ has quit (*.net *.split).
02:11:16 -!- Herobrine has quit (*.net *.split).
02:11:16 -!- HackEgo has quit (*.net *.split).
02:11:17 -!- yiyus has quit (*.net *.split).
02:11:24 -!- HackEgo has joined.
02:11:25 -!- Herobrine has joined.
02:11:31 <Sgeo> Just noting that some webcomics are kind of sad in how irregular updates have become, and MSPA hasn't hit that point
02:11:40 -!- yiyus has joined.
02:11:41 -!- Wamanuz3 has joined.
02:11:42 -!- ttm_ has joined.
02:13:35 -!- EgoBot has quit (Remote host closed the connection).
02:13:46 -!- EgoBot has joined.
02:15:47 <elliott> Sgeo: so... "some comics are dead -> a comic which has updated as often as twenty-one pages in one day not updating for four consecutive days, despite there being no Flash update coming, is irrelevant"? :p
02:15:57 <elliott> ofc it's not actually a big deal that it hasn't updated, but still
02:16:23 <CakeProphet> elliott: GHC could easily substitute the first argument of the accessor name to be a until the type is known. It doesn't have to resolve it immediately. :)
02:16:31 <elliott> CakeProphet: um how is that relevant
02:17:20 -!- fizzie has joined.
02:17:27 <CakeProphet> elliott: it's relevant because it has nothing to do with insane non-local shit.
02:17:50 <elliott> it is definitely non-local; the semantic definition of "f x" can change just because the definition of f was changed
02:18:13 <elliott> newtype MyMonadStack a = MyMonadStack { runMyMonadStack :: LotsOfTransformers a }
02:18:22 <elliott> newtype MyMonadStack a = MyMonadStack (LotsOfTransformers a)
02:18:27 <elliott> runMyMonadStack (MyMonadStack m) = m
02:18:46 <elliott> to have this kind of trivial refactoring drastically change the semantics of every function application in another module
02:19:18 <zzo38> How do you make a Haskell/Perl hybrid?
02:19:54 <CakeProphet> hybrid in principle, not in exact semantics, of course.
02:20:00 -!- augur has quit (Remote host closed the connection).
02:25:00 <CakeProphet> functional style (not ncessarily pure), powerful type system, convenient syntactic/semantic constructs, general awesomeness all around.
02:27:17 <elliott> sounds like you want perl 6.
02:28:11 <elliott> "Running at only 91.5MHz on an FPGA, the Reduceron is faster than mature bytecode implementations of Haskell running on a 2.8GHz PC." ;; wow, I had no idea things were /this/ good
02:28:36 <elliott> it would be cool if there was some automatic parallelisation stuff going on too with a many-cored graph reducer...
02:29:05 <elliott> hmm, "bytecode implementations"
02:29:09 <elliott> I wonder if that's excluding GHC?
02:29:26 <CakeProphet> considering that GHC isn't a bytecode implementation..
02:29:34 <elliott> ghc has a few stages which could be described as similar to bytecode
02:30:03 <CakeProphet> well, that's probably not what they mean, in the context of final state execution.
02:30:15 <elliott> oerjan I think knows more than me, but spineless tagless g-machine?
02:31:51 <elliott> On average, the Wide Reduceron (on FPGA) outperforms the Reduceron,
02:31:51 <elliott> Yhc, and Nhc98 bytecode interpreters (on PC). All of these implementations
02:31:51 <elliott> share a common frontend, so each interpreter runs the same core Haskell programs.
02:32:14 <elliott> "The leading native-code compiler GHC performs many advanced optimisations. For example, GHC spots that the critical safe function in Queens is
02:32:14 <elliott> strict, so need not be instantiated on the heap. Similar optimisations might be
02:32:14 <elliott> used in a future Reduceron implementation, but architectural changes would be
02:32:19 <elliott> times slower than GHC -O2 (on PC)."
02:32:21 <elliott> no, hugs is a straight interpreter
02:32:31 <elliott> 4.85 slower than GHC with -O2
02:32:41 <elliott> because the Reduceron is an /FPGA/ running at 91.5MHz...
02:33:04 <CakeProphet> so a modest improvement in hardware should make it run faster I'd think.
02:33:16 <elliott> yes, although investing into getting such optimisations working would be a more productive use of time
02:33:36 <elliott> brute force doesn't usually scale :)
02:34:22 <elliott> i should ask ais about fpgas again.
02:34:25 <CakeProphet> then you can scale to whatever you please..
02:34:33 <elliott> or Vorpal, he's done some stuff with them iirc.
02:34:53 <elliott> they are just so expensive, though :(
02:36:41 <oerjan> doesn't ghci use a bytecode backend
02:36:49 <elliott> http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html ;; bet this is shit
02:37:20 <elliott> and seemingly their highest-end "starter kit" (i.e. thing anyone could ever hope to afford)
02:38:06 <elliott> gah, xilinx's site is user-hostile
02:38:50 <elliott> JESUS I JUST WANT SOMETHING ORDERED BY PRICE
02:38:56 <elliott> hate you hate you hate you
02:39:35 <elliott> Atlys Spartan-6 FPGA Development Kit$349
02:39:35 <elliott> ($199 for academic customers)A complete, ready-to-use development platform based on a Xilinx Spartan-6 LX45 FPGA, the Atlys kit features high-end peripherals and is an ideal host for complete digital systems built around embedded processors like Xilinx’s MicroBlaze.
02:39:35 <elliott> Spartan-6 FPGA SP605 Evaluation Kit$495Conveniently delivers all the basic components for developing cost and power-sensitive applications that require transceiver capabilities in one package.
02:40:06 <elliott> i kind of want to try the reduceron but im not paying hundreds of pounds more for something that is compatible with the reduceron toolchain :D
02:40:29 <elliott> 50-MHz on-board oscillator
02:40:36 <elliott> ok so it's about half as fast as the one the reduceron guys used i guess
02:41:25 <elliott> ok they used Virtex-5 it seems
02:43:06 <CakeProphet> find trendy things to make t-shirts about. profit.
02:43:36 <CakeProphet> especially obscure trendy nerdy things. Read xkcd for ideas.
02:44:01 <elliott> id rather stab my eyes out
02:44:20 <elliott> fuck you i can do whatever i want
02:45:06 <CakeProphet> your reduceron isn't going to be much use if you can't write Haskell programs because you don't have any ideas.
02:45:24 <elliott> anyway i don't want a reduceron well i mean i do but
02:45:28 <elliott> i mostly want to write my OWN SHIT YEAAAAAAAH
02:45:38 <elliott> dont tell anyone that im essentially talentless and unmotivated
02:46:00 <CakeProphet> hey you can write a wc shortcut faster than me.
02:46:20 <elliott> that's just because i have a functioning brain ;DDDDDD
02:47:31 <elliott> im sorry can yo ufind it in ur hert.... to forgive me.........
02:52:46 -!- elliott has set topic: hurt feelings on irc: the game | | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:52:47 <elliott> * Topic for #esoteric set by elliott!~elliott@unaffiliated/elliott at Tue Jun 7 19:36:45 2011
02:53:03 -!- elliott has set topic: hurt feelings on irc: the game | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:54:42 <oerjan> always use fresh paste when copying
02:59:48 <CakeProphet> so I decided for my regexp language it would be a good idea to not make bare symbols means "match this character", which makes things a lot easier when trying to specify a complex language of any sort.
03:00:31 <CakeProphet> so you use quotes to match literal strings of text. *(capturename = "literalstring")
03:00:43 <CakeProphet> I also decided to make * and friends prefix, because that's how I roll.
03:01:20 <CakeProphet> also () doesn't implicitly capture to a numeric group because that's lame when you can just assign to variables.
03:02:23 -!- Lymia has quit (Ping timeout: 276 seconds).
03:04:04 -!- elliott has quit (Remote host closed the connection).
03:04:56 -!- elliott has joined.
03:08:33 <Sgeo> I'm going to take a Benadryl and a melatonin. If anything bad happens, blame my dad who claims he gives that to his patients all the time
03:09:27 <elliott> CakeProphet: wtf are you talking about
03:09:37 <CakeProphet> you can take a whole bottle of melatonin tablets and be fine.
03:09:46 <CakeProphet> elliott: what the fuck were /you/ talking about?
03:10:09 <elliott> CakeProphet: JESUS CHRIST do you KNOW what benadryl and melatonin fucking do together?
03:10:16 <elliott> Sgeo trust me please jesus christ get to a hospital
03:12:21 <elliott> its funny because sgeo is actually on his way right now
03:14:15 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
03:15:18 <Sgeo> If I were to say I took 8 pills of Tylenol, how would elliott actually attempt to tell me that that's bad, given that he pretends things like this are bad
03:15:27 <Sgeo> (this==benadryl + melatonin)
03:15:53 <zzo38> It is bad. It is as bad as anything else.
03:16:39 <CakeProphet> there are definitely different levels of bad in relation to drugs.
03:16:40 <elliott> Sgeo: i am not here to tell you what cocktail of deadly drugs will or will not end your life
03:16:57 <CakeProphet> Sgeo: actually I believe you would also survive 8 tylenol as well.
03:17:03 <myndzi> is this a complicated troll or ignorance at work? i can't tell!
03:17:04 <elliott> im sorry ive not yet explained to you... but this is not...... an internet doctor..........
03:17:17 <myndzi> i had to go check out the details of tylenol to be sure i wasn't misremembering
03:17:27 <Sgeo> Erm, 16 tylenol then
03:17:31 <myndzi> "if i take a bunch of tylenol i bet that's not bad either!!!"
03:17:36 <elliott> myndzi: no he just doesn't have any kind of built-in reaction to making a fool of himself in public
03:17:43 <Sgeo> myndzi, I didn't say that
03:17:56 <elliott> it appears to be unrectifiable
03:18:10 <CakeProphet> most lethal concoctions of drugs will result in you vomiting and thus surviving. If you really want to kill yourself with drugs the best way is to also take an anti-vomiting agent (there is a fancy term for it but I can't remember the name)
03:18:24 <elliott> CakeProphet: erm tylenol is paracetamol is it not?
03:18:32 <myndzi> or take one bullet to the head every hour until success
03:18:35 <Sgeo> I know Tylenol is dangerous, I'm just saying if I didn't, what would elliott say if I said I was taking it?
03:18:35 <elliott> so actually, a bunch of them is an excellent way to kill yourself
03:18:48 <myndzi> Sgeo: probably that it was dangerous?
03:18:58 <elliott> Sgeo: i think there would be more obvious signs that you were fucked
03:19:01 <elliott> CakeProphet: um that's another name for paracetamol
03:19:13 <myndzi> every drug has TWO NAMES!
03:19:21 <elliott> CakeProphet: well that's actually quite a large cause of death
03:19:22 <Sgeo> myndzi, unless it has 3
03:19:23 <myndzi> because it's awesome that way
03:19:34 <elliott> i don't think you just vomit it up
03:20:05 <myndzi> eh, i think most over the counter stuff that is dangerous includes things to make you puke if you take too much
03:20:09 <CakeProphet> well, okay, 16 tylenol MIGHT kill you. But most suicide attempts with medicine fail for that reason.
03:20:10 <myndzi> or something like that
03:20:26 <elliott> CakeProphet: right, but actually paracetamol is one of the exceptions, overdoses are _really_ bad
03:20:38 <elliott> CakeProphet: there's a bunch of stories of suicidal people taking a bunch of paracetamols as a cry for help
03:20:48 <elliott> CakeProphet: get woken up from unconsciousness hours later
03:20:55 <elliott> CakeProphet: told to call their family because they're going to die slowly and painfully
03:21:33 <Sgeo> Maybe I just don't have a reaction to making a fool of myself in here?
03:21:34 <elliott> moral: always try to suicide with something harmless like ibuprofen
03:21:39 <CakeProphet> man, if I ever kill myself, I will know exactly what I'm doing. I have this shit down.
03:21:51 <elliott> (ok ibuprofen overdoses can do some bad shit but it's not going to be that bad)
03:22:01 <elliott> Sgeo: you mean we alone have to experience this shit??
03:22:45 * CakeProphet makes a fool of himself on #esoteric quite often.
03:24:47 <coppro> elliott: itym N-(4-hydroxyphenyl)ethanamide
03:24:55 <pikhq_> CakeProphet: BTW, a normal dosage of Tylenol can actually cause liver failure in rare cases; it's *very* close to the lethal dose.
03:25:15 <pikhq_> Tylenol, BTW, is the leading cause of liver failure.
03:25:21 <pikhq_> Not drinking. Tylenol.
03:25:26 <pikhq_> It is *fucking scary shit*.
03:26:01 <coppro> pikhq_: doesn't help that it's in a lot of non-tylenol drugs
03:30:42 <elliott> pikhq_ you also get a free Perfect Computer
03:30:48 <elliott> that makes my cost-free receiver list: oerjan, pikhq
03:31:25 * pikhq_ barfs some more at gnulib's usage
03:32:21 <elliott> A notable feature of our new design is that each of its six
03:32:21 <elliott> semantic reduction rules is performed in a a single-clock cycle. All
03:32:21 <elliott> the necessary memory transactions required to perform a reduction
03:32:21 <elliott> are done in parallel. The Reduceron performs on average 0.55
03:32:23 <elliott> hand-reductions per clock-cycle. A hand-reduction is a reduction
03:32:25 <elliott> that programmer would perform in by-hand evaluation trace of a
03:32:27 <elliott> program; it includes function application and case analysis, but not
03:32:29 <elliott> machine-level reductions such as updating and unwinding."
03:32:56 <pikhq_> A function to *concatenate file names* ends up pulling in basically a reimplementation of stdio.h.
03:33:16 <pikhq_> That's it. I give up on GNU. It is the worst software.
03:33:26 <elliott> http://esolangs.org/wiki/Brainfuck#External_resources
03:33:32 <coppro> pikhq_: serious question.
03:33:36 <elliott> pikhq_: oh man i totally want you to meet your few-years-ago self
03:33:41 <coppro> pikhq_: would you help write a libc?
03:34:01 * elliott predicts the answer: "yes if musl didn't already exist"
03:34:09 <pikhq_> coppro: No, but only because there is already a libc I find entirely satisfactory, modulo a small handful of missing bits.
03:34:28 <coppro> elliott: I may be writing a libc
03:34:46 -!- augur has joined.
03:35:02 <elliott> coppro: why are existing libc unsuitable?
03:35:20 <pikhq_> If only PCC could build Busybox and Linux. Then, I could have a GNU-less system up and running easily.
03:35:32 <pikhq_> Though, there is rather a lot of GTK software. Ah well.
03:35:35 <elliott> pikhq_: pcc kind of sucks though.
03:35:39 <elliott> also, you'd still need binutils
03:35:44 <coppro> elliott: musl is unsuitable due to GPL.
03:35:51 <pikhq_> coppro: musl is not GPL.
03:36:04 <pikhq_> elliott: Clang needs a C++ library.
03:36:11 <elliott> coppro: why does lgpl make it unsuitable?
03:36:17 <coppro> elliott: LLVM project is BSD
03:36:28 <elliott> coppro: why does LLVM need to integrate musl?
03:36:29 <pikhq_> elliott: Would you like a list of C++ libraries that can bootstrap?
03:36:49 <elliott> coppro: I'm not sure how the license is a problem here, or anything
03:36:50 <pikhq_> elliott: GNU's. That's it. There are no other suitable free C++ libraries.
03:37:02 <pikhq_> Though LLVM's is at least getting there.
03:37:03 <elliott> pikhq_: it was coppro who mentioned that llvm has a c++ library, not me
03:37:05 <coppro> pikhq_: I believe libc++ can do so on Mac
03:37:15 <tswett> oklopol: hey, we agreed to meet up some time in 2014, didn't we? I think I lost the plan.
03:37:31 <pikhq_> Presently, though, you need GNU to get clang working.
03:37:37 <coppro> elliott: because the LLVM project can't have a libc that is LGPL, since it's a BSD-licensed project... what's so hard to understand?
03:37:42 <coppro> pikhq_: You need a C++ compiler
03:37:49 <elliott> coppro: Why does musl need to be "part" of the LLVM project?
03:37:49 <coppro> it's perfectly capable of compiling itself
03:37:51 <pikhq_> Hence why I care about PCC *at all*. PCC can bootstrap, very quickly.
03:37:52 <elliott> coppro: I do not understand.
03:38:01 <pikhq_> coppro: Yes, except for the need for a C++ library.
03:38:24 <elliott> coppro: that was a request for clarification
03:38:35 <coppro> pikhq_: Suppose that it compiled and worked under libc++
03:38:43 <coppro> which is not that far off on Linux
03:38:44 <elliott> like... I don't expect the pcc team to suddenly announce "We're importing uClibc!"
03:38:54 <elliott> idgi, why does the fact that LGPL is not the same license as LLVM matter
03:39:03 <pikhq_> coppro: If libc++ worked on musl, or could be ported easily, then I would be entirely satisfied with clang.
03:39:15 <pikhq_> Except for the simple fact that Linux doesn't build yet...
03:39:19 <coppro> pikhq_: It's supposed to be as C-library agnostic as possible
03:39:23 <coppro> pikhq_: Enough of Linux builds
03:39:27 <pikhq_> Which I think is the only major thing that *doesn't*.
03:39:28 <zzo38> While I have no complaint if you use BSD-license, I do not want to use BSD-license for my own projects. (Although I make some projects in the public domain, which is compatible with BSD-license so it isOK)
03:39:49 <pikhq_> coppro: So, in short, clang is still a WIP, but it is *very very close*.
03:39:55 <coppro> pikhq_: there are some issues with parts of the C++ library being unimplementable on top of a purely standard C library, though
03:40:01 <pikhq_> elliott: I suspect LLVM is attempting an embrace/extend/extinguish on GNU's build chain.
03:40:11 <pikhq_> coppro: Hence why I said "or could be ported easily".
03:40:19 <elliott> pikhq_: we will never know, since coppro has apparently decided he doesn't want to answer me any more
03:40:25 <coppro> pikhq_: is musl posix-compliant?
03:40:36 <pikhq_> coppro: Not quite, but nearly so.
03:40:40 <coppro> if so, the required facilities are logical extensions
03:40:55 <zzo38> What is musl and clang and these things?
03:40:57 <coppro> in particular, if every locale-aware function has an _l version, I think it's good
03:41:25 <coppro> if musl already has _l functions, adding them to the others is a fairly straightforward transformation
03:41:35 <coppro> possibly even something clang could do automagically
03:41:50 <pikhq_> I'm pretty sure it does, though its locale support is somewhat anemic.
03:41:53 <elliott> coppro: are you actually going to answer my simple question...? i'm actually curious.
03:41:56 <pikhq_> It supports C.UTF-8 as its locale.
03:42:08 <pikhq_> Yeah, it has _l functions.
03:42:19 <pikhq_> coppro: Nope, it's very specifically UTF-8.
03:42:27 <pikhq_> Because ASCII is old and retarded.
03:42:30 <coppro> pikhq_: that's non-compliant :/
03:42:43 <pikhq_> And a very minor issue.
03:42:48 <coppro> or well it is if it doesn't support "C"
03:42:56 <elliott> coppro: are you /ignoring me
03:42:58 <coppro> if it just has "C.UTF-8" as the default, no issues
03:43:17 <zzo38> ASCII is not retarded.
03:43:18 <coppro> elliott: I think e/e/e is a bad way of putting it, but is effectively the goal
03:43:31 <coppro> given that GNU has already actually e/e/ed the build chain
03:43:31 <elliott> coppro: why not just endorse musl?
03:43:35 <elliott> it is pointless to duplicate work
03:43:48 <coppro> elliott: because Apple, the main sponsors, want BSD
03:43:51 <elliott> and I don't think even Apple would object to an LGPL libc, though of course they won't likely be switching because they're BSD
03:44:15 <pikhq_> "The default locale is named C.UTF-8 and has all the required properties of the C or POSIX locale, plus UTF-8 semantics for high bytes. Collation is plain codepoint-order, and character classes are based on Unicode."
03:44:47 <coppro> and not relevant to the C++ stuff
03:44:50 <elliott> coppro: well if the justification is just "Steve Jobs wants us to duplicate the large amount of work that goes into creating a conformant, fast, lightweight libc because he's being unreasonable about licenses", then who the hell would want to devote time to that??
03:45:24 <zzo38> But what if you are using a single-byte encoding and do not want UTF-8? Then there might be some problem. I think UTF-8 already has the feature that sorting using normal strcmp can still work with Unicode
03:45:33 <coppro> elliott: Well they have their own libc so it's actually irrelevant to them directly
03:45:38 <pikhq_> Seems that what it's missing is some C99 math functions, *perhaps* a few wide character interfaces, POSIX priority scheduling options, and stuff added in POSIX 2008.
03:45:59 <elliott> pikhq_: musl has some oh-eight stuff
03:46:05 <pikhq_> coppro: What header would it be in? I can check.
03:46:05 <elliott> coppro: precisely... so I don't see the need to do anything more than endorse musl.
03:46:12 <elliott> coppro: it just sounds like completely duplicated work.
03:46:13 <coppro> pikhq_: locale.h; possibly xlocale.h
03:46:19 <coppro> elliott: the simplest answer is that LLVM wants a complete toolchain. LLVM is BSD-license
03:46:31 <coppro> it would make no sense to add some LGPL stuff to it
03:46:35 <elliott> coppro: ok, so "we're being pointlessly anal about licenses, and we want to NIH things"
03:46:39 <coppro> of course it's goddamn duplicated work
03:46:55 <coppro> elliott: s/GPL/copyleft/
03:46:57 <elliott> GPL is unacceptable for licenses
03:47:11 <elliott> coppro: LGPL isn't copyleft in the "bad" sense because _it doesn't affect linkers_
03:47:22 <coppro> elliott: it's not absurd copyleft
03:47:34 <coppro> but it makes no sense from the LLVM project's perspective either
03:47:41 <elliott> come on, it is absolutely ridiculous for LLVM to want to duplicate a massive amount of effort because "we want a COMPLETE toolchain (for no reason) under this SPECIFIC license (because of our egos)"
03:47:43 <coppro> suppose someone is considering using LLVM
03:47:49 <coppro> but then they see that it's LGPL
03:47:53 <coppro> and they don't do LPGL code
03:48:01 <pikhq_> Anyways, musl is a libc I'm actually happy with on a technical basis.
03:48:03 <elliott> wow you're... actually making less than 0 sense.
03:48:04 <coppro> lots of corporate users won't touch any GPL
03:48:17 <elliott> coppro: lots of corporate users aren't exactly going to switch out their libc
03:48:18 <coppro> elliott: you have not worked in the software industry
03:48:18 <pikhq_> I *actually understand how the damned thing works*.
03:48:28 <coppro> elliott: you'd be surprsied
03:48:57 <pikhq_> elliott: The corporate world runs around Windows. Each compiler has its own libc there. Any further questions?
03:49:00 <elliott> coppro: ok... so "we're going to duplicate a massive amount of work for (a) our egos (b) so that a few corporate idiots will be happy"? Is anyone not using LLVM right now because it doesn't have its own libc?
03:49:14 <elliott> "Oh, I was going to use LLVM, but it doesn't have a graphical display server? Skip it."
03:49:19 <coppro> elliott: Not AFAIK, but the project would like to provide that and I agree with that idea
03:49:28 <coppro> elliott: also, duplicated work is not all bad in this instance
03:49:39 <elliott> I still haven't heard a single good reason for llvm to provide a libc
03:49:40 <coppro> if there are more viable options, e/e/e is less likely to happen
03:49:46 <pikhq_> Anyways, I'm certainly uninterested in writing a libc when there's a perfectly *great* one already around.
03:49:49 <coppro> elliott: because why not?
03:50:08 <elliott> by that logic LLVM should provide a complete fucking OS and application set
03:50:26 <coppro> elliott: why does LLVM provide a C compiler?
03:50:33 <coppro> clearly that's not part of the project
03:50:36 <elliott> coppro: because it's a compiler project.
03:50:42 <coppro> it's a compiler backend project
03:51:05 <elliott> whatever, i'm done with this conversation, it has reached heights of stupidity I thought impossible
03:51:42 <coppro> pikhq_: please go extend every locale aware function to have one with an _l suffix that takes a locale_t
03:51:49 <coppro> (if it already has _s, make it _sl)
03:52:18 <pikhq_> What are the locale-aware functions, anyways?
03:52:37 <coppro> any function that is defined in the C spec to alter its behavior when the locale changes
03:53:06 <zzo38> If LLVM becomes with many good things than GNU, then maybe it will be good thing idea to use.
03:53:09 <coppro> there is going to be a paper to this effect in front of the C committee at some unspecified time in the future
03:54:37 <pikhq_> zzo38: Already, it's generally got a better toolchain than GNU...
03:54:48 <pikhq_> coppro: What, incidentally, are the chances of binutils being replaced?
03:55:24 <coppro> pikhq_: there's already an integrated assembler on some platforms
03:55:42 <zzo38> pikhq_: Does it optimize? There are some features of GNU that should be used, such as, being able to declare array with [0] is good thing I think
03:55:47 <coppro> elliott: 23:51 < coppro> pikhq_: please go extend every locale aware function to have one with an _l suffix that takes a locale_t
03:56:09 <coppro> zzo38: The optimizer is not quite as good as GCC's yet, but it has other advantages
03:56:16 <coppro> like having a compiler that doesn't suck
03:56:19 <elliott> coppro: you know, it might be worth contacting eta labs about relicensing and integrating musl.
03:56:36 <elliott> maybe unlikely, but a better use of time than writing yet another libc when a very good one has just recently been created.
03:56:59 <coppro> pikhq_: not sure what will happen to the ELF linker
03:57:20 <coppro> pikhq_: in theory it's unnecessary as you could create a platform where all libraries are linked in bitcode form
03:57:35 <pikhq_> elliott: At present, most of the locale-aware functions only look at the globally stored locale. That is, a global variable that needs to have a lock over it in a large number of functions.
03:57:39 -!- Sgeo has quit (Ping timeout: 255 seconds).
03:57:54 <zzo38> coppro: Yes, as long as they do not change the license so that it is no longer acceptable, then it should be OK.
03:58:02 <pikhq_> coppro: True, there is the llvm-ld.
03:58:29 <coppro> more importantly, C++ needs thread-safe access to those functions in specific locales and cannot do so because it can't lock them unless it just pauses every other thread
03:58:51 <pikhq_> Also, the optimizer may not be *quite* as good as GCC, but it is *definitely* good enough for general use.
03:59:09 <pikhq_> Actually, I'd even call pcc's good enough for general use, and that's not as good as LLVM.
03:59:18 <zzo38> GCC is very slow. Is LLVM faster?
03:59:42 <zzo38> Is it less messy than GNU programming?
03:59:42 <pikhq_> zzo38: Yes, clang's something like 3 times faster.
03:59:55 <pikhq_> I actually can understand LLVM source code.
04:00:20 <pikhq_> It's not exactly elegant, but it's actually readable by humans.
04:00:31 <zzo38> pikhq_: Then I suppose those things do help.
04:01:44 <Patashu> declare an array with [0]?
04:01:48 <Patashu> why would you ever do that
04:02:48 <pikhq_> Patashu: It's a GNUism for indicating that at the end of a structure is a dynamically allocated array.
04:03:16 <pikhq_> There's a different means of doing it in C99, and so [0] is a deprecated GNU extension.
04:03:39 <coppro> LLVM uses that pattern in C++ without a standard syntax
04:05:49 <pikhq_> Oh, wow. Apparently current SVN checkouts of clang builds pretty much all of Linux.
04:06:16 <pikhq_> And the integrated assembler works, making it so that the only GNU thing needed ATM to build Linux is GNU ld.
04:06:30 -!- Lymia has joined.
04:07:31 <coppro> I wasn't sure if the integrated assembler was that mature
04:08:38 <elliott> it'd be cool to have a fully clang/musl system
04:09:06 <pikhq_> Surprisingly, it's not that far off.
04:09:14 * elliott plays around with this modular synthesiser
04:09:23 <pikhq_> I think all that's needed is LLVM's libc++...
04:10:18 <coppro> pikhq_: get on it then
04:10:39 <elliott> at least for a basic Linux system.
04:10:52 <pikhq_> elliott: clang itself needs C++, though.
04:11:16 <elliott> someone should fix that :p
04:20:30 <zzo38> I think using [0] makes more sense than the C99 way, actually.
04:21:04 <elliott> [0] makes more sense than []?
04:22:44 <zzo38> elliott: Yes. Since, in a structure, the size of the structure when measuring, is only the part before that array. So, you put [0] to mean its sizeof measures 0 and when added to everything else, you can then add to sizeof, the number of elements and malloc, you can do it. And it should be allowed [0] anywhere in a structure, not necessarily at the end (but most commonly use at the end).
04:22:51 <pikhq_> Wow. GCC can be bootstrapped with a non-GCC compiler.
04:23:09 <zzo38> At least to me, it makes mathematical sense.
04:23:40 <coppro> pikhq_: EDG's been doing it for years, but it's proprietary
04:24:17 <pikhq_> It's kinda sad that it's notable when a compiler builds GCC.
04:24:35 <pikhq_> It seems like the sort of package you'd want to be able to build on anything that's no completely crazy.
04:24:47 -!- oerjan has quit (Quit: Good night).
04:24:54 <coppro> no, that would make it too easy for people to infect it with proprietary software
04:24:56 <zzo38> In TeXnicard, I have used a [0] array in a union.
04:25:04 <coppro> or use it on systems where proprietary software is known to lurk
04:25:07 <coppro> zzo38: you're a bad person
04:25:42 <pikhq_> coppro: ... Which you generally can do, because GCC until very recently has been effectively the only compiler not from Microsoft.
04:25:51 <zzo38> coppro: Why do you think I am a bad person?
04:26:12 <coppro> pikhq_: not at all true
04:26:29 <pikhq_> (I'm discounting the proprietary UNIX vendor's C implementations, because, well, you can discount everything else from them.)
04:26:44 <coppro> pikhq_: are you familiar with EDG?
04:27:04 <zzo38> It also uses sizeof(struct{...})
04:27:21 <pikhq_> zzo38: That's entirely valid.
04:27:30 <pikhq_> A bit weird, but entirely valid.
04:27:43 <pikhq_> If a C compiler doesn't handle that, it's a pretty big bug.
04:28:37 <zzo38> pikhq_: Yes I know that, and I have it being used in some macros for allocating nodes.
04:29:19 <zzo38> Why is it "a little evil"?
04:29:27 <pikhq_> Anyways, it seems to me that you'd really *want* for a C compiler to be able to at least build on any ISO C89 platform.
04:29:41 <coppro> let's not bury ourselves in the past
04:29:55 <pikhq_> If not anything supporting K&R...
04:30:20 <pikhq_> coppro: The idea being to allow you to get a sane C environment up and running on anything.
04:30:22 <CakeProphet> So, is switching everything over to prefix/infix instead of the traditional prefix/postfix for regular expressions going to freak anyone out?
04:30:27 <zzo38> If you use [0] to allocate an array then the compiler should just do the same things as if a positive number is in there, it would make most sense, at least to me.
04:30:27 <pikhq_> Rather than being stuck with retardedly old shit.
04:31:09 <pikhq_> coppro: I don't care if you pull this off by just building a retardly simple compiler to build the rest of the thing, BTW.
04:31:22 <pikhq_> (for an example of something "retardly simple", see TCC)
04:36:24 * elliott wonders if SmallBug will freakout on us for being so ~rude~
04:37:14 <pikhq_> Incidentally, it'd be *really* awesome to have a full, tiny UNIX building with TCC. :P
04:37:42 <pikhq_> Not as a serious thing, but y'know, just as a toy. An OS with every bit understandable...
04:37:45 <elliott> pikhq_: well it can build a modified kernel...
04:37:51 <pikhq_> ... I'm describing Minix, aren't I.
04:37:57 <pikhq_> elliott: That was 2.4.
04:38:55 <elliott> also, minix is a microkernel, which is probably not an aid to having a really small understandable system
04:39:01 <zzo38> No! You have to make a book. Such as, write the operating system with CWEB. And then sell the book with the DVD in the back cover.
04:39:08 <pikhq_> elliott: Minix is entirely intended as a small, understandable system.
04:39:38 <elliott> pikhq_: yes but that doesn't mean it succeeds.
04:40:31 <pikhq_> elliott: Your criticism of microkernels probably comes from how fucked up HURD is...
04:41:07 <elliott> pikhq_: No, I'm just saying that if you want a self-contained, tiny system, a microkernel is probably an impediment to that
04:41:15 <elliott> It's abstraction designed to make something easy that you don't want to do (extend the system)
04:43:47 <CakeProphet> Screw microkernals, I run on this: http://www0.us.ioccc.org/2004/gavin.c
04:44:18 <pikhq_> I specified "UNIX" for a reason. :P
04:44:33 <elliott> it would be fun to golf a unix kernel (not golf as in raw bytes or lines of code, but)
04:44:55 <elliott> unfortunately, question is, define Unix
04:44:59 <elliott> something that can run bash?
04:45:12 <elliott> that means running a pretty GNU-compatible libc
04:45:47 <elliott> but doesn't tcc also depend on linux somehow? dunno
04:46:00 <elliott> (are the ELF headers linux-only?)
04:46:39 <pikhq_> The ELF headers aren't Linux-only; they *should* exist in the same place on all ELF platforms.
04:47:00 <elliott> writing a filesystem would be fun
04:47:12 <pikhq_> And there's rather a lot of ELF platforms...
04:47:48 <elliott> even though I'm not quite sure how filesystems work :(
04:48:00 <pikhq_> Such as "every non-Microsoft console since 2000". :P
04:48:26 <pikhq_> elliott: Filesystems are really, truly nothing special.
04:48:45 <elliott> but like HOW DO YOU APPEND A DIRECTORY ENTRY TO A DIRECTORY :D
04:48:54 <pikhq_> Just one of a handful of fairly mundane data structures on disc.
04:49:04 <elliott> hmm, I suppose you could just have a pointer at the end of every directory entry
04:49:06 <elliott> and do it linked-list style
04:49:09 <zzo38> That IOCCC operating system is not even complete
04:49:10 <elliott> and just allocate randomly all over the disk
04:49:20 <elliott> but like do you need a freelist of blocks?
04:49:39 <pikhq_> elliott: You do also need to implement, basically, a malloc.
04:52:05 <augur> does anyone happen to know what the brightness-equivalent of resolution is in a camera?
04:53:20 <augur> like what the term for that is?
04:53:42 <pikhq_> I'm going with "color space".
04:54:12 <Patashu> as in, how much brightness you can fit in?
04:54:15 <Patashu> sounds like a property of color space to me
04:54:30 <augur> no no, i mean how many distinct brightness levels you have
04:55:01 <Patashu> it may as well be a property of the color space/color depth
04:55:03 <augur> greyscale is still a monochromatic colorspace but there are many kinds of greyscale depending on how finely you cut the greyness
04:55:10 <augur> color depth, maybe thats it
04:55:54 <augur> thank you, Patashu!
04:56:49 <elliott> Patashu: you need to submit some awesome bf joust contestants to revive the sport again :P
05:12:16 <CakeProphet> so what if my bfjoust program is really long?
05:12:31 <elliott> [exclamation mark]bfjoust <url>
05:12:34 <elliott> most of the current programs are really long
05:12:59 <elliott> http://codu.org/eso/bfjoust/in_egobot/?C=S;O=D
05:13:32 <elliott> space_elevator kicked off the recent "zomg huge programs" streak though, at 38K
05:13:41 <elliott> those are machine-generated, I think
05:13:50 <elliott> the furry-furry programs are, although actually
05:14:01 <elliott> their K ratings are wrong because they include the base-sixtyfour encoding of the perl program that generated them
05:14:16 <elliott> (all these meaning partially generated, ofc)
05:14:23 <elliott> dunno about defend9.75 but I think so
05:14:32 <elliott> the waterfall programs were
05:14:45 <elliott> we really need quintopia's scoring system though.
05:14:54 <elliott> CakeProphet: btw http://codu.org/eso/bfjoust/in_egobot/report.txt
05:23:43 <CakeProphet> I don't really have a place I can host my program.
05:24:28 <Patashu> has anyone attempted to genetically create bfjoust programs?
05:26:45 <elliott> youre about to submit a shitty program aren't you
05:26:56 <elliott> oh so you are concealing it from us
05:27:43 <CakeProphet> so uh, what's the best way to git from a git.
05:29:26 <elliott> how's git relevant to bf joust
05:30:22 <elliott> CakeProphet: no. btw please submit things in-channel
05:30:34 <elliott> it makes us antsy if the board changes without us knowing :<
05:30:40 <CakeProphet> you will laugh at how excellent my program is
05:30:50 <Patashu> why is rushpolarity STILL so high up
05:30:55 <elliott> CakeProphet: please, it's a matter of common courtesy
05:31:20 <elliott> i could set up a bot to constantly refresh the hg log, but it'd be easier just to submit in channel.
05:31:26 <elliott> wtf is vlad even supposed to be
05:31:57 <elliott> Patashu: it's really successful for some reason
05:32:01 <elliott> CakeProphet: i mean the strategy.
05:32:26 <elliott> i'm asking how you made it, apart from vomiting on the keyboard
05:32:28 <elliott> anyway, congratulations, you're at position 48
05:33:16 <Patashu> btw you don't have to paste it
05:33:16 <Patashu> http://codu.org/eso/bfjoust/in_egobot/
05:33:24 <Patashu> oh nvm it's not in the list
05:33:29 <Patashu> probably because it didn't beat anyone
05:33:36 <elliott> it did, but it was on the bottom
05:34:03 <elliott> CakeProphet: but seriously, it's vastly preferred if you submit programs in-channel. especially since the activity tends to generate interest in bf joust.
05:34:21 <CakeProphet> elliott: well the idea was to go forward the minimum of 10 spaces, fill it with stuff because presumably that will slow someone down, and then proceed to blindly wipe everything in front of it to 0.
05:34:23 <Patashu> CakeProphet_vlad.bfjoust vs Gregor_return_of_ehird_defend8mwahahaha.bfjoust
05:34:24 <Patashu> <<><<<><><><><><><><> <><<<<><><><><><><><> 6
05:34:24 <Patashu> Gregor_return_of_ehird_defend8mwahahaha.bfjoust wins.
05:34:29 <Patashu> some nice parity going on there
05:34:37 <elliott> CakeProphet: let's put it this way
05:34:45 <elliott> CakeProphet: any attack program will have obliterated you before you even get to their flag
05:34:51 <elliott> because you waste endless cycles putting dummy values up
05:34:57 <elliott> also, you don't seem to be aware of the various abbreviations that exist.
05:35:04 <elliott> Patashu: sieved up all the kettles
05:35:27 <elliott> because quint rewrote it making it unreadable
05:35:38 <elliott> read http://esolangs.org/w/index.php?title=BF_Joust&oldid=21108 instead
05:35:40 <Patashu> you beat anticipation.bfjoust
05:36:02 <elliott> Patashu: well it's a sufficiently stupid program that "advanced" defenders and the like might get confused :P
05:36:23 <CakeProphet> yes, I was hoping that I would be jousting against very complicated defensive things.
05:36:47 <elliott> well there's always a mix on the hill
05:36:51 <Patashu> well, you even lost to my not very complicated things
05:36:58 <elliott> because whenever the hill is full of defensive programs, attack programs do really well
05:37:06 <elliott> so basically the hill is always quite balanced.
05:37:41 <CakeProphet> I don't really see a sane way to encode any kind of logic when the other program can mess with my variables.
05:37:59 <elliott> CakeProphet: that is because you are not an experienced jouster :)
05:38:19 <Gregor> ... does x86_64 have delay-slot semantics???
05:38:25 <elliott> basically: set up large decoys before cells if you /really/ need scratch space. but generally, you don't want to store any values
05:38:31 <elliott> use [] as a conditional of sorts
05:38:38 <elliott> set up tripwires and use them to work out what the program is doing
05:38:46 <elliott> CakeProphet: read http://esolangs.org/wiki/BF_Joust_strategies
05:38:54 <Patashu> just read what elliott posted
05:38:56 <elliott> it's practically How to Write Joust Programs: The Manual.
05:39:47 <elliott> CakeProphet: basically it goes through a bunch of simple to advanced attack and defence techniques, then covers all the number-one programs from the start of egobot's bf joust tournament setup to the present day, with explanations of the most interesting programs, and traces and animations in the online egojsout tool.
05:43:10 <CakeProphet> elliott: I think I would probably go with a defensive strategy. or the poke.
05:43:39 <Gregor> So, nobody knows if x86_64 has delay-slot semantics :P
05:43:47 <Patashu> I don't have a clue what that is
05:44:02 <elliott> slottiest delay slot in all the galaxy
05:44:09 <Gregor> To put it differently, why did GCC generate this code:
05:44:10 <Gregor> movqGGGGC_fytheConstBank(%rip), %rdx
05:44:18 <elliott> wow are you still working on fythe stuff?
05:44:28 <Gregor> Given that GGGGC_fytheConstBank[368] is my function.
05:44:33 <elliott> sorry, just before my fythe commits there had been none for like five thousand years :D
05:44:35 <elliott> I'm planning to keep working on bignums soon btw
05:44:48 <Gregor> elliott: You should look at GGGGC, not Fythe :P
05:45:03 <Gregor> I got distracted building a friggin' amazing general-purpose GC.
05:45:27 <elliott> Gregor: Does it have finalisers yet.
05:45:32 * elliott prepares the "WHOOPS you suck".
05:47:10 <elliott> Gregor: I'M GOING TO DROP THE WHOOPS YOU SUCK IF YOU DON'T REPLY SOON
05:49:22 <elliott> BTW, is there a reason you use T-Rex instead of RE2? The latter is better-maintained and I would guess faster (though I don't have any benchmarks). OK, RE2 doesn't do backreferences, but it doesn't look like T-Rex does either.
05:49:44 <elliott> And both are C++, although T-Rex seems to have a few C wrappers that you'd have to whip up by hand with RE2.
05:49:58 <elliott> (Also RE2 handles Unicode; dunno about T-Rex.)
05:50:34 <Gregor> elliott: It doesn't have finalizers, I've been working on threadsafety.
05:50:47 <Gregor> Also I don't use it unless PCRE is unavailable :P
05:51:06 <elliott> http://codu.org/projects/fythe/hg/index.cgi/rev/8d99109d97d7 ;; Oh, it just has a C++ wrapper.
05:51:11 <Gregor> And even then you have to say "No seriously I want this bullshit"
05:51:16 <elliott> Gregor: Doesn't T-Rex support different things to PCRE though?
05:51:22 <elliott> 'cuz, like, that's totally stupid if so :P
05:51:37 <Gregor> So does JS regex; I haven't defined what subset of regex Fythe is supposed to support yet.
05:51:39 <elliott> (Personally I'd advocate for always using RE2 since it'll make parsing stupidly fast, but then I'm me :P)
05:51:53 <elliott> (Also because using backreferences in regexp literals in a parser is a sign of insanity.)
05:51:58 <elliott> (And not the good kind ether.)
05:53:36 <elliott> Sweet logic from Elliottcorp: "I sure am really fucking ill. And getting to sleep is a royal horrible pain when I'm feeling like this! OBVIOUS SOLUTION: DON'T SLEEP".
05:58:04 <pikhq_> Gregor: Hmm. I bet Fythe works on PCC and musl.
05:58:19 <pikhq_> Because you don't suck. :P
05:58:50 <elliott> Implying Gregor isn't the worst person.
05:59:51 <pikhq_> Oh, poo, it depends on GMP. I will have to build that.
06:01:14 <elliott> pikhq_: YOU CAN THANK ME FOR THAT ;D
06:01:28 <elliott> Note that arithmetic is what you might call broken right now because I'm a lazy ass wrt the bignum support.
06:04:54 <pikhq_> Come on, libtool, if you're going to get your nasty teeth in everything couldn't you at *least* have the decency to check if shared libraries can be built?
06:07:15 -!- pingveno has quit (Ping timeout: 246 seconds).
06:09:06 <comex> i should try BF Joust :)
06:09:21 -!- pingveno has joined.
06:13:22 <elliott> comex: the current hill is _extremely_ competitive.
06:13:35 <elliott> the top program was considered game-breaking by its author for a while
06:13:54 <Patashu> how can a bfjoust program be 'game breaking'?
06:14:41 <elliott> Patashu: because the only programs that beat it might do terribly against all other types of opponents, etc.
06:16:16 <myndzi> wow, there's a new king
06:16:27 <myndzi> i didn't think bf joust saw much activity most times ;)
06:16:37 <myndzi> slowrush has really sorta stood the test of time it seems, for which i am glad
06:16:47 <myndzi> 'cause damn i don't want to write anything all complicated ;p
06:16:59 <elliott> myndzi: it had a huge burst of activity earlier this year
06:17:15 <elliott> and simple programs can still do very well, it's just that they tend to turn into complicated programs very quickly
06:18:48 <myndzi> i was here during that time i think
06:28:33 <CakeProphet> elliott: so, ] doesn't remember the starting point of the while right?
06:28:55 <CakeProphet> it's only interested in whether or not the current cell is zero.
06:28:57 <Patashu> it looks at whatever tape element is under your guy
06:29:12 <Patashu> if you want to check the starting point use some <>s
06:29:21 <Patashu> it's more flexible this way
06:30:00 <CakeProphet> not if I go back more spaces on each loop. :P
06:30:37 <Patashu> the tape length is guaranteed to be within a finite range, so...
06:30:44 <Patashu> you could write a program to generate whatever algorithm you're after
06:30:48 <Patashu> program can be as big as you want
06:30:54 <elliott> that's the standard practice nowadays
06:31:00 <elliott> try to detect tape length and what the program's doing, react accordingly
06:31:08 <elliott> with big partially-generated programs
06:31:20 <elliott> (with a generator tailored to that one algorithm, that is)
06:31:33 <elliott> CakeProphet: You could look at some of Gregor's generated programs, they include the Perl code used to generate them
06:31:42 <elliott> (as base-sixtyfour; running them as Perl produces the Perl code)
06:31:48 <elliott> (this is because BF Joust doesn't have full comments)
06:32:00 <CakeProphet> how on earth can you deduce the board length
06:32:21 <elliott> Didn't you READ space_elevator? :P
06:32:39 <elliott> But basically, number of cycles passed + where the opponent has tripwires + where the opponent's flag is + a bunch of other stuff = deduction.
06:33:19 <Patashu> I wonder how randomly_arbitrarily_large bfjoust would fare
06:34:13 <Patashu> as opposed to randomly_fairly_small bfjoust which is what we have
06:34:37 <elliott> Hey, Homestuck update, finally.
06:34:48 <elliott> Patashu: the original tapes were very long
06:36:01 <elliott> "Let's pull back from this ever narrowing dark pocket. All this uncertainty is wearing thinner than the only pair of pants in an immortal's wardrobe."
06:37:53 <elliott> oh come the fuck ON Scratch did you just pull the "ONLY KIDDING THAT WASN'T THE ALPHA TIMELINE" shit
06:38:29 <Patashu> huh, so that's quarters' ability
06:38:53 <elliott> wait, what was it? I must have missed it
06:39:08 <Patashu> you've noticed the top banners change right
06:39:13 <elliott> I was too busy fantasising about making Scratch speak in sentences of five words of four syllables each at maximum
06:39:25 <elliott> disappearing into the quarter?
06:39:32 <Patashu> it's some kind of pokeball
06:39:42 <elliott> the gif loaded wrongly for me
06:40:14 <elliott> But seriously what a cheap recovery.
06:42:38 <CakeProphet> elliott: I'm going to do this one entirely by hand over the course of several days.
06:42:54 <elliott> CakeProphet: You want to be testing it really regularly :P
06:42:57 <elliott> Or you'll just end up with a shitty program.
06:43:01 <elliott> Use egojsout extensively, it is REALLY useful.
06:43:07 <elliott> Oh, and SEND THE COMMANDS IN-CHANNEL >:|
06:44:03 <elliott> Patashu: (...but seriously how come all the deceased members of the Felt are back to life. Spades has all his injuries, so this isn't pre-intermission.)
06:44:07 <elliott> (Maybe he's travelled back in time.)
06:44:19 <Patashu> I'm not sure, I hadn't even thought of that
06:44:27 <Patashu> I just assumed pre-intermission
06:44:56 <elliott> Patashu: The banner on 5738 makes that even less likely X-D
06:45:20 -!- Deewiant has quit (Ping timeout: 276 seconds).
06:45:29 -!- Deewiant has joined.
06:45:53 <Patashu> but...jack noir = spades slick right? so he can't die. right??
06:50:33 <elliott> http://codu.org/eso/bfjoust/egojsout/index.php
06:50:34 <CakeProphet> I am too lazy to read things before I plunge into something, obviously.
06:50:46 <elliott> CakeProphet: you should _really_ read the entire strategies page.
06:50:50 <elliott> or you _will_ get beaten mercilessly
06:51:00 <elliott> basically egojsout is an interactive warrior development/debugging tool
06:51:13 <elliott> it lets you pit any two warriors against each other, see a full trace of the execution, an animated version so you can see how the programs are operating...
06:51:25 <elliott> it's basically vital for developing warriors.
06:51:33 <elliott> see all the "Trace and animation" links on http://esolangs.org/wiki/BF_Joust_strategies
07:06:29 <Patashu> you can give it any two programs
07:06:40 <elliott> CakeProphet: nobody is left. only our dead souls.
07:07:21 <CakeProphet> I mean, which program is left and which is right.
07:10:00 -!- monqy has quit (Quit: hello).
07:11:32 <Patashu> it should let you adjust it
07:12:37 <Patashu> brainfuck is user friendliness paramount!
07:12:56 <Patashu> sucks at doing fast fourier transforms though
07:13:30 <elliott> CakeProphet: um that's what all the links are for
07:13:35 <elliott> first line is sieve, second line is kettle
07:13:40 <elliott> from left to right are the tape lengths
07:14:12 <elliott> Patashu: sieve means + increments and - decrements for both players
07:14:16 <elliott> kettle means that + and - are swapped for one player
07:14:25 <elliott> i named these and will never apologise for their naems.
07:14:36 <elliott> remember how flipping polarity used to be a viable strategy?
07:14:41 <elliott> <-- GUY WHO PUT A STOP TO THAT HERE
07:14:55 <elliott> lol oh wow i remember people rerunning programs ten times just to get a good tape length
07:15:11 <elliott> but yeah we need quintopia's fixed-point scoring system IMHO
07:15:32 <elliott> http://esolangs.org/wiki/Talk:BF_Joust#Scoring
07:16:37 -!- Phantom_Hoover has joined.
07:21:02 <elliott> Phantom_Hoover: how is a donkey
07:21:44 <CakeProphet> elliott: my current program beats slowpoke at some of the small boards and some of the middle boards.
07:22:12 <CakeProphet> http://codu.org/eso/bfjoust/egojsout/?l=c8f08955801dce28866a597d4ef33ea66dfba938&r=9a8203d4a81d0e908f795647f147054a602211bf
07:22:18 <Deewiant> Anything can be beaten part of the time, it's beating stuff consistently that's troublesome
07:22:41 <lambdabot> Phantom_Hoover: You have 21 new messages. '/msg lambdabot @messages' to read them.
07:22:54 <elliott> Wow, how did I manage that.
07:23:06 <elliott> CakeProphet: lol ok so it basically doesn't beat it at all
07:23:08 <elliott> that's an unquestionable loss
07:23:11 <elliott> remember that slowpoke is /slow/
07:23:13 <elliott> try it against a rush program
07:23:23 <elliott> allegro beats it on every single configuration
07:23:41 <CakeProphet> elliott: on small boards my program is a rush program. Just needs some finetuning.
07:24:03 <elliott> Looking at it, it's a rush program on every configuration, just a bad one :P
07:24:26 <elliott> Loses against the furry furry girls on pretty much every configuration.
07:25:01 <elliott> Hmm, you are actually fairly competitive with waterfall
07:25:13 <Phantom_Hoover> elliott, congratulations, you have broken lambdabot with your stupidly large number of messages.
07:25:17 <elliott> On two you win but only by a small margin.
07:25:29 <CakeProphet> elliott: yeah there are ties and shit on waterfall
07:25:37 <elliott> CakeProphet: Fuck you, you beat ICA.
07:26:32 <elliott> Loses against spelevator :P
07:28:11 <elliott> Uhh, a complete rewrite? They're orthogonal strategies.
07:28:19 <Patashu> is it deliberate that there's no 'wait' command?
07:28:24 <elliott> You can write a hybrid, but that's really two programs fused into one.
07:29:01 <elliott> User:ais523 introduced a revised version of BF Joust, with the following changes:
07:29:01 <elliott> A new command . is added, which does nothing but takes one cycle
07:29:03 <elliott> That's in the old revision
07:29:07 <elliott> In the new one, it's with every other command
07:29:13 <elliott> Which is saner, but unfortunately the text itself is unreadable :P
07:29:43 <CakeProphet> elliott: well I blindly rush the first 5 cells the flag could be, and then go back and try to set up a defense but it seems by the time I get to that point they're already beyond my tripwire.
07:30:16 <elliott> CakeProphet: To be perfectly honest, this is the kind of program that would have done well two years ago :P
07:30:27 <elliott> Maybe if we get another resurgence.
07:31:35 <CakeProphet> elliott: I guess mine isn't generated and massive enough.
07:31:43 <CakeProphet> doesn't help that I'm a shitty BF programmer. :P
07:31:51 <Patashu> it's still like 10th for some fucking reason
07:32:16 <coppro> elliott: it's almost respectable
07:32:17 <elliott> Patashu: yours is a modified version of a polarity thing iirc :P
07:32:24 <Deewiant> Mine isn't generated and it's third
07:32:24 <coppro> the MPs are actually letting each other talk
07:32:41 -!- zzo38 has quit (Quit: Others he will beat and that will be neat.).
07:32:53 <elliott> coppro: that would never happen in britain
07:33:34 <coppro> elliott: it got particularly out of hand last Parliament
07:33:45 <coppro> going in, they all said they wanted a better parliament, but no one believed them
07:33:53 <coppro> turned out they seemed to actually mean it, at least so far
07:34:00 <elliott> coppro: i'm fucking disgusted.
07:34:03 <elliott> coppro: ok we're coming over.
07:34:05 <CakeProphet> elliott: I seem to win quite often on small boards.
07:34:07 <Patashu> politicians not interested in long term well being of nation
07:34:09 <elliott> we're going to rebuild your society.
07:34:18 <elliott> you have clearly been led astray by your lumberjacks. and kindness.
07:34:28 <elliott> CakeProphet: it's easy to win on small boards, because you can do a lightspeed rush
07:41:41 -!- Vorpal has joined.
07:42:48 <elliott> CakeProphet: complicatedly
07:42:52 <elliott> hi Vorpal what fpga board should i buy
07:43:54 <Vorpal> elliott, I will tell you what I know about that if you give me the spec to the computer first
07:44:20 <elliott> do you want to know a spoiler.........................................
07:44:29 <Vorpal> elliott, however, why are you interested in an FPGA?
07:44:36 <pikhq_> coppro: MPs, *talking*?
07:44:39 <elliott> I'm reading extensively about the Reduceron
07:44:47 <pikhq_> coppro: What's next, a constitution?
07:44:49 <Vorpal> elliott, what is the spoiler?
07:44:54 <elliott> and am getting interested in purely-functional hardware
07:45:06 <elliott> Vorpal: i never.........made a spec i................ was too busy doing.......... other things...........
07:45:15 <Vorpal> elliott, ... when will you do it then
07:45:25 <pikhq_> Oh, wait, Canada. Technically has a constitution.
07:45:33 <coppro> They talk. Typically all at once
07:45:39 <coppro> except not today, apparently
07:45:40 <pikhq_> Dammit, need some other way of poking fun.
07:45:58 <pikhq_> Harder to do for Canada, because their government is *less* ridiculous.
07:46:02 <elliott> Vorpal: i don't know, ph has been waiting for like at least five months
07:46:09 <Vorpal> <pikhq_> Harder to do for Canada, because their government is *less* ridiculous. <--- than US? yes
07:46:18 <pikhq_> Vorpal: Than the UK, actually, in this case.
07:46:20 <CakeProphet> bah, brainfuck programming is difficult. :P
07:46:20 <elliott> you can't rush mismotivated
07:46:30 <Vorpal> elliott, you did it for bsmnt
07:46:34 <pikhq_> Well. It's still a monarchy ruled by divine right.
07:46:39 <pikhq_> That's pretty ridiculous.
07:46:49 <Vorpal> elliott, anyway I guess I'll go ahead without you then
07:46:49 <elliott> i had the spark that day, maybe i'll have the spark tomorrow, maybe two days in the future, but relying on me is generally a bad plan
07:47:07 <Vorpal> elliott, dude you won't survive university if you can't keep deadlines
07:47:21 <coppro> pikhq_: If I see 5 conservatives vote against party lines and see an opposition-moved amendment on a government bill, I will go to Ottawa and attempt to hug every MP
07:47:26 <elliott> Well to be fair there is significantly less resting on creating a spec for you.
07:47:37 <elliott> Also your deadlines kept not actually being deadlines anyway.
07:47:45 <coppro> pikhq_: also I will publicize this promise
07:47:58 <coppro> actually I might raise the numbers a bit
07:48:04 <coppro> given that they've four years to implement them
07:48:11 <pikhq_> coppro: So, some dude ruled the country, and had his kid take over, and so on, right? And you call this a way to rule a country?
07:48:19 <pikhq_> coppro: You deserve everything you get, you git.
07:48:25 <Vorpal> elliott, are you using EDF or LST scheduling for your life?
07:48:43 <elliott> Vorpal: Boy howdy, that's undoubtedly a really hilarious joke I don't get.
07:48:51 <Vorpal> elliott, no I'm serious
07:48:59 <elliott> I Wikipediad it. Hilarious.
07:49:07 <Vorpal> elliott, which method do you think works best for real life.
07:49:15 <coppro> pikhq_: If by 'rule' you mean 'sit in a different country and only get directly involved very rarely, the last time to help a politician commit political suicide in order to implement the most intelligent economic measure attempted in 50 years', sure, got no problem
07:49:18 <Vorpal> elliott, I'm utterly serious.
07:49:31 <elliott> Vorpal: I don't know, but I do know that my inability to "do X now" makes using any actual algorithm pointless.
07:50:02 <pikhq_> coppro: Still less ridiculous than the UK. Where the Queen could do just about anything...
07:50:07 <pikhq_> (and get lynched for it, mind.)
07:50:12 <Vorpal> Patashu, LST works better in the presence of sporadic tasks iirc.
07:50:52 <Vorpal> pikhq_, if she tried to do it, that right would very quickly be revoked
07:51:04 <pikhq_> Vorpal: As I said, "and get lynched for it".
07:51:14 <pikhq_> coppro: Y'know what? Fuck it. Think you could invade?
07:51:35 <Vorpal> pikhq_, how does US and CA compare to each other wrt this?
07:51:40 <coppro> pikhq_: I love framing
07:51:51 <elliott> MAYBE I'LL JUST ASK AIS ABOUT FPGAS INSTEAD ;_______________;
07:52:13 <pikhq_> Vorpal: The US is nominally ruled by just consent of the governed, and there exists no single individual with a high level of power.
07:52:35 <Vorpal> pikhq_, well, only nominally.
07:52:44 <pikhq_> In practice, it depends.
07:52:48 <pikhq_> Sometimes, that's how it works.
07:52:55 <Patashu> in practice, most people do what they're told/what their parents do
07:52:59 <Patashu> because of lack of free time
07:53:01 <elliott> sometimes that's how it works? r u srs
07:53:12 <pikhq_> Sometimes, the President has large brass testicles and can effectively act as monarch.
07:53:21 <Vorpal> elliott, heh I ended up doing an ineiros. I have a "restore session" tab listed in the "restore session" one.
07:53:40 <elliott> Vorpal: OK Mr. FPGA "Enemy-Of" Vorpal
07:53:59 <pikhq_> And this turns out both good and bad, depending.
07:54:01 <Vorpal> elliott, iirc you need state of the art for redueron.
07:54:08 <Vorpal> elliott, simpler ones won't work
07:54:15 <pikhq_> Bush is the most recent example of it turning out bad.
07:54:17 <elliott> Vorpal: It only ran at ninety megahertz, but that's probably irrelevant :P
07:54:27 <elliott> And only thirty-two kilowords of heap :P
07:54:31 <elliott> Anyway I don't expect to run the Reduceron.
07:54:34 <Vorpal> elliott, how many gates did it use?
07:54:34 <pikhq_> And by "bad" I mean "holy fuck, he's probably fucked over the next few generations".
07:54:40 <elliott> I just want the best evaluation board that I can afford.
07:54:52 <elliott> Vorpal: I don't know; the VHDL file is available but it is generated code.
07:55:13 <Vorpal> elliott, ah, you need to feed it into the synthesiser to get that info out
07:55:38 <Vorpal> elliott, anyway, the PC software... The cheap editions are generally very sucky from what I understood
07:55:44 <elliott> 2,000 logic gates, but this is less than 1% of our FPGA’s logic-gate
07:55:44 <elliott> capacity." ;; comment on one specific piece of functionality
07:55:45 <Vorpal> I used the pro version at university
07:55:52 <elliott> Vorpal: I could always pirate the software, couldn't I?
07:56:11 <Vorpal> elliott, not sure how easy it is to find such specialised software...
07:56:35 <elliott> http://torrentz.eu/search?f=xilinx
07:56:35 <elliott> http://torrentz.eu/search?f=altera
07:56:58 <Vorpal> elliott, I only used xilinx boards. You might get more info from ais on this stuff
07:57:18 <Vorpal> elliott, only the windows versions from what I can see
07:57:26 <Vorpal> xilinx at least makes linux versions too
07:57:34 <elliott> Anyway, I pretty much just want something that can run something bigger than "hello world", and that can do serial I/O :P
07:57:42 <elliott> (Why serial? 'Cuz it's fucking simple.)
07:57:59 <elliott> Plugging serial into a MacBook Air (via an adapter of course): HEIGHT OF WEIRDNESS?
07:58:20 <Vorpal> elliott, the board I programmed used parport. Anyway serial is easy. You can do the basics with two GPIO pins!
07:58:50 <Vorpal> elliott, assuming you mean UART
07:59:01 <elliott> It would be kind of sad if the Reduceron required a high-end board.
07:59:09 <elliott> I mean, it's generated code, but I presume the design is probably simply that complex.
07:59:16 <Vorpal> if you want USRT it would be more complicated
07:59:35 <elliott> Vorpal: I know nothing of serial ports TBH, I just know that they're meant to be simple to program with :P
08:00:23 <Vorpal> elliott, I have no idea how many gates it would use. You would have to test synthesise it for the model in question
08:00:35 <elliott> Can I do that without buying anything? :-P
08:03:39 <elliott> I get the feeling it would be easier just to rob the high-end kits from a university.
08:03:45 <Vorpal> elliott, anyway programming FPGAs is *nothing* like writing a normal program
08:04:16 <Vorpal> completely different paradigm from any other sort of programming
08:04:21 <elliott> I'm aware, but then I learned functional programming after a lifetime of imperative languages too.
08:04:38 <elliott> And anyway there is always that thing ais is working on. :p
08:04:47 <elliott> (I plan to play with York Lava which looks cool too.)
08:05:18 <Vorpal> elliott, best way to describe VHDL would perhaps be as writing event driven code using imperative style in the time domain or something like that.
08:05:50 <Vorpal> elliott, basically it is better to approach it as electronics engineering rather than as programming
08:06:15 <elliott> Which is great 'cuz I know no EE at all.
08:06:22 <elliott> But event-driven shit is something I'm relatively comfortable with.
08:06:29 <Patashu> circuitry is very different - you can parallelize it as much as you want for starters
08:06:43 <Vorpal> it is *easier* to make it parallel than serial even
08:06:55 <Vorpal> I mean, doing stuff in a serial order is *hard* in vhdl
08:07:41 <Vorpal> you would need to do some sort of flip-flop to keep track of which state you are in. That is probably a screenful of code alone.
08:08:00 <Vorpal> elliott, and you need to take care of the clock signal in most places.
08:08:21 <elliott> UNLESS I MAKE EVERYTHING CLOCKLESS.
08:08:35 <elliott> Vorpal: You should look at the Reduceron's VHDL file, it's hilarious.
08:08:48 <Vorpal> elliott, ghdl + gtkwave might be a good way to learn the basics, by simulating
08:09:16 <elliott> c22274 : and2 port map (w22274_0,w74_0,w228_0);
08:09:16 <elliott> c22254 : or2 port map (w22254_0,w22255_0,w22274_0);
08:09:16 <elliott> c22250 : or2 port map (w22250_0,w22251_0,w22254_0);
08:09:16 <elliott> c83 : or2 port map (w83_0,w84_0,w22250_0);
08:09:16 <elliott> c22276 : inv port map (w22276_0,w138_0);
08:09:16 <elliott> c22277 : inv port map (w22277_0,w151_0);
08:09:18 <elliott> c22275 : and2 port map (w22275_0,w22276_0,w22277_0);
08:09:19 <Vorpal> <elliott> UNLESS I MAKE EVERYTHING CLOCKLESS. <-- uh. 1) damn hard 2) Most FPGAs are based on a clocked design, so it won't work well 3) damn hard
08:09:20 <elliott> c82 : and2 port map (w82_0,w83_0,w22275_0);
08:09:25 <elliott> c22280 : or2 port map (w22280_0,w1670_0,w1689_0);
08:09:27 <elliott> c22282 : or2 port map (w22282_0,w68_0,w202_0);
08:09:28 <elliott> c22281 : or2 port map (w22281_0,w1708_0,w22282_0);
08:09:30 <elliott> c22279 : or2 port map (w22279_0,w22280_0,w22281_0);
08:09:32 <Vorpal> elliott, looks normal apart from the generated names
08:09:32 <elliott> c22285 : or2 port map (w22285_0,w208_0,w1536_0);
08:09:41 -!- augur has quit (Remote host closed the connection).
08:09:43 <elliott> Vorpal: it's thousands of lines of that
08:09:53 <elliott> the file is literally almost fifty thousand lines long
08:10:03 <Vorpal> elliott, that is in an architecture joining components right?
08:10:06 <elliott> before that there's a lot of
08:10:07 <elliott> attribute INIT of c21952: label is "0";
08:10:07 <elliott> attribute INIT of c21948: label is "0";
08:10:07 <elliott> attribute INIT of c21965: label is "0";
08:10:07 <elliott> attribute INIT of c21961: label is "0";
08:10:07 <elliott> attribute INIT of c21976: label is "0";
08:10:08 <elliott> attribute INIT of c21984: label is "0";
08:10:11 <elliott> attribute INIT of c21992: label is "0";
08:10:12 <elliott> attribute INIT of c22000: label is "0";
08:10:15 <elliott> attribute INIT of c22008: label is "0";
08:10:16 <elliott> and at the start there's a lot of
08:10:18 <Vorpal> elliott, I have no idea what that means
08:10:28 <Vorpal> elliott, link the file?
08:10:54 <elliott> Vorpal: Tried to sprunge it but then I just realised it's a meg big
08:11:02 <elliott> I didn't paste that much >_>
08:11:06 <Vorpal> where did you get it from
08:11:08 <elliott> http://www.cs.york.ac.uk/fp/reduceron/reduceron.tar.gz
08:11:11 <elliott> fpga/Reduceron/Reduceron.vhd
08:11:23 <elliott> <Vorpal> elliott, that is in an architecture joining components right?
08:11:33 <elliott> The Reduceron is described in York Lava, not VHDL
08:11:38 <elliott> York Lava just compiles to VHDL
08:11:44 <elliott> (York Lava is a Haskell library)
08:12:15 <Vorpal> when I tried to scroll
08:12:16 <elliott> (For a brief introduction to York Lava, see YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz.)
08:12:53 <Vorpal> it is all one entity??
08:13:07 <Vorpal> elliott, okay that is no normal vhdl.
08:13:18 <elliott> Vorpal: It's. Generated. Code.
08:13:25 <elliott> How many times do I have to say this.
08:13:37 <Vorpal> elliott, yes but where the fuck is the non-structural definitions
08:13:56 <Vorpal> elliott, because somewhere there has to be, or there is nothing to synthesise
08:14:04 <elliott> Oh, do you mean a "top level"?
08:14:23 <Vorpal> elliott, the fpga/Reduceron/Reduceron.vhd file *is* the top level as far as I can tell
08:14:31 <Vorpal> it just joins together other components yeah
08:14:33 <elliott> Top-level .vhd and .ucf files that basically connect the reduceron to
08:14:33 <elliott> the LEDs and switches on the XUPV5 board (also known as ML509).
08:14:50 <Vorpal> elliott, I would suggest that fpga/Reduceron/Reduceron.vhd is the top level one yeah
08:15:13 <elliott> Does that answer your question about "where are the non-structural definitions"?
08:15:51 <elliott> Has to be; that's all there is.
08:16:07 <elliott> Are you _sure_ it's not top.vhd?
08:16:36 <Vorpal> elliott, structural architectures is basically a way to join together many behavioural architectures. Like saying "place component foo and bar, and connect foo.out2 to bar.in1" or such
08:17:05 <elliott> presumably, it is joining together all those w560_0 things
08:17:10 <Vorpal> the problem here is that "architecture structural of Reduceron is"
08:17:11 -!- pikhq has joined.
08:18:37 <Vorpal> elliott, I mean there is process in the top.vhd file
08:18:54 <elliott> Are you sure structural architectures can't do more than you're thinking?
08:19:19 <Vorpal> elliott, could be. Actually they are freetext names. There are conventions though.
08:19:34 <Vorpal> elliott, and this doesn't seem to follow those conventions for names.
08:19:53 <elliott> (That's hand-written, obviously.)
08:20:00 <Vorpal> elliott, that looks like a structural one to me yes
08:20:01 -!- pikhq_ has quit (Ping timeout: 240 seconds).
08:20:13 <Vorpal> elliott, it is just I would expect a shitload of "begin process" in the generated one
08:20:13 <elliott> Well, why's there nothing to synthesise?
08:20:41 <elliott> Note that York Lava is still based around signals and the like.
08:20:42 <Vorpal> elliott, because how else would you do a latch or a flip-flop
08:20:45 <elliott> It's not compiling Haskell to VHDL or anything.
08:21:05 <elliott> Vorpal: Maybe look at YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz to see its architecture.
08:22:01 <Vorpal> elliott, right. But where are all the latches and so on!
08:22:14 <Vorpal> use unisim.vcomponents.all;
08:22:31 <Vorpal> elliott, flip-flops though
08:22:57 <elliott> Can they be simulated by anything lower-level in VHDL terms? :p
08:23:07 <Vorpal> elliott, processes that is how you do them
08:23:18 <elliott> Obviously there is another way, or the Reduceron wouldn't work.
08:23:27 <Vorpal> elliott, I suspect use unisim.vcomponents.all; might be it perhaps
08:23:30 <elliott> Seriously, look at YorkLava.txt. It's pretty damn low-level at its core.
08:23:44 <elliott> http://www.xilinx.com/itp/3_1i/data/fise/xst/chap03/xst03007.htm
08:23:54 <elliott> That's a summary of unisim.vcomponents.all. I think.
08:24:11 <elliott> I like how the Verilog code is consistently shorter and less noisy.
08:25:48 -!- nooga has joined.
08:26:15 <Vorpal> elliott, everything is processes in verilog iirc
08:26:47 <Vorpal> elliott, anyway top.vhd contains a set of flip-flops I can tell
08:26:55 <Vorpal> if (rising_edge(clock)) then
08:26:55 <Vorpal> saved_switches <= switches;
08:27:28 <Vorpal> fucked up indentation in that file
08:29:19 <Vorpal> elliott, what, Lava uses two-valued logic?
08:29:37 <Vorpal> normally in VHDL you have 7-valued logic.,
08:29:41 <elliott> Who says low and high are the only values of Bit? :P
08:29:56 <elliott> Symbol { componentName :: String
08:29:57 <elliott> , parameters :: [Parameter]
08:30:01 <elliott> , instanceRef :: IORef (Maybe InstanceId)
08:30:03 <elliott> , outputNumber :: OutputNumber
08:30:11 <elliott> (It's symbolic, obviously :P)
08:30:25 <elliott> {- Simulate: -} (\[] -> [repeat False])
08:30:29 <elliott> {- Continue: -} (\[o] -> o)
08:30:30 <Vorpal> elliott, can it be high impedance?
08:30:35 <elliott> high = makeComponent "high"
08:30:41 <elliott> {- Simulate: -} (\[] -> [repeat True])
08:30:45 <elliott> {- Continue: -} (\[o] -> o)
08:30:47 <elliott> logic2 :: String -> (Bool -> Bool -> Bool) -> (Bit, Bit) -> Bit
08:30:59 <elliott> {- Simulate: -} (\[a, b] -> [zipWith f a b])
08:31:03 <elliott> {- Continue: -} (\[o] -> o)
08:31:39 <elliott> Can I just record forever as my stupidity that I didn't realise x+y = (x^y) | ((x&y) << 1) until really recently.
08:32:09 <Vorpal> elliott, for signed integers?!
08:33:00 <Vorpal> elliott, I'm wondering what you are talking about here
08:33:37 <elliott> XOR is just addition without carry, AND gives you the locations of all the bits where there would be a carry.
08:33:51 <elliott> Which means that the next digit needs setting, so you shift it one and OR it in.
08:33:52 <Vorpal> elliott, wait something must be wrong, why don't we all use that instead of complex carry forwarding networks.
08:34:05 <elliott> 'Cuz that's probably slow?
08:34:13 <Vorpal> it doesn't *look* slow to me
08:34:19 <elliott> Hmm, maybe it fails if there's a cascaded carry.
08:34:27 <Vorpal> elliott, it must do that.
08:34:54 <Vorpal> elliott, not 100% sure no. But it looks faster than ripple carry to me at least.
08:35:01 <elliott> > but adding is not a bitwise operator.[/color]
08:35:01 <elliott> ....but it is easy to implement in terms of bitwise operators, as long as you remember the truth table for the full adder.
08:35:02 <lambdabot> Not in scope: `but'Not in scope: `adding'Not in scope: `is'Not in scope: `b...
08:35:04 <elliott> DAMMIT GOOGLE YOU ARE INCONCLUSIVE
08:35:17 <elliott> "A full adder has three inputs: addend, augend and carry in and two outputs:
08:35:17 <elliott> sum and carry out. Carry in is 0 for the rightmost bit. Make a truth
08:35:17 <elliott> table and note that the exclusive or is very useful."
08:35:23 <elliott> STOP BEING A FUCKING SOCRATES TELL ME THE ANSWER
08:35:41 <elliott> Addition can be viewed as a sequence of bitwise operations.
08:35:41 <elliott> Exclusive or-ing the addend and augend yields all of the partial
08:35:41 <elliott> sum bits; while and-ing the addend and augend yields all of the
08:35:41 <elliott> carry bits. Shift the carry bits left one position.
08:35:43 <elliott> Put the partial sum in the addend.
08:35:45 <elliott> If there are no 1's in the carry bits, then you're done and the
08:35:47 <elliott> result of the addition is in the addend.
08:35:49 <elliott> Otherwise put the carry bits in the augend and repeat.
08:35:53 <elliott> So mine is actually just one step in a loop.
08:36:07 <Vorpal> elliott, I said it wouldn't work like that :P
08:36:26 <Vorpal> and this explains why we use complex full adders and carry and so on instead
08:36:38 <Vorpal> elliott, what I don't get is why people don't use double adders or such lined up
08:36:54 <elliott> Creating directory 'HalfAdd/'
08:36:55 <elliott> Writing to 'HalfAdd/HalfAdd.vhd'
08:37:02 <Vorpal> elliott, not quite, but close I think.
08:37:10 <elliott> Vorpal: it was a joke but okay
08:37:19 -!- augur has joined.
08:37:24 <elliott> oh man type level naturals
08:37:27 <elliott> WHAT IS NOT THE BEST ABOUT THIS
08:37:35 <Vorpal> elliott, in circuitry you can trade speed for time to a large degree.
08:37:50 <elliott> The function 'vat' indexes a vector.
08:37:50 <elliott> Lava> (13 :: Word N4) `vat` n2
08:37:50 <elliott> A static type error is given if the index is out of bounds.
08:38:11 <Vorpal> elliott, you could in *theory* do a 32-bit adder as a 2-level network of and and or gates for each output
08:38:19 <CakeProphet> !bfjoust anti_slowpoke_stolen_from_Deewiants +++(>)*8(>[++[-]]+)*21
08:38:26 <EgoBot> Score for CakeProphet_anti_slowpoke_stolen_from_Deewiants: 18.1
08:38:29 <Vorpal> elliott, the required space however would be stupidly large
08:39:17 <Vorpal> <elliott> A static type error is given if the index is out of bounds. <-- how is this different from vhdl? Array indexing going out of bounds would likely fail at synthesis
08:39:25 <CakeProphet> all Dewiant had to do was change his initial + to +++ to get a perfect score against slowpoke. :D
08:39:26 <elliott> Yeah, but it's at Haskell type-check time.
08:39:34 <elliott> (Haskell runtime is when the VHDL is output.)
08:39:42 <elliott> tl;dr Fancy type-level natural shit.
08:40:18 <elliott> {-# OPTIONS_GHC -fglasgow-exts -XUndecidableInstances -fcontext-stack=1024 #-}
08:40:32 <Vorpal> elliott, oh btw vhdl synthesis is slow. I worked on systems with dual core 2 quads at university when I did that. For the basic stuff I did then it still took like half a minute
08:40:48 <Vorpal> elliott, expect synthesising redueron to be an over-nighter at least
08:41:04 <Vorpal> elliott, this is why you do simulation :P
08:41:14 <elliott> Xilinx provides a cool utility called Data2MEM. Given a bit-file,
08:41:14 <elliott> this utility can change the initial contents of a specified set of
08:41:14 <elliott> block RAMs. This allows us to change the program in the Reduceron's
08:41:14 <elliott> code memory without having to resynthesise, which would take ages.
08:41:31 <Vorpal> elliott, overnighter at least :P
08:41:32 <elliott> York Lava provides the following constructs for writing behavioural
08:41:38 <elliott> this is the important part
08:41:39 <elliott> CakeProphet: No shit sherlock
08:41:48 <Vorpal> CakeProphet, of course a program ties against itself
08:42:20 <elliott> newMult :: N n => New (Mult n)
08:42:20 <elliott> newMult = return Mult `ap` newReg `ap` newReg `ap` newReg
08:42:26 <elliott> s!result <== s!result!val + s!a!val
08:43:07 <Vorpal> elliott, anyway I hope you like reading time graphs. Like these http://www.2lazy.nl/MartinsBlog/mpp_images/exp1_gtkwave.jpg (found by google image search)
08:43:19 <Vorpal> elliott, generally that is what you get from simulation
08:43:28 <elliott> Vorpal: Doesn't it have serial emulation? :P
08:43:55 <Vorpal> elliott, simulation for vhdl means writing a test program, that provides a set of input signals over time, then checking the output signals.
08:44:03 <elliott> LOOK AT ALL THESE VIBES OF MINE YOU'RE HARSHING
08:44:06 <Vorpal> elliott, so simulation for vhdl is very much like unit testing.
08:44:31 <elliott> "Making plans isn't the same as being alive!"
08:44:36 <Vorpal> elliott, anyway I don't know any vhdl simulation tool that lets you do interactive input to them
08:45:08 <Vorpal> elliott, vhdl is very... enterprisy.
08:45:22 <elliott> MAKES A MAN WANT TO BECOME A RENEGADE AND USE VERILOG ALL HIS LIFE
08:45:28 <elliott> OR, ALTERNATIVELY, STAB HIS EYES OUT
08:45:38 <Vorpal> elliott, I have no clue about verilog, but isn't it pretty similar
08:45:52 <Vorpal> elliott, also come on, vhdl has an ada/pascal like syntax. Who doesn't love that.
08:46:17 <elliott> CakeProphet: Reading the explanation of it?
08:46:42 <CakeProphet> the stuff that's in the source code anyways
08:46:50 <elliott> CakeProphet: it's generated, don't bother
08:46:55 <Vorpal> elliott, anyway I can't find any traces of the 7-valued logic in york lava.
08:47:01 <Vorpal> elliott, that will be "fun" then
08:47:02 <elliott> Vorpal: btw the York Lava code for Reduceron is actually quite readable.
08:47:18 <elliott> emulator/emu.c is still the most understandable bit of code though :P
08:47:38 <Vorpal> -- | A time-varying binary signal is clasically a list of booleans.
08:47:49 <Vorpal> elliott, yep, york lava's Bit is 2-valued
08:48:28 <Vorpal> elliott, because ieee.std_logic_1164 is a lot more useful in practise than vhdl's built in 2-valued logic
08:48:42 <Vorpal> elliott, see http://en.wikipedia.org/wiki/IEEE_1164
08:49:01 <Vorpal> elliott, it allows you to detect conflicting signals, like two strong drives on the same wire and what not
08:49:16 <Vorpal> elliott, and you can do weak drive, very useful
08:49:19 <elliott> I like how it's seven-valued but actually nine-valued.
08:49:22 <Vorpal> and high impedance of course
08:49:40 <Vorpal> elliott, typo on my part then
08:49:46 <elliott> No, it's called seven-valued, I think.
08:49:48 <Vorpal> elliott, it was about a year ago I last used vhdl
08:49:50 <elliott> Because two values don't count.
08:49:53 <elliott> Uninitialised and don't care.
08:50:04 <Vorpal> elliott, don't care is utterly useful
08:50:23 <Vorpal> elliott, lets say you want to drive a 7-segment display
08:50:39 <Vorpal> and you get the input on 4 wires, so BCD coding basically (same as binary in this interval)
08:50:42 <elliott> And you wanted one of them to flicker on and off at random whims because "hey, I don't care".
08:51:05 <Vorpal> elliott, that means that some of the input combinations are not valid. Which means you can output whatever is easiest on those
08:51:15 <Vorpal> since they never happen
08:51:21 <Vorpal> this can simplify gates and so on
08:51:34 <elliott> An impossible branch just trailing off to the edge of the circuit.
08:51:36 <Vorpal> elliott, so yes don't care is very useful
08:51:42 <elliott> The impossible happens => circuit catches fire
08:51:43 <CakeProphet> elliott: I don't understand how these programs know when to reverse their polarity without relying on any kind of temporary variable.
08:51:56 <elliott> CakeProphet: Nested branches. Lots and lots and lots of nested branches.
08:52:04 <elliott> CakeProphet: Read the ENTIRE strategy pages.
08:52:04 <Vorpal> elliott, let me get a real example of this. I have it on a paper somewhere
08:52:07 <elliott> CakeProphet: That INCLUDES all the program summaries.
08:53:17 <Vorpal> for the first segment in a 7-segment display (the upper on on the left side) we can do this given the inputs A,B,C,D: C+A+BC+D'B' where ' is "invert previous symbol"
08:54:14 <Vorpal> elliott, this gives the right outputs for 0-9, which is the valid domain. However, it will give strange results for the values not allowed. Basically don't care means that the compiler can optimise without regard to what the result of these undefined values will be
08:54:29 <Vorpal> elliott, which in this case hugely simplifies the logic
08:54:30 <elliott> Where do you actually specify don't care there?
08:54:58 <Vorpal> elliott, well in the example I gave, I did it in the Karnaugh diagram I made on paper. I did this example for redstone logic, so no vhdl here
08:55:13 <elliott> Does redstone have don't care? :P
08:55:52 <Vorpal> elliott, no, but it doesn't matter. Because it is used so that I can assign that specific combination whatever value is easiest
08:55:54 <Patashu> redstone, a robust model for circuitry
08:56:20 <Vorpal> elliott, http://en.wikipedia.org/wiki/Karnaugh_map
08:56:32 <elliott> oh, you mean you did not actually write C+A+BC+D'B'
08:56:38 <elliott> but a diagram with each input/output enumerated
08:57:03 <Vorpal> elliott, yes, then I try to encircle power of two sizes in the diagram. The larger area, the simpler the gate
08:57:17 <Vorpal> elliott, thus for don't care values I can encircle them *if* it would make the area greater.
08:57:29 <elliott> I AM SO GLAD I LIVE IN THE WORLD OF HAPPY DIGITAL BINARY LOGIC.
08:57:52 <elliott> I'ma ask ais if his ALGOL compiler outputs code with that fancy seven-valued stuff so I don't have to :P
08:58:04 <elliott> And then spend two whole years coercing him out of his overly-legalistic mindset so that I can get a leaked copy.
08:58:12 <elliott> THIS IS MORE PRODUCTIVE THAN ATTEMPTING TO UNDERSTAND VHDL
08:58:20 <Vorpal> elliott, another case. Data bus. You definitely want the value Z there (high impedance)
08:59:07 <Vorpal> elliott, well, you have to basically disconnect from sending to the data bus when you aren't sending
08:59:14 <Vorpal> elliott, this is done by high impedance
08:59:29 <Vorpal> if you didn't, then you would drive it to zero or to one all the time. Not a good idea.
08:59:50 <Vorpal> elliott, read the introduction to http://en.wikipedia.org/wiki/Tri-state_buffer
09:00:07 <elliott> Vorpal: http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html How shitty is this.
09:00:20 <elliott> It's ubercheap which is nice.
09:00:30 <Vorpal> elliott, I have never used altera. But it looks like York lava is xlinix specific
09:00:40 <elliott> But actually it's the most expensive Altera starter kit that isn't completely unaffordable.
09:00:49 <elliott> I mean ignoring things like "Cyclone IV GX Transceiver Starter Kit" which is just, what is that even.
09:01:02 <elliott> Vorpal: I was just asking for opinions on the specs.
09:01:12 <Vorpal> trying to find them on the page atm..
09:02:04 <Vorpal> elliott, where is the spec for the actual FPGA found on that board
09:02:25 <Vorpal> elliott, you just gave me the spec for the board itself
09:02:27 <elliott> Or something more specific?
09:02:30 <Vorpal> "Cyclone III EP3C25F324 FPGA"
09:02:34 <elliott> http://www.altera.com/products/devices/cyclone3/cy3-index.jsp
09:02:40 <elliott> http://www.altera.com/products/devices/cyclone3/overview/cy3-overview.html has model info.
09:03:00 <elliott> 24,624 logic elements it seems?
09:03:07 <elliott> That is... piddly, isn't it.
09:03:13 <Vorpal> probably not enough for redueron no
09:03:19 <Patashu> high impedence means you'll be overwritten by any other value, right?
09:03:22 <Vorpal> remember 2000 was less than 1%
09:03:23 <elliott> One of the Reduceron papers said twenty-k was less than one percent of their capacity.
09:03:35 <elliott> Vorpal: I realise that I've no hope of running the Reduceron
09:03:44 <Vorpal> Patashu, err, more like *you* won't overwrite anyone else
09:03:57 <elliott> Vorpal: But still, is that enough to ... do anything with?
09:04:00 <Patashu> what's the result if two signals conflict?
09:04:08 <Vorpal> elliott, ask ais on that
09:04:27 <elliott> Can you make an FPGA catch fire with VHDL? Say yes.
09:04:43 <Vorpal> elliott, possibly you could make it overheat if there isn't adequate cooling
09:05:10 <Vorpal> elliott, hm 594 kilobits
09:05:38 <elliott> It has megabytes doesn't it?
09:05:55 <Vorpal> elliott, yes but that will be somewhat more annoying to access you see
09:06:02 <Vorpal> elliott, for a start it will be fixed to byte IO
09:06:30 <Vorpal> elliott, likely they only provide the library of vhdl modules to access it in some more expensive edition
09:06:51 <elliott> Vorpal: I'm tempted to build my own little York Lava-esque thing where absolutely everything is done at the bit level :P
09:07:06 <elliott> Thirty-two-bit word? Why, that's just thirty-two bits in a tuple.
09:07:07 <Vorpal> elliott, hm? But with 7-valued logic?
09:07:11 <elliott> NO, NICE BINARY EVERYTHING
09:07:17 <elliott> BINARY LOVE HAPPY EVERYTHING NICE YUM HAPPINESS HUGS ALWAYS
09:07:21 <Vorpal> <elliott> Thirty-two-bit word? Why, that's just thirty-two bits in a tuple. <-- vhdl does this :P
09:07:40 <Vorpal> Patashu, not sure what more useful values you could add
09:07:42 <elliott> Vorpal: Then byte IO to RAM is indeed inconvenient... it's eight times too much!!!!!
09:08:31 <Vorpal> # Quartus® II Web Edition (FPGA design software)
09:08:31 <Vorpal> # ModelSim®-Altera Web Edition (FPGA simulation software from ModelSim)
09:08:40 <elliott> That... sure is... promising...
09:08:45 <elliott> WHAT HAVE THEY COME UP WITH THIS TIME
09:08:58 <Vorpal> elliott, yes, the thing is, the software is what they really charge you for
09:09:16 <Vorpal> elliott, the FGPA itself is relatively cheap compared to the software for developing
09:09:22 <elliott> It's like Macs, except that nobody actually wants to use the software at all.
09:09:43 <elliott> Vorpal: Do the synthesisers have a command-line interface?
09:09:56 <elliott> Frankly if I can avoid creating a single "project" or "solution", it will not bother me in the slightest.
09:10:08 <CakeProphet> well, the barrier of entry on bfjoust is too steep now. So I think I'm going to not pursue that anymore and get some sleep.
09:10:17 <Vorpal> elliott, let me check a project directory from xilinix stuff
09:10:35 <elliott> CakeProphet: Is that... surrender I hear?
09:10:42 <elliott> I thought you were going to spend a week on this : (
09:10:55 <elliott> Vorpal: Unfortunately Xilinix's site is a huge huge pain to navigate.
09:10:56 <Vorpal> elliott, this was from a lab at university:
09:10:58 <Vorpal> automake.log full_blink.cmd_log full_blink.lso full_blink.pad full_blink.syr full_blink.ucf _impact.cmd Project.dhp vsim.wlf
09:10:58 <Vorpal> blinkers.dhp full_blink.data full_blink.mfd full_blink_pad.csv full_blink_tb.fdo full_blink.ucf.untf _impact.log __projnav _xmsgs
09:10:58 <Vorpal> blinkers.ise full_blink.gyd full_blink.mod full_blink.pnx full_blink_tb.udo full_blink.vhd _ngo __projnav.log xst
09:11:00 <Vorpal> blinkers.ise_ISE_Backup full_blink._hrpt full_blink.ngc full_blink.prj full_blink_tb.vhd full_blink.vm6 _pace.ucf tmperr.err
09:11:03 <Vorpal> full_blink.bld full_blink.jed full_blink.ngd full_blink.rpt full_blink.tim full_blink.xml pepExtractor.prj transcript
09:11:06 <Vorpal> full_blink_build.xml full_blink.lfp full_blink.ngr full_blink.stx full_blink._trpt half_blink.vhd prjname.lso work
09:11:06 <CakeProphet> no I'm not good at programming in brainfuck, and I definitely wouldn't know code to generate if I tried that.
09:11:22 <elliott> CakeProphet: BF Joust is nothing like BF programming really
09:11:25 <elliott> Vorpal: Like, I literally yelled at the computer trying to navigate the site.
09:11:26 <Vorpal> elliott, a number of those are directories :P
09:11:43 <elliott> It _refuses_ to answer the question "what starter kits do you have?".
09:11:44 <Vorpal> elliott, I'm a bit scared about "automake.log"
09:11:52 <elliott> It _refuses_ to give a flat list of all kits that are available with the prices on the same page.
09:11:55 <elliott> It is the _worst site ever_.
09:13:24 <CakeProphet> elliott: no, this is the worst website: http://www.angelfire.com/super/badwebs/
09:13:46 <elliott> this site is way too preachy
09:14:05 <elliott> basically this guy is jealous of everyone's web pages for looking far more cool than his which are probably all boring
09:14:13 <elliott> "Misspelled werds and impropr punktuation, make yur web look amaturish, and unfinishd. Awlays run a spel chek befor yu uplode!!!!!! : )"
09:14:29 <Vorpal> elliott, I hope this is a case of Poe's law
09:14:48 <Patashu> a deliberately bad web page about bad web pages is...
09:15:10 * Vorpal does a strong drive on the bit in "stabs a bit"
09:15:51 <Patashu> is there a document somewhere that explains all the interactions betweeen states in 9 state logic?
09:16:03 <elliott> CakeProphet: god i love this one
09:16:07 <Vorpal> Patashu, a text book perhaps
09:16:20 <elliott> unfortunately the front page is way better than all the others
09:16:26 <Vorpal> Patashu, anyway you generally don't mix them randomly
09:16:44 <Patashu> no I don't imagine you would
09:17:35 <Vorpal> Patashu, for a start Z only makes sense for an output.
09:17:46 <Patashu> war on drugs -> cryptography?? http://falkvinge.net/2011/06/07/weed-as-surprise-driver-for-mass-cryptoproficiency/
09:18:46 <elliott> war on cryptography -> drugs!
09:18:56 <elliott> cryptography on drugs -> war!
09:19:01 <elliott> war cryptography -> drugs on!
09:19:09 <elliott> on! war -> drugs cryptography
09:19:51 <Vorpal> elliott, anyway I can't imagine you would like to program for FPGAs.
09:20:05 <Vorpal> elliott, it is far too low level
09:20:16 <elliott> and hey i wrote a bootloader
09:20:20 <elliott> HAVE YOU WRITTEN A BOOTLOADER ASSHOLE
09:20:22 <Vorpal> elliott, vhdl and verilog makes asm seem high level
09:20:34 <elliott> THINGS YOU HAVE NOT WRITTEN: A BOOTLOADER ASSHOLE
09:20:39 <Vorpal> elliott, in asm you do ADD r1,r2. In VHDL you write a page of code to do it
09:21:01 <Patashu> once you have a circuit for adding can't you just reuse it?
09:21:13 <Vorpal> Patashu, yes indeed, but that takes a page of code :P
09:21:24 <Patashu> but you only have to do it once
09:21:27 <Vorpal> Patashu, besides, what about carry forwarding
09:21:31 -!- MigoMipo has joined.
09:21:39 <Vorpal> that would be annoying
09:21:48 <Vorpal> I mean a ripple carry adder is pretty simple
09:22:03 <elliott> yeah so you have to define addition so what
09:22:33 <Patashu> but can you define...division?
09:22:42 <Vorpal> annoyingly hard likely
09:23:05 <elliott> the mathematical impossibility of division is why arithmetic never really caught on.
09:23:06 <Vorpal> elliott, well the main issue is making things sequential when you need it. Everything sequential essentially has to be written as a clocked finite state machine
09:23:21 <elliott> just have a global clock, woop pow done.
09:23:23 <Vorpal> elliott, no, but it is verbose
09:23:28 <Vorpal> elliott, and of course you have a global clock
09:23:39 <elliott> how do you do it clocklessly, anyway?
09:23:58 <Vorpal> elliott, well you can do that for purely combinatorial circuits.
09:24:12 <Vorpal> or do you mean the crazy sort of advanced clockless?
09:24:21 <Vorpal> like that clockless MIPS CPU?
09:24:50 <Vorpal> elliott, combinatorial circuits: output = logical expression of inputs, no memory of previous state
09:25:04 <Vorpal> for example. the 7-segment display. It doesn't have to keep track of previous state
09:25:11 <elliott> so nothing that requires more than one step to express at all?
09:25:40 <Vorpal> elliott, pretty much. You can express any such expression as a 2-level network of and + or gates (plus inverters before sometimes)
09:25:56 <elliott> OK, now what about the crazy sort of advanced clockless? :P
09:25:59 <elliott> But, like, at a slower scale.
09:26:11 <elliott> Would it just have a local clock?
09:26:22 <Vorpal> well addition is clockless. Just wait for all the ripples to get through before reading the result.
09:26:29 <Vorpal> just make your clock slow enough
09:26:34 <Vorpal> a FA is not clocked after all
09:26:42 <Vorpal> but you have to take care of the gate delay
09:26:50 <Vorpal> which means that everything takes a finite time
09:27:00 <Vorpal> elliott, no clue how the super-advanced clockless CPUs work
09:27:14 <elliott> The biggest disadvantage of the clockless CPU is that most CPU design tools assume a clocked CPU (i.e., a synchronous circuit). Many tools "enforce synchronous design practices".[4] Making a clockless CPU (designing an asynchronous circuit) involves modifying the design tools to handle clockless logic and doing extra testing to ensure the design avoids metastable problems. The group that designed the A
09:27:14 <elliott> MULET, for example, developed a tool called LARD to cope with the complex design of AMULET3.
09:28:05 <Vorpal> metastability would be an issue yes
09:28:20 <Vorpal> clocked circuits nicely avoids that
09:28:23 <elliott> http://www.async.caltech.edu/mips.html ;; this paper isn't gonna be fun to read i guess :D
09:28:48 <elliott> the SEAforth multi-core processor (2008) from Charles H. Moore.[12]
09:28:48 <elliott> the GA144[13] multi-core processor (2010) from Charles H. Moore.
09:28:59 <elliott> and he ain't got no clocks
09:29:37 <elliott> The Honeywell CPUs 6180 (1972)[7] and Series 60 Level 68 (1981)[8][9] upon which Multics ran asynchronously
09:29:59 <elliott> SO WHAT IF YOU USED A SINE WAVE FOR A CLOCK LOL
09:30:41 <Vorpal> of course you don't get a square wave in practise, only reasonably close
09:32:12 <Vorpal> elliott, come on, you can't do instantaneous voltage changes in reality...
09:32:33 <elliott> just saying, electronics is a lot less of a comfortable discipline than programming :D
09:32:41 <elliott> "well it's a square wave. ...sort of. physics kind of gets in the way."
09:32:47 <elliott> "uh, booleans. yeah. ours have 9 values..."
09:33:06 <elliott> "oh well um... not using a clock might make your electronics just sort of fuck up and oscillate around."
09:33:13 <elliott> "but then that usually happens anyway."
09:33:17 <Vorpal> elliott, but yes. With vhdl and verilog you are working at a lower abstraction layer than when programming
09:33:18 <elliott> "we don't really know how to do any of this."
09:33:22 <elliott> "we're basically just bullshitting."
09:33:29 <elliott> "hello i am an electronics engineer and i suck."
09:33:37 <elliott> "oh man i feel so good saying all these true things."
09:33:59 <elliott> ````It would have been better if images are included in the page
09:35:15 <Vorpal> elliott, just like haskell is a higher abstraction than asm, vhdl and verilog are on a lower level abstraction than asm. Of course both are still higher than EDA software...
09:35:48 <Vorpal> Patashu, EDA is kind of like "well, lets place some p-type silicon here, and then some ...
09:36:03 <elliott> does anyone actually do that?
09:36:33 <Vorpal> elliott, well yes, when designing ASIC for example
09:36:43 <Vorpal> elliott, they tend to have module based systems
09:36:46 <elliott> Vorpal: hmm, but surely Intel's Latest Fancy Processor isn't made by hand, right? :-P
09:37:02 <Vorpal> elliott, probably not, but designs for gate modules used might well be
09:37:04 <elliott> man... wouldn't it be cool to see the source code to the i7??????
09:37:36 <elliott> i wonder who has less ugly designs from a maintenance point of view, amd or intel :P
09:37:51 <nooga> elliott: i've read the memo 23
09:38:23 <Vorpal> elliott, the FP parts are likely auto generated
09:38:27 <elliott> nooga: that seems to be what YorkLava.txt is
09:38:38 <elliott> well who cares about that.
09:39:31 <elliott> man, the York Lava specification of that simple stack machine is really pretty.
09:40:11 <elliott> The function 'simPoly' has almost the same type has 'eval', and it is
09:40:11 <elliott> straightforward to define a correctness property for the processor.
09:40:11 <elliott> prop_poly :: Expr -> Integer -> Bool
09:40:11 <elliott> prop_poly e x = eval e x == wordToInt (simPoly e x)
09:40:34 <Vorpal> elliott, of course york lava is not quite as general as vhdl.
09:40:47 <Vorpal> likely there are things you can't do directly in york lava
09:41:01 <elliott> Vorpal: yeah but why would you want to.
09:41:17 <Vorpal> elliott, tri-state buffers looks like one case
09:41:24 <elliott> (I know, I know, "why would you want to create your own hardware anyway"...)
09:43:38 <Patashu> "America is in crisis, " the Republican governor says on a website promoting the event. "We have been besieged by financial debt terrorism, and a multitude of natural disasters."
09:43:47 <Patashu> the word terrorism is quickly becoming meaningless
09:44:25 <Patashu> <Patashu> haskell is shit!!! <elliott> OMG IRC TERRORISM
09:45:32 <elliott> Patashu: that was... so rude of you to... impersonate me......
09:45:35 <elliott> nick terrorism.............
09:45:54 <Patashu> don't you mean supervillain
09:45:58 -!- elliott has set topic: Programming terrorism: the channel | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
09:46:07 -!- elliott has left ("Leaving").
09:46:14 -!- elliott has joined.
09:46:19 <Patashu> what I am doing to you atm
09:46:20 <elliott> Patashu: he nicks terrorism
09:46:25 <Patashu> accept my unsolicited IP packets
09:46:51 <cheater_> http://www.gravatar.com/avatar/fb7188d8be002ece64870dffe9ec6fa7?s=32&d=identicon&r=PG
09:47:22 <nooga> elliott: F-lite implementation is interesting itself
10:00:08 <nooga> because it's simple and can be used as an example when writing a minimal, lazy, functional language
10:01:12 <elliott> the modules are awfully broken up
10:01:32 <elliott> F-lite is a core subset of Haskell. Unlike GHC Core and Yhc Core,
10:01:32 <elliott> F-lite has a concrete syntax. You can write F-lite programs in a
10:01:32 <elliott> file, and pass them to the F-lite interpreter or compiler. Another
10:01:32 <elliott> way to view F-lite is as a minimalist lazy functional language.
10:01:36 <elliott> a symbolic term-rewriting language
10:01:39 <elliott> that compiles to the reduceron
10:01:45 <elliott> and is the main programming language for it
10:01:58 <elliott> it's actually not quite a subset, since you omit data declarations
10:02:03 <elliott> so valid f-lite programs aren't necessarily valid haskell programs
10:06:29 <elliott> hey guys what's a good abbreviation for root
10:06:32 <elliott> as in square root, cube root, ...
10:06:51 <Patashu> there's only a two letter one
10:07:13 <Patashu> rot sounds like rotate, rut doesn't sound like anything...
10:07:28 <Patashu> why not use root(a,b) = pow(a,1/b)
10:07:36 <elliott> Oh well, I guess I'll call it Root
10:07:57 <Vorpal> elliott, anything wrong with "root"
10:08:01 <Vorpal> why would it have to be 3 letters
10:08:16 <elliott> data BinOp = Add | Sub | Mul | Div
10:08:30 <Vorpal> elliott, you have three two letter ones
10:08:34 <Patashu> you don't need root if you have pow
10:08:37 <Vorpal> elliott, so why not Rt as said above
10:08:51 <Vorpal> elliott, and what is this for
10:08:56 <elliott> Patashu: I do, it's in the spec
10:09:12 <elliott> Yes; I'm implementing it solely because I can call the result sylladex.
10:14:45 <elliott> if "PRINT 9" is a statement, what would you call PRINT?
10:14:48 <elliott> people usually talk about like
10:15:13 <Patashu> command, function, method, subprogram
10:15:51 <elliott> Command should work, thanks
10:23:06 <nooga> what are you doing?
10:25:49 -!- Sgeo has joined.
10:35:48 <elliott> oh did you die of melatonin
10:36:32 <elliott> fucking scratch pulled the fucking beta timeline bullshit
10:39:26 <Sgeo> I formed a hypotheses around the beginning of this update, the ending discarded it
10:46:20 <elliott> hmm, is n+0 -> n constant folding or dead code elimination?
10:51:15 <Deewiant> It's not constant folding unless n is constant
10:52:10 <Deewiant> And DCE is for code that's never run, not code that does nothing
10:54:29 <elliott> Deewiant: My "constant folding" pass does instruction simplification too, then :P
10:54:36 <elliott> I suppose it's not all that unreasonable to interleave the two passes.
11:00:55 <elliott> nooga: it's this semi-decent language.
11:02:12 <elliott> but hands off, i'm over-engineering implementing it >:|
11:16:23 -!- sebbu2 has joined.
11:16:23 -!- sebbu2 has quit (Changing host).
11:16:23 -!- sebbu2 has joined.
11:18:42 -!- sebbu has quit (Ping timeout: 240 seconds).
11:18:42 -!- sebbu2 has changed nick to sebbu.
11:19:18 <oklopol> "<Patashu> why not use root(a,b) = pow(a,1/b)" <<< how about Wop
11:27:39 <oklopol> Zwaarddijk: i saw your bachelor's supervisor today and he was bragging about his finnish skills
11:30:33 <elliott> -- lt and gt can wait i am so fucking lazy
11:30:33 <elliott> -- also all the others, fuck this shit
11:46:13 -!- PatashuPikachuRe has joined.
11:46:50 -!- Patashu has quit (Ping timeout: 250 seconds).
11:47:51 <elliott> Maybe (Either Expr Value)... gross
11:58:20 <elliott> *Sylladex.Optimise> constFold (EBinOp Add EReadChar (EBinOp Add (EConst (VInt 0)) (EConst (VInt 0))))
11:58:29 <elliott> Now for EVEN MORE SPECIAL CASING.
11:59:07 <elliott> *Sylladex.Optimise> constFold (EBinOp Sub (EBinOp Add EReadChar (EConst (VInt 9))) (EConst (VInt 9)))
11:59:07 <elliott> EBinOp Sub (EBinOp Add EReadChar (EConst (VInt 9))) (EConst (VInt 9))
11:59:17 <elliott> This still needs some handling; re-arranging things is gonna be pretty ugly, though.
12:18:19 -!- copumpkin has joined.
12:20:14 -!- BeholdMyGlory has joined.
12:33:15 -!- FireFly has joined.
12:40:25 -!- foocraft has joined.
12:41:11 <nooga> i have a concrete idea what to code
12:41:18 <nooga> and skills to code it
12:41:30 <nooga> but i'm procrastinating
12:44:55 -!- pikhq_ has joined.
12:45:26 -!- pikhq has quit (Ping timeout: 260 seconds).
12:49:17 <elliott> nooga: WE DEMAND YOU TELL US
12:57:40 -!- Kustas has joined.
13:09:50 <CakeProphet> I am forward thinking in that, after a thought, it is now the future.
13:10:41 -!- Kustas_ has joined.
13:13:08 -!- Kustas has quit (Ping timeout: 258 seconds).
13:13:09 -!- Kustas_ has changed nick to Kustas.
13:17:25 -!- ais523 has joined.
13:19:31 <CakeProphet> elliott: compare to the situation in which I thought in reverse.
13:19:42 <ais523> hmm, I think I need more words to work out what the sentence means
13:20:28 <elliott> ais523: fpga buy kit affordable but is usable i had links but now i don't in clipboard and the fpga and also which of duopoly has support better linux
13:21:16 <ais523> also, I think they both claim native support for Linux
13:21:27 <CakeProphet> elliott: let a thought be a string X where blah blah blah blah blah time goes backwards when I think.
13:21:28 <ais523> Xilinx's tools showed huge signs of running on Cygwin, when I tried them on Windows
13:21:31 <elliott> yes but that doesn't mean it's any _good_
13:21:46 <ais523> I know we're using Altera tools at the moment, because we couldn't figure out the Xilinx stuff at all
13:21:50 <elliott> i'm basically asking which is more tolerable, but actually, Xilinx seem to be a lot more expensive than Altera
13:21:54 <elliott> even for the evaluation boards
13:22:09 <elliott> the Reduceron stuff was done with Xilinx, but that's basically academic since there's no way I could afford anything that could fit it
13:22:14 <ais523> I think it's marketed at managers rather than programmers
13:22:24 <elliott> although being able to use York Lava would be a perk, and it compiles to Xilinx-specific VHDL
13:22:33 <elliott> (York Lava is the declarative Haskell library used to define the Reduceron)
13:22:43 <elliott> (it uses two-valued logic exclusively :-----O)
13:23:41 <elliott> ais523: I was also meaning to ask: how efficient is the code your ICA → VHDL compiler outputs?
13:24:08 <ais523> elliott: possibly not as good as code generated by hand, but much the same order of magnitude
13:24:28 <ais523> apart from it doesn't do pipelining yet, but we may fix that at some point
13:24:44 <elliott> I think York Lava may be similar; the actual basis of it is fairly direct mucking with signals, but it has a bunch of sequential stuff that probably generates less-than-ideal code
13:24:50 <ais523> I know what Lava is about
13:25:04 <ais523> I'd get in trouble if I didn't
13:25:24 <ais523> well, Lava is just a really good language for expressing circuits designed by hand
13:25:32 <elliott> yep, but there's also things like
13:25:39 <elliott> , While (instr!isHALT!inv) $
13:25:39 <elliott> Seq [ isLIT instr |> s!rtop <== getLIT instr
13:25:39 <elliott> , isDUP instr |> s!stack!push (s!rtop!val)
13:25:39 -!- ais523 has quit (Read error: Connection reset by peer).
13:25:41 <elliott> Seq [ s!rtop <== s!stack!top
13:25:47 <elliott> which is decidedly not at...
13:25:48 <PatashuPikachuRe> yeah it's tough, we don't get eruptions around here so I never have enough of the stuff
13:25:49 <elliott> ugh great time to drop connection
13:26:10 -!- PatashuPikachuRe has changed nick to Patashu.
13:26:13 <elliott> you know what ELSE Is viscous and slow to propagate??
13:26:25 -!- ais523 has joined.
13:26:32 <elliott> <ais523> well, Lava is just a really good language for expressing circuits designed by hand
13:26:32 <elliott> <elliott> yep, but there's also things like
13:26:32 <elliott> <elliott> let instr = s!code!top in
13:26:32 <elliott> <elliott> , While (instr!isHALT!inv) $
13:26:33 <elliott> <elliott> Seq [ isLIT instr |> s!rtop <== getLIT instr
13:26:35 <ais523> the remote host closed the connection, for no reason at al
13:26:35 <elliott> <elliott> , isDUP instr |> s!stack!push (s!rtop!val)
13:26:37 <elliott> <elliott> , isREV instr |>
13:26:39 <elliott> <elliott> Seq [ s!rtop <== s!stack!top
13:26:43 <elliott> which is decidedly not at the level of the low level stuff
13:26:47 <ais523> well, no obvious good reason, anyway
13:27:11 <ais523> it still looks pretty low-level
13:27:27 <elliott> certainly, but my understanding is that "While" and "Seq" are distinctly higher-level concepts than VHDL offers
13:28:32 <ais523> only marginally higher level
13:28:38 <ais523> seq in particular is just wires in what I'm doing
13:29:03 <ais523> and even while is just wires and one gate
13:29:19 <elliott> ais523: now the actually relevant question: how long is everyone who isn't you or someone else working on it gonna have to wait before we play with the compiler :-P
13:29:32 <ais523> probably a couple of years
13:29:41 <elliott> I WILL SIT HERE UNTIL THEN
13:30:07 <ais523> although I've been doing fun things putting the equivalent of printf statements in the input to the compiler and having them actually work
13:30:15 <ais523> by using the simulator debug API
13:30:32 <ais523> and even making the program exit via an assert-false set to the maximum severity level
13:30:36 <elliott> ais523: stop bragging about your amazing compiler powers while I sit here with the prospect of hacking VHDL manually >:(
13:30:41 <ais523> well, maximum but one, you don't use the one above that unless things go wrong
13:30:50 <elliott> Can I send you Algol code and get VHDL code that you obviously hand-translated really quickly in response? :-P
13:30:58 <elliott> You could even set up a bot. I mean, with strong AI. To translate the code.
13:31:16 <elliott> (Oblig.: You could even release the source code to the bot's AI!)
13:32:34 <ais523> well, the compiler isn't really working properly yet
13:33:02 <ais523> and even when we finish implementing what we've done so far, it'll be missing at least one important feature, and one massively important optimisation (which is about as fundamental to hardware programming as TCO is to functional programming)
13:33:04 <elliott> a (*b)() is the same as a (*b)(void) in C, right? even though (in C90) a b() and a b(void) aren't (as prototypes)
13:33:11 <elliott> ais523: which important feature?
13:33:48 <elliott> ais523: btw, Vorpal told me to ask you about advanced clockless stuff, so I'm going to go out on a limb and assume he really hates you
13:33:54 <ais523> and, I think a(*b)() isn't quite the same as a(*b)(void)
13:34:08 <elliott> ISTR it is; you can't have a function pointer to something of indeterminate arguments
13:34:14 <ais523> elliott: FPGAs aren't really designed for that
13:34:18 <elliott> You have to use a pointer to varargs or something else ~wAcKy~.
13:34:35 <ais523> you could get it working in theory, but you'd be wasting a large proportion of their circuitry
13:34:50 <ais523> and function pointer to something of indeterminate arguments is how it worked all the time prior to C89
13:34:55 <ais523> I've even used some in a program I was working on
13:35:07 <ais523> because I wanted a function that you could pass another function of the same type to as an argument
13:35:14 <ais523> and indeterminite arguments is obviously the only way to express that in C
13:35:40 <elliott> But IIRC you need to cast a function pointer into a () one
13:35:44 <elliott> Which obviously means they're not compatible
13:36:02 <elliott> which actually makes me believe it less, but
13:36:37 <CakeProphet> ais523: I've been looking at cyclexa as inspiration for my own regular expression grammar, by the way. Looks very interesting.
13:36:43 <ais523> another example: int (*b)() = global_variable; b(2.0f) calls b as if it expects a double
13:36:54 <ais523> and int (*b)(float) = global_variable; b(2.0f) calls b as if it expects a float
13:37:13 <elliott> ais523: i'm asking this as part of a ridiculously intentionally-overengineered SyL implementation, FWIW
13:37:25 <elliott> it's this fairly decent language on the wiki http://esolangs.org/wiki/SyL
13:37:32 <elliott> i picked it because it was high up in recent changes and not completely idiotic
13:37:37 <ais523> you know, I didn't even think to ask what you were doing, I just assumed there was a reason and didn't care if there wasn't
13:37:42 <elliott> and also because i can call the resulting implementation sylladex
13:38:04 <elliott> but hey, it'll be the most useful, optimising, flexible of a language you'll never ever want to use
13:38:05 <ais523> they're good enough for #esoteric
13:38:22 <ais523> also, that page is uncategorised
13:38:27 <ais523> I've been forgetting to check that in the more recent languages
13:38:29 <Vorpal> <elliott> ais523: btw, Vorpal told me to ask you about advanced clockless stuff, so I'm going to go out on a limb and assume he really hates you
13:38:39 <elliott> i can't categorise it, i'm too busy poking five thousand holes in the spec: http://esolangs.org/wiki/Talk:SyL
13:38:45 <Vorpal> I only said that ais was more likely to know about it than me
13:38:57 <ais523> oh wow, http://esolangs.org/wiki/Special:Uncategorizedpages actually works
13:39:07 <ais523> perhaps I should clear it out some day
13:40:46 <elliott> you expected it to not work?
13:41:03 <elliott> only a hundred and eighty six pages, it seems
13:41:17 <elliott> you can reduce that by three by deleting the terrible articles:
13:41:24 <elliott> http://esolangs.org/wiki/Prefix_notation
13:41:25 <elliott> http://esolangs.org/wiki/Postfix_notation
13:41:27 <elliott> http://esolangs.org/wiki/Surround_notation
13:41:29 <ais523> well, some are subpages of other things
13:41:30 <elliott> although IIRC there's a fourth
13:41:36 <elliott> ah, http://esolangs.org/wiki/Infix_notation
13:41:59 <elliott> CakeProphet: no no, the esowiki is _totally_ the place for tehz to make articles about his weird, arbitrary distinctions between different aspects of notation that nobody else really agrees with
13:42:14 -!- oerjan has joined.
13:42:15 <elliott> "Infix notation is one of the 4 possible ways to describe a program." ;; makes less and less sense each time i read it
13:42:16 <CakeProphet> the correct term for that is circumfix... but "surround" makes it sound high quality, like good speakers.
13:42:30 <ais523> he forgot postcircumfix!
13:43:24 <elliott> hmm, now do I compile the AST directly into the backend, or do I want to compile it to some kind of VM first...
13:43:51 <CakeProphet> elliott: compile to a shell script that JITs
13:44:20 <ais523> oerjan: is a nullfix operator one that has to be the entire program if it's used at all?
13:44:45 <ais523> or did you mean the concept more commonly called an operand, but interpreted in a weird way?
13:44:49 <CakeProphet> on that note, time to go get a drug test brb
13:45:39 <elliott> I haven't got a drug, though
13:45:45 <elliott> so my results may not be what you're looking for
13:46:15 <elliott> hmm, (somestruct){ ... } is C99, right?
13:46:29 <oerjan> ais523: i was thinking of haskell's f x notation :P
13:46:59 <oerjan> oh and the ever popular wontfix
13:46:59 <ais523> that's an infix operator, just the operator is zero characters long
13:47:14 <elliott> also, how does one actually do a union literal?
13:47:17 <elliott> I'm not sure how they work at all
13:48:05 <ais523> union float_or_int {float f; int i;} /* ... */ (union float_or_int){.i = 4}
13:48:18 <elliott> do you have to use field syntax like that?
13:48:22 <ais523> C99 only, that syntax, but I don't think it works at all in C89
13:48:39 <elliott> also, I don't need the (foo) if the union is a field of a struct, right?
13:49:05 <ais523> in a struct literal, yes
13:50:56 <ais523> I'd spent all this time complaining about an awkward default setting on my feed reader
13:51:06 <ais523> and then I realised it was KDE not Gnome and I'd never actually opened the settings dialog box
13:51:08 <elliott> hmm, challenge: write a C expression that, given x, evaluates to negative one if the result is negative ("equal to EOF" is also acceptable), and the value otherwise
13:51:10 <ais523> now it does what I want
13:51:11 <elliott> but x can only be evaluated once
13:51:20 <elliott> if (getchar() == EOF) -one else getchar()
13:51:26 <elliott> without re-evaluating getchar()
13:51:56 <ais523> it's easy enough if you can cheat and use GCC extensions
13:52:29 <ais523> ((getchar() - EOF ?: -1-EOF)+EOF)
13:52:46 <ais523> but ?: takes three arguments in C89 and C99
13:53:51 <ais523> what was User:Uesr up to, btw?
13:53:57 <ais523> I can find out but am worried it might be NSFW
13:54:07 <elliott> well, unless you consider spam NSFW
13:54:23 <elliott> ugh, even addition is a pain with this direct-translation scheme
13:54:26 <ais523> I'd have probably blocked in addition to the userpage deletion
13:54:27 <elliott> definitely feelin' the VM vibes here
13:54:47 <elliott> although I don't really want to use a stack vm, it feels like such a copout when I could do register allocation
13:55:23 <ais523> haha, wow this is going to be beautifully insane
13:55:30 <ais523> will you have a reload pass more insane than gcc's?
13:55:59 <elliott> ais523: unfortunately, I don't know what a reload pass is
13:56:13 <ais523> I can explain what it is simply enough
13:56:15 <elliott> have I mentioned I'm planning a full FFI? :/
13:56:26 <elliott> -- TODO: constant-fold across [function -Ed] calls
13:56:30 <elliott> actual comment in Optimise.hs
13:56:32 <ais523> the way gcc and many other compilers work is, originally they assume an infinite number of registers
13:56:34 <elliott> well, sans the [] bit which I just added now
13:56:51 <ais523> and then adapt the code to allow for the finite number of registers they have in practice
13:57:05 <ais523> (SSA generally ends up naturally falling into an infinite-registers model)
13:57:21 <ais523> so they do it by reassigning registers, reusing registers with dead values, and worst-case spilling to memory
13:57:28 <ais523> that's the reload pass
13:58:00 <elliott> ais523: they should take that to its logical conclusion, and eliminate memory entirely
13:58:02 <ais523> apparently, everyone who understands how gcc's works has gone insane, or else recovered by refusing to speak of it ever again
13:58:16 <elliott> just treat all storage as part of the infinite domain of registers
13:58:23 <elliott> and let the reload pass sort out the best place to put it
13:58:36 <elliott> this feels like a remarkably ais523 thought to have, which pleases me greatly
13:58:53 <ais523> elliott: well, one of the main advantages we claim for our compiler is that it doesn't use centralised memory at all
13:59:08 <ais523> if it needs memory that it can't store in a LUT's delay slot, it goes and makes a small amount of memory locally
13:59:10 <elliott> i've always wanted a compiler that doesn't use centralised memory at all
13:59:22 <ais523> because memory bandwidth is the limiting factor nowadays, rather than actual storage capacity, for most programs
13:59:51 <elliott> ais523: do you have any opinion on how crappy/uncrappy this is? http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html
14:00:10 <elliott> specs on the actual fpga model seem to be here http://www.altera.com/products/devices/cyclone3/overview/cy3-overview.html
14:00:38 <elliott> I know it has about a tenth of the logic elements that the Reduceron guys' FPGA has :P
14:01:02 <ais523> it looks /very/ small by FPGA standards
14:01:19 <ais523> anyway, I have to go to a meeting
14:01:30 <elliott> FWIW, that's the highest-end starter kit they seem to have
14:01:39 <elliott> apart from ones which seem to be targeted at people doing weird non-generic stuff
14:01:46 <elliott> something about "GX tranceivers"
14:02:37 <elliott> yikes, that has half the logic elements
14:02:41 -!- Patashu has quit (Ping timeout: 240 seconds).
14:03:33 <ais523> or, hmm, the person I'm meant to meet isn't there
14:03:55 <ais523> I'll wait for him to phone me
14:04:26 <ais523> ah, OK, the FPGA itself isn't all that small
14:04:36 <ais523> just that the board isn't designed to allow access to its full capabilities at all easily
14:05:16 <ais523> you'll find that this is often the case
14:05:24 <ais523> in fact, FPGAs nowadays tend not to have simple VHDL/Verilog interfaces
14:05:43 <ais523> instead you need to use some crazy design flow wizard thing that takes care of synthesizing a whole lot of crazy boilerplate automatically, more or less like firmware
14:05:56 <ais523> and custom VHDL or Verilog you have to plug into it via an FFI-type thing with crazy interfaces
14:06:08 <ais523> we figured out how to turn that off with the Altera tools, but not with the Xilinx tools
14:06:14 <elliott> does the Altera toolchain just have a command-line synthesiser I can use and forget about the rest? :P
14:06:44 <ais523> (or rather, the Xilinx tools, you could turn it off but then there was no obvious way to connect your program to anything, and I spent a week trying to work out how on the Xilinx website and failing)
14:07:03 <ais523> (at least Altera give pinouts for their board; how to actually tell them to the compiler is non-obvious but we worked it out eventually)
14:16:29 <elliott> to stack machine or not to stack machine
14:22:39 -!- ais523 has quit (Read error: Connection reset by peer).
14:28:18 -!- ais523 has joined.
14:28:36 -!- Kustas has quit (Quit: appled into ipad).
14:34:29 <Sgeo> Chrome seems to have decided to stop displaying favicons
14:37:55 <Sgeo> Reading the lexical analysis wiki
14:38:27 <Sgeo> It mentions a program that makes lexica analyzers. I don't need to do that, right, it's easy to make my own?
14:39:29 <Sgeo> Although if there's something that makes lexers in Javascript, I might not bother to roll my own
14:41:08 <Sgeo> Wikipedia article continues to talk as though I shouldn't roll my own unless I have to
14:43:53 <Vorpal> elliott, what is that VM you are working on?
14:44:45 <Vorpal> ais523, why would xilinx and altera do those insane boilerplate thingies you mentioned!?
14:44:59 <ais523> Vorpal: why does Windows do wizards?
14:46:27 <Vorpal> ais523, Hm. From what I remember it worked like this when I used xilinx stuff. You wrote your vhdl file. Then you told it which one was the top entity in the IDE and right clicked somewhere to get a file where you could map signals to pins.
14:46:35 <Vorpal> maybe that was some old model
14:47:13 <ais523> that still works, in both Altera and Xilinx, although the exact place to right-click can take us an hour to find sometimes and we keep forgetting
14:47:32 <ais523> the issue with the Xilinx tools is that they gave no indication of what pin was connected to what on the evaluation board
14:48:07 <Vorpal> ais523, oh okay. I think the board I used was a custom made one at the university. At least it looked like it was hand etched...
14:48:18 <Vorpal> (not completely straight lines and so on)
14:48:45 <ais523> (one frustrating issue with the Altera thing is that the pin assignments tools makes you pick the pin names from a drop-down list, you can't just type them in, which is really annoying as there are hundreds of pins and the names are no more than four characters long)
14:48:53 <ais523> and hand-etched boards still tend to have straight lines
14:49:03 <ais523> the major difference is that the boards tend to be white rather than green or blue if etched by hand
14:49:16 <Vorpal> ais523, the board was yellow
14:49:27 <Vorpal> I never seen white ones
14:49:31 <ais523> that's what the white boards look like if they've been sitting in an acid bath for an hour or so
14:49:33 <elliott> <ais523> (one frustrating issue with the Altera thing is that the pin assignments tools makes you pick the pin names from a drop-down list, you can't just type them in, which is really annoying as there are hundreds of pins and the names are no more than four characters long)
14:49:36 <ais523> which is part of the process
14:49:42 <elliott> do they support kb completion?
14:50:02 -!- foocraft has quit (Quit: Leaving).
14:50:16 <ais523> we assume that the thing is backed by a text file somewhere so we could edit it by hand, but we never found the file; perhaps it's in a binary format instead
14:50:42 <Vorpal> ais523, for xilinx it is definitely a text file, though iirc they have a GUI drag-and-drop kind of thingy too
14:51:15 <ais523> we found the file in question for xilinx
14:51:37 <Vorpal> you could even open it from the GUI thingy by simply clicking somewhere iirc
14:51:46 <Vorpal> ais523, but why don't they give you access to the pins in a straight-forward way? I don't get it. What is in it for them?
14:52:23 <ais523> yep, it's typical large program design
14:52:47 <ais523> hmm, have you ever used Eclipse? imagine a program designed along similar lines, but getting all the details wrong
14:52:56 <Vorpal> ais523, btw, why do hand etched boards tend to be yellow/white rather than green or blue?
14:53:03 <ais523> it's a different process
14:53:38 <Vorpal> <ais523> hmm, have you ever used Eclipse? imagine a program designed along similar lines, but getting all the details wrong <-- eclipse is rather annoying. The IDE for VxWorks 6.x and later is based on eclipse, and it is annoying to use.
14:53:45 <ais523> I think it probably uses different chemicals, or something
14:53:50 -!- oerjan has quit (Quit: leaving).
14:53:56 <ais523> Vorpal: that's the sort of thing I'm getting at, wrt Xilinx/Altera toolchains
14:54:21 <Vorpal> ais523, are there any other FPGA companies?
14:54:40 <ais523> also, happy IPv6 day, everyone!
14:54:45 <ais523> Vorpal: no major ones, as far as I know
14:54:51 <ais523> as elliott said, it's a duopoply
14:55:31 <Vorpal> ais523, well, I guess altera is better, if they provide pinouts.
14:55:40 <Vorpal> are the pinouts hard to find?
14:56:03 <ais523> not too bad, they're in the manula
14:56:14 <ais523> for the evaluation board
14:56:48 <Vorpal> ais523, how did you use it with the compiler
14:56:52 <Vorpal> might be useful to know
14:57:06 <ais523> I didn't set it up myself
14:58:37 <Vorpal> ais523, I saw something about "web edition" of their IDE. What was that about?
14:58:49 <Vorpal> that came with the board elliott was looking at
14:59:08 <ais523> they tend to give academic versions of the IDEs to universities for free
14:59:13 <elliott> you download the ide from teh interwebs
14:59:15 <Vorpal> elliott, better check...
14:59:24 <ais523> e.g. Xilinx gave us a license for up to 50 unique MAC addresses
14:59:40 <elliott> well i know that for a fact, it's stated elsewhere
15:00:10 <ais523> bleh, this network isn't doing IPv6
15:01:27 <CakeProphet> ais523: you could also interpret function application in Haskell as being prefix, with the space not being a special operator but the function being the operator itself.
15:01:44 <ais523> CakeProphet: that muddles operators and operands
15:02:10 <Vorpal> In addition to ModelSim-Altera Starter Edition software, Altera offers ModelSim-Altera Edition with the following additional enhancements:
15:02:10 <Vorpal> * 33 percent faster simulation performance
15:02:10 <Vorpal> * Support for large FPGA designs with no line limitations
15:02:20 <Vorpal> that is a stupid "feature"
15:02:54 <ais523> hmm, now I'm trying to remember if both Altera and Xilinx use ModelSim
15:02:56 <Vorpal> do they cap the speed of the other one by 33% of what your processor can do or something like that
15:03:02 <Vorpal> ais523, xilinx definitely does
15:03:11 <CakeProphet> really it's all relative to what is the object in question. A quoted string is circumfix if you go by quotes, but you could also say that the inner string leme itself is infix in relation to the quote lexemes
15:03:21 <Vorpal> "# 10,000 executable line limitations"
15:03:30 <CakeProphet> though I now want to define the word leme..
15:03:33 <ais523> 10,000 is nothing in VHDL
15:03:37 <Vorpal> ais523, in the starter edition that is
15:03:44 <ais523> although I wonder if you could get around it by deleting all the newlines
15:03:58 <ais523> if it's that arbitrary a restriction
15:04:56 <Vorpal> the web edition won't use more than one CPU core when synthesising it seems
15:05:09 <Vorpal> nor will it do incremental compilation
15:05:34 <CakeProphet> but, yes, typically the operator is the thing in question. In the case of function application in Haskell I would say that the operator is prefix, because the function application isn't really a lexeme in itself.
15:05:35 <Sgeo> I have no idea how to write an incremental compiler
15:06:04 <Vorpal> Sgeo, make + multiple C files = incremental compilation at file level granularity
15:06:19 <Vorpal> I assume it means the web edition simply forces a full recompilation every time
15:07:12 -!- SimonRC has quit (Ping timeout: 260 seconds).
15:07:45 <Vorpal> $2,995 USD for the cheapest non-free version.
15:08:23 -!- SimonRC has joined.
15:08:36 <Vorpal> that is more expensive than the computer I'm using
15:10:25 <CakeProphet> Vorpal: dude it's perfectly reasonable. strings of machine isntructions encoded as bytes are valuable commodities. There's a very limited supply of it and high demand, so the price is high. BASIC ECONOMICS.
15:13:35 <ais523> apparently, in the world of radio frequency electronics simulation, at any one time there's only one program that everyone uses
15:13:43 <ais523> what happens is that it gets more expensive over time, as it's the only one available
15:14:01 <ais523> then someone else writes a program that's better, more featureful, and a tiny percentage of the price, then drives the incumbent out of business
15:14:19 <ais523> then they're the only one available, and it gets more expensive over time...
15:14:36 <Vorpal> ais523, and stupid too
15:15:12 <ais523> in the world of FPGAs, it's even worse, as it's hard to enter the market with the FPGA /manufacturers/ having a huge advantage in writing software
15:16:19 <Vorpal> ais523, because they don't release the specs required for you to figure out how to compile stuff to their products
15:16:40 <ais523> and also, they get to bundle software with hardware
15:17:07 <ais523> and hardware with other hardware that needs specialised software
15:21:09 <Vorpal> ais523, what about EDA? I guess it is about as bad there?
15:21:21 <ais523> I can't expand that acronym
15:21:28 <Vorpal> electronic design automation
15:21:33 <Vorpal> ais523, ASICs and so on
15:21:45 <ais523> ah, in that case I don't know
15:23:16 -!- SimonRC has quit (Ping timeout: 252 seconds).
15:24:14 <Vorpal> CakeProphet, what is that one?
15:26:12 <CakeProphet> uh, Zesty Military-Guided Chickens Masturbating Kill Mode
15:32:29 -!- CakeProphet has set topic: Redefining /Extreme/ Programming | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:36:00 <CakeProphet> We should make an esoteric software development methodology.
15:51:18 <Sgeo> I think I understand lexing well enough at this point.
15:54:36 -!- Kustas has joined.
15:54:57 <Sgeo> http://en.wikipedia.org/wiki/File:Parser_Flow.gif I thought compiler==translator
15:55:13 <Sgeo> Even if the former has more of a connotation of complexity than the latter
16:01:53 <CakeProphet> I would say they're close enough in similarity to almost be the same thing.
16:07:39 -!- SimonRC has joined.
16:17:47 -!- SimonRC has quit (Ping timeout: 260 seconds).
16:23:19 -!- TOGoS has joined.
16:23:27 -!- TOGoS has left.
16:24:22 -!- SimonRC has joined.
16:57:38 -!- Kustas has quit (Quit: left forever).
17:03:52 <Sgeo> Conservapedia makes me laugh
17:04:12 <Sgeo> There's an argument on a talk page's archive about whether autumn foliage is objectively beautiful
17:04:23 <Sgeo> http://www.conservapedia.com/Talk:Counterexamples_to_Evolution/archive1#Some_Comments
17:04:27 <elliott> fizzie: you're a nasm scientist right
17:04:34 <elliott> Sgeo: holy shit, I'm unblocked
17:08:30 <elliott> Sgeo: almost the entire world is blocked IP-wise (403) from Conservapedia
17:08:36 <elliott> but at least i can see it now, maybe they lifted it
17:08:54 <elliott> Sgeo: (Schlafly asked if there was a way he could just ban all non-USA IPs so he wouldn't have to deal with trolls)
17:09:07 <elliott> (this... worked, but I gather a lot of US IPs are collateral damage)
17:09:19 <elliott> but evidently Conservapedia's five editors aren't affected
17:10:41 <Sgeo> Wouldn't it have made more sense to just block non-US IPs from editing?
17:10:53 <Sgeo> I guess it might require some sort of entry level programmer
17:11:30 <elliott> why should non-US people be allowed to view the American encyclopedia?
17:11:41 <elliott> to be honest, they're hardly even people.
17:11:46 <CakeProphet> "The annual rate of extinction of species far exceeds any plausible rate of generation of species. Expanding the amount of time for evolution to occur makes evolution even less likely."
17:12:05 <CakeProphet> High extinction rate is a recent phenomenon as a result of massive human habitation..
17:12:39 <Sgeo> CakeProphet, did you see the bit about "If there's a 5% chance of any one of these being true"?
17:12:49 <CakeProphet> Parsimonious repetition of design elements throughout creation, e.g. the eye's appearance in remarkably different species. For such complex structures to arise repeatedly via evolution is impossible, as evolution is an inherently random and historically contingent process.
17:12:57 <CakeProphet> ....what? that's an argument for evolution if anything.
17:14:01 <elliott> [SAssign varname (EConst (VInt 999)),
17:14:01 <elliott> SAssign varname (EBinOp Add (EVar varname) (EVar varname)),
17:14:01 <elliott> SIf (EVar varname) [SAssign varname (EConst (VInt 0))]]
17:14:08 <elliott> time to hand-translate this to hypothetical bytecode
17:14:23 <CakeProphet> Pleiotropy, the fact that a change of a single gene can have several different effects, renders the "improvement" of animals by random mutation impossible, as any mutation with a potentially beneficial effect will be coupled with one or more other potentially lethal effects.
17:14:43 <CakeProphet> except, you know, when the lethal mutations kill the organism and prevent inheritance, and the beneficial ones remain.
17:14:59 <Sgeo> CakeProphet, keep reading them in order. There's a ... I want to call it a punchline, it's so ridiculous
17:15:06 <elliott> guys, what's the best way to do a stack of floating point in xeightysix assembly
17:15:11 <elliott> just push fp values to the normal stack?
17:15:24 <Sgeo> Or, um, just skip ahead *shrug*
17:15:38 <CakeProphet> For evolution to be true, every male dog, cat, horse, elephant, giraffe, fish and bird had to have coincidentally evolved with a female alongside it (over billions of years) with fully evolved compatible reproductive parts and a desire to mate, otherwise the species couldn't keep going.
17:15:57 <CakeProphet> ...yes, there's a definite line. One day, a baby is born and it just can't mate with anything of its species..
17:17:06 -!- monqy has joined.
17:18:39 <tswett> CakeProphet: well, the pleiotropy argument states that beneficial mutations are impossible, because a change to any gene will cause more harm than good.
17:20:45 <CakeProphet> Mutations cause a loss of information, rendering it mathematically impossible for mutations to advance the complexity of life. Similarly, entropy (disorder) increases over time, making it impossible for order to increase on its own. According to Cornell University geneticist John C. Sanford, not even the energy of the Sun, which might otherwise reduce entropy in a system not thermodynamically isolated such as the Earth,
17:22:43 <CakeProphet> poorly formulated information theory, mathematical assertions about complexity, thermodynamics, ecology, and Biblical apocalypse. There's even a smart guy as a source.
17:24:09 -!- zzo38 has joined.
17:24:59 <elliott> <CakeProphet> For evolution to be true, every male dog, cat, horse, elephant, giraffe, fish and bird had to have coincidentally evolved with a female alongside it (over billions of years) with fully evolved compatible reproductive parts and a desire to mate, otherwise the species couldn't keep going.
17:25:35 <tswett> Some of the things on that list seem like interesting, potentially valid arguments. Some of them seem like confused ravings.
17:26:17 <tswett> See, here's a potentially valid one: "Lack of genetic diversity among the Homo sapiens species. Were evolution and the old earth true, the human population would show a much larger genetic variance."
17:26:39 <tswett> Maybe they've done some mathematical models that show that, if evolution is true, then there indeed must be more genetic variance than there actually is.
17:28:55 <tswett> And here's a confused raving: "Evolution does not account for the immense amount of information in the genome, as well as the origin of the information-processing systems in the cell. Information always has a sender, who must be God in this case."
17:29:41 <elliott> tswett: I'm sorry that you deny beauty.
17:29:51 <elliott> You will suffer for it for the rest of your pitiful heathen life.
17:30:03 <zzo38> "...beneficial mutations are impossible, because a change to any gene will cause more harm than good..." This seems nonsense. Even if this is the case there can be changes to multiple genes and this can cause beneficial. And even if one causes more harm than good, does it say the harm is significant? However, none of this means any of the stuff I said actually happens either.
17:30:37 <zzo38> You also failed to account for quanglement.
17:30:46 <elliott> everyone always fails to account for quanglement
17:30:54 <Sgeo> "Scientists have found proof that the first chicken came before the first egg,[40] consistent with a special creation of chickens but not with a gradual descent with modifications from a proto-chicken and proto-egg."
17:31:54 <zzo38> ??? How old have chickens be? And how do you define what exactly counts as a first chicken or first egg, etc?
17:32:36 <zzo38> And why did Conservapedia block everyone?
17:33:31 <elliott> gah, dealing with things greater than one machine word in assembly is a pain :(
17:34:39 <zzo38> Does it have carry function?
17:34:44 <CakeProphet> tswett: There's plenty of genetic diversity in humans. But more importantly, "genetic diversity" is not something you can just measure; it's a qualitive statement. Even more importantly, it is not required that all species exhibit genetic diversity for evolution to be a valid theory.
17:35:08 -!- zzo38 has quit (Remote host closed the connection).
17:35:56 <tswett> CakeProphet: you *can* measure genetic diversity, though, can't you? Grab some random people, perform some genetic tests on them, and see how diverse their genes are, compared to your mathematical model.
17:36:28 -!- Kustas has joined.
17:36:37 <CakeProphet> tswett: hmm, well, yes. You can determine it that way.
17:38:48 <CakeProphet> However, you still have no metric for what is "very genetically diverse" and "not very genetically diverse", these are still fuzzy qualitive statements. You'd need to compare a number of different species, and perhaps compare between species.
17:39:09 <CakeProphet> and then you'd still probably need to assign some arbitrary scale to determine genetic diversity.
17:39:22 <tswett> Right. I have no idea what sort of analysis the people actually did, much less whether or not it was valid.
17:40:00 <CakeProphet> tswett: an admirable defense nonetheless. :)
17:41:55 <elliott> hmm, structuring this bytecode in haskell kind of sucks
17:42:00 <elliott> I suppose I want a map of labels to code
17:42:07 <cheater_> looks cool: http://www.deliantra.net/screenshots.html
17:42:07 <elliott> but it's so ugly to use like arbitrary ints for the labels
17:42:16 <elliott> I suppose I could include the relevant code directly but that would be a real pain for the code generators
17:42:53 <CakeProphet> But yes, I agree with this article that the law of thermodynamics necessarily implies slow ecological stagnation, which is an obvious precursor to the End Times. This assertion is in direct contradiction with the Fourth Law of Evolutionary Theory(tm) which states that "In order for the process of evolution to be true, everything must get better all of the time."
17:54:10 <CakeProphet> The main problem with most of these arguments is that they attack strawmen assertions that evolutionary theory supposedly makes.
17:54:10 <CakeProphet> but these assertions are actually just poorly worded ideas based on the principle of evolution that people make in a non-scientific context, and not the theory itself.
17:56:05 -!- Kustas has quit (Quit: quitter).
17:59:12 <pikhq_> There's actually a much more obvious rebuttle of that stupid thing.
17:59:25 <pikhq_> The Earth is not a closed system.
18:13:58 <elliott> Is there a logical argument for privacy? (self.AskReddit)
18:14:57 -!- olsner has joined.
18:16:28 <ais523> elliott: well, obviously there is
18:16:35 <ais523> I wonder if any will come up in the thread?
18:16:46 <elliott> ais523: I don't want to find out
18:17:03 <elliott> I'm running out of justifications to not unsubscribe from /r/AskReddit to be quite honest
18:17:12 <elliott> (The justifications are a huge long list of "I'm too lazy to".)
18:17:44 <lambdabot> ["I'm too lazy to","I'm too lazy to","I'm too lazy to","I'm too lazy to","I...
18:18:23 <CakeProphet> lambdabot, expanding minds for a better tomorrow.
18:18:30 <ais523> elliott: I'm subscribed to the default set, but never (or incredibly rarely) visit the reddit homepage anyway so it doesn't matter
18:18:48 <ais523> > take 500 $ repeat "I'm too lazy to"
18:18:49 <lambdabot> ["I'm too lazy to","I'm too lazy to","I'm too lazy to","I'm too lazy to","I...
18:18:56 <ais523> see, now it's a huge long list, rather than an infinite list
18:19:00 <elliott> CakeProphet: at this point, I would recommend against the experience
18:19:10 <elliott> there are a few decent subreddits, but outside of that...
18:19:18 <ais523> I read proggit for the offtopic stuff
18:19:21 <ais523> the ontopic stuff too, sometimes
18:19:29 <ais523> (I don't /submit/ offtopic stuff, though, because I'm not a monster)
18:19:57 <ais523> Sgeo: keeping proggit ontopic is well known to be difficult, despite the attempts of the moderators
18:20:01 <Sgeo> What's wrong with proggit that you wouldn't submit ontopic stu... oh, you said offtopic
18:20:21 <elliott> (In my... defence... I submitted it to proggit in a shameless karmawhoring attempt without thinking.)
18:20:26 <elliott> (Wait, that doesn't sound like a defence at all.)
18:20:37 <elliott> (Propose we drop the subject.)
18:20:51 <elliott> ais523: also, was that a snarky reference to this channel? :)
18:20:59 <Sgeo> I've karmawhored... by submitting an ontopic link to a subreddit
18:20:59 <ais523> I'm not very good at snarky references
18:21:16 <ais523> so if you see a snarky reference coming from me, it's either really awful, crude, and obvious, or else unintentional
18:21:27 <elliott> ais523: or, maybe it's intentional and you are just THAT
18:21:35 <CakeProphet> elliott: you could incorporate this into a pronunciation based language: http://en.wikipedia.org/wiki/Duplifix
18:22:02 <ais523> elliott: part of the reason I tend to be so honest is that I'm pretty bad at lying
18:22:10 <elliott> bah, shm-reduplication shm-reduplication
18:22:28 <elliott> DO YOU SEE WHAT I DID THERE
18:23:28 <elliott> i don't think ais523 sees what i did there.
18:23:36 <elliott> i think he's quite blind to what i did there
18:23:52 <elliott> http://en.wikipedia.org/wiki/Shm-reduplication may help :D
18:24:49 <ais523> ah, that's a rather specific thing to do
18:25:29 <CakeProphet> this would be fun to parse in a programming language: http://en.wikipedia.org/wiki/Transfix
18:25:29 <elliott> BUT DO YOU SEE WHAT HAPPENS WHEN YOU SHM-REDUPLICATE "SHM-REDUPLICATION" YOURSELF
18:25:48 <lambdabot> "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha...
18:25:59 <ais523> CakeProphet: I actually did laugh at that
18:26:02 <ais523> not at elliott's thing yet, though
18:26:16 <elliott> shm-reduplication shm-reduplication
18:26:23 <monqy> > cycle "ha" -- better laughter
18:26:24 <lambdabot> "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha...
18:26:34 <elliott> yeah that laughter is just so much more... compact.
18:26:35 <ais523> surely the second should either be shm-shm-reduplication or shmeduplication?
18:26:41 <elliott> ais523: you are spoiling it :(
18:26:48 <elliott> all 0 humour in it is now dead
18:26:50 <ais523> elliott: it wasn't funny to spoil in the first place
18:27:33 -!- elliott has set topic: #shmesoteric | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:29:56 <CakeProphet> I guess a?b:c would be kind of like transfix, but that doesn't really apply outside of human languages.
18:30:35 <CakeProphet> because in transfix your interspersing the affix into the stem. Programming languages don't have that concept. a, b, and c do not collectively make a "stem"
18:31:39 -!- foocraft has joined.
18:32:02 <CakeProphet> I love the examples of infix in English: hizouse for house and shiznit for shit
18:32:16 <CakeProphet> "Fucking" and "bloody" are sometimes used as expletive infixes, as in "un-fucking-believable" or "abso-bloody-lutely"
18:35:02 -!- pikhq_ has quit (Ping timeout: 252 seconds).
18:35:03 -!- pikhq has joined.
18:35:38 <CakeProphet> "A-whole-nother", in which another (an+other) is reanalyzed as a+nother.
18:37:16 -!- ais523 has changed nick to scarf.
18:38:01 -!- scarf has changed nick to ais523.
18:39:10 <ais523> elliott: we were having a discussion about alternative nicks in #nethack
18:39:17 <ais523> and a whole load of people changed to backup nicks for a bit, then back again
18:39:30 <elliott> does #nethack ever have anything worthwhile to discuss
18:40:05 <nooga> elliott: still playing Minecraft? or maybe You switched to Dwarf Fortress?
18:40:10 <ais523> yes, if you consider NetHack worthwhile
18:40:14 <ais523> it's ontopic well above 50%
18:40:49 <elliott> actually I think we're off-topic less than you'd expect, in that, I suspect if we weren't offtopic, there would instead just be huge periods of silence
18:40:56 <elliott> things tend to happen in spurts in the esoteric world
18:41:31 <elliott> nooga: (I still play Minecraft, but not much lately, but I won't much once Elliottcraft becomes more concrete :P)
18:41:36 -!- ralc has joined.
18:41:45 <ais523> elliott: are you making a Minecraft clone-but-better?
18:41:55 <ais523> also, I'd imagine adding more concrete to a Minecraft-alike would be quite easy
18:42:14 <elliott> ais523: I _might_ be. but actually, it takes a lot of inspiration from a lot of other things, and I'm trying to replace the central game mechanic/framing mechanism itself
18:42:33 <ais523> so it's just named as a Minecraft reference to confuse/attract people?
18:42:35 <elliott> as far as the blockworld itself goes, Dwarf Fortress is a better comparison, although it's presented in the Minecraft manner
18:42:48 <elliott> ais523: I needed a throwaway name while discussing it in #esoteric-minecraft :P
18:42:50 <ais523> (confusion and attraction form a pretty powerful combo in Pokémon, but it's not recommended to actually use it)
18:43:12 <elliott> It would be amusing to actually release it as Elliottcraft though, just to see how much I get yelled at
18:43:41 <ais523> putting your own name in the name of a product normally causes it to not do very well
18:43:43 <olsner> fizzie: hey, finnish person: is risto karvinen a real person?
18:44:03 <elliott> ais523: there are many companies named after people that are very successful
18:44:07 <elliott> named after their founders, that is
18:44:10 <ais523> now, if /I/ called something Elliottcraft, it would be fine because I'm not called Elliott
18:44:13 <elliott> olsner: http://sv.wikipedia.org/wiki/Risto_Karvinen
18:44:26 <elliott> ais523: oh, I'll call it Alexiansmithcraft then
18:44:29 <olsner> elliott: yeah, that's where I started
18:44:36 <ais523> wow that's a crazy name
18:44:42 <ais523> bonus points for me because I misparsed it to start with
18:44:43 <elliott> it is, it doesn't even parse into your name for me
18:44:51 <elliott> Alexian smithcraft??? what the hell is that
18:45:05 <olsner> like normal smithcraft but more alexian
18:45:06 <elliott> hmm, really tempted to actually use that now
18:45:16 <elliott> my regard for popularity is astonishingly low :D
18:47:31 <olsner> ... finally back in linux now, I don't understand how I could ever use windows as my main OS
18:47:48 <elliott> i know how scary it can be sometimes
18:47:54 <elliott> I get kind of nervous even just booted into OS X
18:49:09 <Sgeo> Is it conceptually simpler to have continuations accept a continuation but just ignore them, or to have them not accept a continuation?
18:49:32 <olsner> in OSX you can just start X or a terminal and it starts behaving more like normal
18:49:39 <elliott> continuations don't take continuations.
18:49:51 <elliott> (what would you apply them with?)
18:50:08 <olsner> but in windows if you happen to start cmd all that's left is to stab your eyes (and soul) out with the nearest blunt object
18:50:23 <elliott> olsner: im sorry for your experience
18:50:23 <ais523> elliott: well, you could take an unapplied or thunked continuation, and give it as an argument to a continuation, without any real issues
18:50:29 <elliott> yeah sometimes you can be in windows
18:50:34 <elliott> hey i want to bring a terminal up-
18:50:37 <elliott> and then you have a panic attack
18:50:40 <ais523> olsner: I installed djgpp, just so that if I started cmd by mistake (or deliberately) it would work vaguely like a UNIX shell
18:50:41 <elliott> and they find you dead two weeks later :(
18:51:12 <CakeProphet> which was kind of like having bash. kind of.
18:51:18 <ais523> Cygwin doesn't hijack cmd, does it?
18:51:27 <ais523> (note that I mostly only used cmd to start bash /anyway/, but...)
18:51:33 <CakeProphet> it runs in its own little environment, but you can manipulate the entire file system with it
18:51:36 <elliott> cmd is a terrible terminal, though
18:51:54 <elliott> Cygwin has the unfortunate thing that it sucks
18:52:24 <elliott> its fork() call is slower than making a cup of coffee
18:52:27 <ais523> DJGPP doesn't suck, but is an insane premise in the first place
18:52:32 <elliott> and its unicode support is just... blegh
18:52:36 <elliott> improved as of recent versions but
18:52:36 <ais523> (and doesn't implement fork)
18:52:44 <elliott> oh and setup.exe is the worst excuse for a package manager ever just... augh
18:52:48 <elliott> literally painful experience to use
18:52:52 <ais523> hmm... Cygwin's implementation is not the fact that it has a slow fork
18:52:55 <ais523> but the fact that it uses it
18:52:56 <elliott> ais523: hmm, djgpp has no sh, right?
18:53:01 <elliott> or does it have a manually-supported sh?
18:53:03 <elliott> or does it have a manually-ported sh?
18:53:06 <CakeProphet> ais523: do you have an entire /bin and everything in windows magically? How do you run and use bash effectively in Windows?
18:53:08 <ais523> I think it's manually ported
18:53:15 <ais523> it can't do things that would require multiple processes to run at once
18:53:23 <elliott> CakeProphet: it's really hard; I tried to get a native environment up once
18:53:36 <elliott> https://github.com/pclouds/busybox-w32
18:53:39 <ais523> CakeProphet: you do indeed have an entire /bin, attempts to access something in /usr/bin or /bin will rewrite the path into a directory that actually exists
18:53:41 <elliott> which is a wonderful native port of busybox
18:54:00 <CakeProphet> oh wait... I have a solution to this problem.
18:54:02 <ais523> this is the reason I keep writing the wrong directory in shebang lines
18:54:10 <ais523> as in DJGPP, it doesn't actually matter what you put there
18:54:20 <ais523> as long as it's a directory you might vaguely expect to find binaries in
18:54:30 <ais523> #!/bin/perl means the same thing as #!/usr/bin/perl, and probably the same thing as #!/sbin/perl
18:55:41 <ais523> you know the reaction that makes people spit coffee onto their keyboards? I just did that, except I wasn't drinking anything so the computer is fine
18:55:54 <CakeProphet> I can tell which can of Coke is cold delicious soda and which is empty by APPEARANCE ALONE
18:56:31 <ais523> CakeProphet: except Coca-Cola isn't a sort of soda
18:56:38 <olsner> if it's open and you're not currently drinking from it, then it's empty
18:56:44 <Vorpal> elliott, this was a subtle joke on /etc/rmt right?
18:56:44 <ais523> (or do you fill empty coke cans with lemonade to confuse people?)
18:56:58 <olsner> one standard can holds about one sip of drink, IME
18:57:02 <elliott> <ais523> CakeProphet: except Coca-Cola isn't a sort of soda
18:57:10 <ais523> I'm actually wondering if it's a language barrier thing
18:57:12 <Vorpal> elliott, http://sprunge.us/BFcR
18:57:13 <elliott> soda = pop = even coke in the southern us
18:57:17 <CakeProphet> is there some non-US meaning of soda that I don't know?
18:57:23 <elliott> = ten thousand different fucking names for "sugary carbonated drink""
18:57:24 <ais523> soda would be a more specific drink in the UK
18:57:27 <Vorpal> ais523, did you know about /etc/rmt?
18:57:41 <ais523> sort of like lemonade but worse
18:57:47 <elliott> # This is not a mistake. This shell script (/etc/rmt) has been provided
18:57:47 <elliott> # for compatibility with other Unix-like systems, some of which have
18:57:47 <elliott> # utilities that expect to find (and execute) rmt in the /etc directory
18:58:00 <elliott> (I typed /etc/rmt in chrome expecting it to google; instead it displayed the file
18:58:04 <elliott> (which is arguably more helpful here...)
18:58:18 <CakeProphet> elliott: coke is "kind of" a generic term in the southern US, yes, but it doesn't explicitly mean that. It just works out nicely because everyone in the south drinks Coke so it usually doesn't matter what you mean. :P
18:58:20 <ais523> elliott: this is why separate address and search bars is useful
18:58:27 <elliott> ais523: are you referring to crem soda, btw?
18:58:34 <ais523> elliott: no, that's something slightly different again
18:58:37 <elliott> calling that just "soda" would be weird
18:58:42 <Vorpal> elliott, I pastebinned it above. there is no need to paste it in channel
18:58:44 <elliott> ais523: hmm, then I'm not sure what you're referring to
18:58:47 <ais523> although I'm willing to accept that that's a sort of soda, given how similar they are
18:58:49 <ais523> CakeProphet: that might be it
18:58:49 <elliott> <ais523> elliott: this is why separate address and search bars is useful
18:58:54 <elliott> I usually type Ctrl+K when I want to search
18:58:58 <elliott> it automatically adds the ? prefix for search
18:58:59 <CakeProphet> ais523: "soda" is a generic term for carbonated water, yes.
18:59:01 <Vorpal> elliott, I highlighted you
18:59:02 <elliott> I never /clicked/ the boxes, so it's equivalent
18:59:05 <ais523> I had to configure Firefox to not search when entering a typoed URL in the address bar
18:59:27 <ais523> but it tries to visit the website instead, which is still annoying when I press return early
18:59:48 <Vorpal> I hate combined search bar thingy
18:59:56 <Vorpal> it fails badly on any system on the lan
19:00:10 <Vorpal> that runs a http server
19:00:23 <elliott> I like it and dislike any browser I can't configure to work like that, whoop de doo, who cares
19:00:30 <ais523> Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose?
19:00:44 <CakeProphet> I usually just type my search and have absolutely no problems..
19:00:55 <ais523> CakeProphet: where do you type it?
19:00:59 <CakeProphet> but the ctrl+k thing is useful. I didn't know that.
19:01:10 <CakeProphet> ais523: in the address/search bar of Chrome.
19:01:15 <ais523> I tend to use my mouse to focus the search box, as web browsing is mouse-driven anyway
19:01:30 <elliott> <ais523> Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose?
19:01:39 <elliott> ais523: routers usually handle assigning IPs to computer names, don't they?
19:01:45 <elliott> at least my router's DNS seems to, or whatever
19:01:50 <elliott> that seems saner than keeping it on every system
19:01:53 <elliott> ais523: that's what I meant
19:02:04 <ais523> elliott: yes, that's why I asked Vorpal rather than you
19:02:07 <elliott> I still use my router's DNS because everything else ends up slower
19:02:12 <CakeProphet> so, could I recursively mount root in my file system for great win?
19:02:24 <ais523> CakeProphet: you could use a loopback mount
19:02:34 <ais523> but I'm not sure if it'd be a great win or a mild curiosity
19:02:39 <Vorpal> <ais523> Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose? <-- yes
19:02:50 <ais523> only time I saw a useful use for that was when we mounted / at /var/www/root on Normish
19:03:01 <CakeProphet> ais523: directory walking algorithms would rejoice and become immortal. They will bow down and worship me.
19:03:01 <ais523> and had the entire VM served to the web
19:03:13 <ais523> CakeProphet: amazingly, some of them have actually thought of that
19:03:27 <ais523> I know certain directory walking programs have flags not to change filesystems
19:03:50 <ais523> I think it's more useful to stop you directory-walking onto an NFS share
19:03:55 <ais523> in case you didn't mean to do that
19:04:02 <pikhq> Why use /etc/hosts for its intended purpose? Not *that* hard to set up a DNS server.
19:04:24 <Vorpal> ais523, anyway I'm planning to switch over to running a zone on the caching dns server.
19:04:29 <ais523> pikhq: well, this explains why so few people use it that way, because there's not much of a reason
19:04:36 <Vorpal> ais523, but I don't have many systems
19:04:42 <ais523> quite a few people use it to redirect sites they don't want to browse at localhost or 0.0.0.0 or whatever
19:05:00 <pikhq> Feh, that's what I've got Adblock for.
19:05:10 <ais523> well, it extends to not just browsing
19:05:23 <pikhq> When else would that come up?
19:05:23 <ais523> you can use it to block arbitrary Internet-capable applications from accessing certain sites by name
19:05:31 <ais523> stopping automatic updates on Windows is a semi-common use
19:05:42 <pikhq> Pretty much everywhere else, you're explicitly specifying a single host.
19:05:49 <Vorpal> ais523, you can do that in preferences
19:05:57 <ais523> Vorpal: for the OS as a whole
19:05:59 <elliott> e.g. blacklisting away reddit.com
19:06:03 <ais523> individual programs can be nastier-behaved
19:06:19 <olsner> unless those applications include a DNS client... which would be a sensible thing to do if you want to make it a wee bit harder to work around their phone-home code
19:06:21 <ais523> on Windows everything has its own updater
19:06:42 <ais523> many of which like sitting in the <s>system tray</s>notification area whether you're using the associated application or not, and even show a little icon to let you know they're running
19:06:43 <Vorpal> ais523, I used /etc/hosts to redirect minecraft when minecraft.net was down, so the program would time out logging in a fraction of a second instead of over a minute
19:06:54 <ais523> Vorpal: yes, that's a sensible abuse of it
19:06:59 <elliott> notification system tray area
19:07:02 <ais523> except the bit that implies you were playing minecraft
19:07:15 <ais523> elliott: Microsoft have to go around denying that it's called the system tray
19:07:17 <elliott> Is that just an "I don't like Minecraft" comment, or?
19:07:25 <ais523> elliott: yes, it's just an I don't like Minecraft comment
19:07:33 <nooga> elliott: how advanced is Elliotcraft?
19:07:39 <elliott> nooga: I know of no such game
19:07:46 <Vorpal> ais523, anyway the best way to thwart phone home is a firewall to block that ip
19:07:56 <elliott> Elliottcraft I'm happy to talk about in #esoteric-minecraft, to avoid the wrath of ais523
19:08:00 <olsner> nooga: presumably it's a craft the like of which you have never seen
19:08:00 <ais523> because making petty jibes at things is easy to do when you're tired
19:08:08 <CakeProphet> nooga: hypothetically not as advanced as the hypothetical Cakecraft
19:08:10 <Vorpal> <ais523> except the bit that implies you were playing minecraft <-- what
19:08:14 <ais523> elliott: I don't necessarily dislike things similar to MInecraft
19:08:42 <ais523> just the game itself annoys me due to being shallower than its competitors, badly-written, and attracting hordes of fanboys
19:08:45 <Vorpal> ais523, what did you mean with that phrase!?
19:08:53 <elliott> ais523: What would you consider its competitors? I'm curious.
19:09:00 <ais523> Vorpal: I would explain except that I already explained to elliott a few minutes ago
19:09:12 <elliott> ais523: just wait for his scrollback to scroll into the right place
19:09:15 <elliott> should only take a few more lines
19:09:28 <Vorpal> elliott, yay now I have a valid excuse!
19:09:28 <CakeProphet> Cakecraft will support real death! and system clean up tools, which entails destroying your Windows partition.
19:09:32 <Vorpal> elliott, thank you so much
19:09:47 <ais523> elliott: in ##nomic I compared it to a game trying to do both what NetHack and Rubicon do, and doing them both really badly
19:09:52 <ais523> although it might have been a bad comparison
19:10:02 <ais523> I suppose it depends on what you want from a game
19:10:17 <elliott> ais523: while, mechanically, that may be true, I think the whole presentation and intent of a game matters greatly
19:10:20 <ais523> Sim City could be another comparison, too
19:10:24 <CakeProphet> it also serves as a sophisticated botnet! so that you can collaborate with other Cakecrafters and share computational resources, for example, to help me spam advertising for Cakecraft.
19:10:25 <Vorpal> ais523, dwarf fortress might be a better parallel, though much less intricate gameplay
19:10:28 <elliott> NetHack is, of course, a wildly different game as far as gameplay goes
19:10:41 <ais523> yep, but the premise is vaguely similar
19:10:43 <elliott> Dwarf Fortress too -- all those games have _goals_ of a sort :)
19:10:46 <ais523> even if the gameplay is very different
19:10:47 <Vorpal> of course very different game play again
19:10:56 <Vorpal> yes, minecraft is sandbox
19:11:09 <Vorpal> elliott, well, not dying could be a goal in minecraft?
19:11:12 <elliott> ais523: I agree that Minecraft is essentially not that interesting after you play it for a while, beyond some fun stuff like redstone circuits that are interesting for mainly reasons unrelated to the game itself; and Notch is obviously incompetent at practically everything
19:11:14 <ais523> I think my issue is that I don't see why a sandbox game should require you to gather the sand yourself
19:11:33 <Vorpal> elliott, I think minecraft really rocks because of SMP
19:11:38 <elliott> ais523: I think the essential presentation -- threedee world of purely blocks that you can mutate yourself creating a world with no inherent purpose -- is a really nice idea, hough.
19:11:51 <elliott> remember, Minecraft Classic was literally just that
19:11:53 <ais523> elliott: yep, I think that's a decent premise
19:11:58 <elliott> you could walk, jump, place blocks, and delete them (instantly)
19:12:04 <elliott> there was no health or anything, no time passing, nothing
19:12:05 <pikhq> It's a good idea, implemented by someone who's not that good at implementing these things.
19:12:10 <ais523> it's the addition of the other stuff that seems pointless, although some people seem to like it
19:12:10 <elliott> and it was still hugely popular, because that's the interesting core
19:12:15 <elliott> unfortunately, it needs to be added on to be truly interesting
19:12:17 <Vorpal> elliott, come on, have you still not got apple to fix your keyboard? How long does the warranty last
19:12:18 <elliott> and Notch stopped far too short
19:12:29 <ais523> hey, let's make a 3D Rubicon
19:12:29 <elliott> Vorpal: long enough for me to be lazy for a little while longer
19:12:32 <elliott> ais523: <ais523> it's the addition of the other stuff that seems pointless, although some people seem to like it
19:12:38 <elliott> Classic gets boring quickly
19:12:47 <elliott> once you've built a few houses, you're pretty much done
19:12:51 <ais523> elliott: well, I can imagine the addition of things to interact /with/
19:12:56 <ais523> just so long as it's optional or summonable
19:13:11 <Vorpal> ais523, like redstone?
19:13:21 <elliott> With Elliottcraft, I'm basically trying to make the world generation a lot more involved and detailed, and go from there
19:13:22 <ais523> Vorpal: I don't know what redstone is
19:13:22 <Vorpal> that 8-bit computer is really fun
19:13:24 <nooga> i've made a mod that gives you an editable ROM block
19:13:32 <elliott> majorly, I plan for there to be a lot of forces that aren't you
19:13:37 <ais523> elliott: this isn't Slaves to Armok III, is it?
19:13:38 <Vorpal> ais523, basically allows you do build logic gates in minecraft.
19:13:38 <elliott> unlike in Minecraft, where everything is either
19:13:46 <elliott> - idiotic and does nothing, only useful to kill
19:13:47 <pikhq> I'd say that redstone and rails where the two additions that Notch did that kept the interest up...
19:13:51 <elliott> - evil but really not that threatening
19:14:06 <ais523> elliott: following the guidelines discussed in-channel?
19:14:09 <Vorpal> ais523, you have wire, you have power sources, and you have inverters. Someone built a simple CPU with it
19:14:12 <pikhq> Because it gives you more things *to actually build*, rather than "Oh, look, I can add some new blocks to my house. Whoo."
19:14:19 <elliott> ais523: Amusingly the main catalyst for this was how terrible Minecraft's network protocol is.
19:14:29 <elliott> ais523: You could literally tell it you were at any y position, and it would believe you.
19:14:32 <ais523> pikhq: I don't see why those couldn't be in minecraft classic
19:14:40 <elliott> You could even use this to fall from such a height that you _wrapped the health counter around_.
19:14:40 <pikhq> ais523: No particular reason.
19:14:45 <elliott> Making you effectively immortal.
19:14:50 <ais523> elliott: ah, is that how the warping commands worked?
19:14:57 <ais523> I assumed it was some sort of debug feature
19:15:03 <elliott> ais523: nope, Notch is just really stupid
19:15:03 <ais523> but it's just trust-the-client?
19:15:11 <pikhq> ais523: Though, the mining *itself* would be interesting... If it got developed more.
19:15:13 <elliott> it was fixed recently, probably in a really terrible way
19:15:14 <Vorpal> ais523, it doesn't work any more though
19:15:20 <ais523> I know the vast majority of games I've made have had some sort of teleport as a debug feature
19:15:23 <elliott> ais523: have I mentioned that client-side and server-side are two completely different codebases?
19:15:28 <elliott> two complete implementations of the same game
19:15:31 <elliott> OK, some things are shared
19:15:32 <pikhq> As it is, as soon as you have an iron pickaxe it's not that interesting, and as soon as you have diamond everything it's downright boring.
19:15:33 <ais523> elliott: that's less necessarily insane
19:15:34 <Vorpal> elliott, that said, I heard that movement being client side is quite common in many multiplayer games.
19:15:36 <ais523> depending on how it works
19:15:39 <elliott> but I think in the copy-and-paste the java files shared
19:15:42 <ais523> I wouldn't be surprised if it was insane in this case
19:15:55 <elliott> ais523: as in "there are tons of single-player and multi-player exclusive bugs that have nothing to do with the network or your hard disk"
19:15:55 <ais523> ah, they were doing the same calculations on different codebases? that's insane
19:16:10 <elliott> even the most idiotic person would have a common library for this stuff
19:16:22 <ais523> (I can see a plausible client-side = rendering and UI, server-side = logic split that wouldn't require common codebases)
19:16:37 <elliott> ais523: that's what I'm doing for Elliottcraft, basically
19:16:45 <Vorpal> elliott, so, notch wasn't that stupid when teleport worked. Just as stupid as most other
19:16:54 <ais523> it's what most sensible multiplayer games do unless it doesn't work for performance reasons
19:16:59 <elliott> ais523: you just connect to a local server, except it's changed slightly, in that it's made to share the map data between the srever and client in memory
19:17:04 <elliott> and it communicates directly rather than through a socket
19:17:13 <ais523> can it do sockets too, for multiplayer play?
19:17:21 <pikhq> This is something that IndustrialCraft gets right — there is a massive, massive tech tree to go through, rather than "3 days in and you're done".
19:17:38 <ais523> pikhq: so it's "finish the tech tree and you're done" instead?
19:17:39 <pikhq> (IndustrialCraft is a poorly documented but gigantic mod for Minecraft)
19:17:41 <elliott> ais523: I figure if I get all the hard problems of not trusting the client, synchronisation, timing blah blah blah right /once/, then the overhead should be sufficiently low that I can just use the same locally
19:18:04 <CakeProphet> Cakecraft = amazing physics playground that will never be made.
19:18:05 <pikhq> ais523: That would be on par with building your own 64 bit computer in Minecraft.
19:18:13 <pikhq> Sure, you *could*, but holy fuck it would take a long time.
19:18:23 <elliott> but really, the real reason minecraft sucks is because it has a tiny finite y dimension :(
19:18:33 <Vorpal> pikhq, I'm not sure I enjoy such a tech tree. I mostly play on a creative (free /give) server these days. With movecraft of course.
19:18:42 <ais523> well, in that case, it's like Pokémon where you don't go through the game with all 693 of them as you'd get bored past about 30 or 40
19:18:59 <Vorpal> (well, free /give apart from bedrock)
19:19:02 <elliott> I think the key with these sorts of games
19:19:05 <pikhq> Though, disclaimer, I tend to play in a modded-up creative mode.
19:19:06 <elliott> make the player have enough fun
19:19:10 <elliott> that they don't realise there's no actual point to the game
19:19:18 <ais523> Vorpal: any command to unbedrock a square? it seems a plausible thing to add to a creative mod
19:19:24 <elliott> make that wait until they're talking on irc about it
19:19:29 <CakeProphet> elliott: it would be interesting if, instead of bedrock, there was a point where you reached the other side of the planet, and gravity inverted. :)
19:19:30 <elliott> hope they forget by the time they play again
19:19:32 <ais523> elliott: there doesn't have to be a goal if the game is generally fun, though
19:19:43 <ais523> a goal is something that can help to make games fun
19:19:45 <elliott> GUYS WHAT IS THE GOAL OF TETRIS???????
19:19:48 <ais523> if they're fun anyway, though, you don't need one
19:20:00 <Vorpal> ais523, well the server has worldedit (a plugin that adds an in game map editor basically) for the admins, that lets them break bedrock. Which can't normally be done.
19:20:01 <elliott> i have been playing for a year but i have still not won
19:20:18 <ais523> elliott: aim to reach the killscreen
19:20:24 <Vorpal> ais523, generally things work out nicely though, small group of players, whitelisted server
19:20:53 <ais523> hmm, in a platformer I'm vaguely planning, I'll have a bedrock-equivalent called unobtanium
19:20:54 <Vorpal> tetris, what an utterly boring game
19:21:01 <Vorpal> I never liked that sort of arcade style
19:21:06 <ais523> as the name suits the way it behaves really well
19:21:22 <elliott> and realise how worthless that was
19:21:24 <Vorpal> elliott, I know some people like it. Good for them. I don't.
19:21:33 <elliott> but then you read a bullshit study about how it helps your brain to be the smarts
19:21:34 <ais523> Vorpal: in a computer game, a killscreen is a screen you reach where you've got so far in the game that the level you're on is completely impossible because it glitches out
19:21:55 <Vorpal> elliott, I never manage to get past more than one or two of the levels. I think my record in gnome's tetris clone is level 4 or so
19:21:55 <elliott> ais523: pah, pacman doesn't have one of THOSE
19:21:56 <ais523> it's most famous in Pac-Man, where level 256 overwraps something or other and half the screen glitches out, meaning that the level can no longer be completed
19:21:59 <elliott> it just has a super-difficult last level
19:22:23 <ais523> elliott: no, even if you collect every thing-it-thinks-is-a-dot, it still doesn't go to the next level
19:22:31 <ais523> so although it's theoretically "completable", there's no reward for doing so
19:22:46 <ais523> best you can do is die and complete the level again, repeating until you're out of lives
19:22:53 <ais523> Vorpal: well, I doubt they expected anyone to reach level 256
19:23:03 <Vorpal> ais523, well, they were wrong
19:23:11 <ais523> after level 9 or so (I forget the last number), the same level just repeats over and over anyway, getting slightly faster each time
19:23:14 <elliott> it took /decades/ for anyone to reach that far
19:23:24 <ais523> and that was by memorising the RNG sequence
19:23:29 <ais523> (Pac-Man's RNG is very simpel)
19:23:34 <ais523> and the sequence of inputs required to win
19:23:41 <elliott> in fact, it took much more time than it took for someone to find out that minecraft's terrain is actually way smaller than it claims to be :P
19:23:46 <elliott> (admittedly, that was by "cheating")
19:24:29 <Vorpal> elliott, if people hadn't cheated, then it wouldn't have been found out in the next handful of years at least
19:24:46 <elliott> put stack of coins on return key and forward key
19:24:56 -!- oerjan has joined.
19:24:57 <elliott> return to find the game crashed :D
19:25:08 <Vorpal> <elliott> return to find the game crashed :D <-- come on, it does that anyway
19:25:28 <Vorpal> elliott, what ACTUALLY would have happened would be that you had fallen into a deep pit and now stood jumping against the wall
19:26:00 <elliott> you could script it, though whether you consider that "cheating"...
19:26:10 <elliott> you can't cheat at a sandbox game
19:26:23 <ais523> something I realised last night: radix sort is actually O(n log n), and people have been misrepresenting it all this time
19:26:31 <Vorpal> elliott, what about SMP survival servers, you could probably "cheat" there
19:26:40 <ais523> comparison sorts use comparisons, which take the same length of time for the first and last comparisons
19:26:46 <ais523> but radix sort increments bin counts
19:26:48 <elliott> Vorpal: only 'cuz notch sucks
19:26:53 <ais523> and adding 1 to a number is O(log n)
19:27:10 <elliott> ais523: arithmetic is considered to be O(1) in big-O analysis usually
19:27:13 <ais523> what does SMP stand for, btw? something multiplayer?
19:27:14 <Vorpal> elliott, speaking of which, the "flying detection" in bukkit is really buggy. It thought I was flying when I went down a ladder, removing it under me
19:27:17 <ais523> elliott: that's cheating!
19:27:25 <elliott> ais523: who said we had to go by the laws of real-life computers?
19:27:39 <elliott> picking something nice and simple like arithmetic to be O(1) is perfectly reasonable
19:27:41 <ais523> elliott: well, the number takes O(log n) space to represent
19:27:46 <ais523> and time complexity >= space complexity
19:28:18 <Vorpal> ais523, you could do a large adder as a combinatorial circuit maybe
19:28:27 <ais523> Vorpal: but that puts a limit
19:28:33 <ais523> on the size of the numbers added
19:28:42 <ais523> so it's O(infinity) with optimizations for small n
19:28:42 <oerjan> <ais523> and adding 1 to a number is O(log n)
19:28:44 <Vorpal> ais523, why don't people use something like double-adders or such
19:29:04 <Vorpal> ais523, that is half the number of carries
19:29:08 <oerjan> i don't think that's right with ...damn tip of tongue...
19:29:41 <oerjan> no, that thing they use to describe functional data structures
19:29:44 <ais523> Vorpal: well, for very wide additions, there's often separate circuitry to calculate the carries at midpoints, etc
19:29:53 <ais523> oerjan: some sort of zipper?
19:29:54 <Vorpal> oerjan, definitely crocodile then
19:29:57 <oerjan> i think it starts with a
19:30:10 <oerjan> ais523: those creeps are not helping :D
19:30:16 <Vorpal> ais523, you mean carry-lookahead?
19:30:28 <oerjan> no, about their complexity
19:30:35 <Vorpal> oerjan, Big O notation?
19:30:40 <elliott> Vorpal: that isn't a word, moron
19:30:51 <Vorpal> elliott, he said it started with a.
19:31:13 <Vorpal> elliott, I already did aardvark btw
19:31:16 <oerjan> i'm not _sure_ it starts with an a
19:31:45 <oerjan> YOU WON'T GUESS IT IF YOU HAVEN'T HEARD IT
19:31:59 <Vorpal> elliott, altar, you forgot that
19:32:04 <elliott> Vorpal: that's not a word silly.
19:32:05 <oerjan> it's about the complexity of functional data structures
19:32:06 <ais523> elliott: it'd help more if the words were vaguely related to the field
19:32:14 <elliott> ais523: I'm just trying to be thorough
19:32:14 <Vorpal> elliott, isn't "altar" a word?
19:32:25 <elliott> oerjan: should I leaf through my copy of Purely Functional Data Struc- oh
19:32:27 <elliott> well I could have guessed that
19:32:32 <ais523> elliott: see, it takes you all those guesses and I only took two
19:32:35 <elliott> why didn't you SAY that was the word you were looking for
19:32:36 <Vorpal> elliott, sooner or later yes
19:32:49 * oerjan swats elliott -----###
19:33:05 <ais523> I still don't think it's O(1) with amortization, but I'm not sure
19:33:11 <Vorpal> ais523, come on elliott was being intentionally silly. (More so than me)
19:33:13 <oerjan> ais523: basically if you are counting stuff, the _average_ bin addition only takes O(1)
19:33:27 <elliott> Vorpal: I was actually seeing how well I could generate random words, too
19:33:42 <Vorpal> ais523, hm come up with something that is O(log_{log n} n)
19:33:57 <oerjan> 1/2 take 1, 1/4 take 2, 1/8 take 3
19:33:57 <Vorpal> ais523, because I can't think of something like that
19:34:11 <oerjan> ais523: ok maybe slightly more than O(1) but not O(log n)
19:34:27 <ais523> oerjan: ah, so it averages out at 2
19:34:28 <ais523> yep, I agree with you now
19:34:39 <Vorpal> ais523, if you are just adding these together, couldn't you do a partial sum thingy and add the carry in at the end?
19:35:06 <Vorpal> ais523, as in this http://en.wikipedia.org/wiki/Carry_save_adder
19:35:21 <ais523> Vorpal: we're talking about the asymptotic behaviour of repeated increments
19:35:56 <CakeProphet> My goal in life: implement constant time list search using acquired magical abilities.
19:36:06 <Vorpal> ais523, yes and I say you could do it in O(1) per addition even for repeated arbitrary additions. Using carry save
19:36:28 <elliott> *Sylladex.VM> runVM (ExcCtx test Map.empty) (snd (head test)) []
19:37:03 <ais523> Vorpal: that requires O(n log n) /space/
19:37:10 <ais523> because your numbers have to have arbitrary digits in
19:37:22 <ais523> that's kind-of much worse than O(1) or even O(log n)
19:37:51 <elliott> the best complexity is O(log log log log log log n)
19:38:01 <ais523> incidentally, my Slashdot sig (the shortest known INTERCAL adder) is basically iterated carry-save
19:38:10 <ais523> (without using the standard library, that is)
19:38:12 <Vorpal> ais523, hm wait, it just needs 2* the space of the number in bits
19:38:13 <elliott> Do a distributed search for a shorter adder. :p
19:38:19 <elliott> It'll be like protein folding, only even more worthwhile.
19:38:22 <CakeProphet> ais523: in fact, it's n log n - log n worse
19:38:44 <ais523> CakeProphet: I don't think computational classes add/subtract like that
19:38:52 <elliott> AND YOU THOUGHT YOU COULD KEEP IT CONFINED TO YOUR WORKPLCAE
19:39:08 <ais523> elliott: I've expended quite a lot of thought to getting an adder in a single expression, but I haven't found a way to do it that isn't really really long
19:39:20 <ais523> I think I managed something like a one-expression increment that was only a few hundred characters long
19:39:36 <Vorpal> `addquote <ais523> I think I managed something like a one-expression increment that was only a few hundred characters long
19:39:37 <HackEgo> 442) <ais523> I think I managed something like a one-expression increment that was only a few hundred characters long
19:39:58 <Vorpal> elliott, yes, more so out of context
19:40:21 <Vorpal> elliott, imagine this without context. Then it sounds fun
19:40:36 <oerjan> 21:37 elliott> the best complexity is O(log log log log log log n)
19:40:36 <oerjan> 21:37 elliott> and NO less
19:40:47 <nooga> windows 7 uses 100% cpu with no process to blame
19:40:53 <oerjan> so you don't approve of that inverse ackermann thing for union find?
19:40:58 <elliott> oerjan: i'm sorry who has the phd here.
19:41:04 <elliott> stop questioning things i say.
19:41:06 <nooga> the cpu is 100% bussy constantly and i don't know why
19:41:51 <Vorpal> <oerjan> so you don't approve of that inverse ackermann thing for union find? <-- wait what
19:42:18 <Vorpal> elliott, what is runvm?
19:42:43 <elliott> ugh wow this is going to be so ugly
19:42:52 <oerjan> Vorpal: there's this algorithm called union find that works in time O(n + inverse of ackermann)
19:42:54 -!- adam__ has joined.
19:43:08 <elliott> TIME TO NEST THE LIST MORE LOL
19:43:11 <elliott> oh god wait no i can't do that
19:43:17 <oerjan> hm i guess that's higher than O(log log ... n) actually, because of the O(n)
19:43:27 <elliott> how do i represent some machine code in haskell :(
19:43:28 <ais523> oerjan: wouldn't that just be equivalent to O(n)?
19:43:36 <oerjan> i may misremember stuff, i only saw it mentioned again yesterday on godel's lost letter
19:43:41 <elliott> because implementing the fall-through to the next label
19:43:45 <ais523> just like O(n + log n) is equivalent to O(n)?
19:43:48 <elliott> in the evaluation function
19:43:52 <oerjan> ais523: um maybe it was O(1+inverse ackermann)
19:43:54 <Vorpal> oerjan, what is union find for?
19:43:58 <ais523> that would make more sense
19:44:15 <ais523> elliott: I'm on the point of inventing a new language to solve that sort of problem
19:44:21 <oerjan> oh wait it was something about mazes, not GLL
19:44:27 <ais523> so far it only has a few basic ideas and a name that doesn't really fit but that I'll use anyway
19:44:36 <elliott> hmm, I suppose I could like
19:44:53 <elliott> [(0,all:the:instructions:xs), (1,xs)]
19:45:01 <elliott> each label actually includes a pointer to all the code following it too
19:45:52 <oerjan> Vorpal: http://www.algorithmist.com/index.php/Union_Find
19:45:53 <elliott> have i mentioned that the only reason i'm writing this function is to serve as a reference implementation
19:46:27 -!- CakeProphet has quit (Ping timeout: 276 seconds).
19:46:54 <elliott> the fastest above-constant complexity
19:46:59 <elliott> for something that actually doe s something of interest
19:47:08 <Vorpal> elliott, it probably comes pretty close
19:47:23 <Vorpal> elliott, of course O(log ackinv(n)) would be even better
19:47:49 <elliott> yes but is there any algorithm that does anything of interest that has that complexity?
19:48:47 <ais523> hmm, Union Find seems to be similar to implementing a dialog of Prolog where you had nothing but variables and =
19:48:57 <ais523> e.g. A = B, A = C, D = E, etc
19:49:04 <ais523> and the question was if two of them were unified at any given point or not
19:49:38 <oerjan> <elliott> [(Label,[Ins])] sucks <-- maybe just make Label an element of Ins, then?
19:49:52 <elliott> oerjan: that makes jumping to a label really slow
19:49:57 <elliott> you have to linearly scan all the code up to it
19:50:15 <elliott> only a multiplicative factor of what you have to do anywya
19:50:31 <elliott> btw this structure actually works fairly decently for the actual compilers? just not for an interpreter
19:50:38 <elliott> so I don't want to make it worse on the actual compilers? even though that wouldn't but
19:50:42 <Vorpal> elliott, keep track of labels in a AVL tree with pointers to the relevant code line/node/whatevere?
19:50:43 <elliott> basically what i am saying is
19:50:45 <elliott> that is kind of ew oerjan.
19:51:09 <pikhq> elliott: I don't think you got the memo, but I think I could port util-linux to musl in a couple of hours.
19:51:17 <oerjan> <Vorpal> elliott, of course O(log ackinv(n)) would be even better <-- that may be indistinguishable from ackinv(n) by mortals :P
19:51:27 <Vorpal> oerjan, there is that yes
19:51:28 <pikhq> elliott: The only really non-trivial bit would be implementing error().
19:51:48 <pikhq> elliott: Everything else, near as I can tell, is a matter of unincluded bits.
19:52:07 <pikhq> Darned easy to fix includes.
19:52:44 <oerjan> elliott: you can make a Map for jumping to labels even if you put the labels in the code. hm actually if you do that you don't need to include the labels in the code again
19:53:24 <oerjan> elliott: you can use knot tying to only calculate this once, i think
19:53:32 <elliott> oerjan: knot tying...scares me.........
19:53:59 <pikhq> elliott: void error(int status, int errnum, const char *format, ...);. Prints the program name, a colon, and a space, then the format string, then strerror(errnum) if errnum != 0, then exit(status) if status != 0.
19:54:21 <oerjan> elliott was once tied up by function pedobear
19:54:50 <oerjan> my theory that muphry's law applies to any sufficiently cheesy joke seems to hold
19:54:56 <elliott> because of the program name part?
19:55:32 <pikhq> elliott: The reason I said "2 hours" is because there's a hell of a lot of misincluding. :P
19:56:14 <oerjan> ais523: the place i saw this was about implementing mazes by starting with a grid and removing random walls between rooms that had no connection already, this needs union find to check for connectedness
19:56:38 <ais523> oerjan: ah, that's another application for much the same thing
19:56:57 <ais523> I tend not to end up using standard algorithms that much beyond dijkstra/A*/priority queues/sorts
19:57:30 <ais523> although recently for my work, I had to find a list of strongly connected components in a partial preorder (like tsort, except focusing on the error condition rather than the success condition)
19:57:34 <elliott> the best algorithms are ones that involve spinning around a lot
19:58:17 <ais523> luckily, I found one on Wikipedia, and implemented it, even if I'm not entirely sure on how it works
19:59:24 <oerjan> ais523: i wonder if there would be advantages to a prolog implementation using union find for unification
19:59:53 <ais523> oerjan: the major issue is that you probably want to be able to free things again when they go out of scope
19:59:56 <elliott> [PDF] Optimal Union-Find in Constraint Handling Rules
19:59:56 <elliott> File Format: PDF/Adobe Acrobat - Quick View
19:59:56 <elliott> by T Schrijvers - Cited by 65 - Related articles
19:59:56 <elliott> possible to write the classic union-find algorithm and variants in CHR. ... For example, one often hears the argument that in Prolog some graph algorithms .... to combine the existing CHR solvers for term unification with our union- ...
19:59:57 <elliott> citeseer.ist.psu.edu/viewdoc/download;jsessionid...?doi=10.1.1...
19:59:59 <ais523> and that's going to be slower than the actual unification
19:59:59 <elliott> i guess that's an implementation though
20:00:02 <elliott> rather than using it as a technique
20:02:01 <pikhq> elliott: So far, 21 files that don't build right, and several more stupid warnings.
20:02:30 <ais523> <Maharba> as always, replying to ehird
20:03:14 <elliott> ais523: this is why you make your spec perfect the _first_ time round
20:04:11 <oerjan> ais523: hm that rank comparison thing in that wiki article i linked should be applicable to unification while still allowing easy freeing. i think that's essentially a way to prevent too long chains of unified variables, no?
20:04:51 <ais523> oerjan: yep, but the issue is you need reverse pointers to free something
20:05:06 <ais523> because if one of your variables happens to be a root, there's no way you can free it without fixing up everything pointing to it
20:05:13 <oerjan> well yeah but you need that for unification anyway?
20:05:30 <ais523> oerjan: Union-Find doesn't let you know everything in the same set as something
20:05:32 <ais523> just if two things are in the same set
20:05:45 <oerjan> ais523: i'm just saying this rank thing is a way to be careful _which way_ you identify
20:06:56 <elliott> oerjan: did you figure out a better data structure for the asm :D
20:07:03 -!- augur has quit (Remote host closed the connection).
20:07:33 <oerjan> elliott: um my idea now is to simply have a list for the whole code from start to finish, and represent the labels by pointers into that
20:08:01 <elliott> oerjan: I would quite like there to be integers too, although I suppose I could just make
20:08:19 <oerjan> elliott: or put differently, approximately your [(Label,[Ins])] except you _don't_ stop the [Ins] list before the next label
20:08:50 <elliott> oerjan: I see a fairly major issue -- it will make Show practically impossible
20:08:56 <elliott> because the structure will be effectively infinite
20:09:47 <lambdabot> Phantom_Hoover: You have 12 new messages. '/msg lambdabot @messages' to read them.
20:10:26 <elliott> That's... that's a good point.
20:11:00 <oerjan> elliott: ok then, have your original [(Label,[Ins])] but make a second variant which doesn't end, for easy fall through
20:11:17 <elliott> oerjan: what do you mean by a second variant?
20:11:39 <elliott> oerjan: I'm really tempted just to roll in the labels into the actual Ins like you said
20:11:47 <elliott> the linear scan for interpretation is not that big a deal, the interpreter is just like
20:14:08 <oerjan> > let f = zip . scanr1 (++) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")]
20:14:09 <lambdabot> Couldn't match expected type `[a]'
20:14:09 <lambdabot> against inferred type `([a1], [b...
20:14:18 <elliott> i'm just doing it in a simple way instead >_>
20:14:43 <oerjan> > let f = zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")]
20:14:43 <lambdabot> Couldn't match expected type `[a]'
20:15:36 <oerjan> :t zip . second (scanr1 (++)) . unzip
20:15:37 <lambdabot> Couldn't match expected type `[a]'
20:15:37 <lambdabot> In the first argument of `(.)', namely `second (scanr1 (++))'
20:15:47 <lambdabot> forall a. (Monoid a) => [a] -> [a]
20:16:18 <oerjan> :t second (scanr1 (++))
20:16:19 <lambdabot> forall a d. (Monoid a) => (d, [a]) -> (d, [a])
20:16:25 <oerjan> :t second (scanr1 (++)) . unzip
20:16:25 <lambdabot> forall a a1. (Monoid a) => [(a1, a)] -> ([a1], [a])
20:16:44 <oerjan> :t zip . second (scanr1 (++)) . unzip
20:16:44 <lambdabot> Couldn't match expected type `[a]'
20:16:45 <lambdabot> In the first argument of `(.)', namely `second (scanr1 (++))'
20:16:56 <lambdabot> forall a b. [a] -> [b] -> [(a, b)]
20:17:03 <elliott> runVM ctx ((_, IPush x : is):iss) xs = runVM ctx (is:iss) (x:xs)
20:17:13 <oerjan> > let f = curry zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")]
20:17:14 <lambdabot> Couldn't match expected type `(a, b)' against inferred type `[a1]'
20:17:30 <oerjan> :t curry zip . second (scanr1 (++)) . unzip
20:17:31 <lambdabot> Couldn't match expected type `(a, b)' against inferred type `[a1]'
20:17:31 <lambdabot> In the first argument of `curry', namely `zip'
20:17:31 <lambdabot> In the first argument of `(.)', namely `curry zip'
20:17:47 <lambdabot> Couldn't match expected type `(a, b)' against inferred type `[a1]'
20:17:47 <lambdabot> In the first argument of `curry', namely `zip'
20:18:19 <lambdabot> forall a b. ([a], [b]) -> [(a, b)]
20:18:26 <oerjan> > let f = uncurry zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")]
20:18:52 <oerjan> i always get curry and uncurry mixed up
20:19:11 <elliott> oerjan: unfortunately i'll end up recomputing that a ton
20:19:15 <elliott> unless i do something really ugly
20:19:46 <oerjan> um why? unless the language is self-modifying
20:20:15 <oerjan> you mean not caching? :P
20:24:16 * oerjan wonders how lazy scanr is
20:24:47 <oerjan> > map (take 5) . take 5 . scanr1 (++) $ [1..]
20:24:48 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
20:25:31 <oerjan> > map (take 5) . take 5 . scanr1 (++) $ map show [1..]
20:25:33 <lambdabot> ["12345","23456","34567","45678","56789"]
20:25:51 <oerjan> lazy enough, it seems :P
20:26:43 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> [b]
20:26:52 <ais523> hmm, what is scanr doing?
20:27:07 <oerjan> ais523: otoh that path compression thing is something i've pondered as useful for both FORTE and Reaper (although neither actually _implemented_...)
20:27:23 <ais523> > scanr (\a.\b.a+b) 4 [1,2,3,4,5,6]
20:27:24 <lambdabot> <no location info>: parse error on input `.\'
20:27:31 <ais523> > scanr (\a -> \b -> a+b) 4 [1,2,3,4,5,6]
20:27:32 <pikhq> Hmm. Should I just try to do a reimplementation of error(), or should I just replace all mentions of it?
20:27:42 <oerjan> > scanr f x [a,b,c,d] :: Expr
20:27:43 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
20:27:48 <ais523> ah, it's doing a cumulative sum
20:28:10 <ais523> so a scan is basically a fold that saves intermediate results?
20:28:28 <lambdabot> [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8...
20:29:05 -!- ais523 has quit (Remote host closed the connection).
20:29:06 <lambdabot> [1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,48...
20:29:08 <elliott> it would be nice to have a programming language that actually made you feel strongly physically uncomfortable when you tried to programi n it
20:29:13 <elliott> it would be a real step forward in esoteric programming
20:29:47 <oerjan> elliott: so that means you really appreciate Snack, then? >:P
20:30:23 <elliott> god dammit Maharba, adding new operations to syl :(
20:31:15 <oerjan> look at the positive of it, you have to learn how to program in a highly modular and modifiable way :P
20:31:58 * elliott waits for the inevitable talk page comment
20:32:03 <oerjan> :t scanr f x [a,b,c,d]
20:32:15 <oerjan> > scanr f x [a,b,c,d] :: [Expr]
20:32:16 <lambdabot> [f a (f b (f c (f d x))),f b (f c (f d x)),f c (f d x),f d x,x]
20:36:30 <Vorpal> <elliott> god dammit Maharba, adding new operations to syl :( <-- implement syl version whatever
20:37:45 <lambdabot> forall a. (SimpleReflect.FromExpr a) => a
20:37:59 <Vorpal> :t SimpleReflect.FromExpr
20:37:59 <lambdabot> Not in scope: data constructor `SimpleReflect.FromExpr'
20:38:06 <elliott> :info SimpleReflect.FromExp
20:38:06 <Vorpal> :i SimpleReflect.FromExpr
20:38:06 <elliott> :info SimpleReflect.FromExpr
20:38:10 <elliott> ?src SimpleReflect.FromExpr
20:38:10 <lambdabot> Source not found. I feel much better now.
20:38:12 <lambdabot> Source not found. stty: unknown mode: doofus
20:38:13 <Vorpal> :info SimpleReflect.FromExpr
20:38:26 <lambdabot> http://hackage.haskell.org/package/simple-reflect
20:38:26 <lambdabot> Title: HackageDB: simple-reflect-0.2
20:39:46 <oerjan> they made all single letters be Expr, except f g h which have an overloaded type which can be used for functions
20:39:47 <lambdabot> forall a. (SimpleReflect.FromExpr a) => a
20:41:30 <Vorpal> Phantom_Hoover, it is weak compared to the strong force iirc?
20:41:40 <oerjan> the Num instance is _really_ primitive
20:42:32 <oerjan> it doesn't even simplify 0 + away :P
20:42:44 <Phantom_Hoover> Vorpal, yes, but it's not that much weaker, and I think both electromagnetism and gravity are weaker still.
20:42:47 <oerjan> > scanr1 (+) [a,b,c,d]
20:42:47 <lambdabot> [a + (b + (c + d)),b + (c + d),c + d,d]
20:42:56 <oerjan> > foldr1 (+) [a,b,c,d]
20:42:59 <Vorpal> Phantom_Hoover, gravity certainly is
20:43:03 <pikhq> I'll be damned, there's actually something that's not sufficiently supported in musl.
20:43:10 <pikhq> musl does not have wcsdup.
20:43:18 <pikhq> The wchar_t analogue of strdup.
20:43:28 <Vorpal> pikhq, easy to implement yourself
20:43:30 <oerjan> Phantom_Hoover: i think they used to be called weak and strong _nuclear_ force
20:43:32 <elliott> a whole three lines to implement ZOMG :D
20:43:41 <oerjan> somewhere that word got dropped
20:43:55 <elliott> Phantom_Hoover: what's the strongest weak force you know of in't
20:44:00 <Phantom_Hoover> oerjan, which is half right, but it still doesn't actually behave as a force.
20:44:39 -!- augur has joined.
20:44:50 <Phantom_Hoover> Vorpal, the only example of its effects that anyone who isn't a particle physicist knows about is beta decay.
20:45:03 <Phantom_Hoover> Which is... a decay, not a force in the conventional sense.
20:45:16 <Vorpal> Phantom_Hoover, but for those who are particle physicists?
20:45:57 <pikhq> *For now*, I'll just tell the build system that there's no wide character support.
20:46:16 <pikhq> But later, I'll actually add a wcsdup.
20:46:20 <oerjan> Phantom_Hoover: well presumably that decay can happen because there is a weak force between neutrinos and quarks?
20:46:25 <Phantom_Hoover> There are some more neutrino/nucleon interactions it's involved with, although they still don't work that forcily.
20:47:02 <Phantom_Hoover> oerjan, it's more like a down quark spontaneously emits a W- boson which then decays into an electron and an antineutrino.
20:47:34 <oerjan> Phantom_Hoover: you could say all electromagnetism is is decay of excited charged particles into non-excited particles and photons :P
20:47:35 <elliott> your mom is a quark end of discussion
20:48:02 <Phantom_Hoover> oerjan, you don't have <particle> → <different particle>, though.
20:48:44 <Phantom_Hoover> There does seem to be a normal stuff-flies-apart-or-moves-together interaction between nucleons and neutrinos, though.
20:48:50 <oerjan> well i've seen the word "interaction" used instead of force, i think
20:49:03 <oerjan> presumably for this kind of reason
20:51:40 <pikhq> FUCK YOUR UNPORTABLE USE OF sys/types.h.
20:52:00 <Phantom_Hoover> The sudden switch to lowercase there makes it look quite amusing.
20:52:04 <pikhq> "quad_t" is a BSD-ism, dammit. What you want is int64_t.
20:52:20 <elliott> oerjan: I'm just going to inline labels inside
20:52:22 <Phantom_Hoover> Like you were yelling at someone and suddenly composed yourself and said "sys slash types dot h".
20:52:27 <elliott> since the actual backends will have no problem with it... I think
20:55:30 <Vorpal> is travelling salesman NP-complete or NP-hard?
20:56:04 <Vorpal> (of course if it is the former it is also the latter
20:59:18 * pikhq beats head against wall
20:59:34 <oerjan> Vorpal: the decision version is NP-complete
20:59:37 <pikhq> It *literally* has a part that requires inb and outb.
20:59:49 <Vorpal> pikhq, what part? hwclock?
20:59:56 <pikhq> I was unaware that was permitted outside of ring 0.
21:00:08 <pikhq> Guess where that comes from?
21:00:10 <Vorpal> pikhq, uh you need CAP_SOMETHING for it
21:00:24 <pikhq> Because Linux stopped exporting those, because THAT IS FUCKING STUPID.
21:00:43 <Sgeo> Which sort of parser is easier for a newbie at writing parsers to write?
21:00:44 <Vorpal> pikhq, so you can't do it then?
21:00:55 <Vorpal> pikhq, how does glibc do it then
21:01:06 <pikhq> glibc has embedded ASM.
21:01:08 <Vorpal> pikhq, anyway doesn't hwclock use /dev/rtc these days?
21:01:15 <coppro> pikhq: you can't copy glibc anyways
21:01:45 <elliott> thank you painfully-obvious license laeyer
21:02:07 <pikhq> coppro: Why not? LGPL 2.1+ is entirely compatible with LGPL 2.1+.
21:02:24 <pikhq> However, I refuse to because GOD NO.
21:02:37 <pikhq> This is not something that belongs in a libc. At all.
21:03:52 <coppro> pikhq: oh, I didn't realize glibc was still on 2.1
21:03:56 <Sgeo> Top down parsers can't accomodate all context-free grammars, iiuc
21:04:07 <Sgeo> I have no idea if my language even is context-free :/
21:04:27 -!- aloril has quit (Ping timeout: 250 seconds).
21:04:51 <Sgeo> My lambda syntax is flawed, there's no way to specify return type
21:05:14 <Sgeo> Well, could always type-infer
21:05:41 <Vorpal> Sgeo, so change the language then
21:05:45 <oerjan> if you have enough backtracking, i'm pretty sure top down can do anything CF... but perhaps not always efficiently
21:06:01 <pikhq> Oh, yeah, and the header was once asm/io.h, from Linux
21:06:08 * Phantom_Hoover notes that Sgeo is talking about grammars, mentally blocks him.
21:06:14 <Vorpal> pikhq, so copy it from there?
21:06:22 <Vorpal> pikhq, how does it do it btw?
21:06:50 <Sgeo> I guess context-free would make my life much easier?
21:07:25 <oerjan> context-free unambiguous LR(1)
21:07:36 <pikhq> So, hwclock is the *one thing* stopping me from having util-linux building.
21:07:44 <Sgeo> I don't know what LL(1) means
21:07:45 <oerjan> well yeah that's even easier
21:08:03 <oerjan> Sgeo: LL(1) are essentially languages for which top-down is ridiculously easy
21:08:15 <Sgeo> Hey, I'm not committed to top-down
21:08:15 <Vorpal> pikhq, well then why use hwclock. Aren't modern kernels able to do the job themselves?
21:08:30 <oerjan> also, s/top-down/recursive descent/ iirc
21:08:52 <Vorpal> olsner, what about LL(0)
21:09:00 <oerjan> Sgeo: well everything other than recursive descent is relatively unfeasible to write by _hand_
21:09:14 <Sgeo> I do want the syntax to be vaguey LSL-like
21:09:22 <oerjan> you need a parser generator
21:09:28 <pikhq> Hmm. Well, I can do a *nasty* hack to get it to build.
21:09:38 <Vorpal> pikhq, what is that hack
21:09:48 <pikhq> I can replace its "#include <asm/io.h>" with #undef __i386__
21:09:54 <Sgeo> Vorpal, to make things easy for others who I will convince to use my language
21:10:21 <Sgeo> Are there good parser generators that output parsers in Javascript?
21:10:23 <pikhq> (asm/io.h is conditionally included if the system doesn't have sys/io.h. Incidentally, asm/io.h should not exist anywhere, as it's not a header the kernel *intends* to export.)
21:10:34 <monqy> what if the syntax ends up making the language harder for everyone
21:10:49 <monqy> it's not like it's hard to pick up a new syntax
21:10:51 <oerjan> Sgeo: unless your syntax is completely insane, it can probably at least be refactored to be mostly LR(1).
21:10:51 <pikhq> By doing this, hwclock will not be able to access the BIOS clock directly, and will have to function through alternate means.
21:10:55 <monqy> unless second life people are dumb
21:11:34 <Vorpal> pikhq, or you could just remove the code for the BIOS clock completely
21:11:43 <oerjan> Sgeo: the technical requirement for LL(1) is that which subrule to use for parsing a token always is determined by the first terminal token you see
21:11:44 <Sgeo> Considering that my language _will_ make race conditions more of a possibility than they are in LSL, maybe I should hope SL people aren't dumb
21:11:44 <elliott> oerjan: Humour for Haskell programmers: http://solog.co/47/10-scala-one-liners-to-impress-your-friends/
21:11:52 <elliott> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW
21:11:59 <Vorpal> <monqy> unless second life people are dumb <-- spot on
21:12:24 <oerjan> elliott: iirc there was a haskell version posted (which showed the author obviously didn't know much haskell)
21:12:50 <elliott> Boring people should stop having blogs :P
21:12:57 <Deewiant> ( http://blog.fogus.me/2011/06/03/10-haskell-one-liners-to-impress-your-friends/ )
21:13:06 <monqy> map (* 2) [1 .. 10] -- alternatively, [1, 2 .. 10], right?
21:13:10 <elliott> oerjan: the author of the solog thing post or fogus?
21:13:13 <Phantom_Hoover> elliott, I like the way they're completely oblivious that their programs are half boilerplate.
21:13:27 <oerjan> Sgeo: as long as your grammar mainly has that property, it is easy to parse top-down/with recursive descent
21:13:50 <oerjan> elliott: ok so maybe it isn't the same author
21:14:09 <monqy> ime it's easier to write compilers when you know what you're doing
21:14:15 <elliott> Deewiant: I wonder how long I could convince someone that you're a bot
21:14:15 <pikhq> Okay, then. I can hack util-linux into building with musl.
21:14:18 <Sgeo> oerjan, quick example?
21:14:41 <Vorpal> pikhq, remember wide string stuff
21:14:41 <augur> Phantom_Hoover: pong
21:14:52 <elliott> <Deewiant> ( See also: Deewiant human is not a bot. )
21:14:59 <elliott> <person> haha who added that factoid
21:15:03 <oerjan> Sgeo: well Pascal is sort of a star example of this. nearly every declaration starts with a keyword identifying what kind it is, e.g. Var X : Integer;
21:15:06 <Phantom_Hoover> augur, are there actually any linguistics questions on /r/AskScience.
21:15:14 <augur> Phantom_Hoover: occasionally!
21:15:16 <elliott> Phantom_Hoover: its not a real science so no :trollface:
21:15:31 <oerjan> it was designed to be easy to parse. as i think are all wirth languages.
21:15:35 <augur> Phantom_Hoover: why do you ask?
21:15:46 <pikhq> http://sprunge.us/TBhV
21:15:50 <Sgeo> monqy, how hard could it be once I have the AST? Just turn expressions into function calls and lambdas, then convert to CPS, then convert to bytecode
21:16:02 <pikhq> Vorpal: Yes, I do still need to add that to musl.
21:16:07 <elliott> oerjan: very few languages are LL(1), you should note :P
21:16:13 <augur> Phantom_Hoover: anyone can be a panelist :P
21:16:14 <elliott> e.g. you can't have both "x = y" and "f(x)"
21:16:18 <elliott> because both start with an identifier
21:16:19 <Vorpal> pikhq, it is POSIX 2008 it seems yeah
21:16:25 <Phantom_Hoover> elliott, it's a real science, in the same way as anthropology is a 'science'.
21:16:34 <elliott> Phantom_Hoover: Or computer science.
21:16:36 <monqy> Sgeo: but do you know how to do those
21:16:38 <oerjan> Sgeo: C on the other hand is not LL(1)
21:16:47 <monqy> Sgeo: also do you know how to write a parser
21:16:48 <Sgeo> monqy, how hard could it be?
21:16:49 <augur> Phantom_Hoover: its even more real than that! we have an MEG machine and an MRI machine!
21:16:53 <oerjan> elliott: well you can fix that example with a little refactoring
21:16:57 <Phantom_Hoover> elliott, study of actual human languages is a science-as-in-physics-science.
21:17:01 <Sgeo> monqy, not the foggiest idea (ok, a somewhat foggy idea)
21:17:04 <elliott> `addquote <monqy> Sgeo: also do you know how to write a parser <Sgeo> monqy, how hard could it be?
21:17:05 <HackEgo> 443) <monqy> Sgeo: also do you know how to write a parser <Sgeo> monqy, how hard could it be?
21:17:21 <augur> Phantom_Hoover: i wouldnt go so far as to say that
21:17:31 <oerjan> elliott: x = y and f(x) are both ok as long as they don't parse to different nonterminal tokens
21:17:33 <Sgeo> "How hard could it be" should NOT go with "parser"
21:17:35 <monqy> parsers are actually easy if you know what you're doing
21:17:35 <pikhq> Build with --disable-shared --disable-libmount --disable-schedutils, and comment out the HAVE_WIDECHAR.
21:17:36 <augur> i think its more akin to logic and some aspects of computer science
21:17:38 <Sgeo> It was meant to go with the other stuff
21:17:49 <Vorpal> pikhq, "--- util-linux-2.19.1/text-utils/#display.c#1969-12-31 17:00:00.000000000 -0700"
21:18:02 <Phantom_Hoover> augur, yes, but is some amount of linguistics attempting to model human communication?
21:18:11 <Sgeo> This is what I saw:
21:18:14 <Sgeo> <Sgeo> monqy, how hard could it be?
21:18:14 <Sgeo> <monqy> Sgeo: also do you know how to write a parser
21:18:21 -!- aloril has joined.
21:18:30 <augur> Phantom_Hoover: maybe a handful of people
21:18:37 <pikhq> Vorpal: Argh, fuck emacs.
21:18:41 <elliott> I saw it the way I added it.
21:18:47 <monqy> the "how hard could it be" was directed towards program transformation
21:18:48 <elliott> Complaints will be ignored; humour comes above accuracy.
21:18:57 <elliott> This is not an invitation to add me saying "lol im a fag".
21:19:27 <Phantom_Hoover> `addquote <elliott> This is [...] me saying "lol im a fag".
21:19:28 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
21:19:38 <monqy> program transformation is a lot more interesting than parsing, at least
21:19:41 <Phantom_Hoover> `addquote <elliott> This is [...] me saying "lol im a fag".
21:19:42 <HackEgo> 445) <elliott> This is [...] me saying "lol im a fag".
21:19:56 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
21:19:56 <elliott> ugh delquote is still broken
21:20:04 <elliott> monqy: sgeo should learn compiler-writing from sylladex
21:20:07 <Vorpal> pikhq, what is schedutils?
21:20:53 <pikhq> Vorpal: schedutils lets you change the realtime priority of processes; relies on some POSIX 2008 features that musl doesn't support.
21:20:53 <Sgeo> I just Googled, first hits were what I thought you weren't referring to
21:21:09 <elliott> monqy: its got everything, full parser, optimiser, stack-based VM intermediate language, assembly backend...
21:21:15 <elliott> incremental compilation...
21:21:17 <pikhq> Vorpal: libmount is an experimental mounting library that seems buggy that's unnecessary, that I didn't want to fuck with.
21:21:25 <monqy> elliott: all for SyL?
21:21:41 <pikhq> So, this gets you a *pretty much* complete util-linux.
21:21:50 <monqy> a serious language for serious business
21:21:58 <elliott> monqy: you don't KNOW how sleek it will be to compile the gtk+ ffi example.
21:21:58 <Vorpal> pikhq, *oh* is it schedtool?
21:22:10 <Sgeo> I hope type inference isn't difficult
21:22:19 <elliott> `addquote <Sgeo> I hope type inference isn't difficult
21:22:20 <pikhq> There's nothing *wrong* with it at all, it just uses some interfaces musl doesn't have yet.
21:22:20 <HackEgo> 446) <Sgeo> I hope type inference isn't difficult
21:22:32 <Vorpal> pikhq, I run hdapsd with real time privs it seems
21:22:39 <Vorpal> well the init script does
21:22:45 <elliott> Phantom_Hoover: its broken in some way that i dont know how
21:22:49 <Vorpal> pikhq, which is very sensible
21:22:54 <pikhq> Whereas just about everything I patched in util-linux is *actual fucking bugs*.
21:22:59 <pikhq> That musl happened to trigger.
21:23:10 <Vorpal> pikhq, send those patches upstream
21:23:22 <monqy> one time I learned how to do type inference
21:23:25 <monqy> it was pretty cool
21:24:20 <Sgeo> Look at lifetime of variable. If it has two incompatible types, fail typechecking. If type of variable is omitted at one location, no big deal.
21:24:35 <Sgeo> It's probably more complicated than that.
21:24:52 <Vorpal> <elliott> Phantom_Hoover: its broken in some way that i dont know how <-- do a binary search over the revisions to find it?
21:24:55 <elliott> i was going to say that one day Sgeo will look back on these logs and ... but then i realised
21:25:02 <monqy> hehehehehheheheheheh
21:25:32 <Vorpal> Phantom_Hoover, why me
21:25:48 <elliott> Vorpal: if you fix it i'll give you minecraft.
21:25:55 <Vorpal> `run url $(type delquote)
21:25:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/delquote
21:26:26 <Vorpal> error: delquote@6875624d657a: not found in manifest
21:26:50 <Vorpal> elliott, I did use type dammit
21:26:50 <oerjan> <Sgeo> I hope type inference isn't difficult <-- ok now you are in _way_ over your head
21:26:55 <HackEgo> delquote is /tmp/hackenv.30916/bin/delquote
21:27:06 <elliott> oerjan: sadly, I think he was way in over his head as soon as he went from lexing to parsing.
21:27:39 <elliott> monqy: he... ostensibly knows what lexing is.
21:27:57 <Vorpal> lexing isn't really hard
21:28:08 <oerjan> elliott: well i was deducing from the fact he finds parsing tricky
21:28:11 <monqy> Sgeo: as I said earlier, writing a compiler is easier when you know what you're doing
21:28:33 <oerjan> which means type inference will be completely impenetrable
21:28:56 <Vorpal> hm, how *does* type inference work?
21:29:07 <pikhq> Hmm. Lemme just check that it builds with glibc still. *Should*, but hey.
21:29:09 <Vorpal> I have no idea, but I bet I could learn
21:29:28 <elliott> Vorpal: depends if you mean like C[hash] style or full Hindley-Milner or even beyond that
21:29:45 <elliott> the former is ridiculously simple.
21:29:50 <Vorpal> elliott, lets start with the simplest one and work upwards from there :P
21:30:04 <elliott> the middle isn't simple, but it's not hard to get a hang of.
21:30:07 <elliott> the latter gets a bit gnarly.
21:30:16 <Vorpal> elliott, ah, how does the middle one work then.
21:30:16 <elliott> Vorpal: well the first one is like a totally different breed to the latter
21:30:19 <elliott> all you have to do is know the types of literals
21:30:20 <pikhq> bits/user.h DNE...
21:30:23 <elliott> what types functions return
21:30:36 <Vorpal> elliott, since functions in C# can't return var
21:30:42 <elliott> the middle one works like ... http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm
21:30:50 <elliott> to be perfectly honest, I couldn't describe H-M without having the description in front of me
21:31:04 <Vorpal> elliott, the last one I don't even know what it is
21:31:11 <monqy> I think I learned H-M when I learened type inference
21:31:18 <Vorpal> elliott, doesn't haskell use H-M?
21:31:21 <elliott> haskell with one or two extensions gives you the absolute most you can fully infer, basically
21:31:25 <elliott> Vorpal: it uses H-M with extensions
21:31:31 <Vorpal> elliott, what extensions?
21:31:48 <elliott> but "fancy" haskell stuff isn't fully inferrable.
21:31:55 <elliott> so just like haskell ninetyeight is.
21:32:34 <oerjan> Vorpal: for ghc, heaps of them. basically if someone invents a new type idea that is mostly inferable, it'll probably end up in ghc :P
21:32:37 <pikhq> Okay, there is no good place for pulling __WORDSIZE.
21:32:46 <elliott> oerjan: and even if it isn't
21:33:34 <elliott> oerjan i was reading that talk page and you had a comment so i clicked on your contribs and
21:33:38 <elliott> do you have [[7 (number)]] on your watchlist
21:34:00 <oerjan> no, lemme check why i edited that
21:34:06 <elliott> 10:22, 20 January 2011 (diff | hist) 7 (number) (Undid revision 408789001 by 84.252.249.235 (talk) (1+1 is not a composite number))
21:34:07 <elliott> 05:46, 12 January 2011 (diff | hist) m 7 (number) (fix spelling)
21:34:14 <elliott> is it your synchronicity number
21:34:17 <oerjan> elliott: i _do_ however have Type Inference on my watchlist
21:34:31 <elliott> i guessed, and probably [[esoteric programming language]] too
21:34:37 <elliott> you've said you watch [[look-and-say sequence]] in here before
21:34:43 <elliott> why do i know so much about what wp pages you watchlist
21:34:49 <oerjan> elliott: oh. i have a policy of following an article's changes for about a week after i've edited it
21:35:19 <oerjan> so since those are 8 days apart, it falls under that
21:35:37 <oerjan> elliott: correct on [[esoteric programming language]] :P
21:38:25 <Phantom_Hoover> I really really hope DMM isn't going to go all pretentious on it.
21:39:31 <pikhq> Okay, best way of faking __WORDSIZE (which, realistically, is meaningless) is CHAR_BIT*sizeof(void*)...
21:39:40 <oerjan> Phantom_Hoover: last time DMM removed the old poll without putting up a new one. someone joked about it by making up options on the forum. i recognize several of them in the newest one.
21:40:28 <elliott> random mouse-waving and clicking picks baarle-nassau for me
21:40:36 <oerjan> so i think this is one is based on forum ideas
21:41:06 <oerjan> elliott: i picked those spheres as they were the only thing i hadn't heard about before
21:44:37 <oerjan> and there was an interesting wikipedia article on them
21:45:06 <oerjan> baarle-nassau is a good choice though :P
21:46:16 <elliott> what is the thing with baarle-nassau
21:46:19 <elliott> is it because it has complicated borders
21:47:33 <pikhq> Seems the patch is *much* shorter on a git checkout.
21:48:27 <olsner> pikhq: the patch? is shorter?
21:48:50 <oerjan> @let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")] in shm "elliott"
21:48:59 <oerjan> > let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")] in shm "elliott"
21:49:21 <oerjan> @let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")]
21:49:31 <elliott> > let thanks = ("Th"++) . dropWhile (`notElem` "aeiou") in thanks "elliott"
21:49:59 <elliott> > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile (`notElem` "aeiou") in thanks "elliott"
21:50:00 <lambdabot> Overlapping instances for GHC.Show.Show
21:50:09 <elliott> > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile (`notElem` "aeiou") $ xs in thanks "elliott"
21:50:20 <lambdabot> Text.Parsec.Char lower :: Stream s m Char => ParsecT s u m Char
21:50:20 <lambdabot> Text.ParserCombinators.Parsec.Char lower :: Stream s m Char => ParsecT s u m Char
21:50:20 <lambdabot> Data.Char LowercaseLetter :: GeneralCategory
21:50:25 <lambdabot> Data.Char LowercaseLetter :: GeneralCategory
21:50:39 <elliott> > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "ants"
21:50:40 <pikhq> olsner: The patch to get util-linux to build with musl.
21:50:48 <elliott> > let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "ants"
21:50:51 <elliott> > let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "Elliott"
21:51:02 <elliott> was hoping there'd be a fancy Unicode thing for it
21:51:11 <elliott> ?let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs
21:51:12 <Deewiant> There's no fancy Unicode stuff in base
21:51:22 <elliott> ?let thanks xs = text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs
21:51:23 <lambdabot> Couldn't match expected type `[Char]' against inferred ty...
21:52:00 <elliott> ?let thanks xs = text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs
21:52:55 <lambdabot> forall a. (a -> Bool) -> [a] -> Bool
21:53:10 <oerjan> <elliott> was hoping there'd be a fancy Unicode thing for it <-- you realize languages don't agree on which letters are vowels, right? :P
21:53:15 <elliott> ?let thanks xs = if any ((`notElem` "aeiou") . toLower) then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?"
21:53:16 <lambdabot> Couldn't match expected type `Bool'
21:53:21 <elliott> ?let thanks xs = if any ((`notElem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?"
21:54:00 <elliott> ?let thanks xs = if any ((`elem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?"
21:54:51 <elliott> > thanks "antidisestablishmentarianism"
21:54:53 <lambdabot> Thanks, antidisestablishmentarianism. Thantidisestablishmentarianism.
21:54:53 <olsner> haha, missed that one :/
21:54:58 <elliott> olsner: nothing wrong with Thu
21:55:29 <elliott> does anyone actually realise what this is from :P
21:55:40 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
21:55:54 <elliott> oerjan: http://www.youtube.com/watch?v=9jtU9BbReQk
21:56:19 <olsner> oh, it uses weird shenanigans to print text
21:56:37 <olsner> can you get a string from that somehow, so that it works with fix?
21:56:40 <Deewiant> > iterate (show . thanks) "thanks"
21:56:41 <lambdabot> ["thanks","Thanks, thanks. Thanks.","Thanks, Thanks, thanks. Thanks.. Thank...
21:56:48 <elliott> > let thanks' xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in fix thanks'
21:56:50 <lambdabot> "Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Th...
21:57:34 <Vorpal> elliott, presumably quite electric?
21:57:52 <lambdabot> Thanks, William Blake. Thilliam Blake.
21:58:05 <olsner> > thanks "västkustskt"
21:58:10 <elliott> > thanks "Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch"
21:58:12 <lambdabot> Thanks, Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch. Thanfai...
21:58:31 <Vorpal> elliott, your definition fails as olsner showed
21:58:42 <elliott> Vorpal: give me a perfect vowel function
21:58:46 <elliott> i suspect lambdabot fails at encoding itself
21:58:50 <elliott> so i could not fix it anyway
21:59:02 <olsner> I think both/all fail at encoding
21:59:12 <olsner> I mean that's how it usually goes
21:59:24 <Vorpal> elliott, perfect vowel can't be done. y is not a vowel in English is it?
21:59:30 <elliott> Vorpal: sometimes it is :P
22:00:51 <elliott> > thanks "mueval-core: Time limit exceeded"
22:00:52 <lambdabot> Thanks, mueval-core: Time limit exceeded. Thueval-core: Time limit exceeded.
22:02:06 <monqy> http://en.wikipedia.org/wiki/Fixed_point_combinator
22:02:20 <Vorpal> Phantom_Hoover, tired*
22:02:26 <monqy> I'm bad at not ruining the fun
22:02:30 <lambdabot> Thanks, but no thanks. Thut no thanks.
22:02:40 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
22:02:47 <lambdabot> Thanks, archaeopteryx. Tharchaeopteryx.
22:02:58 <Phantom_Hoover> Vorpal, yes, but I'm trying to get you to fix delquote.
22:03:07 <elliott> just apply delquote to itself, infinite times
22:03:11 <elliott> sorry oerjan stole ur wind
22:03:18 <HackEgo> <zzo38> Fiddle. It makes a big difference, you know. \ <oklopol> but touchscreens should feel like poking a boob \ <oklopol> are there boobs you wack and squeeze around to move the mouse? [...] <oklopol> like those little nipples in laptop keyboards, but they'd be full-blown boobies \ [after a long string of Lymia getting
22:03:43 <elliott> `addquote <Vorpal> `run tail -n1 quotes
22:03:44 <HackEgo> 448) <Vorpal> `run tail -n1 quotes
22:04:01 <HackEgo> 449) <Vorpal> I CANNOT REMOVE A LINE FROM A FILE
22:04:08 <elliott> `addquote lets just leave all these in
22:04:09 <HackEgo> 450) <Vorpal> ALSO I SMELL FUNNY
22:04:10 <HackEgo> 450) lets just leave all these in
22:04:13 <elliott> `addquote lets just leave all these in
22:04:14 <HackEgo> 451) lets just leave all these in
22:04:18 <elliott> `addquote someone in the future will be really confused
22:04:19 <HackEgo> 459) someone in the future will be really confused
22:04:20 <Vorpal> `run head -n 446 quotes > t; mv t quotes
22:04:22 <HackEgo> 450) <<<<<<< /tmp/hackenv.1231/quotes
22:04:27 <HackEgo> 450) <Vorpal> `run tail -n1 quotes
22:04:40 <HackEgo> 450) <Vorpal> `run tail -n1 quotes
22:04:51 <elliott> Vorpal: if you want the slander there forevr...
22:05:04 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:05:22 <HackEgo> 463) <Vorpal> I kick puppies for sport!
22:05:40 <elliott> oh he doesn't like that one
22:05:50 <Vorpal> elliott, I simply fixed it
22:05:51 <elliott> `addquote <Vorpal> I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY]
22:05:52 <HackEgo> 447) <Vorpal> I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY]
22:05:58 <elliott> `addquote <Vorpal> I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY]
22:05:59 <HackEgo> 447) <Vorpal> I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY]
22:06:19 <elliott> Vorpal: you didn't fix delquote though
22:06:26 <Vorpal> `addquote <elliott> Nice, fucking this corpse.
22:06:27 <HackEgo> 448) <elliott> Nice, fucking this corpse.
22:06:38 <Vorpal> elliott, I can be nasty too
22:06:57 <Vorpal> now I'm closing the lid, will time out soon
22:07:51 <elliott> `addquote <Vorpal> You know what's better than three dead babies? I'll tell you what's better than three dead babies. The only thing, on this Earth, or not on this Earth, that could possibly be said to be dead babies, is as follows: Dead babies, i.e. two of them, are excellent, but there is one thing that is superior to them in every aspect, and that thing I am now going to detail to you. The only thing better than four dead babies is: about to b
22:07:52 <elliott> e revealed. I shall reveal it now. The only thing better than nine dead babies is four dead babies, but that is a lie, because there is only one thing better than three dead babies, and it is this:
22:07:52 <HackEgo> 449) <Vorpal> You know what's better than three dead babies? I'll tell you what's better than three dead babies. The only thing, on this Earth, or not on this Earth, that could possibly be said to be dead babies, is as follows: Dead babies, i.e. two of them, are excellent, but there is one thing that is superior to them in
22:08:04 <elliott> I guess we will just have to leave it at that.
22:08:23 <HackEgo> 450) <Vorpal> Also I kick puppies.
22:09:00 <elliott> `addquote <oerjan> im ban you for puppy kick
22:09:01 <HackEgo> 451) <oerjan> im ban you for puppy kick
22:09:56 <oerjan> elliott: YOU AM PLAY GODS
22:10:06 <elliott> oerjan: im ban you for puppy kick
22:10:15 <elliott> Nice, fucking this corpse.
22:11:10 -!- Phantom_Hoover has quit (Quit: Leaving).
22:12:03 -!- Vorpal has quit (Ping timeout: 268 seconds).
22:12:49 <elliott> Nice, fucking this corpse.
22:13:04 <elliott> `addquote <olsner> ... you make me tried <elliott> Nice, fucking this corpse.
22:13:05 <HackEgo> 448) <olsner> ... you make me tried <elliott> Nice, fucking this corpse.
22:16:52 -!- foocraft_ has joined.
22:16:53 -!- foocraft has quit (Ping timeout: 252 seconds).
22:23:15 <elliott> Nice, fucking this corpse.
22:24:34 <nooga> fucking nice corpse
22:24:35 -!- wareya has quit (Read error: Connection reset by peer).
22:25:43 -!- wareya has joined.
22:29:23 <lambdabot> forall a. (SimpleReflect.FromExpr a) => String -> a
22:29:30 -!- sebbu has quit (Ping timeout: 260 seconds).
22:29:58 <lambdabot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
22:30:45 -!- sebbu has joined.
22:30:45 -!- sebbu has quit (Changing host).
22:30:45 -!- sebbu has joined.
22:31:18 <lambdabot> Couldn't match expected type `Sym a' against inferred type `Expr'
22:31:19 <lambdabot> In the second argument of `(==)', namely `a'
22:31:34 <lambdabot> Text.Read Symbol :: String -> Lexeme
22:31:35 <lambdabot> Text.Read.Lex Symbol :: String -> Lexeme
22:31:35 <lambdabot> Text.Parsec.Token symbol :: GenTokenParser s u m -> String -> ParsecT s u m String
22:31:43 <lambdabot> Language.Haskell.TH VarE :: Name -> Exp
22:31:43 <lambdabot> Language.Haskell.TH.Syntax VarE :: Name -> Exp
22:31:43 <lambdabot> Language.Haskell.TH varE :: Name -> ExpQ
22:32:19 -!- elliott has quit (Ping timeout: 244 seconds).
22:32:58 <lambdabot> It could refer to either `L.var', defined at <l...
22:33:55 <oerjan> (longer message in priv)
22:35:29 -!- pikhq_ has joined.
22:35:30 -!- pikhq has quit (Ping timeout: 258 seconds).
22:45:14 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:54:46 <pikhq_> Mmmkay, patches pushed upstream.
22:56:49 <pikhq_> Which feels kinda weird, TBH.
23:05:13 -!- ralc has quit (Read error: Operation timed out).
23:16:45 -!- nooga has quit (Ping timeout: 260 seconds).
23:16:54 -!- ralc has joined.
23:22:08 <pikhq_> Yeah. Still feels bloody weird having patches upstream.
23:29:17 <pikhq_> Oh, bloody hell, there's more stuff breaking now.
23:29:23 <olsner> pushing it upstream, sounds like physical work is being done pushing those patches
23:29:57 <pikhq_> http://www.spinics.net/lists/util-linux-ng/msg04536.html This patch bork it.
23:31:14 <pikhq_> TTYDEF_SPEED is defined in ttydefaults.h, which is very much a BSD-ism.
23:31:25 <olsner> funny, in this message: http://www.spinics.net/lists/util-linux-ng/msg04557.html he's *Dr* Werner Fink
23:31:34 <olsner> recently acquired his doctorate?
23:33:07 <pikhq_> --disable-agetty and hope that is less stupid?
23:37:08 <olsner> now that you have patches in the upstream it's only a matter of time until you find some excessively stupid piece of code and find that it came from one of your patches
23:39:01 <pikhq_> Okay, so. Musl is missing wcsdup and wcstok.
23:39:38 <olsner> of course it is, why would you want to have those?
23:45:50 <olsner> ubuntu has an upgrade for an "Advanced version control system", apparently that refers to the 'subversion' package :(
23:48:01 <olsner> I think subversion is advanced in approximately as many ways as CVS or RCS is not retarded
23:58:41 * oerjan is wondering if there might be a way to define k in unlambda using ` s and c
00:02:26 -!- ralc has quit (Quit: Leaving).
00:10:05 <oerjan> `c```csx = ````csx(*) = ```s(```*x(*))x(*) = ``(```*x(*))(*)`x(*) = ```(*)x(*) = x
00:10:30 <oerjan> which isn't quite what's needed
00:12:33 -!- wareya has quit (Ping timeout: 244 seconds).
00:13:11 <oerjan> ``ccx = `(`*x)x = `xx hm what
00:13:18 <EgoBot> That is not a user interpreter!
00:15:02 <oerjan> oh hm the last version didn't use ``sii
00:15:17 <oerjan> 20:20:33: <EgoBot> unlambda ```s`d`@|i`ci
00:16:50 <pikhq_> "Someone said "I know, let's make a porn version of The Human Centipede!". And others listened. And now it's out on DVD. May the gods forgive us." https://secure.wikimedia.org/wikipedia/en/wiki/The_Human_Sexipede , via Reddit.
00:17:05 <oerjan> !addinterp utest unlambda ``cc``d`@|`ci
00:17:05 <EgoBot> Interpreter utest installed.
00:18:37 <EgoBot> Interpreter utest deleted.
00:18:49 <oerjan> !addinterp ucat unlambda ``cc``d`@|`cc
00:18:50 <EgoBot> Interpreter ucat installed.
00:22:25 <oerjan> hm that's very close to that famous counter
00:25:15 <oerjan> since in fact `ci, `cc and `cd are all equivalent
00:27:03 * oerjan knows just enough about the human centipede that he doesn't want to know more, so was assuming it was sort of porn already
00:29:54 -!- foocraft_ has quit (Quit: Leaving).
00:31:08 <EgoBot> Interpreter ucat deleted.
00:31:15 <oerjan> !addinterp ucat unlambda ``cd``d`@|`cd
00:31:15 <EgoBot> Interpreter ucat installed.
00:39:57 -!- wareya has joined.
00:40:14 -!- Patashu has joined.
00:43:54 <oerjan> i realized there was a subtlety in that ``sii ~ `cc = `cd replacement, but it seems to work anyway
00:44:34 <oerjan> (basically applying `cc may reevaluate the argument, which ``sii doesn't)
00:45:51 <oerjan> it is possible there's some huge thunk building because of this...
00:57:24 -!- pikhq has joined.
01:00:24 -!- pikhq_ has quit (Ping timeout: 268 seconds).
01:01:16 -!- FireFly has quit (Quit: swatted to death).
01:01:54 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:06:40 <oerjan> ah seems like there is, and it may need to test for eof several times before actually halting
01:22:26 -!- adam__ has changed nick to CakeProphet.
01:25:21 -!- pikhq_ has joined.
01:25:23 -!- pikhq has quit (Ping timeout: 240 seconds).
01:54:57 -!- CakeProphet has quit (Read error: Operation timed out).
02:09:12 -!- augur has quit (Remote host closed the connection).
02:21:39 <lambdabot> Data.Maybe catMaybes :: [Maybe a] -> [a]
02:28:19 -!- nooga has joined.
02:44:20 -!- augur has joined.
02:44:37 -!- CakeProphet has joined.
02:44:37 -!- CakeProphet has quit (Changing host).
02:44:37 -!- CakeProphet has joined.
02:49:29 -!- CakeProphet has quit (Client Quit).
02:49:46 -!- CakeProphet has joined.
02:49:46 -!- CakeProphet has quit (Changing host).
02:49:46 -!- CakeProphet has joined.
02:59:26 -!- nooga has quit (Ping timeout: 250 seconds).
03:45:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
04:25:49 <pikhq_> Jesus. DNF is actually out.
04:27:13 -!- Kustas has joined.
04:27:37 -!- pikhq has joined.
04:28:00 -!- Kustas has left.
04:31:19 -!- pikhq_ has quit (Ping timeout: 268 seconds).
04:33:23 <Sgeo> I think I'll just watch a Let's Play
04:34:12 <pikhq> I think I'll just continue listening to Flood.
04:37:23 -!- oerjan has quit (Quit: leaving).
04:37:52 <pikhq> "Back in the summer of '87 he owned a giant venomous lizard. It somehow managed to escape, which led to the police shooting it with a shotgun. Because of the lack of laws against lizards, he was charged with possession of a "venomous, tree climbing alligator".
04:37:56 <pikhq> The above story was reported in Weekly World News as "police battle giant lizard". As a result, this is the only true and verifiable story ever reported in that tabloid."
04:38:02 <pikhq> Aaaand continue laughing.
05:13:10 * Sgeo sees another Sennheiser recommendation
05:15:59 <pikhq> I can't personally recommend Sennheiser, but only for lack of personal experience.
05:16:50 <Sgeo> ....I thought you were the one in here who recommended them
05:18:12 -!- pikhq_ has joined.
05:18:34 <Sgeo> <Sgeo> ....I thought you were the one in here who recommended them
05:19:49 <pikhq_> I do know they have a very good reputation among both reasonable people and audiophiles.
05:20:43 -!- pikhq has quit (Ping timeout: 240 seconds).
05:26:45 <Sgeo> That dichotomy (sp?) makes me laugh
05:41:23 <Patashu> I have sennheiser earphones
05:41:26 <Patashu> They're good I recommend them
05:41:33 <Patashu> Not sure about anything else they make
06:05:33 <myndzi> i have a pair of hd590s
06:05:41 <myndzi> i got em for $20 new courtesy of aol and amazon
06:07:42 <Sgeo> I should probably get my left ear fixed first
06:15:41 -!- pikhq has joined.
06:15:45 -!- pikhq_ has quit (Ping timeout: 250 seconds).
06:55:26 -!- Sgeo has quit (Ping timeout: 255 seconds).
07:07:29 -!- Phantom_Hoover has joined.
07:08:24 <HackEgo> 448) <olsner> ... you make me tried <elliott> Nice, fucking this corpse.
07:26:19 -!- pikhq has quit (Ping timeout: 240 seconds).
07:26:19 -!- pikhq_ has joined.
07:31:55 -!- aloril has quit (Ping timeout: 250 seconds).
07:33:13 <olsner> Phantom_Hoover: why did you want that specific quote?
07:34:36 <olsner> I don't know how to change quotes anyway
07:43:10 <pikhq_> Why is it so utterly difficult to force myself to sleep?
07:43:23 <pikhq_> It's not even like I'm doing anything relevant.
07:43:37 <pikhq_> Or, indeed, anything but Reddit and IRC.
07:45:37 -!- aloril has joined.
07:46:16 <olsner> I think one of the first things that goes when you become slightly tired is the little piece of planning brain that makes you go to sleep when you should
07:46:33 <olsner> so then you won't go to sleep until you're too tired to stay awake
07:47:15 <Phantom_Hoover> http://www.khanacademy.org/video/basic-trigonometry?playlist=Trigonometry
07:47:51 <pikhq_> olsner: Probably just after the "do things that actually matter" piece.
07:48:17 <Phantom_Hoover> There is not a single circle drawn in that video, so it doesn't actually explain any of the underlying structure.
07:48:54 <olsner> pikhq_: I wonder if I even *have* one of those
07:49:07 <pikhq_> I'm also pretty sure it's on the fritz.
07:50:37 <pikhq_> Phantom_Hoover: Yeah, circles are the single most fundamental thing for trig.
07:51:04 <pikhq_> Well, namely, the inherent relationships between circles and triangles that we call the trig functions.
07:53:27 <pikhq_> Phantom_Hoover: Why were you watching a Khan Academy video on trig, anyways?
07:53:43 <Phantom_Hoover> http://www.reddit.com/r/reddit.com/comments/hv41b/this_should_be_the_first_thing_shown_in_all/
07:54:01 <Phantom_Hoover> Someone said it should be the first thing posted, thus completely missing the point.
07:54:42 * Phantom_Hoover decides to actually find the derivation of sin' = cos.
07:55:30 <pikhq_> Khan Academy's pretty good usually, but circles and triangles are what you should be getting shown in trig...
07:55:40 <pikhq_> Because *that's all it is*.
08:07:05 -!- CakeProphet has quit (Ping timeout: 240 seconds).
08:15:24 <Patashu> trigonometry courses should teach tau
08:17:07 <Patashu> http://www.touchtrigonometry.org/ is cool but an information overload
08:18:56 -!- myndzi has quit (Ping timeout: 258 seconds).
08:19:35 <Phantom_Hoover> I think Sam Hughes summed up the whole tau debate nicely.
08:22:25 <olsner> making Pi the QWERTY of trigonometry?
08:23:43 <pikhq_> That is... Actually a good summation of it.
08:25:10 <Patashu> it's much much easier to introduce tau than pi though
08:25:19 <Patashu> if you're ever speaking to a pi unfamiliar audience just add one line: let tau = 2*pi
08:25:22 <Patashu> and then proceed as normal
08:25:39 <Patashu> if you want to use dvorak on a qwerty keyboard you have to spend several weeks learning it and be able to swap the keyboard back and forth when you change computers
08:25:39 -!- aloril has quit (Ping timeout: 250 seconds).
08:25:49 <Patashu> also dvorak isn't the best layout anyway, colemak is
08:27:14 <pikhq_> Yes, but even fewer people have heard of Colemak, making it a bit harder to use in analogies.
08:27:46 <Patashu> I just like to bring it up and feel :smug:
08:38:29 -!- aloril has joined.
08:45:04 -!- CakeProphet has joined.
08:45:04 -!- CakeProphet has quit (Changing host).
08:45:04 -!- CakeProphet has joined.
08:47:02 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
08:49:21 <lambdabot> Data.Function ($) :: (a -> b) -> a -> b
08:49:21 <lambdabot> Prelude ($!) :: (a -> b) -> a -> b
08:49:30 <CakeProphet> ...how did elliott get fixity declarations.
08:52:15 <Patashu> I think you need to find the source code
09:07:12 -!- monqy has quit (Quit: hello).
09:09:39 -!- MigoMipo has joined.
09:23:02 -!- myndzi has joined.
10:11:11 -!- nooga has joined.
10:11:30 -!- ralc has joined.
10:18:30 -!- myndzi has quit (Ping timeout: 268 seconds).
10:18:56 -!- myndzi has joined.
10:32:50 -!- FireFly has joined.
11:05:14 -!- pikhq_ has quit (Ping timeout: 240 seconds).
11:05:25 -!- pikhq has joined.
11:21:53 -!- Vorpal has joined.
11:54:13 -!- BeholdMyGlory has joined.
12:10:24 -!- TOGoS has joined.
12:11:05 -!- copumpkin has joined.
12:11:40 -!- TOGoS has left.
12:29:31 -!- Deewiant has quit (Ping timeout: 260 seconds).
12:29:55 -!- Deewiant has joined.
12:40:34 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
12:41:20 -!- ais523 has joined.
12:56:21 -!- ais523 has quit (Remote host closed the connection).
12:57:39 -!- ais523 has joined.
13:02:12 -!- ais523_ has joined.
13:02:31 -!- ais523 has quit (Disconnected by services).
13:02:33 -!- ais523_ has changed nick to ais523.
13:24:41 <ais523> hmm, Slashdot is awesome sometimes
13:24:52 <ais523> there was an argument about whether Microsoft was ditching Silverlight
13:25:18 <ais523> and it brew into an argument about cross-platformness
13:25:47 <ais523> with a comparison to Java vs. .NET
13:26:04 <ais523> and someone claimed that there wasn't a Java impl for the Amiga, and someone came up with a counterexample
13:26:13 <ais523> (later on, a C64 emulator in Silverlight came up, in order to complete the circuit)
13:30:08 <ais523> hmm, does anyone here know about Haskell Core?
13:30:24 <ais523> my supervisor mentioned it as something that might be useful for my research, but I've wanted something like that for esolanging for a while too
13:43:51 -!- CakeProphet has quit (Ping timeout: 268 seconds).
13:44:27 -!- CakeProphet has joined.
13:44:35 -!- CakeProphet has quit (Changing host).
13:44:35 -!- CakeProphet has joined.
14:01:27 -!- oerjan has joined.
14:12:11 <oerjan> <CakeProphet> ...how did elliott get fixity declarations.
14:12:22 <lambdabot> The operator `Prelude.$!' [infixr 0] of a section
14:13:40 <oerjan> also, lambdabot has no command [?@:]info
14:13:51 <oerjan> only spelling correction
14:15:16 <oerjan> <ais523> hmm, does anyone here know about Haskell Core?
14:15:34 <ais523> I know nothing besides the name and that it desugars Haskell
14:16:05 <ais523> and even that information's from an unreliable source
14:16:16 <oerjan> it's ghc's first intermediate language. it's explicitly typed (all type inference happens before) using a type system called F_c which is easily extensible with new features
14:16:59 <oerjan> i think typeclasses are also desugared away before it, so it uses explicit method dictionary passing
14:18:01 -!- Vorpal has quit (Ping timeout: 260 seconds).
14:19:03 <oerjan> i think newtypes are implemented using some kind of type-checked cast in core
14:19:49 <oerjan> and most of ghc's high level optimizations such as rules happen at the core stage
14:20:52 <oerjan> because you still have type checking for sanity there
14:22:31 <oerjan> for example ghc rules only trigger when the rewritten term has the same type as the old one
14:24:04 <oerjan> and of course as you say, syntactically desugared
14:24:31 -!- nooga has quit (Ping timeout: 252 seconds).
14:36:03 -!- Kustas has joined.
14:36:17 -!- Sgeo has joined.
14:42:11 -!- ais523 has quit (Read error: Connection reset by peer).
15:25:25 -!- Phantom_Hoover has joined.
15:25:42 -!- oerjan has quit (Quit: leaving).
15:32:10 -!- nooga has joined.
15:55:38 <Sgeo> Reading Jailbreak
16:00:04 -!- ais523 has joined.
16:44:41 <Phantom_Hoover> Sgeo, you realise it's a) incomplete and b) of far inferior quality to PS, right?
16:45:04 <Sgeo> I finished reading PS
16:45:11 <oklopol> so you can implement all boolean functions with dominoes, without using bridges
16:55:30 -!- Vorpal has joined.
16:55:42 -!- pikhq_ has joined.
16:55:47 -!- pikhq has quit (Ping timeout: 250 seconds).
16:56:13 * Phantom_Hoover briefly flirts with the idea of getting some Bitcoins.
16:58:24 * Phantom_Hoover notes that they don't even mention the drugs on the website.
17:02:25 -!- MigoMipo has quit (Ping timeout: 276 seconds).
17:06:37 <Vorpal> Phantom_Hoover, what drugs
17:06:56 <Phantom_Hoover> Vorpal, the drugs which are the one thing everyone knows you can buy with Bitcoin.
17:07:19 <Vorpal> Phantom_Hoover, what? Pull the other one...
17:10:18 <Phantom_Hoover> It is quite hard to get reliable information on the matter, admittedly.
17:11:42 <Phantom_Hoover> For some perspective, a lot of it seems to stem from Adrian Chen.
17:12:49 <Vorpal> Phantom_Hoover, who is this Adrian Chen?
17:13:50 <Vorpal> Phantom_Hoover, well who is he?
17:15:09 <Phantom_Hoover> He's one of the creators of Gawker, and noted unpleasant person.
17:16:57 <Sgeo> Was he behind the lucidending thing?
17:17:30 <Vorpal> Phantom_Hoover, about the bitcoin thing? heh
17:18:01 <Gregor> "Noted unpleasant person" lol
17:20:41 <Sgeo> http://www.reddit.com/r/IAmA/comments/fy6yz/51_hours_left_to_live/
17:21:09 <Vorpal> reddit.com: timeout. heh
17:25:37 <Phantom_Hoover> <Gregor> "Noted unpleasant person" lol ← I couldn't really say anything stronger without citing hearsay.
17:25:55 -!- MigoMipo has joined.
17:29:25 -!- Kustas has quit (Quit: gone).
17:42:56 -!- calamari has joined.
17:46:37 <Vorpal> Phantom_Hoover, it was still a LOT more dirty than xkcd
17:47:46 <Vorpal> Phantom_Hoover, what about 610?
17:49:30 <Vorpal> Phantom_Hoover, what is TGI though
17:50:00 <Phantom_Hoover> But it looks like you're trying to understand 631. Stop.
17:50:12 <Vorpal> Phantom_Hoover, 631 doesn't make sense
17:53:10 <Vorpal> Phantom_Hoover, the H-M algorithm is quite ingenious, don't you agree. Yet it makes perfect sense.
17:53:47 <Vorpal> Phantom_Hoover, I mean Hindley–Milner
17:54:04 <Vorpal> type inference algorithm
17:54:48 <Vorpal> Phantom_Hoover, oh I found a page on it open in a tab in firefox, as I was working through the backlog
17:56:46 <Vorpal> hm is it possible to make a language that is NP-complete to *parse*?
18:03:43 -!- calamari has quit (Quit: Bye).
18:07:26 <copumpkin> Vorpal: a language in which a given line is a comment if the sum of the lengths of any subset of the lines preceding it is 42
18:09:12 <copumpkin> although I guess that's a little easier than the usual phrasing of it
18:09:23 <copumpkin> since you can automatically exclude any lines longer than 42
18:09:56 <copumpkin> the language requires all lines to be shorter than 80 characters, and the sum I want is some reasonably decent sized number such that you can't make optimizations like that
18:10:15 <Sgeo> It's not a bad idea to just use a parser generator, is it?
18:10:15 <copumpkin> or actually, the length - 40 adds to 0
18:18:36 <Vorpal> copumpkin, ah good idea
18:19:14 <Vorpal> Sgeo, why would it be in general?
18:19:26 <Sgeo> What about in my case?
18:19:35 <Vorpal> Sgeo, what is your case
18:19:53 <Sgeo> Someone who wants to write a compiler but is generally clueless
18:20:27 -!- monqy has joined.
18:20:35 -!- pikhq has joined.
18:20:44 -!- pikhq_ has quit (Ping timeout: 240 seconds).
18:21:21 <olsner> using a parser generator is kind of like using a library containing code you didn't write yourself
18:25:04 <Sgeo> So, if I were zzo38, avoid them
18:25:32 -!- Kustas has joined.
18:27:01 <monqy> have you considered getting a clue about compilers? Anyway, parsing is the simplest/most trivial part of compiling any interesting language
18:28:14 <Sgeo> Define "interesting"
18:28:29 <Sgeo> Also, I don't think I'm going for optimizations here
18:28:37 <Sgeo> I'm not quite smart enough for that
18:28:52 <Sgeo> Also, I'm compiling into a pseudo-bytecode, not into x86 or anything
18:29:27 <monqy> well if your language is trivially equivalent to the target, the actual work is pretty trivial
18:29:55 <Sgeo> Well, target will expect CPS
18:30:16 <Sgeo> As in, not possible to write non-CPS code in it
18:30:37 <monqy> isn't the target lsl?
18:31:00 <monqy> or did something change about that
18:31:14 <monqy> or was I never fully in on it
18:32:20 <Sgeo> Target is technically LSL, but most of the LSL code will be an interpreter
18:32:28 <Sgeo> That interprets the contents of a few lists
18:33:19 -!- nooga has quit (Quit: Lost terminal).
18:33:20 -!- CakeProphet has quit (Ping timeout: 240 seconds).
18:33:28 <monqy> sgeo thinks continuations will solve all of his second life problems
18:33:42 <olsner> Sgeo: oh, is this that thing where you're working on a better scripting language for second life?
18:41:34 <pikhq> I find that YACC-like parser generators suck.
18:45:47 <ais523> pikhq: I actually find them kind-of useful
18:45:56 <ais523> depending on what you do with them
18:46:51 <pikhq> They tend to be overcomplicated and make writing a recursive-decent parser manually seem like a good idea, in my experience. :P
18:47:25 <ais523> when I try that, I find it's much like writing for a yacc-like but with more boilerplate, and comes to the same thing
18:47:44 <monqy> what other sorts of parser generators are there
18:47:44 <ais523> although my grammars tend to have just the one nonterminal
18:47:47 <ais523> or maybe two at a pinch
18:47:58 <pikhq> Anyways, the *real* way to write a parser is Parsec.
18:47:58 <ais523> because fewer nonterminals tends to imply a better-designed language
18:50:02 <pikhq> Well, more generally, parsing combinators is the way to do it, and Parsec is the best implementation of that.
18:52:39 * Sgeo wants Parsec for Javascript
18:53:32 <olsner> hmm, you don't know how to write a parser but you know what parsec is well enough to want it in javascript?
18:53:49 <pikhq> olsner: Parsec is easier than writing a parser by hand. :P
18:54:09 <pikhq> Though at least in decent languages even a hand parser isn't too bad.
18:54:49 <monqy> another questions: why javascript?
18:55:08 <pikhq> Where "decent" means "Has pattern matching and lambdas" in this context, I *think*.
18:55:19 <pikhq> ... Waaait, that includes C++. God no.
18:56:06 <monqy> C++ sort of kind of has pattern matching and lambdas
18:57:06 <ais523> if defining languages by features, always remember to explicitly exclude C++
18:57:30 <pikhq> monqy: It *very much* has type-level pattern matching and type-level lambdas.
18:57:50 <Sgeo> I want it to be easily accessible
18:58:11 <monqy> hello type-level parsec?
18:58:16 <olsner> hmm, parsec ported to c++ templates
18:58:33 <monqy> or at least a type-level parser or something
18:58:36 <olsner> now that's an abomination you can enjoy
18:59:03 <pikhq> Sgeo: If you want it accessible to complete noobs, offer Windows binaries.
19:02:40 <Sgeo> pikhq, is Javascript that terrible that that's the best option for accessibility
19:08:25 <Phantom_Hoover> "Divers weights are an abomination to the LORD;" — the Bible
19:09:01 <Phantom_Hoover> So I guess you need to swim against your own buoyancy or something?
19:10:38 <Sgeo> http://bible.cc/proverbs/20-23.htm
19:11:23 <Sgeo> From looking at all the other translations, I'm going to assume it's just missing an e
19:14:02 <ais523> Sgeo: that's actually an old-fashioned spelling of "diverse"
19:30:56 -!- oerjan has joined.
19:33:18 -!- Phreak has joined.
19:36:24 -!- pikhq_ has joined.
19:36:36 -!- pikhq has quit (Ping timeout: 268 seconds).
19:42:28 -!- Phreak has left.
19:45:54 <oerjan> <oklopol> so you can implement all boolean functions with dominoes, without using bridges
19:49:06 <oerjan> <Phantom_Hoover> ...yes, so why did you just say that?
19:49:14 <oerjan> Vorpal suffers from EAS
19:50:10 <oerjan> excessive acronym syndrome
19:50:11 <oerjan> <Vorpal> hm is it possible to make a language that is NP-complete to *parse*?
19:50:20 <oerjan> my guess is, almost certainly
19:50:23 <ais523> Vorpal: you can do better, Perl is Turing-complete to parse
19:50:44 <ais523> mostly because you can put arbitrary code in the parser
19:50:59 <oerjan> well context-sensitive languages are well known to include PSPACE-complete stuff
19:51:42 <oerjan> context-free languages otoh have O(n^3) algorithms
19:52:24 <oerjan> O(n^2) if unambiguous iirc
19:53:38 <oerjan> <Vorpal> hm is it possible to make a language that is NP-complete to *parse*?
19:53:48 <oerjan> 17:56:49: <Vorpal> err
19:53:48 <oerjan> 17:56:53: <Vorpal> NP-equivalent
19:54:07 <oerjan> if NP-equivalent means anything there, it's the same as NP-complete
19:55:03 <oerjan> <copumpkin> Vorpal: a language in which a given line is a comment if the sum of the lengths of any subset of the lines preceding it is 42
19:55:14 <oerjan> if 42 is fixed, then that won't be NP-complete
19:55:40 -!- CakeProphet has joined.
19:55:40 -!- CakeProphet has quit (Changing host).
19:55:40 -!- CakeProphet has joined.
19:56:03 -!- pikhq_ has quit (Ping timeout: 240 seconds).
19:56:15 -!- pikhq has joined.
19:56:32 <oerjan> copumpkin: also i think it won't be for _any_ fixed number so your adaptation won't work
19:57:34 <oerjan> let your number be n. make an array of n bools.
19:57:56 <oerjan> initialized to False, except index 0
19:58:16 <copumpkin> (I adapted it to include negative numbers)
19:59:01 <oerjan> then whenever you add a new item j, iterate through the array and make i+j True if i is
19:59:18 <oerjan> so you always have the set of possible sums.
19:59:47 <oerjan> right that won't work with negative numbers
20:00:04 <oerjan> you had another one first
20:00:31 <oerjan> <olsner> using a parser generator is kind of like using a library containing code you didn't write yourself
20:00:32 -!- wareya has quit (Ping timeout: 276 seconds).
20:01:05 <oerjan> for LALR(1) parsing i'd say it's "code you probably _couldn't_ write yourself without messing it up"
20:03:52 <oerjan> oh hm wait when you say lines should be _shorter_ than 80 characters, i am thinking - is _that_ still NP-complete? can't you no just count the number of lines of each length?
20:03:54 -!- Kustas has left.
20:04:01 <Sgeo> A member of the MSPA music team just followed me on Twitter
20:04:08 <oerjan> mind you i'm not sure that isn't still NP-complete
20:10:05 <oerjan> dammit wikipedia is impenetrably phrased
20:14:55 <copumpkin> the subset-sum problem reduces pretty trivially to it
20:15:36 <oerjan> um i thought your idea _was_ the subset-sum problem, pretty exactly
20:16:05 <copumpkin> well, my idea is a language where parsing it requires solving it :P
20:16:25 <copumpkin> but it's pretty obviously related :P
20:16:26 <oerjan> i _think_ the wikipedia article may imply that bounding either the number of sets or the size of elements makes it polynomial, although it's by no means clear
20:16:57 <copumpkin> subtract some number so we still get negatives
20:20:19 <oerjan> i think i'm too tried [sic] for this
20:23:17 <oerjan> google, now with free guitar
20:27:54 -!- cheater_ has quit (Ping timeout: 252 seconds).
20:36:38 -!- wareya has joined.
20:54:04 -!- pikhq_ has joined.
20:54:38 -!- elliott has joined.
20:54:44 <pikhq_> Wow. There's a palladium credit card. That's not a stupid marketing name. The card is literally made of palladium.
20:54:49 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
20:55:50 <Phantom_Hoover> I think rhenium was in the running as well, and the last one I considered was tantalum-180m.
20:55:59 -!- pikhq has quit (Ping timeout: 260 seconds).
20:57:46 <pikhq_> Sure enough, rhenium is rarer.
20:59:34 <pikhq_> Ruthenium and rhodium are rarer still and are also stable...
21:00:00 <pikhq_> Though both are fission products of U-235, making it possible they wouldn't be if someone decided to fuck with you.
21:00:40 <Phantom_Hoover> Tantalum-180m is the rarest stable primordial nucleus, though.
21:01:01 <pikhq_> The thing is, someone could *manufacture* ruthenium and rhodium.
21:02:26 <pikhq_> Yeah, tantalum-180m seems to win.
21:03:18 <pikhq_> Though 180m is technically not stable.
21:03:33 <pikhq_> Just close enough for most intents and purposes.
21:03:44 <pikhq_> (half-life of *at least* 10^15 years)
21:04:15 <pikhq_> Yes, but it's still technically not stable.
21:05:10 <pikhq_> It just has a half life larger than the universe's age.
21:06:36 -!- Patashu has joined.
21:07:11 <pikhq_> (which is about 1.3*10^9 years
21:07:12 * Sgeo still finds it unintuitive that a probability 0 event can occur.
21:07:22 <Sgeo> I mean, I understand it, it's just weird
21:07:51 <pikhq_> Oh, and 10^15 years is the *lower bound* on the half life.
21:08:07 <pikhq_> Sgeo: Technically, there are no events with probability 0 in reality.
21:08:24 <pikhq_> Just events with probability sufficiently low that their floating point representation is 0. :P
21:08:48 <Phantom_Hoover> pikhq_, I was totally doing the whole tantalum-180m thing like a month ago get with the nuclear times.
21:09:44 <elliott> the best giraffe has yet to exist
21:10:34 <elliott> 22:54:46: <pikhq_> Mmmkay, patches pushed upstream.
21:10:34 <elliott> 22:56:49: <pikhq_> Which feels kinda weird, TBH.
21:10:44 <elliott> pikhq_: To musl or util-linux-ng or what? :P
21:11:05 <pikhq_> And I have some more to push in a bit.
21:11:13 <pikhq_> i.e. "When I feel like it".
21:11:28 <elliott> Phantom_Hoover: oerjan broke it
21:11:46 <elliott> ?let thanks xs = if any ((`elem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?"
21:12:07 <elliott> 00:04:39: <oerjan> hm what about just i
21:12:08 <elliott> 00:10:05: <oerjan> `c```csx = ````csx(*) = ```s(```*x(*))x(*) = ``(```*x(*))(*)`x(*) = ```(*)x(*) = x
21:12:25 <Patashu> is there an unlambda interpreter in haskell?
21:12:40 <elliott> Patashu: it takes like ten minutes to write one, so almost certainly
21:12:42 -!- CakeProphet has quit (Ping timeout: 255 seconds).
21:12:43 <elliott> oerjan probably has one, even :P
21:12:59 <elliott> http://home.nvg.org/~oerjan/esoteric/Unlambda.hs
21:13:07 <elliott> http://www.cse.unsw.edu.au/~dons/code/lambdabot/scripts/Unlambda.hs
21:13:23 -!- CakeProphet has joined.
21:13:23 -!- CakeProphet has quit (Changing host).
21:13:23 -!- CakeProphet has joined.
21:13:29 <elliott> must be what's in lambdabot
21:13:56 <elliott> 00:16:50: <pikhq_> "Someone said "I know, let's make a porn version of The Human Centipede!". And others listened. And now it's out on DVD. May the gods forgive us." https://secure.wikimedia.org/wikipedia/en/wiki/The_Human_Sexipede , via Reddit.
21:14:11 <elliott> A parody of The Human Centipede, in 'The Human Sexipede', Dr. Heiter kidnaps two young American girls and an Asian man, all of whom are unable to achieve sexual satisfaction through everyday sexual behaviour. He presents them with the idea of joining them Mouth to Genitals, so that they are able to continually pleasure each other by way of oral sex and finally achieve sexual satisfaction.
21:14:15 <elliott> why did he need to kidnap them
21:14:27 <elliott> if he "presents them with the idea" why couldn't he just like tell them
21:14:31 <elliott> the kidnapping seems totally superfluous
21:14:34 <elliott> THIS PORN HAS A REALLY BAD PLOT
21:15:03 <elliott> "The Human Centipede II (Full Sequence) is an upcoming British horror film directed by Dutch filmmaker Tom Six. The sequel to 2010's Dutch film The Human Centipede (First Sequence), the film has been scheduled for release on DVD in 2011 but has been banned from distribution in the United Kingdom due to its explicit content."
21:15:05 <pikhq_> It's porn. You expect good writing?
21:15:12 <elliott> i can't buy the sequel to human centipede
21:15:22 <elliott> The film centres on an antagonist called Martin (Laurence Harvey), who becomes sexually obsessed with a DVD recording of the film within the film, The Human Centipede (First Sequence). In the DVD, a surgeon kidnaps three people and surgically connects them mouth-to-anus. Martin masturbates as he watches the film, with sandpaper wrapped around his penis. He subsequently creates his own twelve-person "human centipede" and gains sexual gratification
21:15:22 <elliott> from the pain, humiliation and suffering of his victims. He is shown to become aroused whenever a member of his centipede defecates, and their faeces are forced into the mouth of the victim behind them. He rapes the woman at the rear of the centipede, with barbed wire wrapped around his penis.[1]
21:15:50 <elliott> "He rapes the woman at the rear of the centipede, with barbed wire wrapped around his penis."
21:16:02 <pikhq_> It's clearly a depiction of what the same film is doing to the audience.
21:16:10 <elliott> Tom Six claimed the sequel would be much more graphic and disturbing , making the first film seem like "My Little Pony compared with part two."
21:16:36 <elliott> Comparing Full Sequence with the first film; the BBFC said that whilst First Sequence was "undoubtedly tasteless and disgusting",[11] the content of First Sequence had been acceptable for release because the centipede of said film was the product of a "revolting medical experiment".
21:16:43 <elliott> so it's OK if you don't get off on it
21:16:51 <Patashu> the human centipede is kind of disgusting
21:17:01 <pikhq_> elliott: The doctor who did it was getting off on it.
21:17:14 <pikhq_> Half the premise is that he had a sick fetish.
21:17:16 <elliott> "Six criticised the BBFC for including film spoilers in their report"
21:17:17 <elliott> "Six criticised the BBFC for including film spoilers in their report"
21:17:18 <elliott> "Six criticised the BBFC for including film spoilers in their report"
21:17:18 <elliott> "Six criticised the BBFC for including film spoilers in their report"
21:17:29 <Patashu> people will be jointed mouth to anus
21:17:38 <elliott> and barbed wire will be wrapped around a penis
21:18:36 <pikhq_> I have mixed feelings about this. First, it's an absolutely, horrifying concept without any artistic merit. Second, fiction should never ever ever ever be banned. Ever.
21:18:45 <pikhq_> Even if you're joining people mouth to anus.
21:19:41 <elliott> banning it is just stupid, no mixed feelings
21:19:55 -!- hagb4rd has joined.
21:20:11 <pikhq_> I don't want a fucking sequel published at all. But I don't want to stop any sick fuck from doing so, either.
21:20:34 <elliott> i don't see what you have against it, people can film anything they want if they're not harming anyone
21:20:54 <elliott> apparently the first film was pretty funny
21:21:09 <Phantom_Hoover> elliott, so I infer that you are completely opposed to hate speech laws?
21:21:09 <pikhq_> elliott: It's more "brain bleach" kinda reaction than anything else.
21:21:23 <elliott> Phantom_Hoover: "if they're not harming anyone"
21:21:33 <pikhq_> elliott: Sure, people should be able to film anything they want if they're not harming anyone.
21:21:42 <pikhq_> That doesn't mean I want them to.
21:21:46 <elliott> Phantom_Hoover: That's for the courts :P
21:22:08 <elliott> Obviously paying a bunch of consenting actors to pretend to be sewn together isn't harming anyone.
21:22:20 <Phantom_Hoover> elliott, and if the court rule that Human Centipede 2 is harmful?
21:22:28 <elliott> Phantom_Hoover: Then I believe they'll have made the wrong decision.
21:22:52 <Phantom_Hoover> And making a film called "Let's Kill All The Jews" doesn't harm anyone involved in the production.
21:23:24 <elliott> No, but depicting a bunch of people sewn together isn't harming any minority either.
21:23:37 <elliott> People who aren't sewn together is a pretty large majority, in fact.
21:23:41 <hagb4rd> i believe the answer is: no tolerance for intolarance
21:23:48 <pikhq_> Phantom_Hoover: The mere act of producing such a thing does not really harm anyone.
21:24:15 <elliott> Phantom_Hoover: Anyway, it's not like neo-Nazis can't watch "Let's Kill All The Jews" if they want to anyway; it's called the internet.
21:24:25 <elliott> Hate speech laws are probably ineffective in such an instance.
21:24:46 <pikhq_> That said, hate speech laws get very annoying edge cases. It's kinda inherent in the concept...
21:24:48 <oerjan> <elliott> oerjan probably has one, even :P <-- the one on hackage is based on mine
21:25:15 <elliott> I'm pretty sure The Metamorphosis of Prime Intellect would have been banned from publication if it was written quite a bit earlier
21:25:25 <elliott> (Not that it has been published other than self-)
21:25:46 <Phantom_Hoover> FWIW, it does seem that the BBFC has simply refused to classify it, which isn't quite banning it.
21:26:15 <oerjan> <Phantom_Hoover> What happened <-- when anyone anywhere issues the @undefine command to lambdabot, all @let's are discarded. sorry, that's just the way it is.
21:26:16 <elliott> When classifying First Sequence, the BBFC had also taken legal advice that the film was not in breach of the Obscene Publications Act.[12] In contrast, the BBFC felt that the centipede of Full Sequence existed as purely "the object of the protagonist's depraved sexual fantasy".[11]
21:26:32 <elliott> Phantom_Hoover: That seems like they're at least strongly implying it would be illegal to publish it in their view
21:26:39 <elliott> The BBFC's report heavily criticised the film as making "little attempt to portray any of the victims in the film as anything other than objects to be brutalised, degraded and mutilated for the amusement and arousal of the central character, as well as for the pleasure of the audience"[1] and that the film was potentially in breach of the Obscene Publications Act, meaning its distribution in the UK (either in physical or download format) would be
21:26:39 <elliott> illegal[13], The BBFC stated that they would not reclassify the film in future, as "no amount of cuts would allow them to give it a certificate".[13]
21:26:47 <pikhq_> Phantom_Hoover: Since you can't sell unclassified works in the UK, it is pretty much banned.
21:26:48 <elliott> Phantom_Hoover: So yeah, they've said distributing it would be illegal.
21:27:01 <pikhq_> Well, non-exempt video works.
21:27:09 <elliott> Phantom_Hoover: Well, they could go against the BBFC, but I bet they'd lose in court.
21:27:16 <oerjan> <elliott> oerjan: what prompted dis <-- i started wondering about the power of just ` c and s
21:27:20 <Phantom_Hoover> Whether it's actually banned-as-in-you-can't-watch-it is unclear unless the courts decide one way or the other.
21:27:33 <elliott> It's obviously not banned to watch, just distribute
21:27:53 <elliott> 04:37:52: <pikhq> "Back in the summer of '87 he owned a giant venomous lizard. It somehow managed to escape, which led to the police shooting it with a shotgun. Because of the lack of laws against lizards, he was charged with possession of a "venomous, tree climbing alligator".
21:27:54 <elliott> 04:37:56: <pikhq> The above story was reported in Weekly World News as "police battle giant lizard". As a result, this is the only true and verifiable story ever reported in that tabloid."
21:27:54 <elliott> 04:38:02: <pikhq> Aaaand continue laughing.
21:28:40 <hagb4rd> would you say speech laws exclude the freedom of language and the ability of express everything you want to say?
21:28:59 <elliott> Phantom_Hoover: i googled, it is
21:29:38 <pikhq_> hagb4rd: I think you a word.
21:30:36 <elliott> 08:25:10: <Patashu> it's much much easier to introduce tau than pi though
21:30:36 <elliott> 08:25:19: <Patashu> if you're ever speaking to a pi unfamiliar audience just add one line: let tau = 2*pi
21:30:36 <elliott> 08:25:22: <Patashu> and then proceed as normal
21:30:47 <elliott> Patashu: disadvantage: anyone who actually knows mathematics will ignore everything that follows
21:30:49 <ais523> pikhq_: wow that meme is hard to parse without an adverb in there to make it clearer
21:31:03 <elliott> I don't object to tau on principle, but it's such a stupid thing to "advocate" because it's so fucking minor.
21:31:08 <ais523> especially as the no-adverb version is grammatically a correct sentence that means something else
21:31:22 <elliott> Anyone who makes a point of writing an entire serious work with it is probably too annoying to listen to.
21:31:54 <pikhq_> elliott: I think it's one of many reasons I need a time machine.
21:32:53 <pikhq_> There's also, of course, a large swath of missing Doctor Who episodes, and Hitler needs to go to art school.
21:32:58 <ais523> why not just choose units so that pi = 1?
21:33:13 <elliott> 08:49:30: <CakeProphet> ...how did elliott get fixity declarations.
21:33:17 <pikhq_> ais523: Non-integral bases are annoying.
21:33:21 <elliott> ais523: Change the units of multiplication? :P
21:33:29 <ais523> elliott: pikhq_'s reply is better
21:33:36 <elliott> pikhq_: WWII not happening would probably be a Bad Thing.
21:33:46 <ais523> a Different Thing, at least
21:33:59 <pikhq_> elliott: Balls, it's true.
21:34:01 <Patashu> elliot, it's a pedagogy thing not a 'this will make math BETTER' thing
21:34:03 <Phantom_Hoover> You could argue that it would make the probability of a disastrous war in the 20th century.
21:34:10 <pikhq_> Let's go for a more radical change.
21:34:25 <elliott> Patashu: Someone who would write a paper with tau is someone who would write a paper with diaereses and Spivak pronouns.
21:34:34 <Phantom_Hoover> Since WWII led to the Cold War, which was actually pretty good as a way of enforcing general peace.
21:34:39 <Patashu> you should never write a paper with tau
21:34:42 <Patashu> only teach classes with tau
21:34:42 <elliott> Yes, all these things are perfectly well and good, but I DON'T GIVE A SHIT ABOUT THEM, GET TO THE POINT.
21:34:49 <pikhq_> Let's keep Rome going for longer.
21:34:52 <ais523> I know when Asimov wrote a novel about time travel, he introduced the rule "any change to the past that isn't completely and categorically incompatible with the state of the present before the change will have only minor effects on its future past a few hundred years or so"
21:34:55 <elliott> Patashu: Thus creating an even greater barrier between mathematics as taught in school and actual mathematics
21:34:58 <oerjan> <ais523> why not just choose units so that pi = 1? <-- -----###
21:35:01 <elliott> THAT'S DEFINITELY WHAT WE NEED
21:35:03 <ais523> i.e. "accidental changes to the past tend to not have knock-on effects"
21:35:11 <ais523> I think it was the only way to keep it vaguely sane
21:35:12 <pikhq_> Just another, oh, few decades would give us the Industrial Revolution instead of the Dark Ages.
21:35:18 <ais523> although it still introduced a sort of meta-time that remained stable
21:35:27 <ais523> and as such, wasn't all that good a time travel novel
21:35:33 <elliott> ais523: I kind of want a machine that can tell me What Would Have Been if one specific thing had been different
21:35:44 <elliott> ais523: unfortunately, it'd just lead to me regretting 90 percent of my decisions
21:36:02 <ais523> well, I'd think more like 50%, unless there were more than two choices
21:36:02 <elliott> but that doesn't make me stop wanting it, because I don't know what's good for me
21:36:03 <pikhq_> ais523: It also ended with the destruction of that meta-time. So...
21:36:13 <elliott> ais523: when are there ever exactly two choices?
21:36:28 <ais523> elliott: well, it depends on how you measure choicse
21:36:36 <ais523> I suppose there's always the out-of-field solution
21:36:40 <pikhq_> Imagine. Instead of the Crusades, we'd have a Roman Internet.
21:36:57 <ais523> e.g. randomly punching someone nearby rather than doing or not doing what the choice was apparently about
21:36:59 -!- cheater01 has joined.
21:37:07 <Phantom_Hoover> Although that leads to smug alternate elliott sneering at you from his perfect reality.
21:37:12 <ais523> pikhq_: I don't think it ended up destroyed, just shunted into a state where timetravel was impossible
21:37:19 <ais523> so it corresponded exactly to natural time from then on
21:37:31 <pikhq_> ais523: It ended with the creation of the time line we live in.
21:37:37 <elliott> <Phantom_Hoover> Although that leads to smug alternate elliott sneering at you from his perfect reality.
21:37:40 <HackEgo> 17) IN AN ALTERNATE UNIVERSE: <pikhq> First, invent the direct mind-computer interface. <pikhq> Second, learn the rest with your NEW MIND-COMPUTER INTERFACE. \ 23) IN AN ALTERNATE UNIVERSE: <bsmntbombdood> there is plenty of room to get head twice at once \ 24) <oerjan> In an alternate universe, ehird has taste \ 25) IN AN
21:37:57 -!- cheater01 has quit (Remote host closed the connection).
21:38:06 <pikhq_> Phantom_Hoover: How so?
21:38:12 <oerjan> <pikhq_> Just another, oh, few decades would give us the Industrial Revolution instead of the Dark Ages. <-- at the end hadn't rome declined too much to achieve anything like that... you'd want to at least prevent the crisis of the third century
21:38:23 <pikhq_> oerjan: Okay, well, true.
21:38:35 <Phantom_Hoover> I mean, the Greeks *had* electricity, the beginnings of calculus, steam...
21:39:02 <elliott> WHAT HAVE THE GRECO-ROMANS EVER DONE FOR US
21:39:03 -!- cheater3 has joined.
21:39:05 <pikhq_> Phantom_Hoover: The world sucked up until the 20th century, TBH.
21:39:20 <Phantom_Hoover> They just didn't develop it, because their society wasn't geared towards technological change in the same way the later societies were.
21:39:52 <ais523> besides, the technology they had at the time was sufficient for them
21:39:57 <ais523> so there wasn't much reason to upgrade
21:40:14 <pikhq_> Phantom_Hoover: Uh, later societies were *really* poorly geared towards technological change. And arguably still are.
21:40:36 <Phantom_Hoover> pikhq_, not to the extent that they just looked at it and said 'meh'.
21:40:51 <pikhq_> No, they looked at it and said "THE DEVIL!"
21:41:38 <Phantom_Hoover> I was referring to Enlightenment-era Europe, not Dark Ages Europe.
21:41:40 <elliott> the world isn't the bible belt
21:42:16 <Phantom_Hoover> You realise that the Dark Ages weren't the fall of the Empire to the 1800s, right?
21:43:06 <pikhq_> That *is* about the time span where we were fucking *behind* on tech, though.
21:44:41 <elliott> silly rabbit, the middle ages never happened
21:45:50 <elliott> 23:34:53: <ehird> 23:21 pikhq: Oh, right. He prefers the insane solution.
21:45:51 <elliott> 23:34:53: <ehird> 23:21 pikhq: (in this case, per-OS Makefiles)
21:45:51 <elliott> 23:36:10: <pikhq> ehird: What do you prefer?
21:45:52 <elliott> 23:36:18: <ehird> pikhq: not using c :)
21:45:56 <elliott> 23:36:31: <pikhq> Ah, yes. The ignorant solution.
21:45:58 <elliott> pikhq_ past you hurts my feelings
21:46:02 <Phantom_Hoover> <pikhq_> That *is* about the time span where we were fucking *behind* on tech, though.
21:47:14 <Phantom_Hoover> And when it started pulling ahead, it pulled ahead *fast*.
21:47:14 <pikhq_> Bah, what's a century, anyways? :P
21:47:46 <pikhq_> But, yeah, once it got to the level that the Romans had, it fucking *launched*.
21:49:49 <pikhq_> Hmm. One thing the Romans didn't have that would have really made the Industrial Revolution non-feasible is gunpowder...
21:50:37 <pikhq_> Which encouraged a lot of development in metallurgy.
21:52:00 <pikhq_> Most notably, efficient production of steel.
21:52:50 <pikhq_> (I specify "efficient production", because steel itself is a heck of a lot older than you think)
21:55:21 <Phantom_Hoover> Come to think of it, who are you actually saying all these things to.
21:55:33 <pikhq_> Okay, good point, you're not ignorant like the average American. :P
21:55:56 <pikhq_> And honestly, I think I started monologing somewhere in there for no good reason.
21:56:58 <oerjan> must be your latent evil overlord genes
21:57:51 -!- azaq23 has joined.
22:00:17 -!- Phantom_Hoover has quit (Quit: Leaving).
22:00:41 <elliott> 00:31:40: <ehird> David slowed his pace slightly as his ears, in a vat of chocolate; only his less slightly paces can go faster.
22:04:21 <pikhq_> Hrm. OpenJDK is now the reference implementation of Java.
22:04:33 <elliott> Your MOM is now the reference implementation of YOUR MOM.
22:05:13 <ais523> elliott: that sentence seems to interpret "slightly" as an adjective, and even taking that into account I still can't parse it
22:05:28 <elliott> 00:31:32: <ehird> David slowed (his pace slightly) as (his ears, in a vat of chocolate); only his less slightly paces can go faster.
22:05:32 <Sgeo> http://www.bluishcoder.co.nz/2007/10/javascript-parser-combinators.html oooh
22:06:10 <elliott> Theory: Sgeo is Chris Double, pretending to be Sgeo.
22:06:40 <elliott> Evidence: Double likes Creatures. (End evidence.)
22:07:17 <ais523> elliott: oh, right, the first "slightly" is a noun
22:07:18 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:07:28 <ais523> now the sentence merely makes no sense, rather than being unparseable
22:07:34 <ais523> I suppose that's an improvement
22:07:42 <elliott> ais523: David slowed his ears, which were in a vat of chocolate.
22:07:50 <elliott> David also slowed his [pace slightly] in a similar manner.
22:08:00 <elliott> Only his less slightly paces can handle the faster speeds.
22:08:01 <ais523> ah, so "as" = "as well as" here
22:08:04 <elliott> ais523: that should explain it for you
22:08:26 <elliott> Actually pace is the noun there.
22:08:29 <elliott> "His pace slightly" = "His slightly pace".
22:08:43 <elliott> What a pace is, and how it can be slightly, is up for the reader to decide.
22:10:14 <elliott> David slowed his pace slightly as his ears, for he had the slightest ears in the land.
22:10:32 <ais523> elliott: ah, I parsed it as "his pace 'slightly'", in that it was the pace's name
22:10:46 <elliott> "less slightly paces" makes no sense then, though
22:10:57 <ais523> well, I parsed it as an adjective that time
22:11:08 <ais523> nothing says it has to be parsed consistently, right?
22:11:15 <elliott> "only his less Joe friends could be so nice"
22:11:45 -!- Phantom_Hoover has joined.
22:12:10 <Phantom_Hoover> "If you watch NASA backwards, it's about a space agency that has no spaceflight capability, then does low-orbit flights, then lands on moon."
22:12:42 -!- Phantom_Hoover has quit (Client Quit).
22:12:42 <elliott> David slowed his pace slightly as his ears, like most sentences in this novel, did gently but surely and definitely yet somehow trail off in a manner that was... But I digress.
22:14:03 <elliott> hmm, adding sleep_until() to a language can make it Turing-complete
22:14:42 <olsner> heh, took a while to understand that NASA joke
22:14:45 <oerjan> There once was a lady of Niger; who smiled as she rode on a tiger. They returned from the ride, with the lady inside, and the smile on the face on the tiger.
22:15:08 <elliott> oerjan: is that semicolon right? or is it actually part of the weirdness, hmm
22:15:22 <elliott> i thought the lady was implied to be inside the face of the tiger
22:15:36 <olsner> elliott: yeah, first I thought "but... that's forwards!" and then "oooh! I see!"
22:15:58 <oerjan> elliott: i just tried to digress about a nigress and a tigress, is all
22:16:29 <ais523> ah, for some reason I skipped it in scrollback
22:16:39 <ais523> and yes, that's a pretty good observation
22:16:55 <ais523> there must be some clever way to tie that into an in-soviet-russia joke, but I'm not seeing it right now
22:17:17 <elliott> let's have some groupthink sentiment that nobody will disagree with: some funds need directing from the us military to nasa :(
22:17:40 <Sgeo> "My voice is my passport. Verify me." did not originate with Uplink?
22:18:00 <ais523> all this space research is only useful if it gets us a second habitable planet to live on, given that we're using up the resources of the current one too quickly
22:18:09 <elliott> Sgeo: most parts of uplink are references to bad films, why would you expect that to be different?
22:18:15 <olsner> Sgeo: it's from some... movie or tv series... one that I've seen
22:18:26 <elliott> ais523: Understanding the universe is inherently worthwhile, IMO
22:18:53 <ais523> elliott: understanding the universe is /possible/?
22:19:05 <elliott> ais523: Are you saying the universe can't be understood at all?
22:19:14 <elliott> That would imply that physics doesn't exist as a subject.
22:19:19 <elliott> Or science of any sort really
22:19:23 <olsner> oh, right, it's that magic crypto chip movie
22:19:28 <Sgeo> Do we really need another planet? Would a space station that had mining operations on other objects in our solar system be good enough?
22:19:41 <ais523> elliott: I don't think it's truly understandable, but I think you can get decent approximations that hold up a reasonable proportion of the time
22:19:46 <elliott> Sgeo: it's probably easier to terraform Mars than do that :P
22:19:53 <elliott> I mean, for a large group of people
22:20:01 <elliott> ais523: You're saying that you don't believe the universe has a consistent set of laws?
22:20:28 <ais523> elliott: I think the situation in which the universe doesn't make sense is more likely than the situation in which it does
22:20:39 <elliott> I am not using the words "make sense" on purpose.
22:20:46 <elliott> Please answer my question without rewording it.
22:21:06 <ais523> elliott: I'm not entirely sure your question has a non-misleading answer
22:21:21 <ais523> to the extent that I'm not sure what the correct answer is
22:21:31 <oerjan> elliott: it is quite conceivable that there are always new, unpredictable exotic particles to be found randomly as you increase to higher energy levels. and that's just an obvious idea from the research that is already being done...
22:21:36 <elliott> Does the universe have a consistent set of laws, or is it completely illogical?
22:21:40 <ais523> elliott: that doesn't mean I necessarily know the answer
22:21:50 <ais523> also, I'm not sure that those are opposites
22:21:59 <elliott> Then you don't know what I mean by "illogical".
22:22:05 <ais523> but completely illogical seems the most likely out of those two possibilities
22:22:24 <elliott> In your estimation, is there a logically consistent axiomatic system in which there are a group of statements which comprise a complete description of how our universe operates?
22:22:48 <ais523> I'd be very surprised if there were
22:23:11 <elliott> Final question: Do you realise that even the physical existence (somehow, say encoded into atoms) of Chaitin's constant would be permissable under my question?
22:23:26 <cheater3> ais523, space research gave you non-stick frying pans!!!!!!!!!!
22:23:28 <ais523> elliott: I don't see how Chaitin's constant has anything to do with it
22:23:39 <ais523> cheater3: I don't think I've ever used one of those
22:23:42 <elliott> ais523: It is not directly related, but I would like an answer.
22:23:45 <ais523> is the same coating used on saucepans? I've used those
22:23:52 <ais523> elliott: "permissable under my question"?
22:24:13 <ais523> when I need food, sometimes
22:24:20 <ais523> although I prefer reheating tins
22:24:24 <elliott> ais523: As in: Do you realise that a universe in which there is a physical realisation of the entirety of Chaitin's constant could still be logical under my definition?
22:24:31 <ais523> or just buying ingredients on the spot and eating them raw
22:24:39 <cheater3> i'm not surprised you're so lackluster sometimes
22:24:45 <ais523> elliott: yes, that doesn't seem to be surprising
22:24:57 <elliott> ais523: And you still affirm your answer to my question about axiomatic systems, yes?
22:24:58 * cheater3 teaches ais523 how to cook in 1203498 simple steps.
22:25:11 <ais523> cheater3: oh, I know how to in theory
22:25:22 <cheater3> there's no such thing as cooking theory
22:25:25 <ais523> it just doesn't seem worth spending that much time when I can achieve a similar result more simply
22:25:40 <elliott> ais523: Then we have COMPLETELY and fundamentally different worldviews, and can never agree on any statement related to the material world, at all.
22:25:42 <cheater3> for very small values of similar
22:26:21 <ais523> elliott: that seems to fit with what's happened in this channel so far
22:26:30 <ais523> we can approximately agree, though, which is good enough
22:26:45 <elliott> You have completely rejected all forms of logic as a valid basis for the universe
22:26:52 <elliott> It is _literally_ impossible for us to agree on anything
22:26:56 <elliott> (that is not purely mathematical)
22:27:04 <ais523> elliott: I don't think that follows
22:27:51 <elliott> oerjan: what do you think? Are there laws of physics?
22:28:23 <oerjan> insufficient data for meaningful answer
22:29:38 <elliott> ais523: I feel really strongly that I have miscommunicated with you, because your position, as it appears to me, is one of the few things I am completely decisive and sure about and which everyone I've talked to will agree completely with
22:30:14 <elliott> I'm fairly scared that you think it, actually (note: not the same thing as "I believe it because the alternative scares me")
22:33:02 -!- elliott_ has joined.
22:33:02 -!- elliott has quit (Read error: Connection reset by peer).
22:36:48 <CakeProphet> elliott_: I agree with ais523 on this one.
22:37:05 <CakeProphet> but I don't think it's such a huge difference in perspective to make it /impossible/ to agree on /anything/.
22:37:28 <elliott_> CakeProphet: while i merely /expect/ I've miscommunicated with ais523, I am something like ninety percent sure I've miscommunicated with you about it
22:37:51 <cheater3> what's the difference between a LIFO and a FILO?
22:37:59 <elliott_> (this isn't because I think you're an idiot or anything, just that I was phrasing my statements purely for ais523, and I seem to have an easier time communicating with him on questions which resemble the one I made than I do with you)
22:38:16 <elliott_> but I note that it _does_ make it impossible to agree on anything _about the universe_
22:38:16 <ais523> cheater3: a FILO is a sort of pastry
22:38:22 <elliott_> just like it's impossible to argue with someone who rejects logic
22:38:40 * Sgeo just noticed the awesomeness of the [S] Make Her Pay preloader
22:38:42 <elliott_> it is impossible to argue about a logical statement about the universe if you think the universe is not logical
22:38:44 <oerjan> cheater3: never heard the word FILO used
22:38:47 <ais523> elliott_: how do you know that the sort of logic you subscribe to is the one the universe actually follows?
22:39:01 <elliott_> ais523: I'm too busy reeling from the shock to discuss this further right now, sorry
22:39:02 <ais523> there's more than one, you know
22:39:35 <oerjan> LIFO and FIFO is the usual distinction
22:41:52 <Patashu> LILO == FIFO and LIFO == FILO
22:42:16 <oerjan> it is possible to think that the known laws of physics are incomplete while also thinking that they are almost never broken to any detectable degree.
22:42:53 <oerjan> which is pretty much the case with current version of Standard Model + General Relativity
22:44:08 <Patashu> you only don't see them broken so much because the scales they break on are almost incomprehensible
22:44:40 <oerjan> incomprehensible ~ hard to probe and detect, there
22:45:13 <elliott_> oerjan: Yes, but that just means we have not _found_ the laws yet
22:45:40 <elliott_> oerjan: That's how relativity and quantum physics arose, after all
22:45:41 <oerjan> elliott_: there does not have to be an _actual_ set of laws for a good approximation to exist
22:45:51 <elliott_> oerjan: Of course not, who said that?
22:46:04 -!- Gregor has set topic: Man with dead polecat-like creature accused of #esoteric assault | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:46:07 <Patashu> how can there -not- be laws?
22:46:46 <olsner> one must have laws or there will be no order!
22:49:59 <elliott_> Although segway is amusing too
22:50:00 <pikhq_> elliott_: Ultimately, it is unknowable whether or not the universe is logical.
22:50:09 <pikhq_> elliott_: Or, indeed, if it exists.
22:50:26 <oerjan> elliott_: i was reminded of that guy i read about segwaying off a cliff
22:50:29 <pikhq_> Well, rather, "the universe as we observe it".
22:50:31 <CakeProphet> I believe that any set of non-trivial axiomatic laws for the universe will be inconsistent or unable to prove its own completeness. Thus, while we can certainly make pretty good approximations of how the universe works, I don't think we can ever be certain that we have discovered everything that can be known about it. This doesn't disprove that a complete system might exist, but it makes unlikely that we'll ever know wha
22:50:38 <elliott_> but anyway, unknowable doesn't mean you can't have a belief about it, this is a fundamental opinion equivalent to saying "physics /does not work/ in the longest term"
22:50:44 <elliott_> oerjan: you mean the guy who bought the company? :)
22:50:51 <pikhq_> Clearly, it exists at *least* in the sense that there is some place that my mind exists.
22:51:04 <oerjan> elliott_: i vaguely recall something like that
22:51:47 <pikhq_> True, true. I am pretty sure that the universe as observed exists and follows logical laws.
22:51:58 <pikhq_> At least, in so far as I have observed it, it does.
23:02:36 <CakeProphet> Yow! Legally imposed CULTURE-reduction is CABBAGE-BRAINED!
23:03:44 <elliott_> `addquote <Gregor> You have no idea how desperately I want to avoid being a GC guy :P <Gregor> Every year I go to ISMM and Doug Lea gives me a bizarrely-cheery "Hello!" and I'm like "awww shit I'm in memory management"
23:03:45 <HackEgo> 447) <Gregor> You have no idea how desperately I want to avoid being a GC guy :P <Gregor> Every year I go to ISMM and Doug Lea gives me a bizarrely-cheery "Hello!" and I'm like "awww shit I'm in memory management"
23:04:39 <oerjan> pikhq_: it's just tricking you into thinking so *MWAHAHAHA*
23:04:51 <pikhq_> oerjan: That is entirelty unknowable.
23:06:29 <CakeProphet> In other news, I actually have magic powers.
23:06:45 <elliott_> CakeProphet: Did you continue reading Homestuck, btw? :p
23:07:02 <pikhq_> Demonstrate it or STFU, n00b. :P
23:07:33 <oerjan> hm this reminds me of this idea i had, that maybe i don't actually exist more than a moment and every new moment i will be someone entirely different with different memories which might make it _seem_ like i am existing in a continuity
23:07:37 <pikhq_> How else would one die?
23:07:55 <oerjan> only to disappear again the next one
23:08:28 <elliott_> Yudkowsky or someone actually came up with a fairly decent argument that we're not Boltzmann brains, IIRC
23:09:07 <elliott_> (which is quite important, otherwise you have to consider that you never existed before now and won't exist after now a pretty plausible hypothesis)
23:09:35 <CakeProphet> oerjan: I have some friends who have had similar thoughts. Granted they were on acid, so it was probably more like a delusion than a thought.
23:10:23 <elliott_> "A friend had this thought on acid" -- words which never precede anything of interest
23:10:31 <CakeProphet> One friend found "God" this way, apparently.
23:11:00 <CakeProphet> Being in a state of hallucination is probably the best way to perceive a god, I guess.
23:11:20 <CakeProphet> I tried to tell him what was wrong with that entire idea, but he doesn't see it.
23:11:46 <elliott_> it might be worth considering that he's an idiot
23:12:33 <pikhq_> Anything observed whilst on a hallucinogen is *most probably* not going to have much bearing on reality.
23:12:41 <elliott_> oh well then he's definitely an idiot
23:12:57 <pikhq_> Though it may be a good source of art.
23:12:58 <CakeProphet> pikhq_: this has been my long-standing hypothesis as well. It seems to be pretty true.
23:12:58 <oerjan> elliott_: boltzmann brains is not quite what i was thinking of, i wasn't saying the change from one identity to another is _random_. also boltzmann brains seem to have at least limited continuity.
23:13:13 <elliott_> oerjan: I was just saying they are similar concepts
23:13:39 <pikhq_> CakeProphet: At least insofar as we can observe, hallucinogens create incorrect observations. So, yeah.
23:13:45 <CakeProphet> oerjan: what does this theory say about cabbage brains?
23:14:38 <pikhq_> elliott_: Sorry, *even more* incorrect observations than we already have.
23:14:48 <oerjan> what's a cabbage brain
23:14:56 <CakeProphet> elliott_: oooh, you just raise the SICK BURN meter.
23:15:06 <elliott_> oerjan: what a cabbage uses to think
23:15:09 <CakeProphet> oerjan: a brain that seeks to legally impose culture reduction.
23:15:18 <elliott_> CakeProphet: i was being serious
23:15:19 <oerjan> what's culture reduction
23:15:24 <elliott_> oerjan: what a culture uses to reduce
23:15:33 <CakeProphet> elliott_: right, but your statemenet doesn't really contradict anything he said.
23:15:34 <hagb4rd> i like the ideas of henry bergson.. it implies that the brains functions have more the character of reduction
23:15:44 <elliott_> CakeProphet: I was pointing out that what he was saying didn't really mean anything
23:15:59 <hagb4rd> which at last allows you identify with yourself
23:16:13 <hagb4rd> and keep thing quite smooth
23:16:27 <CakeProphet> oerjan: I don't know, but emacs has all the answers for you.
23:16:41 <oerjan> oh. i will never know either, then.
23:17:00 <CakeProphet> oerjan: you will if you M-x psychoanalyze-pinhead
23:17:59 * oerjan recalls reading zippy the pinhead in the newspaper when he was visiting seattle
23:19:38 <oerjan> THEY'VE LOBOTOMIZED LAMBDABOT
23:19:47 <EgoBot> /tmp/input.9942: line 1: fortune: command not found
23:19:56 <elliott_> oerjan: when was that, seventeen hundreds?
23:20:04 <elliott_> Gregor: plz to be install fortune
23:20:28 <elliott_> oerjan: suuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuure
23:20:33 <elliott_> they didn't have aeroplanes then dude.
23:20:50 <oerjan> elliott_: i was hoping for <elliott_> close enough
23:20:55 <elliott_> like with a sail and everything
23:21:18 <elliott_> oerjan: btw if you want a certain response just /msg me it, i'm all for manufacturing good irc
23:21:38 <oerjan> HOW COULD YOU DO SUCH A THING
23:22:25 <elliott_> irc corp: manufacturing good irc for you and babies
23:22:45 <oerjan> how much for the babies
23:23:06 <oerjan> and is ketchup included
23:24:15 <elliott_> Gregor: http://codu.org/davidslowed/
23:24:17 <olsner> how are they prepared?
23:24:25 <olsner> boiled, grilled, smoked?
23:24:29 <HackEgo> 125) <fax> okay I see it now, quines do exist
23:25:15 <CakeProphet> and I've never heard of any of those other serialization methods.
23:25:17 <olsner> "Python: It pickles babies"
23:25:45 <HackEgo> 186) <oklofok> colon is where your ass comes from right
23:26:26 * myndzi thinks elliott_ is an elliottf
23:26:48 -!- elliott_ has changed nick to fgh1.
23:26:57 * fgh1 * myndzi * fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f
23:26:58 * myndzi thinks elliott_ * fgh1 * fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f
23:27:00 -!- fgh1 has changed nick to elliott.
23:27:06 <Gregor> elliott: Yes, I remember that :P
23:27:12 -!- elliott has quit (Changing host).
23:27:12 -!- elliott has joined.
23:27:45 <oerjan> !underload ((<fax> okay I see it now, quines do exist)!a(:^)*S):^
23:27:46 <EgoBot> ((<fax> okay I see it now, quines do exist)!a(:^)*S):^
23:29:46 <olsner> if the universe is a quine, what are the cosmological implications? discuss!
23:29:56 <elliott> olsner: whoaaaaaaaaaaa maaaaaaaan
23:30:02 <elliott> im so HIGH on these DRUGS you are TELLING ME.......
23:30:08 <Gregor> What was that collection if hugely-optimized intrinsics like memset for various archs?
23:30:18 <elliott> Gregor: Superoptimised stuff?
23:30:24 <elliott> I think there's a paper with a metric fuckton of them
23:30:35 <elliott> Superoptimisation: provably optimal code generation using answer ...
23:30:35 <elliott> by T Crick - 2009 - Related articles
23:30:35 <elliott> Superoptimisation: provably optimal code generation using answer set ...
23:30:35 <elliott> opus.bath.ac.uk/20352/ - Cached
23:31:01 <Gregor> All I want is the fastest one-instruction x86_64 memset given that I always have a number of word-size things to zero.
23:31:20 <Gregor> I don't know why I wrote that :P
23:31:22 <elliott> The one-instruction memsets are ... slow :P
23:31:23 <Gregor> Fastest is what's important :P
23:31:35 <olsner> obviously that'd be "call memset"
23:31:53 <elliott> Gregor: If you want one-instruction, "rep movsdw" or whatever the ATandT mnemonic is would do.
23:31:59 <elliott> ISTR that kind of stuff is pretty slow nowadays, though.
23:32:28 <Gregor> olsner: while (ptrs--) *ptr++ = NULL; is currently behaving reliably faster than memset.
23:32:48 <elliott> " BTW the AMD manual for K7 (or might be K6 optimisation manual? don't
23:32:48 <elliott> exactly remember) goes into great detail about both memcpy() and
23:32:48 <elliott> memset(). Turns out there's about five different cases.
23:32:50 <elliott> In the meantime Deewiant has told me that on 64 bit glibc memset is better and
23:32:52 <elliott> on more modern CPUs the timings are different (and on 64 bit my first version
23:32:54 <elliott> may not work, maybe the second one is better. I have not tested it on 64 bit
23:32:56 <elliott> LDC yet). I'm just a newbie on this stuff, while people that write the memset
23:32:58 <elliott> of 64bit glibc are expert."
23:33:00 <elliott> Somehow my Googlequest led me to the D lists.
23:33:01 <CakeProphet> dude, why don't regular expression grammars work like mine and ais523's
23:33:53 -!- azaq23 has quit (Quit: Leaving.).
23:34:17 <CakeProphet> if one substitition operation is a -> b, then a greedy substition is just (a -> b)*
23:34:51 <elliott> and you mean a global substitution
23:35:57 <CakeProphet> I occasionally like to talk in very loose terms. I have come to realize that is not allowed here.
23:36:16 <elliott> well, not when you're complaining :)
23:37:24 <ais523> (a=b)* isn't a global substitution in Cyclexa, but an iterated substitution
23:37:41 <elliott> Gregor: Anyway, try the REP MOV thing; http://faydoc.tripod.com/cpu/rep.htm
23:37:42 <ais523> which might or might not come to the same thing if it isn't anchored, depending on whether the search string can match the replacement
23:38:00 <elliott> It might be slower, but it might not be
23:38:11 <CakeProphet> ais523: you mean it only applies to the beginning of the string?
23:38:24 <CakeProphet> or? it only applies from that point onward.
23:38:37 <elliott> rep stos [I think some qualified]
23:38:50 <ais523> CakeProphet: depends on if it's anchored or not
23:38:53 <olsner> mov elliott, LOLINTERNET
23:38:55 <elliott> Sixtyfour bit presumably has an obvious analogue
23:39:12 -!- Patashu has quit (Ping timeout: 240 seconds).
23:40:00 <elliott> Gregor SURE IS THANKFUL FOR ALL MY HARD WORK
23:40:05 <olsner> it does, there's a stosq that stores rax into rdi instead of eax into edi
23:43:13 <elliott> 17:19:07: <pikhq> So... Debian Fail.
23:43:13 <elliott> 17:19:11: <pikhq> <3 Gentoo.
23:43:21 <elliott> i shouldn't just quote silly things past pikhq_ says
23:43:25 <elliott> who else wants bad quotes of their past self
23:43:53 <elliott> Gregor: "The MASM Forum has a lot of incredible assembly language programmers/hobbyists who have beaten this issue completely to death (have a look through The Laboratory). The results were much like Christopher's response: SSE is incredible for large, aligned, buffers, but going down you will eventually reach such a small size that a basic for loop is just as quick."
23:43:59 <olsner> hmm, though I wonder if you can override the address size to 32-bit in long mode, never really reflected over that
23:44:40 <Gregor> elliott: A GC pool is most assuredly a large, aligned buffer.
23:44:40 <Sgeo> Is it immoral to write a non-optimizing compiler for a non-esoteric language?
23:44:58 <ais523> there are even valid uses for such a compiler, apart from practicing compiler writing
23:45:00 <elliott> Gregor: Oh god... but if you do SSE, you'll be like fucking Vorpal, who used inline assembly just to use SSE to zero out static fungespace.
23:45:05 <ais523> people may be annoyed if they're forced to use it
23:45:24 <elliott> Gregor: Except that you're writing an advanced GC, not a Funge interpreter, so it's okay :P
23:45:32 <elliott> Gregor: You'll restrict yourself to PROCESSORS WITH SSE, though.
23:45:37 <elliott> CAN YOU BRING YOURSELF TO DO THAT
23:45:43 <elliott> YOU'LL BREAK DOS COMPATIBILITY FOR PENTIUM IIS
23:45:59 <Sgeo> I should at least do arithmatic ahead of time when possible
23:46:11 <Sgeo> Better yet: When easy to do
23:46:23 <elliott> Sgeo: look into constant folding, instruction simplification
23:47:17 <Gregor> elliott: It's probably not worthwhile, I'm just having some thoughts because right now I have to clear out things when I allocate, which is all wrong >_>
23:47:36 <elliott> Gregor: You realise SSE is not very hard :P
23:47:43 <elliott> Gregor: Is this part of giving memory back to the OS?
23:48:26 <Sgeo> Wow, "instruction simplification" is hard to find on Wikipedia and google
23:48:54 <elliott> i think Deewiant told me that :)
23:48:59 <elliott> basically x+0 -> x isn't technically constant folding
23:49:11 <Gregor> elliott: Nothing to do with giving memory back, no.
23:49:16 <Gregor> That's not actually a good idea ;P
23:49:27 <elliott> Gregor: But you said you were gonna do it :P
23:49:47 <elliott> Gregor: I don't see why it's a bad idea though
23:49:56 <Gregor> I forgot that my pool allocator has a Windows backend too, and I'm too lazy to figure out how to do it on Windows.
23:51:00 <elliott> How do you allocate (from the OS) on Windows?
23:51:14 <Gregor> Idonno, VirtualWTFMemoryLolsy
23:51:20 <Gregor> I just decided not to look into it right now.
23:51:42 <olsner> maybe you could just malloc, that might go to the other thing for large allocations?
23:52:02 <elliott> There, did Gregor's job for him.
23:52:20 <elliott> 87 #if defined(USE_ALLOCATOR_MMAP)
23:52:20 <elliott> 88 munmap(ret, (char *) base - (char *) ret);
23:52:20 <elliott> 89 munmap((void *) ((char *) base + sz), sz - ((char *) base - (char *) ret));
23:52:20 <elliott> 90 #elif defined(USE_ALLOCATOR_WIN32)
23:52:20 <elliott> 91 VirtualFree(ret, (char *) base - (char *) ret, MEM_RELEASE);
23:52:21 <elliott> 92 VirtualFree((void *) ((char *) base + sz), sz - ((char *) base - (char *) ret), MEM_RELEASE);
23:52:27 <elliott> Gregor: You do that if it's not aligned.
23:52:32 <elliott> Gregor: You already _have_ freeing code :P
23:52:34 <olsner> but I suspect windows' malloc sucks, mallocs always suck
23:52:59 <elliott> Also I note that that block of code just becomes nonsensical if USE_ALLOCATOR_MALLOC is on.
23:53:06 <elliott> Because you don't handle that case at all, but still have the conditional.
23:53:52 <Gregor> *eh*, still not doing it now.
23:53:52 <olsner> crap, up too late today as well
23:53:53 <elliott> Gregor: THANK YOU COME AGAIN
23:53:57 <elliott> Oh wait I already said that.
23:54:51 <olsner> and I just became so tried that I was about to reply to elliott in swedish
23:55:48 <olsner> box is swedish english for boss
23:56:04 <elliott> olsner: [asterisk]swenglish
23:56:10 <olsner> in this particular phrase anyway, it's not used anywhere else
23:57:50 <olsner> meh, boring, cya next week
23:58:44 <EgoBot> Thoooonk yoooouuuu coooome-a-a-a-a igeeee-a-a
00:05:50 -!- Lymia has quit (Ping timeout: 240 seconds).
00:12:30 <elliott> http://linux.softpedia.com/get/Programming/Interpreters/cfunge-37128.shtml
00:30:19 -!- cheater3 has quit (Ping timeout: 252 seconds).
00:30:54 -!- augur has quit (Remote host closed the connection).
00:41:47 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:43:44 -!- FireFly has quit (Quit: swatted to death).
00:45:17 <oerjan> !swedish cume-a egeeen
00:45:44 -!- foocraft has joined.
00:49:03 <CakeProphet> My yow.lines apparently only has the cabbage-brain quote.
00:51:28 -!- ralc has quit (Quit: Leaving).
01:12:55 <CakeProphet> how do I support programmer-defined prefix, postfix, infix, ternary, and circumfix operators...
01:13:53 <elliott> hmm, should I use harpy or generate nasm code myself
01:15:58 -!- hagb4rd has quit (Quit: hagb4rd).
01:18:36 <elliott> The function fac is not really our wanted factorial function. Instead
01:18:36 <elliott> it is a monadic command that, when executed, writes assembler code
01:18:36 <elliott> into a buffer. To ensure, that this buffer is always large enough to hold
01:18:36 <elliott> the generated instruction, you have to sprinkle your code with calls to
01:18:36 <elliott> ensureBufferSize. In line 7 we make sure that 160 bytes are available,
01:18:37 <elliott> which is enough for our 10 instructions. As a rule of thumb, no instruction
01:18:38 <elliott> can be larger than 16 bytes, so the number of assembler instructions times
01:24:02 <elliott> if I want to push a structure to the stack
01:24:06 <elliott> do I push the first field first or last
01:24:48 <oerjan> aka "is the stack growing upwards or downwards"?
01:25:21 <oerjan> oh and what about alignment
01:25:49 <elliott> well it's a dword and a byte
01:25:55 <elliott> i can make that two dwords if necessary
01:25:59 <elliott> (dword = thirty two bits, i.e. machine word here)
01:26:12 <oerjan> (note: i don't actually know any specific answers)
01:30:11 <oklopol> i know some specific answers
01:31:25 <oklopol> "<oklofok> colon is where your ass comes from right" <<< what :D have i said this :DS
01:32:51 <Vorpal> <olsner> and I just became so tried that I was about to reply to elliott in swedish
01:32:51 <Vorpal> <elliott> olsner: please do so
01:33:36 <elliott> no i hate you i want olsner to do it :(
01:33:59 <Vorpal> elliott, aha, jag förstår
01:34:05 <oklopol> elliott: du r en svansnyckel
01:34:15 <Vorpal> oklopol, en vad för något?
01:34:30 <Vorpal> oklopol, what on earth is that
01:34:45 <Vorpal> oklopol, then what does a tail key do
01:34:51 <Vorpal> I just translated the compound word
01:34:57 <Vorpal> I have no idea what a tail key IS
01:35:01 <oklopol> erm, obviously that depends on the data structure
01:35:20 <Vorpal> oklopol, oh, I was imagining something like an hexkey, like you get with IKEA stuff
01:36:32 <Vorpal> Jag tror det är ute liksom
01:37:44 <elliott> A theory about Rose from a CS perspective (self.homestuck)
01:37:45 <elliott> posts that can not be good dot txt
01:38:03 <oklopol> so um half of thursdays lectures were time travel stuff
01:38:41 <oerjan> a rose by any other name would still be NP-complete
01:39:01 <oklopol> and *not* within a formal model. *shiver*
01:39:36 <oklopol> thought experiments and shit
01:40:13 <oerjan> timey-wimey braided algebras
01:40:52 <oklopol> and everyone found it really funny when the lecturer presented his examples of weird ways time travel would work because they were sooo crazy. and i was like oh god, did i just teleport into some kind of monkey kindergarten.
01:41:01 <oerjan> *braided hopf algebras
01:41:39 <oklopol> i wish i had the balls i had in high school when i'd just start laughing and walk out when things got stupid
01:42:44 <oklopol> Vorpal: oh btw i totally don't get "<Vorpal> Jag tror det är ute liksom"
01:43:29 <Vorpal> oklopol, that means that I think "okej dokej" is slang that is no longer in fashion
01:44:12 <oklopol> erm "ute" as in english "out (of fashion)"?
01:44:13 <pikhq_> ... "okej dokej"? Is that in *any* way similar to the apparent cognate in English?
01:44:27 <oklopol> pikhq_: in *very* way similar.
01:45:51 <oklopol> elliott: granted, i didn't actually understand half of the time travel stuff they said so it might have made sense. everything i did understand was retarded at least tho. :D
01:47:01 <pikhq_> oklopol: Most discussions of time travel are.
01:48:17 <pikhq_> It's one of those things that generally gets handwaved because people really don't want to contemplate the (il)logic of it all.
01:48:22 <oklopol> pikhq_: but it's an INTERNATIONAL CONFERENCE, and we all know people who talk in those must be p smart right? at least wolfram didn't come.... :DSDS
01:48:47 <oklopol> that would've been just... awesome
01:51:49 <oklopol> half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in time is still moving forward on this axis, you are just given a copy of past contents of the world.
01:52:02 <oklopol> aaaand i just said something trivial and retarded about tt
01:52:11 <oklopol> luckily it's so long you can't quote it
01:52:33 <elliott> `addquote <oklopol> half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in time is still moving forward on this axis, you are just given a copy of past contents of the world.
01:52:34 <HackEgo> 448) <oklopol> half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in
01:52:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5048
01:53:44 <oklopol> elliott: are you sure it will be apparent why that was quoted in the first place :D
01:56:04 <oklopol> i kind of want to buy domino tiles and build a half-adder, but there's the slight problem that you can only try it on one input and then it's gone :\
01:56:24 <elliott> oklopol: make a self-resetting domino computer
01:57:32 <oklopol> what i want is some sort of global "plz get up again lol" button
01:57:59 <oklopol> your idea is pressing it pumps the dominoes full of vacuum so that air pressure lifts them in the air or something?
01:58:43 <elliott> oklopol: like, a domino that, when it falls, pushes a gust of air in front of it
01:58:49 <elliott> so that a fallen domino in front of it will upright itself
01:58:51 <oerjan> hm... dominoes with resettable springs
01:58:58 <elliott> you just need a bunch of them lined up next to all your real dominoes
01:59:26 <oklopol> but they can't just rise right away, the implementation of all nontrivial behaviors *relies* on dominoes falling just once
01:59:42 <oklopol> at least the way that psychologist dude did it
01:59:50 <elliott> when you need to reset, you make it flip over the trigger
01:59:55 <elliott> which then runs down a line of vacuum dominoes
02:00:41 <oklopol> "<elliott> you just need a bunch of them lined up next to all your real dominoes" <<< so to lift up my dominoes, i build another identical arrangement next to the fallen one?
02:01:43 <oerjan> I SEE NO PROBLEM WITH THAT PLAN
02:02:21 <elliott> no, the vacuum dominoes next to them /lift up/ the dominoes
02:02:29 <oklopol> yeah, while falling themselves
02:02:46 <oklopol> but that's not really a problem since you can just use another layer of vacuum dominoes
02:02:55 <elliott> oklopol: no wait, have another type of domino
02:03:01 <elliott> when it's pushed down, it blows air to the side of it
02:03:06 <elliott> then, just use them as your normal dominoes
02:03:17 <elliott> and they'll prop up the vacuum dominoes as soon as they're used
02:03:29 <oklopol> so am i to understand vacuum dominoes pass a signal along the arrangement, while not losing potential energy in the process?
02:03:53 <elliott> effectively they teleport all the dominoes back in time to when they were all up.
02:04:06 <elliott> CakeProphet: got no asterisk key fucker
02:04:53 <elliott> oklopol: oerjan's spring idea is better :P
02:05:05 <elliott> just need a trigger for the springs that is weak enough to be pushed by a domino
02:05:11 <elliott> and then um, acts as a spring itself
02:05:33 <elliott> there are little platforms for all the dominoes
02:05:34 <oklopol> actually for a while yesterday i seriously did try to come up with a domino tile that would fall, and then automatically rise up after falling
02:05:41 <elliott> that when a domino falls on it
02:05:49 <elliott> turns on all the electromagnets for like half a second
02:05:52 <oklopol> then i realized there's this thing called physics
02:05:53 <elliott> snapping all the dominoes back into place
02:05:58 <elliott> because the bottom of them is magnetic
02:06:57 <elliott> i'd replace my computer with one made out of those
02:07:49 <oklopol> anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours
02:10:24 <oerjan> `addquote <oklopol> anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours <oklopol> and masturbate as well
02:10:25 <HackEgo> 449) <oklopol> anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours <oklopol> and masturbate as well
02:13:13 <HackEgo> 244) <elliott> oerjan: What, can girls aim their penises better?
02:14:43 <CakeProphet> elliott: oh, I was referring to the agda mixfix stuff.
02:14:51 <elliott> CakeProphet: oh, well that's irrelevant
02:15:04 <elliott> you don't really use underscores in identifiers in haskell or agda
02:15:13 -!- elliott has left ("Leaving").
02:15:26 -!- elliott has joined.
02:17:45 <CakeProphet> I was thinking about including some kind of metasyntactic capability beyond the limited form I'm thinking of implementing.
02:17:52 <elliott> CakeProphet: how is it lame
02:17:53 <CakeProphet> but that will probably just makes things really confusing.
02:17:54 <elliott> just pick another damn character
02:17:57 <elliott> it can even be syntax like
02:18:04 <elliott> so you can use every character in a name
02:18:11 <elliott> come on, the meaningful part of mixfix is how you implement it
02:18:21 <elliott> it lets you mix operators of all fixity, and also make control structures into operators
02:18:21 <CakeProphet> elliott: mainly because I don't trailing characters because they're lame. Sound reasoning, I know.
02:18:53 <elliott> CakeProphet: dude, read the whole paper before saying things like that
02:19:00 <elliott> this is a really well-tested way to do the shit you want
02:19:07 <elliott> all kinds of operators with a simple parser that can handle module imports properly
02:19:41 <elliott> CakeProphet: you can layer over whatever "definition" syntax you want
02:22:15 <elliott> i think there's more than one, even
02:22:23 <elliott> http://www.google.co.uk/url?sa=t&source=web&cd=3&ved=0CC8QFjAC&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.157.7899%26rep%3Drep1%26type%3Dpdf&ei=0X_xTa_cJMPOhAfi_Pw_&usg=AFQjCNFD2vxF9fbpvu3Fo19922FVD_qFMw&sig2=fexG0fjeemztQHd3K9x0Yw
02:22:38 <elliott> Nils Anders Danielsson1, and Ulf Norell2
02:27:06 <CakeProphet> elliott: so this paper will show me how to parse mixfixed operators without requiring ugly naming conventions?
02:27:44 <elliott> CakeProphet: THE NAMING CONVENTIONS ARE A PURELY SYNTACTIC FEATURE OF DEFINING THE OPERATORS
02:27:49 <elliott> FOR FUCK'S SAKE THAT IS LIKE THE LEAST IMPORTANT PART OF ANYTHING
02:27:59 <elliott> IT GIVES A FULL PARSING GRAMMAR >_<
02:28:06 <elliott> CakeProphet: Would you prefer I said:
02:28:13 -!- shachaf has quit (Remote host closed the connection).
02:28:27 <elliott> CakeProphet: No, the theorems used in the quasimodular parsing definition require on the exact ASCII string used, which must have embedded underscore characters in it.
02:28:30 <elliott> Otherwise it is mathematically inconsistent.
02:28:45 <CakeProphet> no that is the opposite of what I prefer. :)
02:30:29 <elliott> CakeProphet: Anyway, the only time you EVER have trailing characters is in prefix situations.
02:30:41 <elliott> if/then/else is affected; if/then/else/end is not.
02:30:51 <elliott> And you can easily form the actual list of holes however you want in your actual language.
02:41:16 <CakeProphet> There will be no holes in my language as that will produce memory leaks.
02:41:45 <CakeProphet> Any holes that are found will be patched accordingly.
02:44:38 <CakeProphet> What does a compiled Perl regex consist of?
02:44:59 <pikhq_> Y'know, automake really could do with a means of having per-directory Makefile.am files *without* producing recursive make.
02:45:44 -!- augur has joined.
02:45:45 <elliott> CakeProphet: Reading http://perl.plover.com/Rx/ is quite elucidating
02:47:41 <CakeProphet> as in the source code right? The actual English is rather sparse and not helpful..
02:48:39 <elliott> CakeProphet: http://perl.plover.com/Rx/paper/
02:48:47 <elliott> Read this and you'll understand everything.
02:50:30 <elliott> Hardly; Rx works well (I've never used it, but it reportedly does)
02:50:38 <elliott> And "Rx formed the basis for the regex debugger component of ActiveState's ASPN Komodo IDE. (Whether it still does, I can't say.)"
02:50:53 <elliott> Anyway, just read it, it's interesting and helpful for understanding Perl regex internals :P
02:53:04 <CakeProphet> I will definitely read it because it will help me in writing an efficient regular expression engine.
02:53:23 <elliott> But it'll help you understand Perl's.
02:53:30 <elliott> CakeProphet: But really, you should just use PCRE :-p
02:54:07 <elliott> Because it can do just about every fancy thing Perl can, and is fast, neither of which you'll be able to say about yours unless you work on it for literal years :P
02:54:14 <elliott> Plus everyone knows PCRE syntax.
02:54:22 <elliott> Is this your fancy super-regexp thing?
02:54:31 <elliott> Because those aren't regexps, dude, they're a programming language inspired by regexps.
02:55:21 -!- augur has quit (Remote host closed the connection).
02:57:21 <CakeProphet> which is why learning about how regexps are handled internally by other programs will be helpful.
02:59:27 <elliott> "The logo of Lulz Security suggests the group does not take what it does too seriously" --BBC News
03:00:32 <pikhq_> Doesn't the name alone do that?
03:01:50 -!- Vorpal has quit (Ping timeout: 268 seconds).
03:02:37 <CakeProphet> elliott: quiet with that nationalist dogma.
03:03:23 <CakeProphet> I only accept the sensationalism of American television news sources.
03:08:07 -!- augur has joined.
03:13:06 <pikhq_> "Barack Hussein Commubama is going to rape your puppies and build the Twin Towers again just to bomb them!" --Fox News
03:13:36 <pikhq_> Actually, make that "Führer Hussein Commubama".
03:17:14 <CakeProphet> hmmm, so currently every expression produces a "result string" which is used in computations and side-effect operations.
03:17:29 <CakeProphet> Perhaps there should be a "result number" as well, to be used in numeric contexts.
03:21:06 <CakeProphet> before, the plan was to handle numbers as Perl does. Where the string "0" is treated as 0 when used in a numeric operation, but having a numeric result would allow operations to return both a capture string as well as number that signified something. a -> b would return a 1 if successful, and a 0 if not. * would return the summation of the numeric results of its operand. Thus (a -> b)* would return the number of successf
03:21:57 <CakeProphet> (a->b)+ would do the same, but fail if there were no substitions.
03:23:33 <CakeProphet> and the string result would be a concatenation of the replaced strings, which is probably less useful.
03:24:25 <Gregor> http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Push_002fPop-Macro-Pragmas.html#Push_002fPop-Macro-Pragmas // is CPP + this TC?
03:25:01 <elliott> cpp computation does not involve new defines at all.
03:25:06 <elliott> You can't loop those in any way, so yah.
03:25:29 <elliott> Apparently chaos-pp just uses "exponential expansion" or something btw, and so may not actually be TC
03:25:36 <elliott> I can buy that it's not TC though
03:26:11 <CakeProphet> hmmm... I need like... four different quote types.
03:31:47 <pikhq_> Unless you need it to nest.
03:32:45 -!- copumpkin has quit (Ping timeout: 240 seconds).
03:34:13 <CakeProphet> Actually I narrowed it down to two quote types again.
03:34:33 <monqy> why do you need so many quote types
03:34:39 <monqy> what's a quote type
03:34:48 -!- foocraft has quit (Quit: Leaving).
03:35:01 <CakeProphet> the problem was that both " and ' literals attempt matching on the input string, but there would be situations where you only want to use them for their string result and ignore any kind of matching behavior. But placing another operator before the quote fixes that.
03:36:38 -!- shachaf has joined.
03:38:44 <CakeProphet> well, currently " performs interpolation of \ sequences, and ' produces a literal string. I could have interpolation on by default since it's not a huge deal, and have " being the matching literal and ' be the zero-width literal.
03:39:27 <CakeProphet> open_file 'foobar.txt' #example, you don't want 'foobar.txt' to attempt a match on the input string.
03:40:17 <elliott> cyclexa is cooler it has antitext
03:40:44 <CakeProphet> token:="foobar.txt"; token(token",")* #here, this is exactly what you want to happen.
03:42:21 <CakeProphet> elliott: I was actually thinking of "borrowing" (read: stealing) the antitext operator, but I don't really know why it would be useful in my case.
03:43:10 <elliott> that's just a sign that your version is boring >:)
03:43:46 <CakeProphet> yeah I'm not really going esoteric at this point.
03:44:01 <CakeProphet> it will be esoteric in that it's a somewhat sensible regular expression language.
03:46:13 <CakeProphet> The ; is somewhat clever. It's syntactic sugar that basically encloses everything before it up to the beginning of the line or the preceding ; on the same line in parentheses
03:48:16 -!- variable has quit (Remote host closed the connection).
03:48:58 -!- variable has joined.
03:52:25 <elliott> Abelson: Well, I was a new graduate student. I said, “What the hell, I’m never going to get a chance to go sit in the president’s office.” So I wandered around to the president’s office and there were a whole bunch of people from Students for a Democratic Society sitting around on the floor. One of the people who was sitting around on the floor was somebody who I’d gone to high school with.
03:52:25 <elliott> And I said, “I’m a new graduate student. I’m looking for a job. What’s a good place to go work?” And he said, “Well, why don’t you go over to the Artificial Intelligence Laboratory. They do good things.” So I wandered around there for a little bit and talked to people, and that’s pretty much how I got started.
03:52:45 -!- Sgeo has quit (Ping timeout: 255 seconds).
03:53:10 -!- Sgeo has joined.
03:53:18 <pikhq_> What a pile of improbable circumstances.
03:56:58 <CakeProphet> digit := [0-9]; number := digit+("."digit+)?; capturedvalue = parsenum number #note that this is where the actual matching occurs; capturedvalue = 1 <+> capturedvalue #not sure what the numeric operators should look like, or why I'm incrementing this number
04:00:48 -!- pikhq has joined.
04:01:02 -!- pikhq_ has quit (Ping timeout: 268 seconds).
04:19:14 <elliott> https://github.com/github/dmca/blob/master/2011-06-07-sony.markdown sony sure are dedicated
04:19:26 <elliott> https://github.com/SonyPS3/scedev haha, they didn't even remove it, just disabled it
04:20:00 <pikhq> "and promptly disclose to SCEA the identities and contact information corresponding to the account owners and/or users of your hosting services who posted the content identified herein."
04:20:11 <pikhq> They seem to not understand how a DMCA request works.
04:20:33 <pikhq> It's not a subpoena.
04:40:57 -!- oerjan has quit (Quit: Good night).
04:43:16 <coppro> pikhq: I bet they understand
04:43:51 <pikhq> Never underestimate someone's stupidity.
04:44:50 <elliott> coppro: are you sure? one of the GitHub dmca notices specifies that they should use a /USENET cancellation notice/ to delete both github repositories and a file hosted on a generic file hosting service unrelated to github
04:45:47 <coppro> I think it's more likely they attempt to prey on the weak
04:46:19 <coppro> Content owners know that lots of sites will listen to takedown notices for all sorts of things that aren't copyright-infringing
04:46:40 <elliott> they published a counternotice, which is cool: https://github.com/github/dmca/blob/master/2011-02-03-sony-counternotice.markdown
04:46:44 <coppro> or, more plainly, try harder than is necessary to cover their own assess
04:46:53 <elliott> http://help.github.com/dmca-takedown/ here is github's actual policy
04:47:24 <elliott> it's been more than ten days though
04:48:59 <elliott> it's plainly obvious that the repos don't actually violate Sony's copyright
04:49:16 <elliott> unfortunately, no company would set the policy "we'll honour dmca notices, unless we think they're wrong" :)
04:54:51 -!- Kustas has joined.
05:06:26 <coppro> elliott: They'll follow the law
05:06:38 <coppro> there are plenty of companies that will say "you're misapplying the law"
05:07:03 <coppro> elliott: Also, bear in mind that it's not actual copyright her
05:07:08 <coppro> it's circumvention tools
05:07:11 <coppro> which are covered also
05:07:23 <coppro> I think Sony is actually in the right, from a legal perspective
05:07:53 <pikhq> *Legally*, they can actually request a DMCA takedown and have it complied with in this case, yeah.
05:08:01 <coppro> elliott: have you read the paper about optimal copyright term, by chance?
05:08:03 <pikhq> They just overstepped on it.
05:08:11 <pikhq> coppro: How many months is it?
05:08:16 <elliott> coppro: no, but i don't feel like doing so
05:08:27 <coppro> pikhq: He gives a set of variables that it would depend on
05:08:29 <elliott> discussions about copyright just make me slit my throat and drain all my blood out
05:08:38 <elliott> i don't even have an inkling of care left
05:08:48 <pikhq> elliott: How very cynical of you.
05:08:55 <pikhq> elliott: You should do that to lawyers.
05:09:10 <elliott> WE'LL FIND OUT TOMORROW!!!!!!!
05:09:32 <coppro> pikhq: he sets generous ranges of values; within those ranges, the median is 15ish years
05:10:28 <pikhq> coppro: So, what you mean is that we had it right in the year 1800?
05:10:29 <coppro> looks like a gamma distribution
05:10:44 <coppro> pikhq: Possibly not; the societal variables can change over time
05:11:11 <coppro> http://rufuspollock.org/economics/papers/optimal_copyright_term.pdf
05:11:12 <pikhq> It was, uh, 17 years, I think, then.
05:11:27 <elliott> thx jerk i just clicked that now
05:11:32 <elliott> iff it snot set in latex ill close i- fuck
05:11:41 <elliott> oh the linespacing is way too high
05:14:22 <pikhq> Yeah, jeeze, was it written for some moron convinced that 1 inch margins, double spaced is how you do papers?
05:14:27 -!- Kustas has left.
05:14:41 <elliott> whine whine whine whine (im allowed im tired)
05:14:47 <CakeProphet> wow tcl is probably the worst language I've ever seen.
05:14:57 <elliott> CakeProphet: that's because you don't understand it
05:15:09 <elliott> it's not something i'd want to use, but it occupies a corner.
05:15:21 <pikhq> You almost certainly don't.
05:15:27 <elliott> CakeProphet: you should _really_ read http://antirez.com/articoli/tclmisunderstood.html
05:15:37 <elliott> you don't have to like tcl, but it's something to respect
05:16:10 <elliott> (and http://antirez.com/page/picol.html is an interesting followup (only a followup, don't read it before) in that it shows that tcl is as minimal as Lisp)
05:16:39 <pikhq> Interesting. Its summation of concepts is a longer version of the dodecalogue.
05:17:27 <pikhq> AKA "the semantics of Tcl, in a short man page".
05:17:27 <elliott> CakeProphet: basically: lisp : lists :: tcl : strings, except that tcl actually builds data structures out of strings (a list is just a certain type of string; tcl code is a list (therefore a string), {} is just an uninterpolated string literal)
05:17:31 <elliott> CakeProphet: but really: read http://antirez.com/articoli/tclmisunderstood.html.
05:19:07 <pikhq> I shall note here that PEBBLE is Tcl with a different command set.
05:19:17 <CakeProphet> elliott: yeah, so I read that, and I'm pretty sure tcl is still a bad language.
05:19:29 <elliott> CakeProphet: whoops: look at that, you didn't read it, you at most skimmed it.
05:19:44 <elliott> i know this because i have read it multiple times and you did it about ten times as fast as anyone can humanly read that and actually understand it.
05:19:53 <elliott> CakeProphet: yes, obviously it is merely a collection of facts
05:20:05 <elliott> obviously you can go ahead and ignore the bits you already "know" because it is not trying to make any sort of point
05:20:26 <elliott> oh, whatever, you're an idiot, i'm grumpy, and i should go to bed. no wait i'll turn over to the plof tab and mock Gregor for being the worst gc coder evarrr
05:21:15 <CakeProphet> I don't need someone to make points for me. I skipped most of the section explaining the language itself because I already knew how the language worked, and can derive my own opinions on that.
05:21:34 <pikhq> The language itself is much more subtle than you think.
05:21:41 <elliott> <cakeprophet> this language goes through perl's features in a different way to normal
05:21:44 <elliott> <cakeprophet> and i think makes the case for perl
05:21:50 <elliott> I SKIPPED ALL THAT I KNOW HOW LISTS WORK LOL
05:21:59 <elliott> <cakeprophet> um if you read it properly you might think differently
05:22:07 <elliott> I DONT NEED U IM PUNK I CAN THINK FORE MYSELF
05:22:19 <elliott> it's an example of a language i know you like
05:22:31 <CakeProphet> right, which doesn't suck. There's the key difference.
05:22:36 <elliott> but, you have clearly made the foregone conclusion that tcl sucks
05:22:41 <elliott> and nothing that can be presented will change your mind
05:22:44 <pikhq> CakeProphet: Okay, if you know how Tcl actually works, then tell me: what are the core bits of Tcl?
05:22:47 <elliott> because you will view it as a collection of facts
05:22:53 <elliott> and ignore them and "derive your opinions from them"
05:23:03 <elliott> so basically this is just an excuse to tell us that you hate tcl and hope we agree
05:23:09 <elliott> is stupid from a perspective of actually wanting to learn anything
05:23:16 <elliott> im switching the tab back again
05:23:17 <CakeProphet> pikhq: the core bits? you mean how it works internally? I have no idea. How it works: lists and commands? I don't know what you're asking.
05:23:17 <pikhq> I'll give you a hint: the entirety of Tcl is described in like 2 pages.
05:23:39 <pikhq> CakeProphet: What's the core bits of its semantics.
05:23:42 <elliott> CakeProphet: you can only understand lisp by knowing how you implement it. you can only understand forth by knowing how you implement.
05:23:51 <elliott> fill in the blanks. wait i just showed that this was completely pointless why am i talking
05:25:59 <CakeProphet> pikhq: Well tcl uses strings for about everything. But for structure it uses lists and commands (which can roughly be the same thing). Probably not what you were looking for, I don't care.
05:26:28 <elliott> im changing the topic to the homestuck update now
05:26:31 <elliott> hahaha hussie really went there
05:26:47 <elliott> its just a list of "command arg ...", that's even simpler than Haskell
05:26:56 <elliott> [x] runs x, then interpolates the result in; that's a feature of strings
05:27:09 <elliott> just the latter doesn't interpolate
05:27:13 <elliott> CakeProphet: but there /is/ no syntax
05:27:25 <pikhq> It's at least as syntaxless as Lisp.
05:27:36 <elliott> yeah, but its practically nonexistent
05:27:43 <elliott> Tcl has less syntax than /Perl string literals/
05:27:48 <elliott> and, since Tcl is basically one big string literal
05:27:52 <elliott> that's actually meaningful
05:28:23 <pikhq> elliott: I think he might be *objecting* to simple syntax.
05:28:24 <CakeProphet> this has nothing to do with the fact that I still don't like tcl's syntax. You are wasting your time by trying to demonstrate how simple or nonexistent it is.
05:28:34 <pikhq> CakeProphet: What don't you like about it?
05:28:59 <elliott> can i just sit here and quietly lol at someone who likes perl complaining about superficial syntax details
05:29:17 <pikhq> Wait, you like Perl?
05:29:46 <Sgeo> elliott, is Hussie working on EOA5?
05:29:52 <pikhq> The least aesthetic language?
05:29:52 <Sgeo> I should be asleep right now
05:30:01 <elliott> Sgeo: i dont know let me get out my psychic goggles
05:30:05 <CakeProphet> Haskell, bash, Python is kind of okay but I'm starting to like it less. C is fine but slightly fucked up.
05:30:06 <elliott> Sgeo: have you seen the update anyway
05:30:11 <Sgeo> No, just noticed it now
05:30:15 <elliott> "Haskell, bash" worst way to start a list
05:30:28 <elliott> an alternating list of good things and bad things
05:30:55 <pikhq> I can see why you dislike Tcl, at least.
05:31:00 <pikhq> You have no taste.
05:31:42 <elliott> ATTN EVERY DINOSAUR COMIC FANS
05:31:43 <elliott> http://local-static4.forum-files.fobby.net/forum_attachments/0027/5004/DinosaurComicsTheme.mp3
05:31:48 <elliott> pikhq: Gregor: all good people:
05:31:56 <pikhq> About the best that can be said for Perl and bash is that you can get shit done with them.
05:32:09 <pikhq> Which, incidentally, is the only reason they survive.
05:32:30 <CakeProphet> pikhq: yes that is what I like about them.
05:32:43 <pikhq> You like the ugly hackishness?
05:32:59 <elliott> pikhq: you are doing something that isn't listening to the dinosaur comics theme
05:33:24 <pikhq> Sigels are inherently ugly.
05:33:33 <CakeProphet> honestly I don't see "oh no there's symbols everywhere" as ugly.
05:34:35 <pikhq> You are everything that is wrong with computers. We're done.
05:34:51 <elliott> pikhq: listen to the fucking dinosaur comics theme or die a horrible death
05:35:03 <CakeProphet> I like two different qualities in languages. a) it is useful and easy to get shit done with b) it's pure or elegant. tcl is neither of those.
05:35:15 <pikhq> What's not pure or elegant about Tcl?
05:35:19 <pikhq> elliott: I don't like to stop albums halfway through.
05:35:30 <elliott> pikhq: dude this is the DINOSAUR COMICS THEME.
05:35:34 <elliott> it has RYAN NORTH'S APPROVAL HIMSELF.
05:35:35 <pikhq> elliott: It's queued.
05:35:41 <elliott> this would be worth stopping CHILDBIRTH for, pikhq.
05:35:55 <elliott> i would abandon my currently-being-born baby to listen to this.
05:37:06 <CakeProphet> pikhq: I find it amazing that you can say that I'm "everything that is wrong with computers" from such a minor difference in opinion about programming languages.
05:37:35 <elliott> hash esoteric always one hundred percent and literal about every statement
05:38:23 <pikhq> Yup. We are never over the top or exaggerated. Only perfectly literal about every statement.
05:38:50 <elliott> its funny because if i said youre all stupid terrible idiots i would actually be being perfectly sincere :D
05:39:09 <CakeProphet> yes, more often than not things are taken literally in here.
05:39:14 <pikhq> BTW, picol is pretty neat.
05:39:29 <elliott> i wonder what you could actually remove from tcl, as far as minimalism goes
05:39:36 <elliott> dollar sign is obviously a relatively minor convenience
05:39:50 <elliott> "" could go, you can just use {} and manual splicing
05:40:00 <pikhq> You could remove {*}.
05:40:07 <elliott> you have [] at top level and everything evaluated
05:40:10 <pikhq> Which itself was only added in 8.5.
05:40:18 <elliott> full list of things: words, [], {}
05:40:24 <elliott> oh you can remove global variables too
05:40:27 <elliott> just pass everything around
05:40:45 <elliott> then change {} into () and you have weirdo lisp
05:44:16 <pikhq> CakeProphet: http://antirez.com/picol/picol.c.txt What's not elegant about this?
05:44:49 -!- mycroftiv has quit (Ping timeout: 260 seconds).
05:45:50 <CakeProphet> pikhq: that is not tcl code. That is an interpreter for tcl.
05:46:06 <pikhq> And I'd consider that a pretty much full implementation, seeing as to get an interpreter of Tcl 8.4 out of that you'd only need to implement more commands.
05:46:06 -!- mycroftiv has joined.
05:47:07 <elliott> CakeProphet: everything you are saying is pointing towards tcl being something you respect or admire for its simplicity and elegance of implementation rather than actually use
05:47:22 <elliott> despite this you are only referring to these qualities in mocking terms which is just totally inconsistent if you like any other language like that
05:48:26 <pikhq> Hmm. Actually, it's missing the semantics of unknown; you'd need a couple of lines in picolEval for that.
05:48:34 <CakeProphet> uh, not really. But yes, I do respect that it's a simple language. But that's it. I still think it sucks to actually write tcl code.
05:48:53 <elliott> CakeProphet: "I like two different qualities in languages. a) it is useful and easy to get shit done with b) it's pure or elegant."
05:48:58 <elliott> sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
05:49:09 <pikhq> Yeah, {*} would need a little bit of work in the parser.
05:49:10 <CakeProphet> elliott: but I never specfically mentioned tcl being pure or elegant.
05:49:14 <elliott> nobody's saying you should think tcl is nice to code in, just that if you really hate it on every possible level, you probably just don't understand it at all.
05:49:17 <CakeProphet> nor do I think it's pure... or elegant. Just simple.
05:49:25 <pikhq> What's not pure or elegant about it?
05:49:35 <elliott> CakeProphet: no, but <CakeProphet> cool, so it's easy to parse. is dismissing something that is actually a - oh fuck this you're an idiot have i mentioned
05:49:39 <elliott> im going to go ask Gregor if his gc is still segfaulting
05:49:58 <pikhq> I also think it's occasionally nice to code in, but I admit, it has some rough spots.
05:50:01 <CakeProphet> pikhq: that is a difficult question to answer. :P
05:51:12 <CakeProphet> to me those words imply a kind of mathematical beauty. I think tcl lacks that.
05:51:34 <pikhq> http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm That's the whole of Tcl.
05:52:24 <pikhq> It's got a man page the size of cat's.
06:05:14 <CakeProphet> at least when you guys bash Perl, I actually know you've used it to some extent.
06:05:29 -!- Lymia has joined.
06:06:18 <pikhq> Yes, I actually have personal experience to back my opinion of the language.
06:06:36 <pikhq> Which... Actually can't be said of most critics of most languages, really.
06:07:09 <elliott> every time you want to complain about a language
06:07:12 <elliott> make a new esolang instead
06:07:49 <pikhq> elliott: I'd probably have written the entire esolangs wiki by now.
06:08:30 <CakeProphet> pikhq: I admit Perl would be horrible if you were working with someone elses horribly designed code in some kind of decently large project.
06:08:52 <CakeProphet> but that never happens for me, so that's why I like using it.
06:09:22 <CakeProphet> and the above statement is true of most languages.
06:09:28 <elliott> http://grasptheuniverse.com/random/free-fall-from-space/
06:09:33 <elliott> $pecial Fuck 2 TuNiSian ministry of justice & defence & interior
06:09:54 <pikhq> If you're working with other people's horribly designed code, all languages suck, and we should exterminate humanity.
06:12:50 -!- ray24 has joined.
06:13:08 <elliott> ray24: where did you put the earlier raws
06:16:20 <Gregor> So lesse, on my laptop, which is two-core so essentially Java can't do parallel GCs, my GC is consistently faster now.
06:16:23 <Gregor> Even in the default branch.
06:16:31 <Gregor> On my home computer (4-core) it's a tossup.
06:16:36 <Gregor> And on my work machine, it wins.
06:16:44 <Gregor> So ... yeah, parallel collection :P
06:17:45 <elliott> Gregor: Faster... than... Java?
06:17:59 -!- elliott has quit (Remote host closed the connection).
06:18:00 <pikhq> Space Gregor is a programmer from SPACE
06:18:02 <ray24> I don't know. I've been pirating everything off the internet
06:18:11 <ray24> FEels good to not pay a dime for anything!
06:18:34 -!- elliott has joined.
06:18:43 <elliott> ray24: are you trying to pirate things here
06:18:56 <ray24> I'm trying to pirate everything that I think is good
06:19:30 <elliott> do you know what this channel is about
06:20:09 <elliott> this is an important question to ask ray24
06:20:17 <ray24> You should think about it
06:20:35 <ray24> what if I don't know the answer
06:20:47 <ray24> what if I can't guess
06:21:08 <ray24> what if I can't leave
06:21:25 <elliott> this channel is about programming btw
06:21:33 <ray24> Yeah what do you program
06:21:40 <elliott> esoteric programming languages, see http://esolangs.org/wiki/Main_Page
06:21:44 <elliott> sorry you got too boring to mislead :(
06:21:59 <ray24> how come a programming channel have less than 50 people
06:22:33 <elliott> we're also really rude and horrible to newbies. well ok i am
06:22:44 <CakeProphet> we're the cool internet cabal that everyone talks about.
06:22:48 <ray24> You've been pretty nice and generous in your response
06:23:09 <elliott> yeah i dunno what is up with me
06:23:22 <ray24> Maybe you're programming in the wrong language, iono
06:23:42 <elliott> who says i'm only programming in one
06:24:32 <ray24> Anyways, I got to loot more stuff
06:24:34 <elliott> so hey how did you find this place anyway
06:24:38 <elliott> i simply don't believe anyone actually looks at /list
06:24:51 <ray24> I just randomly load the channel list and clicked
06:25:16 <elliott> have fun with your copyright infringement :P
06:27:07 <coppro> ray24: where are you from?
06:27:22 <CakeProphet> > cross = liftM2 (,) in cross [1..10] [1..10]
06:27:23 <lambdabot> <no location info>: parse error on input `='
06:27:28 <CakeProphet> > let cross = liftM2 (,) in cross [1..10] [1..10]
06:27:29 <lambdabot> [(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(2,1),(2,2),(...
06:27:34 <elliott> coppro: are you asking like physical location
06:27:49 <coppro> elliott: no I wanted to know if he's from DARPANET
06:28:07 <elliott> ray24: total child porn pirate warez channel this
06:28:20 <elliott> coppro: * [ray24] (~ray24@adsl-70-231-243-95.dsl.snfc21.sbcglobal.net): ray24
06:28:24 <elliott> INCONTROVERTIBLE PROOF, we're safe
06:28:37 <coppro> elliott: I can't read hostnames and am lazy
06:28:47 <ray24> so why do you look up people's IP
06:28:53 <elliott> ~ray24@spying.on.you.darpa.gov
06:28:56 <elliott> ray24: its hardly looking up
06:29:06 <elliott> gives you foo's realname field, username field, hostname
06:29:06 <ray24> what is there to gain for you?
06:29:13 <elliott> lol its a feature of irc dude
06:29:14 <coppro> ray24: I want to know where you are :D
06:29:18 <elliott> it shows channels you have in common
06:29:20 <ray24> Why do you want to know where I am
06:29:22 <elliott> what their realname is filled out to be
06:29:23 <coppro> because you're hot and I want to stalk you
06:29:32 <elliott> often i can remember someone from the wiki if i see their realname
06:29:37 <elliott> your ip is public when you join irc
06:29:43 <elliott> * ray24 (~ray24@adsl-70-231-243-95.dsl.snfc21.sbcglobal.net) has joined #esoteric
06:29:47 <elliott> i saw it as soon as you entered the channel, everyone did
06:30:14 <elliott> CakeProphet: ray24 evidently does :D
06:30:33 <elliott> ray24: hey, how's life in san francisco?
06:30:43 <ray24> yeah well.. I'm not in SF
06:30:50 <elliott> well your ip thinks you are.
06:30:56 <ray24> so what step did you take to arrive at that answer?
06:30:59 <elliott> you're in california anyway
06:31:06 <coppro> elliott: damn, beat me to it
06:31:08 <elliott> ray24: google "geo ip" -> click first result -> paste in -> hit enter
06:31:17 <elliott> took like three seconds and you were freaking out so i figured it might provide some amusement
06:31:55 <pikhq> Often times you don't even really need to bother, though.
06:32:08 <ray24> It's pretty inaccurate
06:32:13 <ray24> I'm not even close to SF
06:32:36 <ray24> You'll never find me
06:33:06 <elliott> ray24: oh, you've fallen right into our trap.
06:33:09 <elliott> admitting your rampant piracy like that.
06:33:13 <elliott> we are coming to cease your possessions.
06:33:17 <elliott> coppro: initiate operation 9terra
06:33:34 <EgoBot> perl $_=<>;tr/!-~/P-~!-O/;print
06:33:36 <ray24> ^_^ I keep all my pirated stuff on an external drive
06:33:37 <elliott> ray24: We will be with you within the hour.
06:33:38 -!- elliott has left ("xp0.FOUR/xy;initiate;procedure").
06:34:06 <pikhq> http://thetegu.com/member.php?1688-Ray24 Any relation?
06:34:24 <ray24> dude you guys are weird
06:34:28 -!- elliott has joined.
06:34:34 <pikhq> God damned generic nicks.
06:34:40 <elliott> ray24: you'd better evacuate your wife and kids.
06:34:45 <elliott> your house is about to disappear.
06:34:51 <pikhq> Why can't people be easy to Google?
06:35:02 <pikhq> coppro: Yours is easy to Google.
06:35:04 <CakeProphet> it is very easy to trace my online identity since no one else uses this screen name.
06:35:10 <elliott> maybe hes twenty four years old
06:35:13 <coppro> pikhq: no, I mean you hit Google. That hurts.
06:35:35 <elliott> ray24: http://ray24.livejournal.com/profile
06:35:38 <elliott> ray24: you totally are in sanfran.
06:35:45 <coppro> operation 9terra phase 2 initiate
06:35:56 <ray24> lol... that's not me
06:35:57 -!- coppro has left.
06:36:03 <elliott> Enjoying Taekwondo, deadman?
06:36:07 -!- elliott has left ("Leaving").
06:36:36 -!- scshunt has joined.
06:36:36 <CakeProphet> !rot47 computer: initiate tracking programs. find target 542049. confiscate kids and hold them for ransom.
06:36:37 <EgoBot> 4@>AFE6Ci :?:E:2E6 EC24<:?8 AC@8C2>D] 7:?5 E2C86E dca_ch] 4@?7:D42E6 <:5D 2?5 9@=5 E96> 7@C C2?D@>]
06:36:47 -!- ray24 has left ("Leaving").
06:37:02 -!- coppro has joined.
06:37:08 <coppro> operation 9terra: successful
06:37:13 -!- elliott has joined.
06:37:18 <pikhq> Well, that was nicely done.
06:37:19 -!- scshunt has left.
06:37:31 <pikhq> And now he's probably freaked out by the power of Google.
06:38:07 <coppro> reading the logs, I have no fucking clue what just happened
06:38:07 <elliott> pikhq: except we found nothing :F
06:38:13 <elliott> coppro: seems to not include notices
06:38:23 <CakeProphet> elliott: I figured a lot of scary symbols would scare him.
06:38:37 <elliott> http://tunes.org/~nef/logs/esoteric/11.06.09 this does
06:38:45 <pikhq> BTW, coppro, dang you have a large Internet presence.
06:39:01 <elliott> least creepy thing to say ever
06:39:25 <pikhq> Gregor has a pretty odd one, though.
06:39:30 <coppro> pikhq: it's like a chronicle of my life, the various fora I've been to and stuff
06:39:48 <pikhq> https://encrypted.google.com/search?q=Gregor+Richards&hl=en&client=iceweasel-a&rls=org.mozilla:en-US:unofficial&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ei=CbzxTYGMG4uu0AHcl5XdCw&ved=0CFsQsAQ&biw=1440&bih=784 Check out a GIS.
06:40:12 <pikhq> It's like a blend of 5 different people.
06:40:34 <pikhq> elliott: Stop what, putting nicknames or real names into Google?
06:41:27 <pikhq> I'll Google *you* next. :P
06:41:30 <coppro> pikhq: searching my full name gives little though, except for the math society where the names are loaded from the university database and I haven't bothered asking them to take my middle names out
06:41:36 <pikhq> "Surprisingly", not helpful.
06:42:14 <coppro> I do love how hard it is to find me on Google if you don't know either of my common nicknames though
06:42:47 <elliott> which i made up as a demonstration for the log
06:43:13 <elliott> yeah i would never do something that stupid for a joke on irc
06:44:31 * pikhq wonders how much stuff is actually tied to his real name...
06:44:38 <elliott> CakeProphet: you should say your real name now so that google hears this.
06:45:17 <pikhq> I'm apparently still staff at Tufts.
06:45:33 <coppro> welcome to the internet
06:46:05 <elliott> pikhq: was that when you were like three years old
06:46:28 <pikhq> No, but it was over a year ago.
06:46:48 <EgoBot> Interpreter rot47 deleted.
06:46:49 <CakeProphet> !addinterp rot47 perl print<>=~tr/!-~/P-~!-O/
06:46:49 <EgoBot> Interpreter rot47 installed.
06:46:57 <EgoBot> Can't modify <HANDLE> in transliteration (tr///) at /tmp/input.8441 line 1, at EOF
06:47:40 <EgoBot> Interpreter rot47 deleted.
06:47:45 <CakeProphet> !addinterp rot47 perl $_=<>;tr/!-~/P-~!-O/;print
06:47:46 <EgoBot> Interpreter rot47 installed.
06:49:07 <elliott> pikhq: so when you were two then
06:50:40 <Lymia> !addinterp rot32 sh cat
06:50:40 <EgoBot> Interpreter rot32 installed.
06:50:43 <Lymia> !addinterp rot32 cat
06:50:44 <EgoBot> There is already an interpreter for rot32!
06:50:46 <EgoBot> Interpreter rot32 deleted.
06:50:49 <Lymia> !addinterp rot32 cat
06:50:50 <EgoBot> Interpreter cat does not exist!
06:50:54 <elliott> CakeProphet: the unix command, yes.
06:50:59 <Lymia> !addinterp rot32 sh cat
06:50:59 <EgoBot> Interpreter rot32 installed.
06:51:23 <CakeProphet> Lymia: ...you have gotten rid of the original rot32. That will take years to recode.
06:51:37 <Lymia> Rot32 is the application of rot16 twice.
06:52:00 <EgoBot> Interpreter rot32 deleted.
06:52:07 <Lymia> !addinterp rot52 sh cat
06:52:07 <EgoBot> Interpreter rot52 installed.
06:53:08 <Lymia> !addinterp rot26 sh cat
06:53:09 <EgoBot> Interpreter rot26 installed.
06:53:36 <EgoBot> .,23.,24998!@#*!@#$*!@#%
06:53:53 <CakeProphet> okay, so it leaves those characters alone.
06:54:54 <CakeProphet> !rot47 !@#)*#*)!@#*!@)#*!)@@$*!)@#*)!@#*!)@$&!@)#$&!@%)!@#
06:54:54 <EgoBot> PoRXYRYXPoRYPoXRYPXooSYPXoRYXPoRYPXoSUPoXRSUPoTXPoR
06:55:50 <pikhq> I think from Google results, I can conclude that I am a time traveller.
06:57:34 <coppro> please go back in time three days and tell George Histenton not to do it
06:58:18 <elliott> im hoping something horrible that will make this entire thread of conversation really awkawrd
06:58:48 <coppro> how the fuck should I know?
06:58:59 <elliott> i dont actually know who George Histenton is
06:59:27 <pikhq> coppro: I'm afraid I have yet to obtain my time machine.
06:59:28 <elliott> lets just say he did a huge school shooting then jumped off a building near where you are, that should be enough to make this very awkward
06:59:54 <pikhq> Though I could hit up Cambridge and see my grave.
06:59:56 <coppro> pikhq: the logs will be available then
07:00:14 <coppro> pikhq: What if you're a time lord?
07:01:12 <pikhq> Then that would explain the name change I saw.
07:01:52 <pikhq> Actually, no, no it wouldn't.
07:02:23 <elliott> eight am, i should sleep, i should sleep, i sh
07:06:14 <elliott> http://jon.io/ this is the worst fucking webpage to ever exist augh
07:08:01 <elliott> monqy: do you feel the un-zepto terribleness of it
07:08:10 <elliott> "Built using Clojure and MailChimp."
07:08:12 <elliott> two times least zepto webpage
07:08:21 <elliott> WHY ARE THE FUCKING LOGOS FLOATING
07:08:31 <pikhq> Seems to fail with noscript.
07:08:32 <monqy> I actually forgot about zepto
07:08:49 <elliott> monqy: its the best adjective and vapourware
07:08:51 <monqy> why are there logos at all anyhow
07:08:51 <pikhq> OH GOD THE UNZEPTO
07:09:06 <elliott> is that an actual metaphor for like
07:09:14 <monqy> I thought it was actually
07:09:29 <elliott> i hate startsups i fucking hate startups everyone in a startup should die
07:09:30 <monqy> I thought that's why you aughed. it's why I aughed at least.
07:09:34 <pikhq> I hereby ban them from HTML.
07:09:38 <CakeProphet> elliott: nothing describes the internet better than a cloud, obviously.
07:09:50 <elliott> ok thats been my two minutes hate i cant stand to have this page open any longer
07:09:54 <pikhq> It's absolutely terrible without Javascript.
07:10:13 <elliott> cant possibly worse than it with javascript
07:10:14 <pikhq> It's got the header, a few *pages* of whitespace, and then the content.
07:10:25 <elliott> better, the logos don't move
07:10:34 <pikhq> The logos don't exist.
07:10:46 <pikhq> Though I think the code for them is the whitespace.
07:10:56 <CakeProphet> pikhq: I don't think you can comfortably browse most websites anymore without Javascript.
07:11:28 <pikhq> CakeProphet: I use Noscript extensively.
07:12:00 <pikhq> It goes a long, long way to making random websites tolerable.
07:17:29 <elliott> WOW LOOK AT THIS IN MERE SECONDS I AM GOING TO SLEEP (LIES)
07:21:25 -!- Phantom_Hoover has joined.
07:27:11 <CakeProphet> What was the first language to pass arguments by key-value pairs?
07:28:24 <elliott> http://en.wikipedia.org/wiki/Named_parameter <-- your mom, apparently
07:35:39 <coppro> oh god it's only after midnight
07:41:00 <pikhq> Or I could listen to Queen.
07:41:31 <pikhq> Only one of those two options is awesome in audible form.
07:42:56 <Phantom_Hoover> Ahahah foolish Americans it is morning in the civilised world.
07:42:56 <lambdabot> Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them.
07:43:42 <pikhq> Phantom_Hoover: elliott is also complaining about how he needs to sleep.
07:44:11 <pikhq> Admittedly, elliott defies your dormal norms.
07:46:17 <pikhq> Also, it is definitely "morning" here, for certain definitions of "morning".
07:47:22 <pikhq> Yeaaah, that's a terrible definition of morning.
07:47:41 <pikhq> Seeing as my first meal of the day is generally lunch.
07:49:06 -!- ais523 has quit (Remote host closed the connection).
07:49:35 <Phantom_Hoover> It's morning as in it's nearly 9 o'clock what more do you want from a morning.
07:52:13 <coppro> pikhq: Sleep is for the weak
07:52:20 <coppro> and those who don't need to be in a cab in 5 hours
07:53:21 <coppro> so I can catch the airplane 2 hours 18 minutes later
07:53:33 <coppro> also 5 hours 7 minutes
07:54:00 <pikhq> Baaah, specific yet non-specific answers!
07:54:40 <pikhq> I'm not sure it'd be possible for me to catch a cab.
07:54:49 <coppro> pikhq: I was referring to me
07:54:59 <pikhq> coppro: Yes, I know.
07:59:11 <augur> a targis? what? huh
07:59:50 <coppro> pikhq: This could all be solved, however, by you getting a TARDIS at some point in your future, and taking me where I need to go
08:01:31 -!- ralc has joined.
08:02:39 <pikhq> coppro: Why yes, yes it would. How convenient that I will at some point have one.
08:03:02 <pikhq> As we can conclude by my death being in the 1700s.
08:06:18 <coppro> I willen on-not having-been a good game of timey wimey ball in ages.
08:07:13 <Phantom_Hoover> Sorry Doctor Who's time-travel system is not all that complex.
08:07:28 <Phantom_Hoover> I'm fairly sure it can be modelled accurately simply by adding a second time dimension.
08:08:35 <pikhq> Phantom_Hoover: Doctor Who does not have a single time travel system.
08:08:49 <pikhq> It has whatever time travel system is most convenient at the time to the writers, near as I can tell.
08:08:53 <pikhq> Hence the timey wimey ball.
08:10:27 -!- myndzi has quit (Ping timeout: 252 seconds).
08:10:39 <Phantom_Hoover> pikhq, doesn't it essentially come down to "you can change the past"?
08:10:47 <pikhq> Except when you can't.
08:10:54 <coppro> And when other things happen
08:11:08 <Phantom_Hoover> It's never been an essential physical law that you can't, it's just been that Bad Things happen when you do.
08:11:35 <coppro> We're talking about a series where, at one point, the entire universe ceased to ever have existed, except Earth and an explosion. But Earth existed and was fully-formed and had a human civilization despite.
08:12:09 <pikhq> And time demons destroy everything when you change the past wrong.
08:12:28 <pikhq> Also, the main character has never been born.
08:13:03 <coppro> And at various points, there are stable time loops.
08:13:16 <pikhq> Oh, yeah, and the canonical reason for him not preventing Hitler is that it's physically impossible, IIRC.
08:13:45 <pikhq> Remember, this is a series which has aired for decades.
08:13:53 <pikhq> And has time travel as its basic premise.
08:13:59 <coppro> pikhq: Actually, the next episode is entitled "Let's Kill Hitler"
08:14:08 <pikhq> And has not always had the best writing.
08:14:17 -!- elliott has quit (Ping timeout: 240 seconds).
08:14:32 <coppro> Phantom_Hoover: I should add that "timey wimey" is canonical
08:15:12 <pikhq> Pretty much the only way to handle Doctor Who time travel is to shut up and enjoy the show. :P
08:15:29 -!- monqy has quit (Quit: hello).
08:15:46 <coppro> also the part where nothing is every truly erased from history
08:16:02 <coppro> (why hasn't the doctor tried to use this to get gallifrey back?)
08:16:18 <Phantom_Hoover> <pikhq> Pretty much the only way to handle Doctor Who time travel is to shut up and enjoy the show. :P
08:16:33 <Phantom_Hoover> I gave up on enjoying it around the time River Song became a semi-regular character.
08:16:39 <coppro> Incidentally, that's one of my favorite lines
08:16:56 <coppro> <House> Fear me, I have killed hundreds of Time Lords.
08:17:08 <coppro> <The Doctor> Fear me, I killed all of them.
08:18:05 <pikhq> coppro: Because the Doctor does not want Gallifrey back. Indeed, in The End of Time (recent-ish), he stopped the return of the Time Lords.
08:19:07 <pikhq> (note: written by Russel T Davies, who is one corny writer)
08:19:21 <coppro> Phantom_Hoover: character named House
08:19:45 <coppro> pikhq: How much have you seen total of the series?
08:20:20 <pikhq> coppro: Random bits of the 4th, large chunk of 9th and 10th, few episodes of the 11th.
08:20:44 <pikhq> Phantom_Hoover: I was being generous.
08:22:04 <pikhq> And reincarnating the series.
08:23:57 <coppro> Phantom_Hoover: Here's another one
08:24:16 <coppro> Phantom_Hoover: Doctor goes back in time and changes the past concurrently with the present, Back to the Future style
08:26:23 <Phantom_Hoover> pikhq, yes, but he then decided that he should be able to write for it.
08:26:46 <pikhq> I suppose it does even out.
08:48:45 <coppro> Phantom_Hoover: River's development is pretty good in my opinion, but I haven't seen pre-11th
08:57:22 <coppro> pikhq: The 11th has shown quite a bit of remorse and jumped several times at the thought of another Time Lord.. perhaps it's due to the regeneration?
09:00:17 -!- FireFly has joined.
09:25:49 -!- pikhq_ has joined.
09:26:01 -!- pikhq has quit (Ping timeout: 268 seconds).
09:56:10 -!- Patashu has joined.
10:11:16 -!- azaq23 has joined.
10:21:09 -!- Vorpal has joined.
10:39:01 -!- myndzi has joined.
10:54:30 -!- MigoMipo has joined.
11:15:55 -!- BeholdMyGlory has joined.
11:56:46 -!- pikhq has joined.
11:56:59 -!- pikhq_ has quit (Ping timeout: 260 seconds).
12:14:07 -!- cheater1 has joined.
12:35:40 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
12:41:26 -!- ralc has quit (Read error: Connection reset by peer).
12:41:43 -!- ralc has joined.
13:50:19 -!- copumpkin has joined.
13:58:36 -!- oerjan has joined.
14:30:41 -!- oerjan has quit (Quit: leaving).
14:33:08 -!- Vorpal has quit (Ping timeout: 268 seconds).
14:51:59 -!- Kustas has joined.
15:00:38 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:40:41 -!- wareya_ has joined.
15:43:50 -!- wareya has quit (Ping timeout: 246 seconds).
15:50:10 -!- Kustas has quit (Quit: gone).
16:01:15 -!- pikhq has quit (Ping timeout: 252 seconds).
16:01:17 -!- pikhq_ has joined.
16:45:43 -!- Vorpal has joined.
16:55:42 -!- Phantom_Hoover has joined.
16:57:42 -!- TOGoS has joined.
16:58:00 -!- TOGoS has left.
17:10:23 <Phantom_Hoover> http://www.wolframalpha.com/input/?i=volume+of+atlantic+ocean+*+butter+density
17:12:39 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/hvugz/is_it_true_that_the_seconds_between_lightning/c1ywftn
17:15:36 -!- zzo38 has joined.
17:16:11 <olsner> 42 atlantic oceans of butter equal 1 pluto
17:16:56 <Phantom_Hoover> I started writing that sentence and then realised that I had no idea how to terminate it in a non-Yoda way.
17:19:05 <olsner> are all your arrow keys, backspace and home broken? does your IRC client not have some kind of line editor?
17:19:19 <Phantom_Hoover> It does, but I couldn't be bothered rewriting the sentence.
17:20:51 <olsner> overthinking I am not, I feel
17:22:01 <Sgeo> .....use tape bound.....
17:26:56 -!- azaq23 has quit (Quit: Leaving.).
17:43:31 -!- Kustas has joined.
17:52:19 -!- monqy has joined.
18:17:32 -!- Kustas has left.
18:31:32 -!- ralc has quit (Remote host closed the connection).
18:38:16 <zzo38> Do you like Charities for poor people and monsters with names starting with "A"?
18:42:17 <zzo38> If you are making a program that, in UNIX, uses SIGUSR1 to interrupt some loops (by setting flags, etc), how can you do similar things in Windows?
18:42:41 <pikhq_> Well, would you look at that. New version of the Haskell Platform in Debian this morning.
18:47:21 <pikhq_> Been in Sid for a while.
18:50:40 <Phantom_Hoover> http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-615.pdf
18:52:02 <zzo38> Phantom_Hoover: Text looks like badly on my computer
18:54:57 <augur> Phantom_Hoover: :)
18:55:41 <augur> check out my response to the comment :)
19:01:45 -!- cheater1 has quit (Ping timeout: 240 seconds).
19:02:41 <augur> Phantom_Hoover: what do you mean
19:03:22 <augur> yes but whats the question
19:03:23 <Sgeo> Someone mentioned Boltzmann brains in here/
19:04:40 <zzo38> The half black/color stars of anarchism are also mentioned on Wikipedia.
19:04:53 <zzo38> The color half indicates different categories of anarchism.
19:05:03 <augur> oh, the question is what do they mean?
19:05:21 <augur> sorry, i wasn't sure what you were asking
19:05:32 <augur> i was half tempted to respond "whats up is we like them!"
19:05:39 <zzo38> Red=communism Yellow=capitalism Green=naturalism White=pacifist
19:05:50 <Phantom_Hoover> @tell elliott BtW, that CA paper has a lot about conservative CAs. There are no new ideas under the sun.
19:06:14 <augur> Phantom_Hoover: theres a link in the sidebar
19:06:20 <augur> that explains the stars
19:06:22 <Sgeo> Maybe I shouldn't bother to make my language statically typed. I mean, LSL is statically typed, but there's a glaring type hole
19:06:51 <augur> Phantom_Hoover: http://www.reddit.com/help/faqs/Anarchism#WhatarethosefunkystariconsnexttosomenamesandhowcanIgetone
19:06:58 <Sgeo> "type hole". What a technical sounding term
19:07:57 <augur> Sgeo: sounds like a hole/shed in a type
19:08:03 <augur> as opposed to a lacuna
19:08:12 <zzo38> What is "type hole"?
19:08:40 <augur> Sgeo: it means hole
19:09:01 <augur> but usually people use it to mean when something is missing
19:09:03 <Sgeo> zzo38, well, llList2String([5], 0) compiles
19:09:40 <Sgeo> Lists are heterogeneous in a statically typed environment.
19:09:44 <Gregor> void ***writing_garbage_collectors_is_fun
19:11:22 <augur> Phantom_Hoover: s'at explain things for you?
19:11:44 <augur> Phantom_Hoover: those arent all there is too!
19:11:50 * Phantom_Hoover wonders how the insufferability differs between groups.
19:11:51 <augur> those are just some main tendencies
19:12:03 <augur> Phantom_Hoover: everyone hates anarcho-capitalists
19:12:15 <augur> and a bunch of people hate anarcho-primitivists
19:12:32 <augur> everyone hates Hakim Bey but thats a separate issue
19:12:40 <augur> and other than that people generally get along
19:16:00 <zzo38> I don't even know what llList2String([5], 0) is supposed to mean
19:17:06 <Sgeo> zzo38, 0th element from the list [5] assuming (wrongly) that it's a string
19:19:41 <pikhq_> Gregor: I think soon you'll have more *s than Gs.
19:22:20 <zzo38> I have a book it describes a few things about garbage collection, including mark/sweep, and some others
19:27:44 -!- zzo38 has quit (Remote host closed the connection).
19:40:07 -!- oerjan has joined.
19:51:34 -!- pikhq has joined.
19:52:00 -!- pikhq_ has quit (Ping timeout: 260 seconds).
19:55:46 -!- Sgeo has quit (Read error: Connection reset by peer).
19:56:23 -!- Sgeo has joined.
19:57:37 <oerjan> <zzo38> Do you like Charities for poor people and monsters with names starting with "A"?
19:58:25 <oerjan> hey vampires and zombies want charity too! preferably in the form of blood and brains
20:01:38 <oerjan> <Sgeo> Lists are heterogeneous in a statically typed environment.
20:01:48 <oerjan> well not in haskell...
20:02:04 <Sgeo> oerjan, I was referring specifically to the environment of LSL
20:02:29 <oerjan> ic. same as Java without generics, perhaps?
20:02:48 <copumpkin> oerjan: I was thinking, the knapsack problem might be better for our NP-complete syntax
20:03:46 <Sgeo> Hmm. I'm not familiar with how Java deals
20:04:19 <oerjan> Sgeo: basically before generics, your container types would just contain Objects, i think (which they still do _internally_)
20:04:34 <oerjan> where Object is the superclass of every other class
20:04:59 <Sgeo> There is no universal superclass in LSL
20:05:05 <oerjan> although _not_ of some primitive types such as int iirc
20:05:14 <oerjan> Sgeo: is there OO at all?
20:05:43 <oerjan> is there a way to check the type of a list element?
20:06:18 <oerjan> i guess a single-element list could work as a sort of wrapper for anything
20:06:48 <monqy> does speed matter in second life
20:07:00 <monqy> execution speed that is
20:07:12 <oerjan> Sgeo: presumably it works sort of like [Dynamic] in haskell, then
20:07:23 <Sgeo> http://wiki.secondlife.com/wiki/LlGetListEntryType
20:09:04 <oerjan> Sgeo: hm i note lists are not themselves among the types possible
20:09:23 <Sgeo> Can't put a list in a ist
20:09:26 -!- ais523 has joined.
20:11:54 <Sgeo> http://wiki.secondlife.com/wiki/List
20:13:26 <ais523> gah, I'm getting a burst of Sgeoism from my parents, who have basically banned the family from eating vegetables because of the E. coli outbreak in Germany
20:14:13 <monqy> lsl looks so gross :(
20:14:32 <monqy> good luck sgeo with making something less gross
20:15:00 <Sgeo> I think I may lack a clear enough view of all of LSL's grossness
20:17:08 <oerjan> ais523: even british grown ones?
20:17:39 <pikhq> Well, I'll be damned.
20:17:49 <ais523> oerjan: my mother is convinced that any vegetable I eat will be a contaminated one bought up because it was cheap, and mislabeled to trick people into buying it
20:18:02 <pikhq> The SCOTUS ruled yesterday that phone companies are required to unbundle their network.
20:18:20 <oerjan> ic. paranoid and prone to delusions. </mezzacotta>
20:18:54 <ais523> they also ruled on i4i vs. Microsoft; now i4i have won and Microsoft is out of appeals
20:19:00 <pikhq> Ah. As the FCC has been demanding.
20:19:11 <pikhq> "Yes, AT&T, you *are* subject to FCC regulations"
20:19:16 <ais523> luckily, though, they did say that the law in question is stupid (or imply it as strongly as they could), but said that it was relatively clear
20:19:33 <Phantom_Hoover> <pikhq> The SCOTUS ruled yesterday that phone companies are required to unbundle their network.
20:19:37 <ais523> also, the opinion looked to me like a deliberate attempt to point out a loophole in the law in question
20:19:53 <ais523> that could be exploited by other people who thought it was stupid
20:19:59 <pikhq> Phantom_Hoover: Y'know how you can have multiple DSL providers using the same last-mile wiring?
20:20:29 <pikhq> That's because you have unbundling in your country.
20:21:27 <Phantom_Hoover> 22:42:53: <oerjan> which is pretty much the case with current version of Standard Model + General Relativity
20:21:45 <Phantom_Hoover> Standard Model doesn't predict neutrino flavour oscillation IIRC.
20:22:12 <oerjan> Phantom_Hoover: i thought they'd sort of upgraded it to include that already :P
20:22:19 <oerjan> (thus "current version")
20:23:01 <oerjan> but still no one has any idea how to combine SM and GR into something which can actually be tested for correctness in our lifetime
20:23:09 <ais523> hmm, random fact I learned today: there is a division by zero in Pokémon's source code, but the division routine they use has x/0=x so they never noticed
20:23:41 <ais523> I suppose x/0=x is probably the best default if you want your program to not crash on a division by zero, as it's likely to produce a result in the range it was looking for
20:24:42 <oerjan> assuming you are dividing by integers, and not a floating point number which should actually be close to 0
20:25:24 <Phantom_Hoover> oerjan, also, QM is not at all friendly towards actually modelling things./
20:25:24 <ais523> floating point arithmetic's avoided like the plague in computer games, except in graphics routines, generally speaking
20:25:53 -!- cheater8 has joined.
20:27:00 <oerjan> Phantom_Hoover: what do you mean by "modelling" here?
20:27:34 -!- twice11 has joined.
20:27:51 <Phantom_Hoover> oerjan, well, QCD for instance is impossible to calculate in all but the very simplest of cases.
20:27:58 <oerjan> if you mean "calculating simulation results" there's a guy named John Sidles frequently commenting on the Godel's Lost Letter blog who would disagree with you
20:28:19 <oerjan> at least for noisy systems
20:29:00 <Phantom_Hoover> oerjan, well, I know that there's no analytical proof of colour confinement, which is very nearly the simplest case you can actually have.
20:29:25 <oerjan> Phantom_Hoover: oh he is not talking about analytical proof, but about numerical calculation
20:30:12 <oerjan> `addquote <Phantom_Hoover> The eigenratio of reality has to be enormous, though.
20:30:15 <HackEgo> 450) <Phantom_Hoover> The eigenratio of reality has to be enormous, though.
20:31:16 <pikhq> ais523: Floating point arithmetic is avoided like the plague, period.
20:33:27 <ais523> pikhq: most 3D graphics libraries work in single-precision floating point because rounding errors tend not to be visible, and pathological cases of floating-point arithmetic don't happen a lot in the sort of algorithms used
20:33:28 -!- ais523 has quit (Remote host closed the connection).
20:33:37 -!- ais523 has joined.
20:33:48 <ais523> [21:32] <ais523> pikhq: most 3D graphics libraries work in single-precision floating point because rounding errors tend not to be visible, and pathological cases of floating-point arithmetic don't happen a lot in the sort of algorithms used
20:34:51 <pikhq> Not to mention that single-precision is faster.
20:36:37 <pikhq> Wow. Fedora 16 is going to have btrfs as its default filesystem.
20:36:53 <pikhq> It doesn't have an fsck yet.
20:40:59 <twice11> Use this as backing device: http://www.national.com/rap/Story/WOMorigin.html
20:44:55 <Phantom_Hoover> Oh god "Garfield in <x>" is even worse than "Garfield <x>inus Garfield".
20:45:31 <oerjan> Phantom_Hoover: i have no idea what the first is referring to
20:51:23 <Gregor> pikhq, not-present-elliott: OK, my threadsafe branch now substantially outperforms both Boehm and malloc/free, but it's still a non-marginal 27% slower than the non-threadsafe branch.
20:53:35 <Gregor> I have some ideas for how to bring it down, in particular my per-thread pools wasn't stable enough to make it in yet.
20:53:37 <lambdabot> Control.Concurrent forkIO :: IO () -> IO ThreadId
20:53:49 <oerjan> !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!"
20:54:04 <oerjan> !haskell import Control.Concurrent; main = do forkIO (putStr "That is "); putStr "great!"
20:55:14 <oerjan> Gregor: the first game me something looking like the result of ls / rather than a ghc error message
20:55:47 <oerjan> !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!"
20:56:02 <oerjan> that gave the expected error
20:56:32 <oerjan> Gregor: _that_ gave me
20:56:36 <oerjan> 22:56 =EgoBot> QUIT :This better not work
20:57:04 <oerjan> there's something really wrong about EgoBot's passing on of messages
20:58:04 <EgoBot> bin dev etc home lib lib64 proc tmp usr
20:58:16 <oerjan> and missing the interps
20:58:49 <oerjan> Gregor: it seems like i get messages that someone else _should_ have got in DCC long ago
20:59:06 <oerjan> in fact i remember that QUIT :This better not work attempt from before
20:59:08 -!- elliott has joined.
21:00:09 <Gregor> !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!"
21:00:43 <oerjan> Gregor: several of those commands gave me responses in DCC that were completely unrelated to the command i made, and which looked like what someone else would have gotten in response to a different command
21:01:02 <oerjan> also, it is not repeatable in a deterministic way
21:01:12 <Gregor> EgoBot is based on the principle of chaos computing.
21:01:55 <oerjan> in fact my _second_ try of that erroneous haskell thing gave the expected ghc error message in DCC
21:02:53 <oerjan> however i remember this happening for quite a while. that !sh ls / above is the first case i remember where it happened as response to a fast command, though
21:04:03 <oerjan> nothing strange this time
21:06:45 <oerjan> :t fix Control.Concurrent.forkIO
21:06:46 <lambdabot> against inferred type `GHC.Conc.ThreadId'
21:07:09 <oerjan> :t Control.Concurrent.forkIO
21:08:01 <oerjan> :t fix . forever . Control.Concurrent.forkIO
21:08:02 <lambdabot> Couldn't match expected type `a -> a1'
21:08:02 <lambdabot> against inferred type `IO GHC.Conc.ThreadId'
21:08:02 <lambdabot> Probable cause: `GHC.Conc.forkIO' is applied to too many arguments
21:08:18 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> m b
21:08:34 <oerjan> :t fix $ forever . Control.Concurrent.forkIO
21:13:33 <oerjan> for some reason it doesn't have IO a ->
21:13:44 <oerjan> which is why you cannot fix it
21:14:02 <CakeProphet> but at that point you might as well use forever.
21:14:26 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> m b
21:14:28 <oerjan> right, besides fix forkIO doesn't actually do anything _after_ forking
21:14:39 <lambdabot> Occurs check: cannot construct the infinite type: m = (->) (m b)
21:14:39 <lambdabot> Probable cause: `>>' is applied to too few arguments
21:14:39 <lambdabot> In the first argument of `fix', namely `(>>)'
21:14:53 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> m b
21:15:33 <lambdabot> Foreign.Marshal.Error void :: IO a -> IO ()
21:15:33 <lambdabot> Text.ParserCombinators.ReadP optional :: ReadP a -> ReadP ()
21:15:33 <lambdabot> Text.ParserCombinators.ReadP skipMany :: ReadP a -> ReadP ()
21:15:53 <oerjan> nothing direct it seems
21:15:58 <lambdabot> --count=20 "Control.Monad m a -> m ()"
21:16:08 <CakeProphet> no there's a void function in Control.Monad.
21:16:11 <lambdabot> forall (f :: * -> *) b. (Functor f) => f b -> f ()
21:17:03 <elliott> iirc gwern petitioned for it
21:19:03 <oerjan> you cannot expect lambdabot to import all of elliott
21:19:19 <oerjan> it would ruin her self esteem
21:19:43 <CakeProphet> Perhaps Haskell needs a Please extension, like INTERCAL.
21:19:48 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
21:20:04 <CakeProphet> so we could modify elliott with enough pleases to satisfy the interpreter/compiler in question.
21:20:40 <oerjan> but the pleases would annihilate against the elliott
21:21:06 <lambdabot> Foreign.Marshal.Error void :: IO a -> IO ()
21:21:11 <CakeProphet> ah yes, the natural law of anti-relationship of please and elliott.
21:21:16 <lambdabot> Text.Regex.Posix.ByteString compIgnoreCase :: CompOption
21:21:16 <lambdabot> Text.Regex.Posix.Sequence compIgnoreCase :: CompOption
21:21:16 <lambdabot> Text.Regex.Posix.String compIgnoreCase :: CompOption
21:21:25 -!- pikhq has quit (Ping timeout: 240 seconds).
21:21:31 -!- pikhq has joined.
21:21:46 <CakeProphet> oklopol: I have actually come to train my brain to not mind it at all.
21:22:05 <CakeProphet> it's motherfuckin' built-in temperature control.
21:26:44 <oklopol> well i only mind it when i'm sitting or lying down, i don't enjoy marinating my back against a sweaty cloth, since i have acne in my back which i'd like to get rid of - although i don't actually know whether marinating it in sweat is bad for the acne.
21:27:41 <elliott> Phantom_Hoover: finnish summers are like twenty degrees arent they
21:28:43 <oklopol> no the polar bear would die more like at most plus 1
21:28:52 * CakeProphet lives in the southern US. It is most likely hotter here in the summer.
21:29:09 <oklopol> but anyway it's often more than 30 in shade
21:29:20 <oklopol> for some definitions of often
21:29:33 <pikhq> Phantom_Hoover: That's a *record* high?
21:30:29 <pikhq> That's... Fucking chilly.
21:31:08 <oklopol> so about jacuzzis, do they usually have a way to make it it not heat but freeze the water?
21:31:16 <elliott> `addquote <oklopol> so about jacuzzis, do they usually have a way to make it it not heat but freeze the water?
21:31:18 <HackEgo> 451) <oklopol> so about jacuzzis, do they usually have a way to make it it not heat but freeze the water?
21:31:26 <Phantom_Hoover> pikhq, daily upper maxima are rarely above 22°, apparently.
21:31:26 <pikhq> CakeProphet: Sounds 'bout right.
21:31:35 <elliott> it wasn't because of the it it
21:31:46 <oklopol> THERE WAS ANOTHER TYPO?!?!?!?!?
21:33:18 <elliott> CakeProphet: how do you cope
21:33:24 <elliott> i die at about twentyfive degrees
21:33:35 <oklopol> i don't mind pretty much any temperature when i'm outside, it's mostly sitting naked in my armchair which is uncomfortable, and that's kind of a problem because that's my favorite thing.
21:33:39 <CakeProphet> though even when I'm outside it's not bad. I'm accustomed to it.
21:33:40 <elliott> CakeProphet: with AC on constantly?
21:34:07 <elliott> our climate is nice when we have good summers, winter always sucks though
21:34:10 <CakeProphet> I've been googling all of these conversions. :P
21:34:39 <Phantom_Hoover> CakeProphet, you realise that noöne else understands Fahrenheit, right?
21:34:42 <CakeProphet> winters are pretty moderate, which means they're still pretty fucking cold but it only goes below freezing occasionally.
21:35:10 <elliott> fahrenheit is the stupidest scale, true facts
21:35:29 <oklopol> so umm why are americans so stupid?
21:35:31 <CakeProphet> -shrug- I don't have a built-in celcius sense like I do fahrenheit
21:36:04 <elliott> 08:10:39: <Phantom_Hoover> pikhq, doesn't it essentially come down to "you can change the past"?
21:36:09 <oerjan> pikhq: the record high for _all of norway_ is 35.6°C
21:36:12 <CakeProphet> it would break people's feeble minds to establish a new temperature scale.
21:36:16 <oklopol> how about those ofter standard like every standard US uses?
21:36:18 <elliott> Phantom_Hoover: You can change it really badly, just as long as the history books look much the same
21:36:25 <elliott> Butterfly effect: MYTH BUSTD
21:36:59 <oklopol> US could change from fahrenheit to celsius *continuously*!
21:37:02 <CakeProphet> I don't know I'd say yards are actually a bit more convenient than meters and centimeters.
21:37:08 <oklopol> so people would have time to adjust!
21:37:10 <elliott> CakeProphet: Only for interventions.
21:37:24 <ais523> oklopol: that is indeed awesome
21:37:33 <ais523> the issue is, it'd be like me trying to remember my age
21:37:33 <elliott> ITT: CakeProphet is used to US units, not metric; thinks US units are easier to intuitively use; world shocked
21:37:37 <ais523> I keep forgetting it because it changes so oftwn
21:37:45 <EgoBot> Interpreter sanetemp installed.
21:37:56 <ais523> elliott: what's more intuitive, acres or ares?
21:38:04 <ais523> I don't have an intuitive idea of how big either is, so I wouldn't know
21:38:04 <CakeProphet> elliott: I only mentioned /one/ thing as /possibly/ being a better scale for the kinds of distances one would eyeball. That is all.
21:38:07 <ais523> but nobody seems to use ares ever
21:38:20 <elliott> ais523: no idea, but land ownership is pretty old-school so that doesn't surprise me >:)
21:38:28 <olsner> everyone just uses hectares, which is a bit like the kilocalories thing
21:38:32 <elliott> ais523: people use hectares all the time
21:38:32 <oklopol> umm yards are essentially meters aren't they
21:38:43 <ais523> actually, in practice people normally use square metres and square feet for things that aren't farmland
21:38:49 <ais523> and yes, people do use hectares all the time
21:38:53 <ais523> but that isn't an SI unit
21:38:57 <ais523> it has an invalid prefix
21:39:10 <ais523> because it isn't a power of 1000
21:39:11 <oklopol> "<oklopol> umm yards are essentially meters aren't they" "<CakeProphet> ...not really." "<CakeProphet> they're similar in length though." <<< am i missing something?
21:39:41 <olsner> oklopol: *essentially* they are completely different, but they accidentally ended up similarly lengthed
21:39:46 <ais523> 1m ~= 39 in, 3 feet = 36 in
21:40:05 <elliott> my solution to metric-other conversion is
21:40:08 <ais523> I'm not sure how accurate the 39-inches comparison is, but it's more accurate than most of the others I know
21:40:08 <elliott> don't talk to people who use other
21:40:15 <elliott> i still use miles for long distances though
21:40:19 <oklopol> oh what olsner said i guess. i guess i have my own usage of terms like essentially.
21:40:31 <CakeProphet> elliott: I am quite fine with converting my units to your scales for the purposes of communication.
21:40:35 <ais523> I don't really measure long distances well at all
21:40:37 <EgoBot> There is already an interpreter for sanetemp!
21:40:38 <elliott> CakeProphet: same reason I don't talk to German people by tediously using a phrasebook
21:40:45 <EgoBot> Interpreter sanetemp deleted.
21:40:48 <EgoBot> Interpreter sanetemp installed.
21:41:23 <elliott> 08:16:56: <coppro> <House> Fear me, I have killed hundreds of Time Lords.
21:41:23 <elliott> 08:17:08: <coppro> <The Doctor> Fear me, I killed all of them.
21:41:23 <elliott> 08:17:16: <Phantom_Hoover> Which house?
21:42:13 <elliott> 08:19:48: <Phantom_Hoover> pikhq, by 'corny' you mean 'terrible', of course.
21:42:13 <elliott> Phantom_Hoover: Eh, the series was alright with him.
21:42:22 <elliott> I mean yeah he was a bad writer but not so bad as to be intolerable.
21:42:28 <Phantom_Hoover> You realise I live at the same latitude as the Hudson Bay, right?
21:42:51 <CakeProphet> Fahrenheit actually makes some intuitive sense for outdoor temperatures. 0 = really fucking cold 100 = really fucking hot
21:43:27 <CakeProphet> 70 = comfortable room temperature for most people
21:43:51 <oklopol> you do realize 70 is not really even a number
21:43:52 <CakeProphet> there was no comparison to Celsius made, in fact.
21:44:03 <elliott> someone got a link to that anti-metrician site
21:44:20 <oklopol> CakeProphet: i really have no answer
21:44:24 <oklopol> but i stand by what i said
21:45:02 <CakeProphet> though some people are wimps who live in AC all day and prefer 65 to 70
21:45:43 <oklopol> i don't actually even know what this AC thing is
21:45:49 <oklopol> i wonder if we have those in finland
21:46:07 <oklopol> or what it's an acronym for i mean
21:46:10 <oklopol> i just don't know what that is
21:46:12 <CakeProphet> Phantom_Hoover: yep. that's what 65 is in Fahrenheit
21:46:27 <Phantom_Hoover> Although when the heating is off my breath has fogged indoors in May.
21:46:42 <CakeProphet> it kind of works like a fucked up school grade. from 0 to 100
21:47:29 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/hw9zx/what_happens_to_computer_files_when_you_delete/
21:48:18 <CakeProphet> some typical winter temperatures in the south US.
21:48:38 -!- oklofok has joined.
21:49:08 <Phantom_Hoover> CakeProphet, FWIW, we were significantly incapacitated by about 20cm of snow this winter.
21:49:19 -!- oklopol has quit.
21:49:50 <CakeProphet> 2 inches of snow in Georgia = oh my god everyone shut down everything
21:50:19 <oklofok> suddenly, mirc pops up a window saying i need to register it. so i had to open the program a few times to get it to accidentally have a continue button instead of an exit button.
21:50:48 <EgoBot> Interpreter sanetemp deleted.
21:50:58 <oerjan> !addinterp sanetemp sh dc -e "1k?32-5*9/p"
21:50:58 <EgoBot> Interpreter sanetemp installed.
21:51:11 <oklofok> so you're removing interpreters but not bans?
21:51:28 * oerjan couldn't bear seeing an approximate number printed as an integer
21:52:01 <oerjan> also yes, the number of interpreters has got a bit large
21:52:06 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot26 rot47 rot52 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ucat
21:52:17 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b
21:52:19 <oerjan> it's cut off again, there are more
21:52:49 <oerjan> Gregor: any suggestions for the too many userinterps problem?
21:53:10 <twice11> And rot52 at the same time?
21:53:13 <CakeProphet> all of the rots except 13 and 47 are cats.
21:53:22 <EgoBot> Interpreter rot26 deleted.
21:53:25 <EgoBot> Interpreter rot52 deleted.
21:53:33 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ucat valspeak war
21:53:52 <oerjan> i already removed a bunch before
21:53:56 <EgoBot> unlambda ``cd``d`@|`cd
21:54:01 <EgoBot> Interpreter ucat deleted.
21:54:35 <oerjan> someone has readded those i removed
21:54:53 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
21:55:05 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
21:55:20 <CakeProphet> !addinterp ustemp haskell printLn . (+32) . ((9/5)*) . read =<< getLine
21:55:20 <EgoBot> Interpreter ustemp installed.
21:55:23 <Phantom_Hoover> <CakeProphet> 2 inches of snow in Georgia = oh my god everyone shut down everything
21:55:46 * oerjan goes hunting for the culprit
21:55:54 <Phantom_Hoover> Have I pointed that this is two inches of snow at the same latitude that polar bears live at.
21:56:17 <CakeProphet> ..huh, well obviously I fucked something up.
21:56:49 <EgoBot> Interpreter ustemp deleted.
21:57:04 <CakeProphet> !addinterp ustemp haskell (printLn . (+32) . ((9/5)*) . read) =<< getLine
21:57:05 <EgoBot> Interpreter ustemp installed.
21:57:17 <Phantom_Hoover> Also you cannot compete with that dc code don't even try.
21:57:36 <CakeProphet> Phantom_Hoover: not trying to, just unrustifying myself with Haskell, poorly. :P
21:57:59 <Sgeo> My dad is under the impression that people will sneak drugs into you at raves
21:58:14 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
21:58:17 <Sgeo> Phantom_Hoover, I guess
21:58:23 <Phantom_Hoover> I'm really hoping he actually thinks they sneak them into you.
21:59:20 <Sgeo> I told him about a party I want to go to, but it's from 11pm-4am. He claims it's a drug party, and to look up "raves". I say that I'm fully capable of not taking drugs, he says they'll get drugs into you
21:59:34 <EgoBot> Interpreter ustemp deleted.
21:59:38 <twice11> print already outputs a line feed. No need for printLn
21:59:41 <CakeProphet> !addinterp ustemp haskell (print . (+32) . ((9/5)*) . read) =<< getLine
21:59:42 <EgoBot> Interpreter ustemp installed.
21:59:54 <ais523> Sgeo: drinks being spiked is actually relatively common, although you can avoid it by paying attention
22:00:10 <elliott> ais523: have you ever been to a rave
22:00:15 <oklofok> Sgeo: tell him it's your body and you can use as much heroin as you like if it makes you happy
22:00:28 <CakeProphet> I've never heard of drink spiking at raves
22:00:28 <ais523> elliott: I don't think so
22:00:31 <oklofok> yeah pour liters of water in there
22:00:39 <elliott> ais523: damn, i was hoping i would be surprised
22:00:40 <Phantom_Hoover> oklofok, given that Sgeo's dad houses him and pays for his 'education'...
22:00:42 <ais523> I was once in a nightclub by mistake
22:00:45 <CakeProphet> but me nor any of my friends that have gone have never had that happen.
22:00:52 <ais523> what happened was, I was trying to watch election results
22:00:58 <CakeProphet> drugs are expensive. It would be a waste to use them on a random stranger.
22:01:01 <ais523> and the room I was in was being converted into a nightclub while the results were on
22:01:01 <elliott> Phantom_Hoover: I don't need education, I have drugs!
22:01:07 <elliott> ais523: are you sure that wasn't a dream
22:01:13 <ais523> no, it was quite ridiculous
22:01:16 <elliott> `addquote [on spiking] <CakeProphet> drugs are expensive. It would be a waste to use them on a random stranger.
22:01:17 <HackEgo> 452) [on spiking] <CakeProphet> drugs are expensive. It would be a waste to use them on a random stranger.
22:01:20 <ais523> especially as it meant we got in without paying the entry fee
22:01:30 <ais523> it was inevitable, thinking about it
22:01:36 <oerjan> CakeProphet: if you accepted DCC CHAT from EgoBot you would actually get error messages for your haskell, you know
22:01:37 <elliott> CakeProphet: I actually quite line that line
22:01:44 <ais523> because the room in question is one used by different people in the same organisation for a range of purposes
22:01:53 <CakeProphet> oerjan: ah. see I'd have to alt+1 to see that.
22:02:01 <ais523> and one of them had told us to use it for the election results without thinking about the other set of people using it as a nightclub once a week
22:02:01 <oklofok> Phantom_Hoover: he should just go to a free university and live off the money the government pays him every month for like 7 years.
22:02:06 <Phantom_Hoover> I do not believe ais523 would be allowed near a nightclub.
22:02:14 <elliott> CakeProphet: On a forum I'm on, someone once responded to a (well-known) idiot saying that dealers were, like, the most scary dangerous people on EARTH by saying that killing your customers is bad for business :)
22:02:21 <elliott> Phantom_Hoover: He's too young.
22:02:24 <ais523> Phantom_Hoover: I'd have to explicitly go and take my passport with me to have any sort of ID
22:02:42 <CakeProphet> dealers come in all kinds of varieties, of course.
22:02:54 <ais523> apart from my university ID card, which used to get into pubs on occasion even though it isn't really valid ID
22:03:09 <ais523> although admittedly the typo is funnier
22:03:12 <elliott> if we had an underage Queen, technically she could get into any nightclub she wanted
22:03:24 <elliott> after all, all passports are issued by her authority
22:03:34 <ais523> (I don't actually drink anything in pubs, I just go there to order food, and confuse the bar staff when I don't order any drink to go with it)
22:03:45 <Phantom_Hoover> This could quite easily become the most awesome experiment ever conducted.
22:03:55 <Sgeo> ais523, not even water?
22:04:05 <elliott> CakeProphet: Having fun deifying your political classes?
22:04:13 <ais523> Sgeo: it's much cheaper to drink water when I get home
22:04:19 <elliott> CakeProphet: I can't tell you how much I prefer idolising the royal family over idolising Sarah fucking Palin.
22:04:29 <elliott> The amount would simply not fit into the universe.
22:04:36 <CakeProphet> as far as I know most logical people hate Sarah Palin.
22:04:45 <elliott> Congratulations, you missed the point entirely.
22:04:46 <Phantom_Hoover> CakeProphet, see also the US attitude towards patriotism and its foundation.
22:05:26 <Phantom_Hoover> You'd think you were founded by a race of demigods who descended from the heavens to fight off the moustache-twiddlingly evil British and reclaim their rightful land.
22:05:28 <elliott> Nobody with enough of a brain gives a shit about Sarah Palin or the royal family or anything, but patriotism will always exist and it needs someone to be all hyped up about, and a powerless monarchy is a better target than a dangerous idiot.
22:05:36 <CakeProphet> though, it's not a good rebuttal to what I said. I was simply commenting on the strageness of a modern nation having a queen.
22:06:02 <CakeProphet> I wasn't saying that you idolize her... at all.
22:06:02 <Phantom_Hoover> elliott, France and Germany don't seem to have too bad a time of it.
22:06:06 <elliott> CakeProphet: You realise the Commonwealth is pretty big right?
22:06:27 <elliott> Phantom_Hoover: Yeah, but do you want to risk it? Heard of Berlusconi/
22:06:29 <oklofok> elliott: that's a rationalization tho, can't we laugh at you having a queen because you actually have it for retarded reasons?
22:06:48 <elliott> oklofok: it's not a rationalisation so much as a reason to keep a now-useless remnant
22:06:50 <oerjan> <ais523> Sgeo: it's much cheaper to drink water when I get home <-- huh. in norway it's established that establishments cannot take more than a token payment for tapwater.
22:07:02 <Phantom_Hoover> elliott, you're reducing vastly complex social factors into an extremely simplistic view.
22:07:05 <elliott> oerjan: Yes but you're communists.
22:07:10 <elliott> Phantom_Hoover: Welcome to IRC.
22:07:18 <oklofok> elliott: are you sure that's one of the actual reasons you keep it?
22:07:22 <elliott> It's about four times more verbose than Twitter.
22:07:31 <CakeProphet> water is pretty much universally free at establishments in the states.
22:07:36 <elliott> oklofok: you're acting like I have the power to individually abolish the monarchy
22:07:42 <elliott> I'm expressing my personal opinion
22:07:42 <ais523> oklofok: major practical advantage of having a Queen: it means that we have someone we can send abroad for state visits to shake hands without having to take the Prime Minister away from the actual job of governing
22:07:54 <Phantom_Hoover> elliott, your argument is completely flawed as a result, though.
22:08:02 <elliott> ais523: I dunno, I think I'd prefer an excuse to take the PRime Minister away from governing
22:08:05 <ais523> most Universities have a Chancellor for the same reason, while the Vice-Chancellor does all the actual work
22:08:14 <ais523> elliott: I'm talking in general
22:08:15 <elliott> Phantom_Hoover: maybe if this wasn't IRC I'd actually bother fleshing out my argument rather than stating it off-hand as part of banter
22:08:20 <Phantom_Hoover> I mean, people in the UK are not as patriotic as those in the US; it's not a fixed thing/
22:08:21 <ais523> or do you dislike prime ministers in general?
22:08:23 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:08:29 <Sgeo> Agora needs someone who can shake online hands.
22:08:42 <elliott> while Sgeo does all the work of protecting it from invasion?
22:09:11 <oklofok> elliott: i called it a rationalization because i thought it was a personal opinion. then you said it's a reason so i figured maybe that's somehow explicitly stated in secret government files you read every day.
22:09:30 <oklofok> YOU KNOW FROM WIKILEAKS OR SOMETHING
22:09:30 <elliott> oklofok: nah, I'm not saying why I think we have a queen
22:09:40 <elliott> I'm saying why I don't particularly think getting rid of the queen is something to bother doing
22:09:46 <elliott> not that it would ever happen, anyway
22:09:55 <elliott> oklofok: wikileaks? lol hello i am the prime minister
22:10:19 <CakeProphet> Phantom_Hoover: depends on the person of course. Most of my personal friends are very disappointed with American government, and the few UKers that I've met have been oddly patriotic.
22:10:24 <oerjan> <CakeProphet> wait, you have to pay for water? <-- not in practice.
22:10:35 <elliott> CakeProphet: How many national treasures does the US have ;D
22:10:52 <oklofok> elliott: oh that would explain why you're so stupid hahahahahahahaha
22:11:04 <elliott> CakeProphet: I don't think you know what national treasure (is used to) mean(s)
22:11:15 <olsner> oerjan: you don't have places that resell bottled tapwater? we do
22:11:38 <CakeProphet> elliott: No I do, but there are also these shitty films you see....
22:11:43 <Phantom_Hoover> CakeProphet, well, it's rare that you see any prominent figures in the UK calling us the "greatest nation on Earth".
22:12:38 <CakeProphet> Phantom_Hoover: there's quite a large current of disatisfaction with the US government in the states. Of course, it doesn't show as much in the political sphere. 18:02 < CakeProphet> elliott: haha. nice.
22:12:42 <CakeProphet> 18:02 < CakeProphet> dealers come in all kinds of varieties, of course.
22:12:45 <CakeProphet> 18:02 < ais523> apart from my university ID card, which used to get into pubs on occasion even though it isn't really valid ID
22:12:54 <ais523> CakeProphet: it was a typo
22:12:56 <pikhq> "Large current" is understating it.
22:13:00 <ais523> which I corrected on the next line
22:13:04 <ais523> although admittedly it's a funny typo
22:13:14 <oklofok> yeah three lines of spam is a hilarious typo
22:13:51 <elliott> ais523: your university id card is the life of the party man
22:14:23 <oerjan> <olsner> oerjan: you don't have places that resell bottled tapwater? we do <-- of course we do, you don't have to buy it though
22:14:32 <olsner> a restaurant in my town have *their own brand* of bottled water that is "here-bottled", i.e. they fill it from the tap before they give it to you... and it costs at least as much as brand-name water imported from the other end of europe would've costed
22:14:59 <olsner> tap water in a glass is "not part of their concept" (quote is actual quote)
22:15:41 <oklofok> i'm speechless, he said out loud.
22:16:28 <elliott> not part of their concept :D
22:17:54 <ais523> CakeProphet: UK "gas" = the state of matter after it's been vaporised, US "gasoline" = UK "petrol"
22:17:58 <ais523> I'm not quite sure what the question means
22:18:04 <oklofok> but that's probably a realistic guess compared to what others will say
22:18:17 <CakeProphet> ais523: what is the price of "petrol" in various parts of the UK.
22:18:28 <ais523> oh, about £1.30 per litre at the moment
22:18:53 <elliott> I like how Americans complain about the price of petrol so much
22:18:55 <ais523> <Google> (UK£ 1.30) per litre = 7.99225346 U.S. dollars per US gallon
22:18:56 <elliott> when it's more expensive everywhere else
22:19:23 <elliott> http://www.eia.gov/oil_gas/petroleum/data_publications/wrgp/mogas_home_page.html
22:19:23 <oklofok> what would you ever need petrol for
22:19:27 <Phantom_Hoover> http://www.datadev.com/degausser-hard-drive-data-security-erase-v6000-conveyor.html
22:19:28 <elliott> it's a whole THREE DOLLARS PER GALLON in the US zomg
22:19:32 <oklofok> newsflash: it doesn't actually taste that good
22:19:35 <pikhq> elliott: Americans also have 20 mile one-way commutes.
22:19:40 <elliott> `addquote <oklofok> what would you ever need petrol for <oklofok> newsflash: it doesn't actually taste that good
22:19:41 <HackEgo> 453) <oklofok> what would you ever need petrol for <oklofok> newsflash: it doesn't actually taste that good
22:19:43 <CakeProphet> the price of gas where I live is $3.50 per gallon.
22:19:45 <ais523> oklofok: it's actually poisonous, so I advise against drinking it
22:20:01 <ais523> let's call it $8 per gallon in the UK, because my originally stated price was approximate anyway
22:20:05 <Phantom_Hoover> ais523, also contains benzene, my carcinogen of choice.
22:20:26 <CakeProphet> though I believe in some parts of the states it goes over $4 per gallon. -gasp- WHICH IS OUTRAGEOUS.
22:20:32 <elliott> `addquote [on petrol] <ais523> oklofok: it's actually poisonous, so I advise against drinking it <Phantom_Hoover> ais523, also contains benzene, my carcinogen of choice.
22:20:33 <HackEgo> 454) [on petrol] <ais523> oklofok: it's actually poisonous, so I advise against drinking it <Phantom_Hoover> ais523, also contains benzene, my carcinogen of choice.
22:20:38 <oklofok> "<pikhq> elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs?
22:20:40 <elliott> CakeProphet: In CALIFURNIA
22:20:45 <olsner> "<oklofok> hmm, so this is fuel? will it also fuel me perhaps?"
22:20:47 <pikhq> oklofok: "20 miles, one way".
22:20:47 <elliott> `addquote <oklofok> "<pikhq> elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs?
22:20:48 <HackEgo> 455) <oklofok> "<pikhq> elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs?
22:20:54 <HackEgo> 239) * pikhq sticks several thousand kg m^2/A s^3 through elliot <elliott> pikhq: I'm underage!
22:20:55 <HackEgo> 251) <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly.
22:20:56 <HackEgo> 224) <Phantom_Hoover> [...] I'm just widening the shaft to be 4x2 or so.
22:20:57 <HackEgo> 260) <elliott> clue is a language for beauty, not usefulness <elliott> or ability to run at all <oklopol> ability to run at all is not even close to a design goal, no
22:20:58 <HackEgo> 336) <fungot> Phantom_Hoover: if the list is in random order, like poor ehird here
22:20:58 <olsner> but I guess oklofoks are *not* in fact petrol driven
22:20:58 <ais523> this is a good day for `addquote
22:21:10 <elliott> ais523: what a fine day to add quotes indeed.
22:21:18 <pikhq> Also, public transit is not really an option outside of most of New York City.
22:21:26 <elliott> We need like ten quotes about petrol, at LEAST.
22:21:34 <ais523> I didn't even notice 336 was fungot at first
22:21:41 <ais523> it would have been plausible from many other memvers of the channel
22:21:47 <HackEgo> 131) <fungot> alise: why internet is like wtf
22:21:57 <elliott> I always imagine a badly-made robot prop saying that in a robot voice.
22:21:59 <pikhq> Phantom_Hoover: That's, uh, a volt in SI base units.
22:22:03 <elliott> It is just so confused as to why internet is like wtf.
22:22:07 <olsner> hmm, are those markov chain quotes?
22:22:10 <ais523> pikhq: I was trying to decode it in my head
22:22:15 <elliott> olsner: do you... not know of fungot
22:22:33 <ais523> olsner: they're markov chain quotes generated by a bot written in Funge-98
22:22:36 <ais523> which isn't here right now
22:22:38 <elliott> olsner: http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
22:22:42 <elliott> ais523: it's not actually markov, IIRC
22:22:43 <HackEgo> 349) <ais523> elliott: hey, thinking's easier than using the Internet
22:22:45 <elliott> It's a different kind of chain thing
22:22:51 <HackEgo> 33) <ehird> pikhq: A lunar nation is totally pointless. <fungebob> ehird: consider low-gravity porn <ehird> fungebob: OK. Now I'm convinced. \ 63) <Warrigal> Porn. <Warrigal> There, see? \ 77) <coppro> SF.net porn :/ <ehird> Oh yeah, baby, gimme that... bloated download page? \ 132) <DoctorDog> I am an inherently pornographic
22:23:05 <olsner> elliott: I know it's a bot and I've seen it speak, and you've probably told me before what it was
22:23:12 <HackEgo> 132) <DoctorDog> I am an inherently pornographic being.
22:23:13 <HackEgo> 135) <alise> like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English <ais523> alise: that's great filler <alise> ais523: well it contains all the important words in the english language...
22:23:30 <ais523> best quote about anything
22:23:40 <HackEgo> 104) <dtsund> For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. \ 413) <ZOMGMODULES> I can trust elliott_ to have an opinion on anything and everything <elliott_> Yes. <elliott_> And the best thing is:
22:23:54 <HackEgo> 413) <ZOMGMODULES> I can trust elliott_ to have an opinion on anything and everything <elliott_> Yes. <elliott_> And the best thing is: it is the correct opinion.
22:23:54 <ais523> it's always the /right/ opinion
22:23:55 <elliott> a very important quote number
22:24:02 <ais523> bleh, misquoted slightly
22:24:26 <HackEgo> 149) <Mathnerd314> Gregor-P: I don't think lambda calculus is powerful enough \ 190) <fizzie> It's like mathematicians, where the next step up from "trivial" is "open research question". <fizzie> "Nope... No...This problem can't be done AT ALL. This one--maybe, but only with two yaks and a sherpa. ..."
22:24:29 <elliott> Phantom_Hoover: I'll fix delquote soon and everything will reorder.
22:24:35 <elliott> I should modify the quote system to remember IDs really.
22:24:42 <elliott> Phantom_Hoover: No, we've just recently entered the four-hundreds.
22:25:08 <EgoBot> Interpreter b1ff deleted.
22:25:30 <oklofok> maybe if i bought more petrol we'd get over 800 sooner. you know, because then i could be on fire all the time.
22:25:32 <EgoBot> Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ustemp valspeak warez
22:25:41 <EgoBot> perl $_=<>;print `$_`
22:25:49 <EgoBot> Interpreter sh__ deleted.
22:25:56 <elliott> !aol THE FACT THAT I WILL BE HELPFUL IS AN IMMUTABLE FACT THAT I AM STATING FOR THE RECORD
22:25:56 <EgoBot> THE FACT THAT I WILL BE HELPFUL IS AN 1MMUTABLE FACT THAT I AM 5TAT1NG FOR THE RECORD
22:25:59 <olsner> !swedish flarglblalrdk
22:26:16 <oklofok> egoegoegoegoegoegoegoegoegoegoegoegoegoego
22:26:23 <oklofok> okokokokokokokokokokokokokokokokokokokokokokokokokokokokokoko
22:26:24 <CakeProphet> oerjan: but you just deleted our most powerful sh command!
22:26:45 <elliott> this is a good day on esoteric
22:26:52 <oerjan> CakeProphet: this is more powerful than plain !sh how?
22:26:55 <HackEgo> 247) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi \ 302) <oerjan> <Gregor> oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think <Gregor> oerjan: What - the - fuck \ 326)
22:26:57 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16753
22:27:00 <CakeProphet> oerjan: because it's written in Perl, of course.
22:27:13 <oklofok> "<HackEgo> 247) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi" <<< best ever, maybe
22:27:45 <HackEgo> 37) <oklopol> i can get an erection out of a plank, you can quote me on that. \ 95) [Warrigal] `addquote <Dylan> hahaha, Lawlabee is running windows <Lawlabee> 'cuz it's pretty awesome. [Lawlabee] Warrigal: :( \ 97) Note that quote number 124 is not actually true. \ 109) <ais523> let's put that in the HackEgo quotes files,
22:28:00 <EgoBot> perl $_=<>;tr/!-~/P-~!-O/;print
22:28:11 <HackEgo> 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 6) <Quas_NaArt> His body should be given to science. <GKennethR> He's alive :P <GreenReaper> Even so. \ 11) <Lil`Cube> wouldn't that be considered pedophilia? <Quas_NaArt>
22:28:18 <olsner> why does hackego do the weird invisible character thing? link recognition fails :/
22:28:29 <elliott> olsner: because Gregor is bad and horrible
22:28:30 <HackEgo> 33) <ehird> pikhq: A lunar nation is totally pointless. <fungebob> ehird: consider low-gravity porn <ehird> fungebob: OK. Now I'm convinced. \ 249) <fizzie> The Perl script is probably slower than the Befunge code. \ 271) <elliott> in retrospect that wasn't even necessary, as communal readings of the Funge-98 spec do just a
22:28:35 <Gregor> olsner: Shut your link-recognition whore mouth!
22:28:36 <CakeProphet> woah, a bf rot13 sounds insanely complicated.
22:28:38 <elliott> and hates botloops even more than he hates not being terrible
22:28:45 <HackEgo> 124) <Gregor> Well yeah, but furthermore unlike, oh, say, an Apple product, you don't have to sign their "we own your sperm" license agreement to GET that SDK and the requisite libraries. ... <Gregor> pikhq: Sure, but it's the only way Apple could get a first-born-son clause into a modern licensing agreement without infringing
22:28:46 <ais523> CakeProphet: it's not massively bad
22:29:02 <ais523> the hard part is working less-than and greater-than operators
22:29:15 <olsner> elliott: hmm, who's running Gregor? can we patch it?
22:29:21 <elliott> CakeProphet: http://www.hevanet.com/cristofd/brainfuck/rot13.b is a ... longer version than
22:29:24 <elliott> theres an anagolf one of it
22:29:24 <CakeProphet> ais523: ah, yeah nevermind. For some reason I was thinking you had to load the entire string into memory at once. That is silly.
22:29:26 <oklofok> i don't particularly like apples
22:29:34 <elliott> olsner: EgoBot is running Gregor
22:29:41 <oklofok> they have that thing inside them that tastes like meh
22:29:53 <ais523> CakeProphet: even if you did, it still wouldn't make a significant difference
22:30:00 <oklofok> pears also have shit inside them
22:30:01 <ais523> loading one string into memory is one of the few things that BF is actually very good at
22:30:05 <CakeProphet> oerjan: it's like rot13 but with numbers and symbols too.
22:30:18 <oklofok> the taste of the good part is of secondary importance
22:30:30 <ais523> oklofok: you can eat just the good part and throw the rest away
22:30:30 <oerjan> <olsner> why does hackego do the weird invisible character thing? link recognition fails :/ <-- why would a prefixed character prevent link recognition?
22:30:38 <HackEgo> 407) <cpressey> `quote django <HackEgo> 352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something <cpressey> thankfully only one \ 408) <monqy> `quote django <HackEgo> 352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something \ 407)
22:30:40 <elliott> oerjan: because its part of the same word
22:30:43 <elliott> oerjan: consider abchttp://google.com/
22:30:52 <oklofok> "<ais523> oklofok: you can eat just the good part and throw the rest away" <<< if i could *first* throw the rest away and then eat, it'd be okay
22:30:54 <elliott> except that's actually a valid abchttp link, but whatever
22:31:02 <CakeProphet> django is named after AN EXCELLENT JAZZ GUITARIST.
22:31:04 <ais523> oklofok: there's a tool called a corer
22:31:13 <elliott> ais523: i think he means the actual apple
22:31:16 <ais523> if you combine that with cutting away obvious bruises, you should be OK
22:31:18 <elliott> that was the oklopol way of interpreting it
22:31:22 <Gregor> X-Chat doesn't know that zero-width space is a whitespace character.
22:31:38 <HackEgo> 352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something \ 407) <cpressey> `quote django <HackEgo> 352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something <cpressey> thankfully only one \ 408) <monqy> `quote django <HackEgo> 352)
22:31:39 <elliott> I swear not to botloop if you remove it :P
22:31:46 <olsner> maybe (probably) xchat does not know all the unicodes
22:32:08 <oklofok> otherwise, while eating, i'll keep thinking "well this is good, but AT WHAT COST", you know, because i have to dispose of the insides after eating, have to keep track of nearest trashcan etc.
22:32:18 <Sgeo> How long will it take me to reread hivebent?
22:32:20 <elliott> ais523: oklofok just likes the skin, you see
22:32:31 <elliott> Sgeo: 0 seconds, but you won't be able to name a single event or character
22:32:37 <elliott> perfect optimised skimming
22:32:42 <olsner> oklofok: this is why fruiteaters are inferior
22:32:43 <ais523> oklofok: you don't have a trashcan in your kitchen?
22:32:48 <oklofok> "<ais523> oklofok: there's a tool called a corer" <<< that doesn't remove all of it usually
22:32:52 <ais523> or do you not eat apples there
22:33:07 <oklofok> "<elliott> ais523: i think he means the actual apple" <<< no, one of oklopol's things is hating complicated food.
22:33:09 <EgoBot> Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc wc
22:33:15 <EgoBot> sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts
22:33:27 <elliott> oklofok: do you like baby food
22:33:40 <ais523> oerjan: did you just refer to yourself in the third person using a different nick from your current one?
22:33:43 <EgoBot> Interpreter wc2 deleted.
22:33:44 <oerjan> Gregor: that list is too damn crowded
22:33:47 <oklofok> "<ais523> oklofok: you don't have a trashcan in your kitchen?" <<< yes but i don't have to keep making sure it's still there while eating
22:33:58 <elliott> !wc http://www.google.com/
22:34:02 <elliott> !wc -c http://www.google.com/
22:34:11 <ais523> and do you live in an environemnt where people might plausibly steal your trashcan while eating?
22:34:14 <EgoBot> sh read p; if [ "x$p" = "x" ]; then p=5; fi; echo "scale=$p; a(1)*4;" | BC_LINE_LENGTH=490 bc -l | tr -d '\\'
22:34:16 <elliott> ok the -c stops it loading it
22:34:21 <oklofok> "<elliott> oklofok: do you like baby food" <<< comes in a glass jar, not particularly nice
22:34:22 <EgoBot> what is this I wonduh
22:34:35 <ais523> elliott: to be fair, I did catch that second misping before pressing return but it was too funny to correct
22:34:36 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26884
22:34:44 <elliott> Gregor: ur supa kawaii ^________^
22:34:50 <oklofok> "<ais523> oerjan: did you just refer to yourself in the third person using a different nick from your current one?" <<< did you just refer to me using a different nick from any of my nicks?
22:35:08 <ais523> elliott: heh, kawaii is one of the few Japanese words I actually know the meaning of
22:35:12 <ais523> although I can't spell it
22:35:17 <elliott> Phantom_Hoover: k i will because i am nice
22:35:21 <CakeProphet> I wonder if fudd is a better elmer than elmer.
22:35:30 <elliott> ais523: i was using it ironically :(
22:35:34 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/delquote
22:35:52 <oklofok> yeah actually me and oerjan are the same guy
22:35:59 <ais523> elliott: well of course, you aren't an anime-loving cosplaying teenage girl
22:36:04 <elliott> ais523: OR AM I?????????????????
22:36:06 <ais523> and I don't think anyone else uses it non-ironically
22:36:21 <elliott> hmm, shell is really confusing
22:36:36 <elliott> `run id=999; echo $((id-9))
22:36:51 <ais523> is it implying a sigil there?
22:36:57 <elliott> ais523: yeah, bash math mode is weird
22:36:58 <oklofok> ais523: outside japan or inside it either?
22:37:06 <olsner> ais523: japanese people calling stuff 'cute' might use it non-ironically a lot though
22:37:07 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.14184
22:37:12 <Phantom_Hoover> <ais523> elliott: well of course, you aren't an anime-loving cosplaying teenage girl
22:37:40 <oklofok> ais523: afaiu, japanese people love cutesy things, why wouldn't they have a serious word for them?
22:37:41 <elliott> `run sh -x bin/delquote 444 2>&1
22:37:42 <HackEgo> + id=444 \ + expr 444 + 0 \ + head -n 443 quotes \ + tail -n +445 quotes \ + diff quotes quotes.new \ + mv quotes.new quotes \ + echo '*poof*' \ *poof*
22:37:49 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
22:37:50 <ais523> oklofok: it's a great word
22:37:57 <elliott> `run sh -x bin/delquote 445 2>&1
22:37:58 <HackEgo> + id=445 \ + expr 445 + 0 \ + head -n 444 quotes \ + tail -n +446 quotes \ + diff quotes quotes.new \ + mv quotes.new quotes \ + echo '*poof*' \ *poof*
22:38:00 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
22:38:01 <CakeProphet> elliott: yeah the sigil is implied in expr/$(())
22:38:10 <olsner> oklofok: if everything is already cute, why would you need a word for it?
22:38:19 <elliott> stop takling guys im doing serious software engineering
22:38:21 <ais523> oklofok: I mean, it's so much better than the rough English translations
22:38:30 <oklofok> ais523: so why would you only use it ironically
22:38:36 <oerjan> <elliott> oerjan: are you oklofok <-- not afaik
22:38:49 <ais523> because the meaning is one that most people wouldn't generally want to use
22:38:55 <elliott> `fetch http://sprunge.us/XWbR
22:38:57 <HackEgo> 2011-06-10 22:38:56 URL:http://sprunge.us/XWbR [214] -> "XWbR" [1]
22:39:00 <olsner> elliott: lol, "engineering" software are you?
22:39:01 <oklofok> argh, there's too much noise here, when i finally manage to answer, people have already spammed like 50 lines
22:39:07 <oklofok> whoops, meant to say that as oerjan.
22:39:22 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes.new
22:39:30 <ais523> whoops, I just accidentally deleted all my email
22:39:30 <elliott> ok so it just does nothing
22:39:34 <ais523> good thing the undelete is working properly
22:39:42 <elliott> is the mail server running on dos
22:40:00 <oklofok> "<ais523> because the meaning is one that most people wouldn't generally want to use" <<< oh well i don't know what it means past "cute"
22:40:01 <elliott> <zzo38> Learn to be Chinese and kill yourself
22:40:01 <elliott> this quote always unnerves me
22:40:09 <elliott> i find it hard to come up with reasons that zzo wouldn't flip out and become a serial killer :/
22:40:15 <elliott> but then the same applies to all of you
22:40:25 <olsner> hmm, you're assuming he hasn't already?
22:40:40 <oklofok> i would never flip out and become a serial killer, but it might be a very interesting career choice otherwise
22:40:49 <elliott> `fetch http://sprunge.us/FTCd
22:40:50 <HackEgo> 2011-06-10 22:40:50 URL:http://sprunge.us/FTCd [214] -> "FTCd" [1]
22:41:03 <olsner> oklofok: the first and second part of that sentence don't seem to agree completely
22:41:12 <oklofok> olsner: i mean "flipping out" is just gay
22:41:25 <CakeProphet> oerjan: the sudden profusion of userinterps is my doing.
22:41:27 <elliott> `fetch http://sprunge.us/VASY
22:41:27 <EgoBot> perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(?<!f)or\b/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
22:41:29 <HackEgo> 2011-06-10 22:41:28 URL:http://sprunge.us/VASY [215] -> "VASY" [1]
22:41:43 <oklofok> if i became a serial killer, it'd be because i want to kill people, not because i'm crazy
22:41:50 <elliott> `run head -n 450 quotes | paste
22:41:52 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15924
22:41:54 <oerjan> CakeProphet: it's a problem when we cannot list them all...
22:41:59 <elliott> im going to add <oklofok> if i became a serial killer, it'd be because i want to kill people, not because i'm crazy
22:42:05 -!- kovacs has joined.
22:42:06 <olsner> right, becoming a serial killer doesn't imply that you've flipped out or even changed in personality
22:42:13 <olsner> just that you've started killing people
22:42:27 <oklofok> saying anything else is just ignorant
22:42:33 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote
22:42:46 <oerjan> well that wasn't the right flag
22:42:58 <elliott> `run head -n $((455-1)) quotes >quotes.new
22:43:01 <oklofok> killing people is a natural thing, which we refrain from because it's so much better than the alternative in the long run.
22:43:13 <elliott> `run head -n $((9-1)) quotes >quotes.new
22:43:21 <elliott> gah how does that work but not
22:43:27 <olsner> elliott: $((455-1)), aka 454?
22:43:34 <elliott> olsner: stfu im trying to dianogse the bug
22:43:37 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes
22:43:46 <Gregor> elliott: Maaaaaaaaaaaaybe you want to take this to PM :P
22:43:52 <elliott> Gregor: fuk u im an unpaid volunter
22:43:55 <CakeProphet> elliott: CONCENTRATE CONCENTRATE CONCENTRATE CONCENTRATE
22:43:56 <HackEgo> 453) <oklofok> "<pikhq> elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs?
22:44:04 <HackEgo> 453) <oklofok> "<pikhq> elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs?
22:44:08 <oklofok> Gregor: lol hello welcome to #esoteric
22:44:15 <elliott> `run head -n $((453-1)) quotes >quotes.new
22:44:21 <Gregor> elliott: Your `quote hours go directly into my GGGGC hours! By some convolution.
22:44:29 <CakeProphet> !perl print "elliott: " . "CONCENTRATE" x 30
22:44:29 <EgoBot> elliott: CONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATE
22:44:31 <elliott> `run head -n $((454-1)) quotes >quotes.new
22:45:01 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:45:11 <elliott> is it just the merging time
22:45:11 <Gregor> elliott concentrate, new from Crooked Tooth Farms
22:45:36 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag". \ 445) <elliott> This is [...] me saying "lol im a fag".
22:45:37 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag". \ 445) <elliott> This is [...] me saying "lol im a fag".
22:46:01 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
22:46:11 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
22:46:13 <olsner> `run echo CONCENTRATE | sed 's/.*/elliott: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/'
22:46:24 <elliott> olsner: seriously fucking stop
22:47:01 <olsner> elliott: it didn't even work ... what did the bot do to my &'s?
22:47:01 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag". \ 445) <elliott> This is [...] me saying "lol im a fag".
22:47:22 <oerjan> > var$"elliott: "++cycle"CONCENTRATE"
22:47:23 <lambdabot> elliott: CONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATE...
22:47:23 <HackEgo> 444) <elliott> This is [...] me saying "lol im a fag".
22:47:29 <elliott> oerjan: im going to rip your skull
22:47:43 <elliott> guys delquote worked all along happy holidays
22:48:05 <elliott> `addquote <oklofok> if i became a serial killer, it'd be because i want to kill people, not because i'm crazy
22:48:06 <HackEgo> 454) <oklofok> if i became a serial killer, it'd be because i want to kill people, not because i'm crazy
22:48:16 <elliott> <Phantom_Hoover> elliott, are you fixing delquote YOU BETTER BE
22:48:19 <elliott> fixed, in the past, by never breaking it
22:48:20 -!- kovacs has left.
22:48:21 <HackEgo> 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ tmpdir.15136 \ тэкст
22:48:28 <HackEgo> Ня ведаю, навошта, але няхай сабе будзе
22:48:31 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1234
22:48:42 <EgoBot> Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc yo
22:49:07 <Gregor> elliott: Apparently that says "I do not know why, but let it be" in Belarusian (wtf)
22:49:12 <elliott> Gregor: clearly we need it
22:49:14 <EgoBot> bf ,----------[++++++++++>,----------]<[.[-]<]
22:50:07 <oerjan> CakeProphet: i think it is something for symbolic computation, although i'm just using it because its Show instance prints the original string without quotes (and unlike text which i've seen used here before, works with infinite strings)
22:50:10 <CakeProphet> !sadbf ++++++++++++++++++++++++++++++++++.
22:50:19 <olsner> is this the channel where someone posted a link to the write-only memory datasheet?
22:50:19 <EgoBot> sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@<pl(2?=#Cp"1+:#Mm%+#Mm1,3255?=#Cp"1-:#Mm?<-#Mm10,3254-#Mm1?=#Cp"1>:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1
22:51:03 <HackEgo> 425) <GregorR> How to make a tasty deep-fried treat: 1) Buy ingredients: Large vat of boiling oil, dry ice and a small Filipino boy. 2) Place Filipino boy in dry ice until frozen solid. 3) Shatter now-frozen Filipino boy into boiling oil. 4) Wait fifteen minutes, drain and enjoy! <CakeProphet> I have the weirdest boner right now.
22:51:12 <EgoBot> (standard_in) 1: illegal character: H
22:51:19 <olsner> elliott: it wasn't? then I'll have to repost it for it is funny
22:51:29 <elliott> olsner: it might have been :P
22:51:40 <oerjan> <CakeProphet> !yo hello my good friends <-- that's probably !yodawg, which should be the last interpreter unless someone added one behind it
22:51:49 <elliott> [[And that was going to a type with less strict alignment rules. Increasing the requirement like this:
22:51:49 <elliott> Has three possible outcomes: i == 0, i == 42 or crash (unaligned 4-byte load).]]
22:52:07 <elliott> It's undefined behaviour, it has literally infinite possible outcomes because it isn't a program.
22:52:31 <CakeProphet> !postmodern_aoler I think it's important to focus our energy right now
22:52:31 <EgoBot> I TH1NK 1T"5 IMPORTANT 2 FOCU5 OUR ENERGY RIGHT NOW
22:52:58 <elliott> !postmodern_aoler Im a tarski jfk
22:53:46 <oerjan> <olsner> is this the channel where someone posted a link to the write-only memory datasheet? <-- i've seen write-only memory mentioned so possibly
22:54:11 <EgoBot> haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print
22:54:31 <EgoBot> Interpreter decisionengine deleted.
22:54:41 <CakeProphet> !addinterp haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print
22:54:42 <EgoBot> There is already an interpreter for haskell!
22:54:50 <CakeProphet> !addinterp decide haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print
22:54:51 <EgoBot> Interpreter decide installed.
22:54:52 <olsner> http://www.national.com/rap/Story/WOMorigin.html <-- here it is then
22:55:13 <olsner> new for everyone who hasn't, refresher course for everyone who has read it
22:55:22 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
22:55:35 <CakeProphet> !addinterp acro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
22:55:36 <EgoBot> Interpreter acro installed.
22:55:41 <EgoBot> Interpreter simpleacro deleted.
22:55:54 <elliott> YOU FUCKING RUINED SIMPLEACRO
22:55:58 <EgoBot> Interpreter acro deleted.
22:56:03 <elliott> !addinterp simpleacro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
22:56:04 <EgoBot> Interpreter simpleacro installed.
22:56:21 * oklofok wonders if proving something would be a nice addition to all this white noise
22:56:23 <elliott> <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
22:56:37 <CakeProphet> hey it's my program I can name it whatever I want. :P
22:56:46 <oerjan> elliott: wtf are you sabotaging our attempts at shortening the interpreter list?
22:56:51 <CakeProphet> if I shorten some of the names then we can have more interps displayed.
22:56:53 <elliott> oerjan: i value tradition, asshole.
22:56:57 <olsner> anyway, about bot loops: I think that if the bot sends messages to the channel in a special way, then other bots can see which messages were sent from other bots and ignore them
22:56:58 <oklofok> here's a fun little puzzle which you can solve yourselves
22:57:05 <EgoBot> Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg
22:57:08 <elliott> olsner: or they can just ignore messages with certain nicks
22:57:14 <oerjan> CakeProphet: oh well they all fit now. i think.
22:57:20 <olsner> istr this is what lambdabot does to prevent loops between several lambdabots
22:57:27 <EgoBot> unlambda (sending via DCC)
22:57:32 <EgoBot> sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g'
22:57:37 <EgoBot> Interpreter gregor__1 deleted.
22:57:38 <oklofok> A, B \subset X^2, A and B transitive, B symmetric, A \cup B = X^2. prove A = X^2 or B = X^2
22:57:45 <elliott> !addinterp pikhq sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g'
22:57:45 <EgoBot> Interpreter pikhq installed.
22:57:50 <EgoBot> haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map (("<ehird> " ++) . unwords . words) $ food $ map toLower)
22:58:03 <elliott> !ehird the most donkey fishes
22:58:07 <elliott> !eehird the most donkey fishes
22:58:19 <elliott> <EgoBot> /tmp/input.17083.hs:1:57: Not in scope: `isAlpha'
22:58:20 <elliott> <EgoBot> /tmp/input.17083.hs:1:70: Not in scope: `isSpace'
22:58:24 <elliott> <EgoBot> /tmp/input.17083.hs:1:151: Not in scope: `isAlpha'
22:58:28 <elliott> <EgoBot> /tmp/input.17083.hs:1:164: Not in scope: `isSpace'
22:58:32 <elliott> <EgoBot> /tmp/input.17083.hs:1:245: Not in scope: `toLower'
22:58:36 <elliott> > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map (("<ehird> " ++) . unwords . words) $ food $ map toLower) "the most donkey fishes"
22:58:37 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
22:59:38 <elliott> it's uorygl's fault apparently
22:59:48 <CakeProphet> !ehird I have this awesome opinion on something
22:59:49 <EgoBot> Em have this awesome opinion on something
23:00:22 <ais523> because I like circular definitions
23:00:23 -!- Vorpal has quit (Ping timeout: 260 seconds).
23:00:39 <olsner> lol, why didn't I see that the first time, it's wrong
23:00:42 <oerjan> <olsner> istr this is what lambdabot does to prevent loops between several lambdabots <-- yeah it adds initial space to many things.
23:00:54 <Phantom_Hoover> http://www.reddit.com/r/reddit.com/comments/hwlxz/ok_wtf_i_live_near_this_reactor_here_in_the_us_we/
23:01:05 <olsner> oerjan: that isn't what "this" referred to
23:01:39 <CakeProphet> !addinterp acro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
23:01:40 <EgoBot> Interpreter acro installed.
23:01:45 <EgoBot> Interpreter simpleacro deleted.
23:01:51 <Deewiant> > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines . map (("<ehird> " ++) . unwords . words) . food . map toLower) "the most donkey fishes"
23:01:53 <lambdabot> "<ehird> the most donkey fishes\n"
23:02:59 <CakeProphet> I wonder why it takes so long for it to run
23:03:15 <elliott> Deewiant: What's that even meant to do.
23:03:19 <oerjan> elliott: missing Data.Char import i guess
23:04:29 <Deewiant> > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines . map (("<ehird> " ++) . unwords . words) . food . map toLower) "123abc456def"
23:04:46 <elliott> oerjan: it doesn't even type as-is
23:05:12 <Deewiant> 2009-07-13 04:12:15( Warrigal) > let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map (("<ehird> " ++) . unwords . words) $ food $ map toLower $ "What do you do, my eponymous friend?"
23:05:17 <Deewiant> 2009-07-13 04:14:08( Warrigal) !addinterp eehird haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map (("<ehird> " ++) . unwords . words) $ food $ map toLower)
23:06:57 <oerjan> <olsner> oerjan: that isn't what "this" referred to <-- well then i don't know what you mean
23:08:56 <olsner> oerjan: basically that there are severaly ways to send messages to channels, and one of them is supposed to be used by bots but not people
23:09:08 <olsner> and if you make bots only listen to people, everything works out
23:09:21 <oerjan> elliott: well Deewiant fixed some . / $ confusion
23:09:34 <olsner> I remember a discussion about this in one of the haskell channels a long time ago
23:09:46 <olsner> about how lambdabot avoids bot loops
23:10:05 <oerjan> olsner: notices, yes, but lambdabot doesn't use that. because it's annoying in most clients.
23:10:09 <CakeProphet> as far as I know the IRC protocol only has one MSG command.
23:12:44 <olsner> right, lambdabot definitely doesn't use those
23:13:18 <oklofok> in mirc, you see that on whatever channel happens to be active i think
23:13:32 <olsner> I wonder what it was then, because I definitely remember that (someone claimed that) it didn't rely on the contents of the messages
23:13:33 <oklofok> so you get those in the logs of another channel, which is kinda insane
23:14:40 <ais523> I think notices should be used properly
23:14:54 <ais523> regardless of mIRC interpreting them as massively exciting rather than as less important than privmsgs
23:15:46 <oklofok> privmsg's aren't important?
23:16:03 <oklofok> i guess you didn't mean *even* less important
23:16:25 <oklofok> i don't think mirc considers notices more important than privmsg's since it opens a query window for privmsgs
23:18:15 <oklofok> If a space is metrizable, then it is sequentially compact if and only if it is compact. However in general there exist sequentially compact spaces which are not compact (such as the first uncountable ordinal with the order topology), and compact spaces which are not sequentially compact (such as the product of uncountably many copies of the closed unit interval).
23:18:17 <CakeProphet> mirc doesn't consider anything important because it's a program.
23:18:48 <oklofok> wanted to check which direction is always true because i couldn't see it
23:19:04 <oklofok> but lol topology owns i need to get my hands on counterexamples in topology
23:21:33 <CakeProphet> hmmm, how would you go about a fuzzy three-valued logic?
23:22:49 <CakeProphet> you could have an unknown value that is independent of your truth and false value.
23:31:40 <oerjan> <ais523> regardless of mIRC interpreting them [...] <-- irssi too
23:32:24 <oerjan> do you know any client which _does_ treat notices as less important in-channel
23:32:41 <CakeProphet> well when I /sent/ the notice I was in Window, but it showed it in #esoteric
23:32:43 <oerjan> (irssi does refrain from opening a new window if it's not in a channel)
23:34:13 <ais523> Konversation uses [Notice] -nick- rather than <nick> for notices
23:34:21 <ais523> and allows you to set them to a different color
23:34:43 <oerjan> that's still more noise than a privmsg
23:34:51 <ais523> and my color settings are to make them less standouty than privmsgs
23:34:59 <ais523> (I have them set a closer color to the background than privmsgs are)
23:35:10 <ais523> but yes, still more noise
23:35:23 <HackEgo> 1) <Aftran> I used computational linguistics to kill her. \ 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 4) <AnMaster> that's where I
23:36:10 <HackEgo> 1) <Aftran> I used computational linguistics to kill her. \ 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 4) <AnMaster> that's where I
23:36:18 <elliott> isn't that some kidn of automatic differentiation
23:36:27 <HackEgo> 67) <oklopol> hmm, this is hard \ 98) <Warrigal> Ah, vulva. <Warrigal> What is that, anyway? \ 133) <Quas_NaArt> Hooray! <Quas_NaArt> I'm an idiot. \ 179) <ais523> it was too difficult \ 197) <Vorpal> pikhq, Okinawan? Wtf is that \ 391) <crystal-cola> 3 = 7/2
23:36:54 <HackEgo> 98) <Warrigal> Ah, vulva. <Warrigal> What is that, anyway?
23:36:54 <ais523> CakeProphet: you're looking for quotes that contain no es?
23:39:55 <oerjan> elliott: i was trying to find the name of that Expr thing which is like fun but not overloaded, and which i think i may have misspelled when finding var. unless its name really _is_ var or val and it just isn't imported because it conflicts with the Sym and Dif ones
23:40:26 <CakeProphet> No Perl variable names in quote, surprisingly.
23:40:39 <oerjan> also what was that trick i used to get the module name of a lambdabot identifier
23:41:06 <oerjan> istr managing it with Sym yesterday
23:41:45 <lambdabot> It could refer to either `L.val', defined at <l...
23:42:48 <lambdabot> Overlapping instances for GHC.Show.Show
23:43:18 <oerjan> (again, i needed to send > val in private to get a longer response)
23:46:03 -!- pikhq has quit (Remote host closed the connection).
23:46:29 -!- clog has quit (Ping timeout: 260 seconds).
23:46:46 <elliott> hey Sgeo guess what didn't just update
23:47:03 <elliott> Phantom_Hoover: There's also /r/drugs :P
23:47:11 <oerjan> CakeProphet: somewhat random name for reddit's main marijuana subreddit (r/marijuana apparently has awful management so people fled it)
23:47:20 <elliott> oerjan: it's not actually the main one
23:47:26 <elliott> it's basically a place for stoners to... be stoners on reddit
23:47:33 <elliott> there's a "serious" weed subreddit, IIRC
23:47:47 <elliott> I suspect the reason there's no analogues for other drugs is because they tend to be rather more incapacitating
23:47:50 <CakeProphet> elliott knows all about the various potsmoking subcultures of reddit.
23:47:55 <elliott> /r/drunk is for alcoholics
23:48:08 <Sgeo> I remember hearing that /r/marijuana was moderated by some nut\
23:48:20 <oerjan> but it's certainly reddit's _largest_ drug subreddit (it even reached top 10 after that ... 4/ something event)
23:48:46 <elliott> /r/cannabis or something is the serious one, IIRC
23:48:46 <oerjan> only for a week though
23:49:06 <elliott> oerjan: it's four/nineteen
23:49:12 <oerjan> CakeProphet: 4/some number that has some significance
23:49:18 <elliott> the number is nineteen definitely
23:49:36 <elliott> oh right, and four/twentyone is international heroin abuse day
23:49:42 <elliott> where you abuse heroin for the occasion.
23:49:46 <oerjan> CakeProphet: r/trees decided to go nuts with upvotes on that day, so managed to reach top 10 subreddit for the next week
23:52:06 <CakeProphet> elliott: how does one properly handling heroin without abusing it?
23:52:24 <CakeProphet> keep it in storage? tell it nice things occasionally?
23:52:39 <CakeProphet> how does one use heroin and not abuse it, in this nomenclature.
23:52:39 <oerjan> iirc it's supposedly based on some police code for drugs which may or may not actually have existed
23:52:57 <elliott> CakeProphet: a loving mutual relationship
23:53:37 <CakeProphet> bicycle day is definitely a more interesting drug-related holiday. I honestly have no clue where 4/20 originates.
23:54:07 <oerjan> oh 419 are the scammers
23:54:08 <elliott> http://en.wikipedia.org/wiki/420_(cannabis_culture)
23:54:24 <oerjan> elliott: apparently there are a lot of 4nn things :P
23:58:28 <CakeProphet> Bicycle day is increasingly observed in psychedelic communities as a day to celebrate the discovery of LSD, this occasionally involves the consumption of LSD but most of the time individuals mark the day through referring to the discovery on social media.
23:58:38 <CakeProphet> The article seems to suggest that these events are mutually exclusive.
23:59:06 <elliott> The hoover seems to suggest that these events are mutually exclusive.
00:00:57 <CakeProphet> I probably just introduced several typos in previous posts though.
00:01:23 <elliott> implying we'll even be alive by then
00:01:33 <Phantom_Hoover> Which is basically the only logical course of action because life will be as unto a pale shadow after Homestuck ends.
00:01:42 <elliott> CakeProphet: Have I mentioned that Homestuck gets about ten times better after the first act or two.
00:02:03 <elliott> (It gets about a hundred times better every few hundred pages from thereon out.)
00:02:42 <CakeProphet> elliott: hey elliott! elliott! check out this thing I want you to hear: http://www.youtube.com/watch?v=5pr6AbJ9Ij0
00:02:54 <CakeProphet> you have to hear it, or your life is incomplete.
00:03:24 <elliott> Sorry I can only consume Homestuck all other forms of media are invalid by default.
00:03:27 <elliott> (Note: This is not technically true.)
00:04:17 -!- pikhq has joined.
00:04:51 <CakeProphet> what, why is there an MS paint adventures wiki
00:05:11 <elliott> CakeProphet: You don't want to read that.
00:05:17 <elliott> CakeProphet: You have no idea how many spoilers are ahead of you.
00:05:41 <elliott> Homestuck is... about five thousand times more complicated and plotful than Problem Sleuth.
00:05:44 <olsner> are they really spoilers as long as they're ahead of you?
00:05:57 <Phantom_Hoover> CakeProphet, also don't look at any Homestuck stuff on Youtube.
00:06:48 -!- Phantom_Hoover has quit (Quit: Leaving).
00:07:55 <CakeProphet> Sometimes you feel like you are trapped in this room. Stuck, if you will, in a sense which possibly borders on the titular.
00:08:10 <elliott> 20:13:26: <ais523> gah, I'm getting a burst of Sgeoism from my parents, who have basically banned the family from eating vegetables because of the E. coli outbreak in Germany
00:08:19 <elliott> ais523: have you taken the non-Sgeo solution to this problem
00:08:25 <ais523> which is to ignore them?
00:09:08 <elliott> at least it's a "relatively" minor temporary thing
00:12:10 <elliott> 20:25:24: <ais523> floating point arithmetic's avoided like the plague in computer games, except in graphics routines, generally speaking
00:12:15 <elliott> ais523: "embedded" games, maybe
00:12:24 <elliott> I doubt C++ desktop games are so rabid
00:12:27 <ais523> I thought in games in general
00:12:47 <olsner> many 8-bit consoles completely lack an FPU
00:12:58 <elliott> 20:36:37: <pikhq> Wow. Fedora 16 is going to have btrfs as its default filesystem.
00:12:59 <elliott> 20:36:53: <pikhq> It doesn't have an fsck yet.
00:13:11 <elliott> Fedora, upgrading rashly without thinking to be OMG MODERN because it's basically RedHat: The Pre-Alpha?
00:13:42 <olsner> obviously btrfs doesn't need fsck, it just won't break the file system
00:16:44 <pikhq> elliott: Well, at least the Fedora devs are busy writing btrfsck.
00:17:02 <olsner> that reads as ... butterfuck
00:17:18 <pikhq> They are also fucking butter.
00:17:54 <elliott> MOTHS: THE WOGS OF THE TAPS
00:19:10 <elliott> swede architecture the worst architecture
00:19:33 <olsner> elliott person the worst person
00:20:38 <olsner> elliott: http://cdn.jimonlight.com/wp-content/uploads/2009/08/infart1.jpg
00:24:55 <olsner> lol, oracle saying: "In line with our strategy towards a more open Java ecosystem, ..."
00:25:14 <olsner> when did they stop actively preventing an open java ecosystem?
00:25:27 <elliott> then they started again immediately after
00:26:36 <oerjan> well towards is a synonym of against, right?
00:27:26 <olsner> hmm, in swedish it would be a simple typo actually
00:27:39 <olsner> and most people don't even know which is which :(
00:29:48 <elliott> CakeProphet: btw you should watch this: http://www.mspaintadventures.com/?s=6&p=003701 ... it'll convince you reading homestuck is an excellent idea :P
00:29:54 <elliott> (You won't understand a single thing, so it's not spoilery.)
00:33:56 -!- ais523 has quit (Read error: Connection reset by peer).
00:35:11 -!- ais523 has joined.
00:38:02 <elliott> Sgeo: Hey Homestuck just updated again.
00:38:50 <augur> apparently train tracks are turing complete
00:42:50 <olsner> http://esoteric.voxelperfect.net/wiki/Chalcraft-Greene_train_track_automaton
00:43:25 <oerjan> is this about http://wadler.blogspot.com/2011/06/combinator-library-for-design-of.html ?
00:43:44 <olsner> apparently not - the wiki page is a lot older than the blog post
00:43:54 <oerjan> i mean augur's mention
00:45:15 <CakeProphet> elliott: the queue fetch modus is even more hilarious.
00:45:38 <elliott> CakeProphet: DID YOU WATCH THAT PANEL I LINKED I SPENT A WHOLE THREE SECONDS GOOGLING IT DOWN YOU KNOW
00:46:43 <elliott> If you decide to give up reading watch it, it has deluded many upon many a person into thinking reading nearly four thousand panels of comic is an excellent idea.
00:46:53 <elliott> (Sorry did I say deluded I mean convinced of the true fact that.)
00:47:47 <elliott> CakeProphet is holding unn.
00:47:51 <elliott> You will have to handle enn.
00:50:01 <Sgeo> According to my dad, the entire purpose of raves is to get people into the drug culture
00:50:18 <elliott> That is the terrible secret of raves
00:50:46 <CakeProphet> Actually I've gone to a rave and consumed no drugs.
00:51:16 -!- pikhq has quit (Ping timeout: 240 seconds).
00:51:32 -!- pikhq has joined.
00:51:57 <CakeProphet> but yes most people go to raves to take some kind of drug and dance for hours.
00:52:06 <elliott> CakeProphet: Oh man 2037 is right ahead of you.
00:52:16 <elliott> Savour the moment for you can only experience that music for the first time once in your life.
00:53:12 <CakeProphet> god, these pesterlogs make panels MOVE SO SLOWL.
00:53:31 <elliott> Hahaha the pesterlogs at this point are about one thirtieth of what they become, lengthwise.
00:53:38 <elliott> Note: I am terrible at estimating such ratios, but yeah.
00:53:51 <elliott> THIS IS A SIMPLE TIME AND YOU SHALL REGARD IT AS A SIMPLE PLEASURE FOR UNASSUMING FOLK
00:54:29 <CakeProphet> I like to use trees. It's not not exceptionally practical. But I think they are elegant.
00:55:00 <elliott> Wait did it take you several minutes just to read 2053.
00:55:02 <elliott> HAVE YOU READ BOOKS BEFORE
00:55:16 <CakeProphet> no it took me several minutes to talk on IRC and do nothing.
00:55:22 <elliott> That usually takes a while yes.
00:59:25 -!- Hammi13 has joined.
00:59:32 <elliott> Hammi13: what did you do to the other hammis.
01:04:17 -!- Patashu has joined.
01:04:35 -!- Hammi13 has left.
01:11:26 -!- zzo38 has joined.
01:11:37 <zzo38> How much do you know of LLVM?
01:11:55 <zzo38> Some of the documentation seems to be incomplete, such as the documentation for the bitcode format.
01:13:08 <zzo38> coppro has 46575 seconds idle.
01:13:46 <olsner> about half a day, maybe he'll be back from sleep/work/school soon then
01:17:49 <zzo38> Do you know how well LLVM currently works?
01:18:19 <olsner> currently? I'd say about 4, geographically speaking
01:18:19 <zzo38> But regardless, lack of documentation makes it difficult to use
01:18:27 <elliott> OS X uses the clang compiler for all stock userspace applications, so it's definitely mature
01:18:56 <elliott> it has better diagnostics than gcc, supports almost all the language extensions gcc does, and has similar runtime code execution speed
01:19:07 <elliott> so LLVM is good enough for a C compiler :P
01:19:39 <oerjan> zzo38: i know that ghc has deprecated its C backend because the LLVM backend got better than it
01:19:47 <pikhq> CakeProphet: No, clang > gcc.
01:20:08 <CakeProphet> You mentioned something about bootloading before.
01:20:25 <pikhq> Boot*strapping*. There is a difference.
01:20:27 <zzo38> No, I mean for writing LLVM codes. However, some documentation missing makes it difficult. Such as, some sections of the document about bitcode format seems incomplete.
01:20:48 <elliott> you're not meant to write bitcode, anyway
01:20:52 <elliott> you're meant to use the API
01:20:58 <pikhq> It is *presently* not feasible to build a Linux system with clang as *the* C and C++ compiler.
01:21:01 <elliott> (LLVM IR is the name for their assembly, right?)
01:21:11 <pikhq> However, it soon will be.
01:21:32 <pikhq> elliott: Yeah, LLVM IR is the name for the assembly language and the bytecode resulting from assembly thereof.
01:22:01 <elliott> zzo38: right, use the API or output LLVM IR; bitcode is essentially an internal API
01:23:32 <oerjan> (!!) [0, unsafePerformIO launchMissiles]
01:23:49 <oerjan> * flip (!!) [0, unsafePerformIO launchMissiles]
01:24:01 <elliott> ([0, unsafePerformIO launchMissiles] !!)
01:24:17 <ais523> elliott: that doesn't type, does it?
01:24:25 <ais523> or is launchMissiles of type Num x => IO x?
01:25:10 <pikhq> [0, unsafePerformIO launchMissiles `seq` 0]
01:25:18 <oerjan> clearly it returns the number of missiles succesfully launched
01:25:22 <zzo38> If you use the API with C, then can it also be used to run some LLVM codes at compile-time as well? In that case it would be helpful.
01:25:27 <elliott> oerjan: also 0 was meant to be print
01:25:40 <elliott> zzo38: Yes, you can compile things to memory and run them directly.
01:25:43 <elliott> LLVM is a JIT in this way.
01:25:45 <pikhq> zzo38: Yes, LLVM JITs.
01:26:05 <pikhq> And is actually even the basis of a JVM implementation.
01:26:18 <zzo38> But the FAQ does also say you can emit LLVM assembly or LLVM bitcode.
01:26:27 <elliott> zzo38: Note that LLVM is C++ and so is its library, but there are bindings to just about every language. There might not be a C binding, but you can write a simple layer yourself for the functions you need with extern "C".
01:26:32 <elliott> Also, that's interesting, I didn't realise.
01:26:38 <elliott> Still, bitcode would be pretty painful to generate compared to the API.
01:26:41 <pikhq> (it's not *that* good, because the JDK is from SPACE)
01:27:08 <olsner> which I believe is the base of the haskell binding
01:27:38 <pikhq> The Haskell binding is pretty neat, FWIW.
01:28:35 <pikhq> Generate LLVM functions at runtime and then use them as standard Haskell functions without any real effort.
01:29:31 <elliott> obligatory: http://augustss.blogspot.com/2009/06/more-llvm-recently-someone-asked-me-on.html
01:29:58 <olsner> for my llvm-outputting compiler I chose to just write llvm assembly instead of figuring out how to make stuff with the expected types at runtime
01:30:47 <zzo38> Where is document for API with C?
01:30:52 <olsner> yes. I think it was before that blog post where august does pretty much exactly what I needed done
01:31:10 <zzo38> olsner: What compiler did you do? Did you make some compiler?
01:32:35 <olsner> not an esolang, and not a known language either
01:33:12 <zzo38> olsner: Then what is it?
01:36:36 <oerjan> or was that horriblesecretlang
01:36:45 <olsner> it's only "secret" because it's terribly uninteresting
01:37:17 <zzo38> Did you do it just for practice?
01:38:12 <olsner> well, it's not done yet
01:38:53 <zzo38> If there is C binding, where is the document about the C binding?
01:39:19 <olsner> in the headers of the C binding, probably
01:39:22 <zzo38> The tutorial is only for C++ and Objective Caml.
01:40:53 -!- FireFly has quit (Quit: swatted to death).
01:41:57 -!- clog has joined.
01:46:15 <elliott> CakeProphet: you clicked the link on http://mspaintadventures.com/?s=6&p=002148 right?
01:46:22 <elliott> (A stupid question, but yes, people seriously fail to.)
01:46:41 <elliott> HERP DERP WHAT'S A LINK OH I DUNNO ITS DEFINITELY NOT FOR CLICKING THOUGH
01:48:15 <ais523> elliott: that advice is kind-of useless, if we didn't know to click the link on the page, we wouldn't know to click it on IRC either
01:48:21 <ais523> (not that I actually /did/ click the link on IRC)
01:48:35 <elliott> ais523: It was directed to CakeProphet
01:48:56 <elliott> There's a link where the narration usually is, and I guess some people assume it's just irrelevant or something :P
01:52:45 <CakeProphet> also elliott is implying that I'm too daft for link clicking.
01:53:10 <elliott> CakeProphet: Hey now, I've had to deal with Sgeo reading Homestuck.
01:53:13 <elliott> I HAVE LEARNED TO ASSUME NOTHING.
01:53:31 <CakeProphet> the clunky flash game thing was kind of cool
01:53:55 <elliott> The Flash games get much less clunky. Oops, did I just say something?
01:53:55 <Sgeo> In some games something happens
02:20:04 -!- pikhq_ has joined.
02:20:53 <Sgeo> Oh WTF some spammer managed to get an arbitrary image to appear in th Newspeak forums
02:21:08 <Sgeo> Or at least in the RSS feed
02:21:30 -!- pikhq has quit (Ping timeout: 260 seconds).
02:22:15 <elliott> http://forums.newspeaklanguage.org/index.php?topic=297.0
02:22:20 <elliott> Road to the Truth can be found at the following address: truenewworld.com
02:22:20 <elliott> (attention, it is not the ad of the site - it is the ad of the Truth).
02:22:48 <elliott> this guy has painting skils
02:22:52 <elliott> http://truenewworld.com/Newworld.jpg
02:24:18 <Sgeo> Everyone should be required to read what they write online. Not for accuracy or sensibility, but just checking that their eyes don't glaze over at a wall of text
02:24:30 <Sgeo> (Yes, I know such a thing is impossible, so shut up)
02:25:47 <elliott> http://www.wolfsearch.org/gfeed/img0/teen+sex/10_teenx1.png
02:25:52 <elliott> compare prices on millions of products
02:29:56 <oklofok> there is no teen sex on the other side of that link, just a blank page
02:30:32 <Sgeo> Idiotic porn spam site block?
02:30:42 <olsner> no teen sex!? link is broken!
02:31:05 <oklofok> Sgeo: yeah maybe my dad has installed one for me
02:31:55 <oklofok> i guess the pixel must be white because i can't see it
02:32:22 <Sgeo> ...this spammer cross-references the spam post with other spam posts
02:32:47 <Sgeo> Unless those "forums" are just spam shills, I guess
02:34:05 <Sgeo> http://forums.newspeaklanguage.org/index.php?topic=300 [NSFW]
02:34:14 <elliott> thx for telling me its nsfw lol
02:34:19 <elliott> Description: Sasha notices that this guy's car is dirty, and she offers to wash it "for a ride." We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum. Sasha is no exception. She gives us a nice little strip tease, complete with hosed-down boobies as she washes his car. Then she buffs this guy's cock with her mouth. Sasha
02:34:20 <elliott> bends over the hood of his car and gets fucked like a good girl, bouncing her ass on his prick and squealing like a little fuck-doll.
02:34:26 <elliott> "We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum."
02:34:49 <oklofok> Sasha notices that this guy's car is dirty, and she offers to wash it "for a ride." We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum.
02:35:28 <elliott> just... "bologna pony" are you serious
02:36:14 <oklofok> i have no idea what that means so dunno
02:36:52 <oklofok> unless, of course, it just means... bologna pony
02:38:17 <oklofok> makes perfect sense if you think about it
02:42:54 <CakeProphet> it was immediately obvious, without thinking, actually.
02:43:54 <oklofok> to me, bologna is just a random city in italy
02:44:09 <oklofok> and i don't see why any city + pony should imply penis
02:44:12 <CakeProphet> bologna is also a type of sausage in the states.
02:44:34 <CakeProphet> freakin' Europeans. How can you not know this shit.
02:45:00 <oklofok> then it's also obvious why it's a pony
02:45:28 <olsner> bologna is tomato sauce with ground beef
02:46:03 <oklofok> i guess i should go to sleep, being even more of an asshole than usual :D
02:46:17 <CakeProphet> as I am about to go get ridiculously drunk, and this is what is currently on my mind.
02:46:40 <CakeProphet> in fact, I shall go do that now. Goodbye. I will likely be on in a little while.
02:46:43 <olsner> bologna ponys is what's on your mind?
02:51:57 -!- CakeProphet has quit (Ping timeout: 276 seconds).
03:19:12 <elliott> Does anyone know how to make the lines that separate vim... windows? panes? less ugly?
03:21:02 <oerjan> see :help status-line, maybe?
03:22:32 <elliott> it's a line of inverted | chars
03:22:51 <oerjan> oh, i only use horizontal
03:27:07 <zzo38> Do any .S3M players crash if you have overlapping sample data?
03:28:17 <elliott> hm and setting configuration variables for scripts is "let Foo=n" right?
03:29:50 <oerjan> i think let is for actual variables, set is for options. but i haven't made any scripts beyond simple .vimrc
03:31:14 -!- ais523 has quit (Read error: Connection reset by peer).
03:31:53 <zzo38> I happen to know that the script for CWEB programming has some bugs. Such as, if you type in a variable name "do_something" then it colors "do" as a reserved word. There are other problems too. Although, you can type in ":syn off" to turn off syntax highlighting and then it works OK.
03:31:58 <oerjan> the default one for windows only uses let inside a defined function, set otherwise
03:32:32 -!- ais523 has joined.
03:33:17 <zzo38> There is also a script for WEB although I think it is even worse.
03:36:44 <oerjan> elliott: hl-vertsplit seems relevant
04:06:34 -!- ais523 has quit (Read error: Connection reset by peer).
04:07:51 -!- ais523 has joined.
04:08:21 <ais523> for some reason freenode keeps disconnecting on me
04:08:26 <ais523> and my client automatically reconnecting
04:09:22 <oerjan> it's your peers, they keep resetting it.
04:09:45 <oerjan> you should give them a stern talk
04:10:25 <olsner> the net's gone all peershaped
04:10:47 <oerjan> it's quite peerplexing
04:11:52 <oerjan> puns can't all be peerfect
04:11:55 <olsner> I'm glad I'm not the last scandinavian awake anyway
04:12:25 <elliott> http://esolangs.org/wiki/Talk:Underload#Why_the_reserved_characters.3F
04:14:48 <oklofok> i'm everyone who starts with an o
04:15:06 <oerjan> ais523: i guess only you can give a real answer to maharba's question
04:15:32 <ais523> what was it? it's not in nearby scrollback unless I'm missing something
04:16:03 <oklofok> ais523: if you don't get it, it's a link
04:16:09 <elliott> i just wanted to be an ass instead
04:16:17 -!- CakeProphet has joined.
04:16:18 -!- CakeProphet has quit (Changing host).
04:16:18 -!- CakeProphet has joined.
04:16:39 <olsner> elliott: noo, be an ass, don't answer
04:16:41 <oklofok> is it something convoluted and cool
04:16:50 <olsner> say something fun instead
04:17:05 <oklofok> yes and remember to use funny words like poo
04:17:17 <ais523> and should really tell elliott to stop trolling
04:17:20 <ais523> elliott: stop trolling
04:17:25 <elliott> ais523: that wasn't trolling, that was a joke :(
04:17:38 <elliott> but who says jokes have to be funny
04:17:46 <elliott> ais523: I did troll by referring to ais vapourware in my response though
04:17:51 <elliott> so hey how's Feather going
04:17:57 <oerjan> it's simple, really, when elliott says something it isn't trolling
04:18:00 <ais523> badly, or well, depending on your point of view
04:18:11 <ais523> tending towards the non-insanity-inducing side
04:18:23 * elliott resists temptation to add Feather to [[Category:Shameful]]
04:20:40 <oerjan> hey nothing shameful in preventing the collapse of the universe
04:21:00 <olsner> maybe the universe is *meant* to collapse
04:21:08 <olsner> preventing that would be shameful
04:21:23 <oerjan> olsner: it was, until feather reset that
04:21:28 <elliott> ooh, maybe ais523 only thought about Feather on order of Doc Scratch THIS IS A PLAUSIBLE THEORY...
04:21:40 <elliott> one day I will stop relating everything to that darn webcomic that hasn't updated in entire HOURS ugh what is his PROBLEM
04:21:52 <ais523> elliott: hey, the article is a pretty good one describing the current state of the language
04:21:54 <elliott> so glad i don't use my f-five key to refresh or it'd be burned out
04:22:08 <elliott> ais523: i only wanted to do it to annoy you :D
04:22:11 <ais523> and there's only an article about it at all because people kept asking
04:22:24 <elliott> ok yeah I'm fairly sure if you ever get a Feather interp ais523
04:22:31 <elliott> running it will end the universe and summon Lord English
04:22:59 <oerjan> i'm sure it will be nothing as comprehensible as english
04:23:29 <zzo38> No, ignore that message about that running it will end the universe and so on. If you write the program, you can run it.
04:23:33 <elliott> oerjan: "english" in this case is a reference to a pool term
04:24:06 <oerjan> anyway, ais523 will probably get feather finished just before christmas next year
04:24:20 <zzo38> oerjan: How much do you want to bet?
04:24:27 <ais523> if I do finish it, I'll aim for april 1
04:24:29 <zzo38> And in what country's currency?
04:24:36 <elliott> ais523: dude, december twentytwelve is the best idea :D
04:24:41 <ais523> then people generally won't believe me, which may manage to let them survive through it
04:24:52 <Patashu> wtf's going on right now in mspa
04:25:07 <oklofok> can i just tell you you are being so hilarious i cannot concentrate on playing my guitar
04:25:12 <oklofok> i'm going to close the screen ->
04:26:00 <olsner> Patashu: you remind me of that onion skit where some stuff is happening
04:26:14 <olsner> "skit", is that a word? I seem to think it is
04:27:40 <oerjan> also nynorsk for shit, anyway
04:28:08 <olsner> and swedish for shit, indeed
04:28:11 <oerjan> well bokmål too if you mean the verb
04:28:35 <olsner> also works as the imperative form of the verb
04:29:37 <olsner> elliott: no, you're the mal and you're bok
04:31:45 <zzo38> The S3M official documentation says channel type 16..31 corresponds to Adlib channels (9 melody + 5 drums). But 9+5=14 it doesn't add up to 16. Do you know how it works?
04:32:33 <olsner> addition? afaict you did it correctly there
04:35:24 <zzo38> I am trying to write the program that reads the file format. I also have a S3M file open in a hex editor so that I can see some things. But I have no Adlib S3M files (actually I don't know if any even exist, nor of any programs that can play them).
04:37:00 <zzo38> Do you know anything about the Adlib sound card, or about S3M?
04:39:49 <zzo38> It also says bit 0-7 for channel type and bit 8 for channel enabled, but that is clearly wrong. It should be bit 0-4 for channel type and bit 7 for channel enabled.
04:41:12 <zzo38> The table for the header says channel settings for 32 channels, which is 32 bytes long in total, where 255=unused and +128=disabled, so that would agree with my texts, and also agrees with the actual S3M file.
04:45:25 <zzo38> Like DVItype can be used as a correct document for DVI format as well as a program to test it, so can my program be used to do similar thing for S3M file.
04:46:23 <zzo38> Probably you would get less errors in documentation for file formats if you did them like this.
04:50:02 <elliott> oerjan: hm I am surprised there is no such thing as OverloadedLists...
04:52:26 <elliott> Just ((:>) 0 ((:>) 0 VNil))
04:52:32 <elliott> oh fer chrissakes, how do you do showsPrec again...
04:53:40 <zzo38> (As far as I know, Knuth is the only other person who documents formats in this way; this has resulted in his documentation being extremely accurate.)
04:56:15 <lambdabot> forall a. (Show a) => Int -> a -> String -> String
04:56:42 <oerjan> first argument is precedence level, second what to show, third string to pretend it to
04:56:54 <zzo38> The file I have claims to be the OFFICIAL documentation for the Scream Tracker file format......
04:57:55 <oerjan> elliott: i think i recall there was some ListLike class in the iteratee stuff
04:58:20 <elliott> oerjan: in this case, it encodes the length so that's not really worthwhile
04:58:31 <elliott> <oerjan> first argument is precedence level, second what to show, third string to pretend it to
04:59:00 <oerjan> PREPEND I SAID THAT INSTEAD
04:59:24 <elliott> I think I'm going to need both unary and binary numbers here.
04:59:52 <elliott> hey oerjan, http://sprunge.us/JMUb
05:00:01 <elliott> (I realise there's already a Data.TypeLevel on hackage but it sucks it uses undefiend and the like)
05:00:37 <zzo38> The document says the number of orders should be even. The file I am testing it with has an odd number of orders.
05:00:53 -!- Sgeo has quit (Ping timeout: 260 seconds).
05:04:51 <elliott> Could not deduce (Succ (ToBinary n0) ~ Succ (ToBinary n))
05:05:34 * oerjan cannot precisely help without seeing code
05:05:47 <olsner> elliott: make it deductible
05:06:08 <elliott> oerjan: i'm hacking it on my own :P
05:06:20 <elliott> just a day's type-level work
05:06:37 <oerjan> just another day in the type system
05:11:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
05:13:43 <elliott> oerjan: can you believe that you can do all this vector stuff fine with unary type-level nats for the length
05:13:55 <elliott> instance (Eq a) => Eq (Vec n a) where
05:13:56 <elliott> (x :> xs) == (y :> ys) = x == y && xs == ys
05:14:39 <elliott> (:>) :: a -> Vec n a -> Vec (Succ n) a
05:14:45 <elliott> and it's just hard to deduce anything about it
05:14:49 <elliott> what if I just do the really ugly
05:14:53 <oerjan> hm if you make it binary, make the Vec's into binary trees i suggest
05:14:58 <elliott> data Vec n a = LolHiddenConstructor [a]
05:15:17 <elliott> oerjan: heh, what would the type of the branch constructor be then?
05:16:37 <oerjan> Br1 :: Vec n a -> Vec n a -> Vec (Twice n) a
05:16:51 <elliott> oerjan: um but what is Twice...
05:17:01 <oerjan> Br2 :: Vec n a -> Vec n a -> a -> Vec (TwiceAndABit n) a
05:17:18 <elliott> oerjan: this is actually tempting, but I dislike a bit how it changes the runtime representation
05:17:42 <elliott> class FromList n where fromList :: [a] -> Maybe (Vec n a)
05:17:45 <elliott> instance FromList Z where ...
05:17:52 <elliott> instance (FromList n) => FromList (S n) where ...
05:17:55 <elliott> good luck doing that with binary
05:18:27 * elliott tries the binary tree idea before the cheating "let's just make it unsafe internally"
05:18:55 <elliott> oerjan: hm the leaves would just be nil here, right?
05:19:18 <oerjan> hm what about Br1 :: Vec n (a,a) -> Vec (0 :> n) a
05:20:10 <oerjan> well it's a standard trick for forcing trees to be balanced by type
05:20:18 <elliott> don't your two constructors already achieve that?
05:20:28 <elliott> "(0 :> n)" I assume you mean (O n)
05:20:48 <elliott> but -- don't your two constructors already achieve that?
05:20:57 <elliott> the typed-safe balancedness, that is
05:21:25 <oerjan> ok that's not the precise thing achieved, but:
05:21:38 <oerjan> with that you can do FromList easier
05:21:48 <elliott> do I still need BrTwo with that?
05:22:12 <elliott> data Vec :: * -> * -> * where
05:22:12 <elliott> VBr0 :: Vec n (a,a) -> Vec (O n) a
05:22:12 <elliott> VBr1 :: a -> Vec n (a,a) -> Vec (O n) a
05:22:32 <elliott> great, the Eq instance derives now, but not the Ord instance
05:22:55 <elliott> Couldn't match type `BZ' with `BO n1'
05:22:55 <elliott> a pattern with constructor
05:22:55 <elliott> VLeaf :: forall a. Vec BZ a,
05:22:57 <elliott> In a case alternative: VLeaf {} -> GT
05:23:21 <elliott> sigh, it is generating code that does not respect the fancy type magic
05:25:17 <elliott> (+>) :: a -> Vec n a -> Vec (Succ n) a
05:25:17 <elliott> a +> VBr1 a b = whoops look at my coding energy drain away
05:27:23 <oerjan> a +> VBr1 a' b = VBr0 ((a,a') +> b), i think
05:28:21 <elliott> heh, I just hit upon that now :)
05:28:48 <elliott> *Main> 0 +> 9 +> 0 +> 9 +> VLeaf
05:28:48 <elliott> VBr0 (VBr0 (VBr1 ((0,9),(0,9)) VLeaf))
05:28:48 <elliott> *Main> 0 +> 9 +> 0 +> 9 +> 0 +> VLeaf
05:28:48 <elliott> VBr1 0 (VBr0 (VBr1 ((9,0),(9,0)) VLeaf))
05:28:50 <elliott> that doesn't look right...
05:29:43 <elliott> oerjan: heh, now I just have to write a dest (opposite of cons) function...
05:29:48 <elliott> this is going to be pretty slow runtime-wise, isn't it
05:30:46 <elliott> vhead (VBr0 b) = fst (vhead b)
05:30:47 <oerjan> it's just rebalancing a tree, isn't it
05:31:12 <elliott> because, lol, that doesn't type :)
05:31:21 <elliott> Could not deduce (n1 ~ Succ n0)
05:31:22 <elliott> from the context (Succ n ~ BO n1)
05:31:27 <elliott> i'm going to try and make succ a typeclass intsead
05:31:51 -!- Patashu has quit (Ping timeout: 276 seconds).
05:34:07 <elliott> oerjan: wanna give it a shot? I can give you the code :P
05:34:09 <oerjan> you need bijection between Pred and Succ, i guess
05:34:55 <elliott> vhead :: Vec (Succ n) a -> a
05:34:59 <elliott> not bothering with a full vdest right now
05:35:34 <oerjan> well you said that didn't type
05:35:48 <elliott> it doesn't, but if vhead doesn't, making it do even more won't either
05:37:14 <elliott> i don't see what you are saying
05:37:17 <elliott> what type do you want vhead to have
05:37:21 <oerjan> isn't there something you supposedly can do with ~ and type families to force things to be bijections
05:37:41 <oerjan> i don't actually know that, mind you
05:38:03 <elliott> vhead :: Vec (Succ n) a -> a
05:38:03 <elliott> vhead (VBr0 b) = fst (vhead (unsafeCoerce b))
05:38:26 <elliott> unfortunately "vhead foo" fails because of the type family :D
05:40:12 <oerjan> sort of ruins the point of type level programming, doesn't it :P
05:40:28 <elliott> oerjan: well in this case I've lost the ability to care about how safe the internals are
05:40:31 <elliott> so long as the exposed API is safe
05:41:33 <elliott> "According to Calver, the cheese at this point had "a caramel nose, a sweet twiggy greenness and a creamy good length of flavour...lemony, with a certain 'spritziness'"."
05:42:04 <oerjan> that was just before he started hallucinating from the mold, i take
05:42:26 <elliott> my prediction: it actually just tasted like cheddar
05:42:26 <oerjan> or possibly just after
05:44:14 <oerjan> can't you make Succ into a GADT somehow
05:44:28 <elliott> um that would result in it having constructors
05:44:36 <elliott> that... makes no sense, really
05:45:29 <elliott> oerjan: your constructors are _bad_
05:45:38 <elliott> Leaf == VBr0 Leaf == VBr0 (VBr0 Leaf) == ...
05:45:50 <elliott> and in fact (VBr0 Leaf) produces the forbidden type (BO BZ)
05:45:56 <elliott> (all zeroes must be normalised to Z)
05:46:04 <oerjan> well that's your job :P
05:46:13 <elliott> oerjan: this causes _actual problems_
05:46:18 <elliott> that's why we can't recurse
05:46:24 <elliott> because we might be doing (vhead VLeaf)
05:47:11 <oerjan> fine, make a Vec1 which cannot be zero length
05:48:31 <oerjan> move VBr0 and VBr1 to it, but not Leaf
06:05:11 -!- oerjan has quit (Quit: Good night).
06:15:38 -!- lifthrasiir has quit (Ping timeout: 240 seconds).
06:17:07 <elliott> I have this horrible temptation to write a patcher.
06:51:00 -!- cheater8 has quit (Ping timeout: 260 seconds).
06:53:19 -!- cheater8 has joined.
07:01:18 -!- ais523 has quit (Remote host closed the connection).
07:06:07 -!- CakeProphet has quit (Ping timeout: 276 seconds).
07:26:22 -!- monqy has quit (Quit: hello).
07:28:47 -!- augur has quit (Remote host closed the connection).
07:30:24 -!- augur has joined.
07:32:35 -!- augur has quit (Remote host closed the connection).
07:33:41 -!- Vorpal has joined.
07:39:51 -!- augur has joined.
07:45:32 -!- Phantom_Hoover has joined.
08:09:17 -!- Sgeo has joined.
08:12:32 -!- zzo38 has quit (Quit: zzo38).
08:22:01 -!- CakeProphet has joined.
08:23:53 <lambdabot> Control.Exception evaluate :: a -> IO a
08:23:53 <lambdabot> Control.OldException evaluate :: a -> IO a
08:23:53 <lambdabot> Test.QuickCheck evaluate :: Testable a => a -> Gen Result
08:36:18 -!- lifthrasiir has joined.
08:43:55 <Phantom_Hoover> http://www.youtube.com/watch?v=JAWuMd6GOfs&feature=related
08:43:55 <lambdabot> Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them.
08:45:00 <elliott> Phantom_Hoover: That cat looks surprisingly comfortable with the environment.
08:45:19 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/hwv1e/computer_scientists_do_you_consider_syntax_to_be/
08:57:53 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
08:58:00 <Sgeo> "loseth abacus . sup you can get a htc hd7 for putting in your email at"
08:59:11 <oklofok> "<elliott> but who says jokes have to be funny" <<< poo
09:06:34 <oklofok> nothing worse than sitting comfy in your armchair and then didididididiiii hello i'm an alarm clock on the other side of room hihihihi come touch me :)))))))))))))))))))))))))))))))))))
09:08:33 <oklofok> but not all worse? certainly not.
09:10:27 -!- Phantom_Hoover has joined.
09:22:47 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
09:37:02 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
09:38:02 -!- Phantom_Hoover has joined.
09:43:08 -!- MigoMipo has joined.
09:43:28 -!- Patashu has joined.
10:05:23 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
10:10:06 -!- CakeProphet has quit (Ping timeout: 240 seconds).
10:12:59 -!- Timwi has joined.
10:20:30 -!- Timwi has changed nick to Timwi-Away.
10:23:43 -!- Timwi-Away has quit.
10:37:19 -!- CakeProphet has joined.
11:16:12 -!- MigoMipo has quit (Remote host closed the connection).
11:29:02 -!- elliott has quit (Remote host closed the connection).
11:29:14 -!- elliott has joined.
11:31:37 -!- pikhq has joined.
11:31:47 -!- pikhq_ has quit (Ping timeout: 255 seconds).
11:34:49 -!- FireFly has joined.
11:50:02 <elliott> 05:04:43: <Gregor> ehird: Now write an editor that distinguishes alignment from indentation and actually maintains your alignment in the correct tab/space ratio while you write code.
11:50:02 <elliott> many editors can do this >:|
12:04:18 -!- Phantom__Hoover has joined.
12:13:03 <elliott> "Multi-penised, six-legged, two-anused piglet given silly name" --Metro
12:21:38 -!- ralc has joined.
12:23:31 <Sgeo> http://www.reddit.com/r/askscience/comments/hwqzc/dear_asksci_in_todays_age_we_can_create_light/
12:25:26 <elliott> Sgeo eagerly awaiting you trying to defend this guy
12:26:45 <elliott> TIL That all money is debt & that most money doesn't actually exist. :) (unpac.ca)
12:26:47 <elliott> this person is a good poster
12:27:09 <Patashu> 'create light from photons'
12:27:13 <Sgeo> Didn't occur to me to try to defend him
12:27:24 <elliott> apparently river song is marilyn munroe
12:28:33 <Sgeo> But: Not everyone has a basic knowledge of elementary science. They see articles about making virtual photons real (if I understand the linked article correctly) and misinterpret it. It's entirely understandable that to someone who doesn't know what a photon is, it sound the way he described it.
12:36:09 <Vorpal> pikhq, wrt the "huge" kernel on ubuntu: seems like ubuntu builds with debug symbols
12:38:41 <Phantom__Hoover> That actually seems plausible given the sheer idiocy of her character.
12:39:25 <Phantom__Hoover> Sgeo, it does occur to me that they might possibly be talking about that entanglement thing.
12:39:39 <elliott> they made link things in heir comments
12:40:33 * Sgeo sorts his feeds into Fast, Click, and Slow
12:41:45 <Sgeo> Click is for those feeds where I have to open externally to have any idea what's going on
12:41:52 <Sgeo> Or not "any idea"
12:42:10 <Sgeo> Um, like SMBC, due to the votey, or MSPA
12:42:40 * Phantom__Hoover notes that of the links in today's IWC annotation, "Pencil" is the only one he has previously seen.
12:43:05 <Sgeo> I should read IWC's archive
12:43:10 <Sgeo> Then start reading it regularly
12:43:44 <Vorpal> * Phantom__Hoover notes that of the links in today's IWC annotation, "Pencil" is the only one he has previously seen. <-- do you mean "seen the wikipedia page" or "seen the word"?
12:44:23 <Vorpal> Phantom__Hoover, and less weird troll romances
12:44:27 <elliott> It's like Homestuck but not Homestuck.
12:44:33 <elliott> It is similar in that it is:
12:44:46 -!- quintopia has quit (Ping timeout: 240 seconds).
12:45:06 <Phantom__Hoover> elliott, well it does manage to have about 20 parallel plots which move at a rate of about 5 in-comic seconds per month.
12:45:06 <Vorpal> elliott, by that measure, schlock is quite similar to homestuck too!
12:45:19 <elliott> isn't schlock the one drawn by a mormon
12:45:45 <Vorpal> elliott, is he? I don't know.
12:46:44 <Vorpal> elliott, I found another similarity between homestuck, iwc and schlock: they use long story-arcs.
12:46:58 <Vorpal> so you need to read a large part of the archive for anything to make sense.
12:47:02 <elliott> homestuck doesn't have story arcs
12:47:05 <elliott> it is all one gigantic arc
12:47:17 <elliott> as far as i know, not a single homestuck arc can be legitimately said to have ended
12:47:34 <Vorpal> elliott, yeah, one huge story arch is a degenerate case of long story arcs :P
12:48:02 <Sgeo> Does it count a wrapped up if there's something like a prequel?
12:49:22 <Vorpal> has any "story arc" in iwc actually ended so far?
12:49:41 <elliott> isnt the whole point of iwc that nothing ever happens and the plots will never advance
12:49:59 <elliott> except by dramatic intervention by, like, killing everyone
12:50:02 <Vorpal> elliott, come on, they reached the dragon after all. That was actually something happening
12:50:04 -!- quintopia has joined.
12:50:04 -!- quintopia has quit (Changing host).
12:50:04 -!- quintopia has joined.
12:50:09 <Phantom__Hoover> elliott, the whole point of IWC is to get more comics than Calvin & Hobbes.
12:50:17 <elliott> Phantom__Hoover: yes and then it will end
12:50:24 <Phantom__Hoover> Vorpal, yes, and then they turned around and went to a pub.
12:50:49 <Vorpal> Phantom__Hoover, but it was still some sort of advancing.
12:51:03 <Sgeo> Gran Unified Theory
12:51:32 <Sgeo> Grain Unified Theory
13:22:49 -!- copumpkin has joined.
14:04:26 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:09:52 -!- copumpkin has joined.
14:18:20 -!- copumpkin has quit (Ping timeout: 246 seconds).
14:37:10 <lambdabot> Maybe you meant: tell thank you thanks thx ticker time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . ? @ ft v
14:37:13 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
14:37:42 <elliott> :t foldl ((++) . f) (9,[])
14:37:42 <lambdabot> forall t a. (Monoid t, Num t, Show a, SimpleReflect.FromExpr (t, [a])) => [(t, [a])] -> (t, [a])
14:38:00 <elliott> :t foldl (\(a,x) r -> f a x ++ r) (9,[])
14:38:01 <lambdabot> forall t a. (Num t, Show a, SimpleReflect.FromExpr (t, [a]), Monoid t) => [(t, [a])] -> (t, [a])
14:38:06 <elliott> :t foldl (\(a,x) r -> ?f a x ++ r) (9,[])
14:38:06 <lambdabot> forall t a. (?f::t -> [a] -> (t, [a]), Monoid t, Num t) => [(t, [a])] -> (t, [a])
14:45:11 <lambdabot> forall (m :: * -> *) r. (MonadReader r m) => m r
14:56:37 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:13:28 <elliott> ?undo do { fx <- f x; gmapM (everywhereM' f) fx }
15:13:28 <lambdabot> f x >>= \ fx -> gmapM (everywhereM' f) fx
15:13:33 <elliott> ?pl f x >>= \ fx -> gmapM (everywhereM' f) fx
15:17:55 <twice11> :t gmapM (everywhereM' f) =<< f x
15:18:43 <lambdabot> forall a. (Data a) => (forall a1. (Data a1) => a1 -> a1) -> a -> a
15:18:57 <elliott> tswett: that's the definition of everywhereM'
15:19:02 -!- Sgeo has quit (Ping timeout: 255 seconds).
15:19:19 <elliott> -- ndm hates this, but I don't know how to code his descendM
15:19:19 <elliott> everywhereM' :: (Monad m) => GenericM m -> GenericM m
15:19:19 <elliott> everywhereM' f x = f x >>= gmapM (everywhereM' f)
15:20:35 <twice11> I just wanted to test whether "f x >>= gmapM (everywhereM' f)" is equivalent to the point{less,free} output produced by ?pl
15:20:56 <elliott> I dunno why ?pl likes =<< so much
15:21:00 <elliott> I guess to try and preserve "applicative order"
15:21:06 <elliott> It can be kind of ugly IMO
15:21:17 <twice11> Probably because ?pl also likes . for non-monadic code.
15:22:28 <twice11> Maybe that too, but I just thought about shared code for producing monadic =<< and non-monadic dots.
15:22:46 <elliott> Well, it is ?undo that created the >>=.
15:22:50 <elliott> ?pl just flipped it around to =<<, inexplicably.
15:22:51 <lambdabot> expecting white space or simple term
15:23:06 <elliott> twice11: btw, haven't seen you around here before -- come from the wiki?
15:23:17 <elliott> or has someone been blabbing in #haskell again :)
15:23:44 <twice11> I have been around here (or whatever was the esolang wiki recommended channel at that time) in 2007.
15:23:56 <elliott> It's always been this place, AFAIK
15:24:09 <elliott> The channel is quite a bit older than the wiki
15:24:29 <twice11> I met oerjan already at that time, and we made the proof that 0x29A is turing complete.
15:25:01 <twice11> I came here to ask about the claim of turing-completeness, as I was unable to see how it works.
15:25:37 <elliott> are you the inventor of 0x29A?
15:25:47 <twice11> Now a friend slightly hinted me to get here again - and I thought it might be a good idea.
15:26:15 <twice11> No, I didn't invent it, it just stumbled upon it randomly browsing the esolang wiki.
15:26:19 <elliott> I bet it was ralc. You can never trust that ralc.
15:26:25 <elliott> Sitting there idling, plotting our downfall quietly.
15:27:08 <ralc> rambling again, eh?
15:27:32 <twice11> No, I was not pointed here by ralc.
15:27:50 <twice11> And if I should cause downfall of the channel, feel free to kick me.
15:28:14 <elliott> If you cause the downfall of this place it might be a bit tricky to kill you, since we'll presumably all be gone.
15:28:41 <twice11> My endpoint does not support RSP, so no problem ;)
15:28:49 <twice11> RSP == remote strangulation protocol.
15:29:07 <elliott> Hmm, I've always preferred the UDP Disintegration Laser.
15:30:11 <twice11> Hmm, never heard of, neither did google.
15:30:37 <elliott> Yes, well, someone had to make up the remote strangulation protocol too, didn't they. :p
15:34:41 <Phantom__Hoover> elliott, TbH, the TCP Orbital Bombardment always tickled my fancy more.
15:37:07 -!- pikhq has quit (Ping timeout: 258 seconds).
15:37:11 -!- pikhq_ has joined.
15:46:37 -!- augur has quit (Remote host closed the connection).
15:52:09 -!- elliott has quit (Read error: Connection reset by peer).
15:56:24 -!- hiato has quit (Ping timeout: 250 seconds).
16:14:45 -!- Sgeo has joined.
16:22:56 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
16:23:45 -!- elliott has joined.
16:24:14 -!- augur has joined.
16:47:14 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds).
16:48:18 -!- augur has quit (Remote host closed the connection).
16:48:39 -!- oerjan has joined.
16:50:36 <oerjan> <elliott> (gives oerjan nightmares)
16:51:51 <oerjan> <oklofok> nothing worse than sitting comfy in your armchair and then didididididiiii hello i'm an alarm clock on the other side of room hihihihi come touch me :)))))))))))))))))))))))))))))))))))�
16:52:41 <oerjan> i am sorry, but you are clearly misspelling "in the room of your housemate on the other side of the wall, and he is not home..."
16:57:03 <oerjan> 12:40:10: <Phantom__Hoover> "How long does a pig's orgasm last?"
16:57:13 <oerjan> "Long enough". HTH, HAND.
16:58:33 <oerjan> also, how can the channel be this silent when elliott is here
16:58:47 <elliott> i was too busy composing the greatest musical masterpiece ever to be created
16:59:14 <oerjan> ah. i guess that's a proper excuse.
16:59:30 -!- augur has joined.
16:59:43 <elliott> oerjan: for your wonderful concern, you get to listen to it
17:00:07 <elliott> 14:12:46: <ais523> hi everyone
17:00:08 <elliott> 14:22:53: <ais523> or noone
17:00:09 <elliott> 14:23:13: <ais523> maybe I could just sit here monologuing until someone tells me to stop spamming
17:00:35 <Gregor> elliott's musical mode of choice is gangsta rap.
17:00:40 <Gregor> And those are the words.
17:00:58 <elliott> I will offer a five quadrillion dollar bounty to anyone who can rap those lines to this thing.
17:03:27 -!- Phantom__Hoover has joined.
17:06:46 -!- monqy has joined.
17:08:11 -!- Timwi-Away has joined.
17:08:15 -!- Timwi-Away has changed nick to Timwi.
17:09:55 -!- augur has quit (Remote host closed the connection).
17:12:39 -!- azaq23 has joined.
17:16:02 -!- augur has joined.
17:22:21 -!- augur has quit (Remote host closed the connection).
17:24:52 -!- augur has joined.
17:29:07 -!- oerjan has quit (Quit: Later).
17:29:25 -!- Tritonio has joined.
17:31:19 -!- elliott has quit (Remote host closed the connection).
17:34:07 -!- elliott has joined.
17:35:29 -!- Tritonio has quit (Quit: Leaving).
17:37:46 -!- zzo38 has joined.
17:50:14 -!- augur has quit (Remote host closed the connection).
18:10:56 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds).
18:13:17 -!- Phantom__Hoover has joined.
18:13:54 -!- MigoMipo has joined.
18:22:44 -!- augur has joined.
18:24:49 <zzo38> I am trying to figure out how to shorter C code for selecting numbers 1 to 300 that have digit 3 or divisible by 3
18:26:16 <olsner> golfing? or just shorter?
18:27:15 <zzo38> I have 22 bytes of a expression that makes 0 for numbers that meet this criteria.
18:28:34 <zzo38> I know of operator precedence and order, a few mathematical things about modulo and multiplication and stuff, but still I did not figure it out
18:30:28 <zzo38> That is, if there is any shorter expression for that!
18:33:55 <Timwi> What’s the 22 bytes expression you already got/
18:35:33 <zzo38> x%3&&x%10-3&&x/10%10-3
18:35:56 <zzo38> But maybe is possible to change other parts of the program, although it doesn't seem to help from what I can figure out
18:36:26 <Timwi> Right, so x needs to be divisible by 3 — I thought you meant it should contain *digits* divisible by 3
18:37:11 <twice11> Either divisible by three or at least one digit is 3.
18:37:19 <olsner> maybe you could generate all matching numbers, dunno if that'll be shorter though
18:37:20 <twice11> Sounds like a fizzbuzz variant.
18:38:28 -!- Timwi has quit.
18:38:54 <zzo38> Also, someone made a C program output "Success" with 21 bytes, the most obvious way I can figure out is 24 bytes. I can figure out how to make "Success" to standard error with 18 bytes, but not to standard output with 21 bytes.
18:39:22 <twice11> zzo38: Your expression seems to fail on 311
18:39:34 <zzo38> twice11: It only has to be OK for numbers 1 to 100
18:41:20 <zzo38> I noticed that it seems the C standard functions will have the same address twice if you run the program twice. That doesn't seem to help, though. (This is for "Success" problem)
18:41:57 <twice11> Ah, perror for the stderr case - clever.
18:42:45 <elliott> what if you dup'd the fd then perrored
18:42:50 <elliott> i guess that would still go over though
18:42:55 <twice11> Try to find out the address where the string for perror is stored.
18:43:07 <twice11> And then puts that address.
18:43:17 <zzo38> twice11: I thought of that, but could not figure it out.
18:43:40 <twice11> Do you get access to stderr/stdout of failed programs?
18:44:09 <twice11> And even if not - you get the address from strerror.
18:44:24 <twice11> In the worst case you need to do a binary search.
18:44:51 <twice11> No further hints here - *you* want to win the golfing.
18:45:14 <zzo38> Yes you do get access to stderr/stdout of failed programs.
18:45:38 <zzo38> But I do suppose you are correct. Still, all of those are things I have already thought of. It is OK if you want to give no further hints.
18:46:10 <zzo38> O, I just wanted to mention it, is all.
18:46:25 <twice11> It should be straight-forward to apply my hints.
18:46:34 <twice11> Especially if you get stdout/stderr.
18:47:02 <elliott> there is no guarantee the address is predictable though
18:47:33 <twice11> It needs to pass the judge system once.
18:47:34 <elliott> it might differ enough between runs
18:47:39 <zzo38> Addresses of "puts" and "strerror" and that stuff themself seem to always be the same each time (I have tried it).
18:47:54 <elliott> twice11: well actually there have been proposals for a rejudge button on anagolf :)
18:48:22 <twice11> There are even time()-dependent golf entries around...
18:48:53 <elliott> twice11: the cheat entries (random+resubmit spam ones) are a really bad problem at anagolf
18:48:55 <elliott> thus the rejudge proposals
18:49:07 <zzo38> It is one reason why I dislike endless problems.
18:49:09 <elliott> basically if you're ok hammering the server for a few minutes chance will get you pretty much anywhere
18:50:32 <twice11> On my system, the strerror result is not constant. Did you try on the judge system?
18:50:36 <zzo38> However, in any case, what I prefer to do, is I can post multiple solutions if I have it, some for random or time dependent, others with embed, cheat, genuine, alnum-only, symbols-only, etc.
18:50:53 <zzo38> twice11: The strerror result is not a constant pointer.
18:51:07 <zzo38> The address of the result changes with each run.
18:51:28 <twice11> I was suggesting to hardcode that.
18:51:32 <elliott> zzo38: they might be doing a
18:51:39 -!- pikhq has joined.
18:51:50 <zzo38> I already had all of these ideas (elliott: except your last one)
18:52:02 -!- pikhq_ has quit (Ping timeout: 252 seconds).
18:52:10 <twice11> elliott: That will store a pointer at the main location.
18:52:20 <twice11> You need at least char main[]="machine code";
18:52:58 <twice11> Maybe a global variable from libc has a constant offset from the "Success" string...
18:53:10 <twice11> main[] declares an array of ints.
18:53:24 <twice11> Are you sure you can initialize that with a string?!
18:53:28 <elliott> yep, but if you can do with every other byte being 0...
18:53:42 <elliott> or maybe, if you put a L before the string
18:53:46 <zzo38> twice11: I also thought of those things too, I tried subtraction...
18:53:50 <elliott> then maybe it will work fine?
18:54:28 <pikhq> elliott: Isn't 0x00 a noöp on x86? :)
18:54:37 <zzo38> No, I don't think so
18:54:43 <pikhq> The fuck is 0x00, then?
18:54:58 <zzo38> 0x00 is NOP in z80, though, I think.
18:55:03 <pikhq> And why would you ever want 0x00 to not be NOP?
18:55:41 <pikhq> Oh, wait, x86. x86 hates you.
18:55:44 <zzo38> pikhq: In case the way of all command and the electronics and stuff works, makes it help to not have 0x00 to be NOP, like, some pattern, etc
18:55:48 <olsner> 0x00 is the first byte of a bunch of add instructions, but by itself means nothing to x86
18:56:08 <pikhq> You see? x86 hates you.
18:56:09 <twice11> I understand the request for NOP at 0xFF (unprogrammed ROM celss are NOPs), but what does 0=NOP help in practice?
18:56:20 <elliott> twice11: C string programming :D
18:56:33 <pikhq> twice11: Uninitialised pages!
18:56:41 <olsner> I think usually nop is an alias for a completely different instruction that just happens to have no effect
18:56:43 <zzo38> twice11: If that is the case, then maybe 0xFF should be debug trap command.
18:56:53 <pikhq> ... Presuming you have a kernel that has just-allocated pages as 0.
18:57:11 <twice11> 0xFF as space for hotpatching is what I had in mind.
18:57:45 <twice11> For 0-initialized pages, crash-on-NUL would be nice.
18:57:59 <zzo38> twice11: O, that makes sense, then.
18:58:20 <zzo38> It would be useful if 0xFF to be NOP in case of hotpatching.
18:58:30 <elliott> that'll teach low-level programmers to make memory errors
18:58:52 <twice11> Isn't on Z80 the typical NOP encoding one of 0x40/0x49/0x52/0x5B/0x64/0x6D/0x76/0x7F?
18:59:15 <twice11> But maybe 00 is a NOP, too...
18:59:20 <olsner> on x86, 0x90 aka nop is actually xchg ax,ax (or xchg eax,eax)
18:59:23 <Sgeo> http://www.reddit.com/r/askscience/comments/hx40e/scientists_of_reddit_whats_the_most_disastrous/c1z3xo2
18:59:30 <elliott> olsner: I love how it needs special-casing in sixty-four bit mode
18:59:30 <Sgeo> I misread that as "cut her into half"
18:59:35 <pikhq> You and your LOGIC
18:59:44 <twice11> Those are LD A,A; LD B,B and so on Z80
18:59:55 <twice11> on x86, mov ax,ax would be two bytes.
19:00:12 <olsner> elliott: plus I think the special case only applies for the ax/eax opcode, not for all the other nops for the other registers :)
19:00:48 <twice11> NOP needs to be special-cased for 64 bit?
19:00:58 <elliott> twice11: yes, otherwise it would clear the high bits of rax
19:01:08 <elliott> it would xchg eax with eax, which would clear the top thirty-two bits of rax
19:01:25 <elliott> so the opcode gets special-cased to mean a true nop
19:01:35 <olsner> found a bochs bug a while ago, test eax,eax clears the higher bits of rax
19:02:04 <twice11> I hope the bug was that the bits are cleared...
19:02:19 <olsner> yes, ordinary cpus don't clear them
19:02:29 <twice11> So 0x90 is no longer a nop, but you would need a 64-bit-prefix on that?
19:02:44 <olsner> no no: 0x90 is still a nop, that's the special case
19:03:42 <olsner> to get the real xchg eax,eax behavior (clearing the upper bits) you have to use a different encoding of xchg
19:04:36 -!- Timwi has joined.
19:04:58 <twice11> and eax,0ffffffffh should work to.
19:05:22 <olsner> yes, and take 5 bytes or so
19:06:17 <elliott> hmm, how do you do a syscall from linux assembly again? :p
19:06:36 <Timwi> You guys still discussing the golf?
19:06:41 <olsner> elliott: oh, there are many ways to do that :)
19:06:52 <elliott> Timwi: i'm having a go at doing it incredibly nonportably :)
19:07:01 <olsner> pretty sure it is, the file descriptors live in the kernel
19:07:25 <olsner> but maybe it shares a syscall with dup3
19:07:54 <elliott> what's the shortest byte-count way to syscall, then :p
19:08:16 <olsner> probably the interrupt, int 81h iirc
19:08:32 <olsner> or is that 81 not-hex, hmm
19:09:32 <pikhq> If you're *also* willing to actually set up vdso access, then it'd be a call to the appropriate system call.
19:09:41 <elliott> it occurs to me I have no idea how I would go about finding the machine code of /just/ the main function I defined
19:10:06 <twice11> Stop! We try to get something below 24 bytes!
19:10:50 <olsner> elliott: what do you mean?
19:11:00 <elliott> olsner: like, i can get an ELF .o from nasm
19:11:04 <elliott> and link that with libc with gcc
19:11:10 <elliott> but i just want to extract the specific bytes of main from there
19:11:14 <elliott> and that seems like a pain
19:11:28 <pikhq> elliott: objdump is your friend.
19:11:36 <olsner> just output a flat binary from nasm?
19:11:45 <elliott> olsner: that doesn't support external libc references
19:11:54 <elliott> I can't find the header with syscall numbers :(
19:12:00 <elliott> so i can't use the syscall thing afaik
19:12:05 <olsner> how would you get those libc references into your char array anyway?
19:12:38 <elliott> perror isn't a system call
19:12:42 <pikhq> elliott: sys/syscall.h
19:15:26 <pikhq> Hrm. Apparently glibc 2.14 actually breaks ABI. Hard-core.
19:15:55 <elliott> ugh now why isn't this working
19:16:10 <Timwi> Because it’s not esoteric enough
19:16:17 <olsner> so which glibc is everyone using now, and which century will they be using 2.14?
19:16:49 <pikhq> olsner: It's "just" dropping the RPC interfaces.
19:17:15 <olsner> it has RPC interfaces?
19:18:10 <pikhq> They're being dropped because a) that's fucking STUPID b) the damned thing really fucked with builds, and wouldn't cross-compile right.
19:18:32 <pikhq> Also, as far as I know, the absolute oldest glibc you'll still find is going to be something like 2.10.
19:18:34 <elliott> gah, even the machine code is long for write
19:21:00 <pikhq> Apparently Ulrich Drepper no longer works for Red Hat.
19:21:12 <pikhq> He is VP, Technology Division at Goldman Sachs.
19:21:52 <Timwi> Since October 2010 :-p
19:36:33 -!- kovacs1 has joined.
19:59:09 -!- CakeProphet has quit (Ping timeout: 252 seconds).
20:00:58 -!- CakeProphet has joined.
20:00:59 -!- CakeProphet has quit (Changing host).
20:00:59 -!- CakeProphet has joined.
20:05:27 <Sgeo> Thank you for making many great points in this conversation.
20:05:56 -!- Tritonio has joined.
20:09:52 <zzo38> Is it possible in LLVM to tell it to use different settings for optimization for different parts of the code?
20:10:18 -!- oerjan has joined.
20:10:25 <elliott> I think so, but I'm no expert
20:10:38 <Deewiant> No, but you can split your code into separate bitcode files, optimize each one however you like, and link them together
20:11:18 <zzo38> Is that so even if the API is used?
20:11:40 <zzo38> I did find the header files for using LLVM API with C
20:11:41 <Deewiant> The API may allow more fine-grained control
20:13:10 <zzo38> I do see a lot of things in those header files. But I do not understand all of it.
20:13:17 <zzo38> A lot of useful things are in there.
20:15:39 -!- CakeProp1et has joined.
20:15:52 -!- CakeProphet has quit (Ping timeout: 276 seconds).
20:18:54 -!- Tritonio has quit (Quit: Leaving).
20:21:45 -!- MigoMipo has quit (Remote host closed the connection).
20:23:48 -!- CakeProp1et has quit (Ping timeout: 240 seconds).
20:24:22 -!- CakeProphet has joined.
20:24:23 -!- CakeProphet has quit (Changing host).
20:24:23 -!- CakeProphet has joined.
20:26:25 <oerjan> there you see him, there you don't
20:26:31 -!- kovacs1 has quit (Ping timeout: 260 seconds).
20:31:50 <oerjan> i'm sure poor 223 feels left out too
20:32:06 -!- pikhq has quit (Ping timeout: 240 seconds).
20:32:16 -!- pikhq has joined.
20:32:26 <oerjan> Y U NO READING COMPREHENSION
20:33:48 <olsner> the number of the 1.33 quarterbeasts
20:44:03 -!- aloril has quit (Ping timeout: 250 seconds).
20:44:22 <Sgeo> http://en.wikipedia.org/wiki/Oil_drop_experiment#Millikan.27s_experiment_and_cargo_cult_science this is downright creepy
20:46:35 <oerjan> <pikhq> And why would you ever want 0x00 to not be NOP?
20:47:13 <oerjan> in case you accidentally run into zeroed memory, it might be nice not to have a NOP. theoretically.
20:47:32 -!- cheater8 has quit (Ping timeout: 246 seconds).
20:47:40 <olsner> that's one reason to make 0 a HCF instruction instead of NOP
20:47:49 <olsner> or debug breakpoint or something
20:48:04 <elliott> yeah but zeroing memory is arbitrary :D
20:49:14 <olsner> otoh, a non-zero pattern is better for clearing memory area that you don't want used accidentally, like msvc fills with 0xcc (int3/debug breakpoint)
20:52:37 -!- kovacs1 has joined.
20:53:29 <pikhq> *Clearly* it should be filled with int 80h.
20:53:49 <olsner> pikhq: but that's a two byte instruction
20:55:25 <olsner> there are a couple of reserved undefined instructions though
20:56:03 <olsner> they are, eh, defined as undefined instruction 1 and 2 or something like that
20:57:02 <olsner> and their behaviour would be defined as causing the undefined instruction exception
20:57:40 -!- aloril has joined.
20:58:13 <olsner> defined things as "undefined" something is probably the best way to define anything ever :>
21:04:26 <olsner> hehe, the f00f bug is listed on wikipedia as an HCF instruction :)
21:04:55 -!- CakeProphet has quit (Ping timeout: 244 seconds).
21:05:10 <elliott> it's not an hcf unless the cpu actually catches on fire
21:05:23 <oerjan> > let things = undefined in things
21:05:32 -!- kovacs1 has quit (Ping timeout: 255 seconds).
21:06:28 -!- CakeProphet has joined.
21:06:28 -!- CakeProphet has quit (Changing host).
21:06:28 -!- CakeProphet has joined.
21:06:38 <elliott> <oerjan> > let things = undefined in things
21:06:38 <elliott> <lambdabot> *Exception: Prelude.undefined
21:06:44 <elliott> spent a minute waiting for oerjan to correct his pun code there
21:09:42 <olsner> elliott: maybe it's a NOPUR then - no operation until reset
21:10:15 <olsner> but it might be doing memory stuff while it's looping, so not sure if it's really no operation
21:11:32 -!- CakeProphet has quit (Ping timeout: 240 seconds).
21:11:34 <pikhq> God. Banshee is a fucking *revolting* media player.
21:11:44 <pikhq> I couldn't use it for 2 minutes.
21:12:37 <pikhq> Why would you *want* it to display albums by the artist tag (as opposed to the album artist tag)?
21:12:59 -!- CakeProphet has joined.
21:13:15 <pikhq> Seriously, I should not have albums under [dialog] simply because some live album happens to have a track of dialog.
21:14:39 <pikhq> It's a psuedo-artist for tracks of general dialog not really attributable to anything sane in MusicBrainz.
21:15:40 <olsner> that track should have the artist set to whoever is doing the dialog, shouldn't it?
21:15:45 -!- variable has quit (Remote host closed the connection).
21:16:18 <pikhq> olsner: Who the hell are you going to attribute something like "AND WITHOUT FURTHER ADO, THE FOO BARS" to, anyways?
21:16:38 <elliott> find the announcer's name obvs
21:16:46 <elliott> personally id just attribute it to the album artist
21:16:54 <pikhq> Also, that scheme *really* fucks up on albums where the album artist is Various Artists.
21:17:06 <elliott> how many such albums have dialogue tracks
21:17:12 <pikhq> elliott: Not that many.
21:17:13 <elliott> how many such albums are worth listening to
21:17:14 <olsner> The Foo Bars feat. Announcer - Announcing the Foo Bars
21:17:53 <elliott> Person Who Said "And Without Further Ado, The Foo Bars"
21:18:13 <pikhq> That *too* would screw up on Banshee.
21:18:27 <pikhq> It would list *the album* under Person Who Said "And Without Further Ado, The Foo Bars".
21:18:35 <pikhq> In addition to being under The Foo Bars.
21:18:43 <olsner> The Foo Bars feat. Person Who Said "And Without Further Ado, The Foo Bars" - Person Who Said "And Without Further Ado, The Foo Bars" saying "And Without Further Ado, The Foo Bars"
21:19:11 <elliott> olsner: id buy that single
21:19:53 <pikhq> So, yeah. When it takes me all of 15 seconds to find a *major* flaw in your handling of tags, your music program sucks.
21:20:12 -!- variable has joined.
21:20:34 <pikhq> Though, good on it for at least sorting by the artistsort tag and displaying by artist. Can't manage to get Quod Libet to do that.
21:21:03 <elliott> have you tried Clementine lately?
21:21:31 <elliott> it was so disappointing using amarok 2 for the first time :/
21:21:33 <elliott> like... why did you do this
21:21:51 <elliott> before that amarok was like itunes done properly
21:21:57 <olsner> one thing I really miss from clementine is a way to get to related music from the currently playing song, or a song listed in the playlist
21:21:58 <pikhq> Yeah, Amarok 2 was saddening.
21:21:59 -!- variable has quit (Remote host closed the connection).
21:22:17 <pikhq> Amarok 1 was fucking t3h awesome. With any luck, so's Clementine.
21:22:17 <olsner> e.g. good song playing from shuffle, rightclick to list all stuff from the same artist
21:22:25 <elliott> olsner: how did that actually work anyway?
21:22:40 <elliott> http://upload.wikimedia.org/wikipedia/commons/7/73/Amarok_2.4.png <-- seriously who even designed this
21:22:50 <olsner> spotify does that particular part quite well since artists and albums are clickable links
21:22:53 -!- variable has joined.
21:22:54 <elliott> nobody wants to fucking read a wikipedia article in the centre of their ugly media player
21:22:56 <elliott> the whitespace is all fucked up
21:22:58 <elliott> the left pane is almost useless
21:23:06 <elliott> and the useful shit at the right is stripped down to the point of unusability
21:23:12 <elliott> oh because its FANCY KDE PANEL WIDGETS
21:23:45 <pikhq> Seriously people, *just eat your fucking dog food*. that alone would solve so many usability woes.
21:23:45 <olsner> elliott: I didn't mean any fancy stuff though, just the *really obvious* stuff that you can do with a media library
21:23:47 <elliott> <olsner> e.g. good song playing from shuffle, rightclick to list all stuff from the same artist
21:24:00 <elliott> if clementine has any kind of smart browser functionality, which i'm like 99.999 percent sure it does, this should actually be like
21:24:59 <elliott> http://www.clementine-player.org/
21:25:17 <elliott> i find it amusing that the most native-looking screenshots are on windows
21:25:51 <olsner> doing it myself? it'll be horrible code and then I'd have to get all involved in their "community" to send a patch in and meh... I don't want anything more to do with it than have this particular thing fixed anyway
21:25:52 <elliott> did they clone the amarok ... whats even the name for the bar visualisation
21:25:55 <elliott> probably winamp started it
21:26:00 <olsner> isn't it a fork of amarok?
21:26:00 <elliott> they cloned it identically, awesome :D
21:26:12 <elliott> olsner: they basically recreated amarok onepointfour in qtfour
21:26:32 <elliott> (But Better, one presumes)
21:26:49 <elliott> olsner: um you realise that amarok onepointfour was tied to kde?
21:26:54 <elliott> and clementine is meant to be cross-platform
21:26:58 <elliott> so forking it would just not be tenable
21:27:03 <elliott> you'd have to port from qtthree + kdethree -> qtfour
21:27:08 <elliott> which would involve rewriting most of it anyway
21:28:13 <elliott> well theres http://code.google.com/p/clementine-player/issues/detail?id=273&q=similar&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Stars
21:28:15 <olsner> I used amarok in !kde just fine, but still in X of course
21:28:19 <elliott> not quite the same thing though
21:28:23 <elliott> http://code.google.com/p/clementine-player/issues/detail?id=1162&q=similar&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Stars
21:28:28 <elliott> olsner: still depends on a shitload of kde libs and daemons
21:29:16 <pikhq> Dammit; one issue with Clementine. Can't sort by one tag and display a different.
21:29:42 <elliott> pikhq: how often do you actually care about the exact ordering of your artists? its not like type-to-search isnt faster
21:29:47 <elliott> and most of the time i just use shuffle anyway
21:30:18 <pikhq> elliott: For artists, it's a minor thing. For albums, I *really* want it to sort by date.
21:30:42 <elliott> why not just sort by date then
21:31:19 <pikhq> It doesn't have the concept of sorting by things. It has the concept of grouping by things.
21:37:49 <pikhq> In short, it's too stupid for its own good.
21:38:34 <oerjan> > [x | x <- [1..10], then group by x `mod` 3]
21:38:35 <lambdabot> Illegal transform or grouping list comprehension: use -XTransformListCompNo...
21:38:57 <pikhq> Oh, yeah, and it also seems to struggle with the concept of album artists.
21:39:27 <pikhq> If an album has multiple artists on it, but a single album artist, it gets filed under "Various Artists".
21:39:28 <oerjan> !haskell {-# LANGUAGE TransformListComp #-} main = print [x | x <- [1..10], then group by x `mod` 3]
21:39:34 <EgoBot> /tmp/input.23664.hs:1:13: unsupported extension: TransformListComp
21:39:56 <Phantom__Hoover> pikhq, saw this and thought of you: http://www.cracked.com/blog/5-reasons-internet-access-in-america-disaster/
21:39:57 <oerjan> what's that *No up there
21:40:23 <oerjan> !haskell {-# LANGUAGE TransformListCompNot #-} main = print [x | x <- [1..10], then group by x `mod` 3]
21:40:26 <EgoBot> /tmp/input.23757.hs:1:13:
21:40:55 <oerjan> !haskell main = print [x | x <- [1..10], then group by x `mod` 3]
21:44:23 -!- pikhq_ has joined.
21:44:28 <oerjan> (http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions, anyway)
21:45:49 -!- copumpkin has joined.
21:46:05 <oerjan> > groupBy ((==) `on` (% 3)) [1..10] -- old style
21:46:06 <lambdabot> [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]
21:46:17 <oerjan> hm that's not very well grouped
21:46:40 <olsner> groupBy only groups adjacent elements
21:47:04 -!- pikhq has quit (Ping timeout: 252 seconds).
21:47:09 <oerjan> there's just no short way to express this without the extension i guess
21:47:33 <oerjan> > groupBy ((==) `on` (% 3)) $ sortBy (comparing (% 3)) [1..10] -- old style
21:47:34 <lambdabot> [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]
21:47:49 <lambdabot> forall b a. (Ord a) => (b -> a) -> b -> b -> Ordering
21:48:14 <oerjan> > groupBy ((==) `on` (`mod` 3)) $ sortBy (comparing (`mod` 3)) [1..10] -- old style
21:48:46 <oerjan> that's actually haskell's fraction notation
21:49:12 <olsner> yeah realized about the time I saw your oh duh and revised code
21:50:55 <oerjan> > scanl1 (+) $ map recip [1 :: Int ..]
21:50:55 <lambdabot> No instance for (GHC.Real.Fractional GHC.Types.Int)
21:51:11 <oerjan> > scanl1 (+) $ map (1%) [1 :: Int ..]
21:51:12 <lambdabot> [1 % 1,3 % 2,11 % 6,25 % 12,137 % 60,49 % 20,363 % 140,761 % 280,7129 % 252...
21:51:31 <oerjan> > scanl1 (+) $ map (1%) [1 ..]
21:51:32 <lambdabot> [1 % 1,3 % 2,11 % 6,25 % 12,137 % 60,49 % 20,363 % 140,761 % 280,7129 % 252...
21:51:42 <oerjan> > scanl1 (+) $ map (1%) [1000 :: Int ..]
21:51:43 <lambdabot> [1 % 1000,2001 % 1001000,1503001 % 501501000,2009011003 % 503005503000,6300...
21:51:55 <oerjan> > scanl1 (+) $ map (1%) [1000000 :: Int ..]
21:51:56 <lambdabot> [1 % 1000000,2000001 % 1000001000000,1500003000001 % 500001500001000000,200...
21:52:35 <twice11> lambdabot seems to run on a 64 bit system.
21:53:00 <oerjan> > (1 :: Integer) == (1 :: Int64)
21:53:00 <lambdabot> Couldn't match expected type `GHC.Integer.Type.Integer'
21:53:08 <oerjan> > (1 :: Integer) == (1 :: Int32)
21:53:09 <lambdabot> Couldn't match expected type `GHC.Integer.Type.Integer'
21:53:16 <oerjan> > (1 :: Int) == (1 :: Int64)
21:53:17 <lambdabot> Couldn't match expected type `GHC.Types.Int'
21:53:21 <oerjan> > (1 :: Int) == (1 :: Int32)
21:53:22 <lambdabot> Couldn't match expected type `GHC.Types.Int'
21:53:42 <twice11> Int, Int32 and Int64 are distinct types.
21:53:47 -!- CakeProphet has quit (Ping timeout: 240 seconds).
21:53:51 <oerjan> i'd have imagined one of the types to be a synonym
21:54:25 <olsner> that'd be a bad idea since it'd make some haskell programs subtly dependent on the local word size
21:54:45 <oerjan> olsner: um they _already_ do that if they use Int
21:55:01 <elliott> that could make it type on one machine
21:55:16 <olsner> instead it types on all, but runs differently :)
21:55:34 <elliott> well I would consider using more than the allowed range for Ints unportable/undefined anyway
21:55:47 <elliott> i.e., you can do it as long as you acknowledge you are creating a "GHC program" that only works on some machines
21:56:00 <elliott> the allowed range = by the report that is
21:56:09 <oerjan> > scanl1 (+) $ map (1%) [1000000 :: Int32 ..]
21:56:10 <lambdabot> [1 % 1000000,666667 % (-242126656),353137899 % 820529344,(-1022068671) % (-...
21:56:19 <olsner> yeah, you can't count on more than 31 bits in an Int anyway
21:56:31 <twice11> Do they really guarantee 31?
21:56:45 <olsner> that's the number I remember yes
21:56:47 <twice11> IIRC not only ocaml, but also haskell have just 28 bits or so.
21:56:51 <elliott> thirty-two with a tag bit for GC :)
21:56:59 <oerjan> twice11: no it's thirtysomething
21:57:04 <twice11> Oh, 31 including sign. That's possible.
21:57:16 -!- zzo38 has quit (Remote host closed the connection).
21:57:29 <monqy> does anyone use a sign bit ever
21:57:45 <oerjan> ghc of course doesn't put the tag bit in the same word, so uses 2^n size
21:58:06 <elliott> The finite-precision integer type Int covers at least the range [ - 229, 229 - 1].
21:58:13 <elliott> that's two to the power of twenty nine
21:58:19 <oerjan> monqy: um two's complement is the most common representation
21:58:25 <elliott> that's thirty bits, right?
21:58:31 <olsner> so that's 30 bits of two's complement
21:58:31 <monqy> oerjan: yeah that's what I thought
21:59:09 <oerjan> monqy: and you can consider one bit as sign, although it isn't just negating what it would be without it of course
22:00:37 <olsner> elliott: verbatim is pronounced ver-bay-tim, right? but can you say verb-a-tim instead or is that definitely wrong?
22:01:03 <elliott> olsner: i dont even know with pronunciation and like wtf
22:01:08 <HackEgo> 131) <fungot> alise: why internet is like wtf
22:01:09 <Gregor> olsner: I've never heard anyone pronounce it the latter way, I probably wouldn't recognize that pronunciation.
22:01:18 <elliott> verb-a-tim is my mental pronunc
22:01:22 <oerjan> elliott: two tag bits is used for some mark and sweep algorithms, isn't it
22:01:23 <elliott> but then im a socially isolated weirdo
22:01:36 <Phantom__Hoover> Gregor, verbatim is how I'd pronounce it, and I'm fairly sure I've said it at some point.
22:01:43 <elliott> Phantom__Hoover: congrats on conveying 0 information
22:01:52 <olsner> I wonder how the romans pronounced it
22:01:55 <monqy> I pronounce "verbatim" "verbatim" too
22:02:26 <elliott> I pronounce "verbatim" "roman"
22:02:52 <oerjan> elliott: with that three color thing it requires 2 tag bits
22:03:04 <elliott> http://www.haskell.org/haskellwiki/Amb THIS CODE IS STILL AS COOL AS IT WAS WHEN I WROTE IT THREE YEARS AGO
22:03:16 <elliott> POLYMORPHIC LIST MONAD TRANSFORMER WITH CUT AWW YEAH
22:05:43 <oerjan> olsner: the a in the second last syllable is long, so it carries the stress (although the romans iirc considered the length more important than the stress)
22:06:08 <oerjan> http://en.wiktionary.org/wiki/verbatim#Latin
22:06:48 <oerjan> (their poetry was based on long vs. short syllable meters)
22:08:59 <olsner> so verbum means word, and -atim is an adverbial suffix, so basically it's "wordly"?
22:09:47 <oerjan> http://en.wiktionary.org/wiki/-atim#Latin
22:10:30 <olsner> so there are more than this particular adverbial suffix and it adds additional meaning?
22:11:19 <olsner> I think latin suddenly became too hard to bother with
22:12:04 <olsner> but I wonder, how do we know how the romans pronounced things? preserved mp3:s on millenia-old memory sticks?
22:12:04 <oerjan> heh my impression is that it has scores of little words and stuff
22:12:29 <oerjan> i don't think we actually know precisely
22:13:38 <oerjan> maybe there is an ancient pronunciation guide preserved, i don't know
22:14:56 <oerjan> "Pronunciation of Latin by the Romans in ancient times has been reconstructed from a variety of data, such as the evolution of features of the Romance languages, the representation of Latin words in other languages, such as Greek, the metrical patterns of Latin poetry, and more."
22:15:09 <oerjan> http://en.wikipedia.org/wiki/Latin#Phonology
22:15:37 <oerjan> hm i recall seeing metrical patterns mentioned as a guide
22:16:05 <oerjan> basically since latin script doesn't tell you which vowels are long and short, you need to use poetry to find out :P
22:16:54 <oerjan> olsner: did you know latin doesn't actually have one word for "yes"? you have to express it using one of several methods
22:17:37 <olsner> oerjan: I did not know
22:18:07 * oerjan doesn't actually know enough latin to speak
22:18:21 -!- Lymia has quit (Ping timeout: 240 seconds).
22:18:55 -!- Lymia has joined.
22:19:37 <oerjan> i think "sic" (thus) is the one that evolved into what modern romance languages use
22:26:14 -!- Timwi has quit.
22:40:52 -!- ralc has quit (Quit: Leaving).
22:46:36 <Phantom__Hoover> Like, "how stupid do you have to be to stick your head into a proton beam even if the safety mechanisms fail?"
22:48:08 -!- elliott has quit (Quit: Leaving).
22:48:29 <Phantom__Hoover> Oh god please don't tell me elliott has left to find the nearest proton beam.
22:48:35 <olsner> "remained a poster boy for Soviet and Russian radiation medicine" ... basically he randomly survived due to his own awesomeness with no help from his doctors, and now he's a poster child for great medicine?
22:48:43 -!- elliott has joined.
22:53:02 -!- augur has quit (Remote host closed the connection).
23:01:22 <oerjan> in soviet russia, radiation survives you!
23:04:19 -!- pikhq has joined.
23:05:25 -!- Patashu has joined.
23:06:08 -!- augur has joined.
23:07:33 -!- pikhq_ has quit (Ping timeout: 258 seconds).
23:17:29 -!- Wamanuz3 has quit (Read error: Connection reset by peer).
23:21:38 <Phantom__Hoover> This is nearly as bad as the time I thought "Fibonacci" was spelt "Fibocanni".
23:21:41 -!- Wamanuz has joined.
23:23:27 * oerjan gets annoyed by people spelling it fibbonaci too
23:24:17 <Sgeo> Ugh, I can't prove it, don't quite have the patience and statistics, but I suspect there is no difference in minimum functional gravity between altitudes
23:24:42 <Sgeo> That is, the least amount of gravity such that gravity doesn't stop pulling once it's started
23:25:22 <Sgeo> As far as I can tell, sometimes, gravity starts pulling, but then stop
23:25:26 <pikhq> Sgeo: You seem to have a very, very confused idea of how gravity works.
23:25:37 <Sgeo> I thought this was obvious
23:26:14 <pikhq> Linden Labs seems to have a very confused idea of how gravity should be implemented.
23:26:26 <Sgeo> They just use Havok
23:27:04 -!- CakeProphet has joined.
23:27:04 -!- CakeProphet has quit (Changing host).
23:27:04 -!- CakeProphet has joined.
23:27:14 <oerjan> Phantom__Hoover: um he's been speaking about it several times before
23:27:41 <Sgeo> Phantom__Hoover, yes
23:27:42 <Phantom__Hoover> oerjan, he's also developed an interest in /r/AskScience, so either was plausible.
23:35:11 -!- augur has quit (Remote host closed the connection).
23:38:49 <oerjan> > ("fi"++).concat<$>sequence[id,join((:).head)]`sequence`["bo","na","ci"]
23:38:50 <lambdabot> Couldn't match expected type `[a]' against inferred type `a1 -> a1'
23:40:45 <oerjan> > ("fi"++).concat<$>sequence[id,join((:).head)]`mapM`["bo","na","ci"]
23:40:47 <lambdabot> ["fibonaci","fibonacci","fibonnaci","fibonnacci","fibbonaci","fibbonacci","...
23:40:54 -!- zzo38 has joined.
23:41:03 -!- zzo38 has quit (Remote host closed the connection).
23:41:28 -!- pikhq_ has joined.
23:41:28 -!- pikhq has quit (Ping timeout: 246 seconds).
23:41:52 <CakeProphet> > let ncycle a b = map ((+a) . (`mod` (a+b)) [1..] in ncycle 10 15
23:41:53 <lambdabot> <no location info>: parse error on input `in'
23:42:04 <CakeProphet> > let ncycle a b = map ((+a) . (`mod` (a+b))) [1..] in ncycle 10 15
23:42:05 <lambdabot> [11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,10...
23:42:47 <CakeProphet> > let ncycle a b = map ((`mod` b).(+a)) [1..] in ncycle 10 15
23:42:48 <lambdabot> [11,12,13,14,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,1,2,3,4,5,6,7,8,9,10,11,1...
23:43:13 * CakeProphet just woke up, and did not think that one through.
23:43:20 <oerjan> Sgeo: if they use FP, why is their scripting language an imperative hack :(
23:44:39 <oerjan> elliott: yeah yeah i _guessed_ that's not what the acronym is for :P
23:45:01 <Deewiant> > let ncycle a b = liftM2 (:) head (takeWhile.(/=).head <*> tail) $ map ((`mod` b).(+a)) [1..] in ncycle 10 15
23:45:04 <lambdabot> [11,12,13,14,0,1,2,3,4,5,6,7,8,9,10]
23:45:30 <monqy> fp can stand for too many things it makes me sad :(
23:45:46 <CakeProphet> My regular expression language is now called FP.
23:45:53 * oerjan wonders what CakeProphet and Deewiant are actually trying to make
23:46:04 <CakeProphet> I was trying to make a more efficient cycle over numeric ranges.
23:46:40 <oerjan> what's wrong with cycle [10..15]
23:47:00 <CakeProphet> it comes from programming in Python long ago.
23:47:49 <oerjan> yours can easily be _more_ inefficient spacewise, since it doesn't use a cyclic structure
23:48:24 <oerjan> unless it's a really long cycle which you _don't_ want to hold on to, i guess
23:48:39 <CakeProphet> it's just a strange reflex I have from programming in Python, where one of the rules of thumb is to never chain together large amounts of list concatenation.
23:48:56 <CakeProphet> basically, optimization in Python consists of relying on as many C built-ins as possible, or writing your own.
23:49:04 <oerjan> CakeProphet: note that cycle doesn't actually _do_ a large amount of ++, just a single one
23:49:08 <lambdabot> cycle xs = xs' where xs' = xs ++ xs'
23:49:28 <CakeProphet> oerjan: it does as many ++'s as you traverse...
23:49:38 <CakeProphet> because that's a recursive definition there.
23:49:54 <oerjan> CakeProphet: well it does the length of xs if that's what you mean
23:51:24 <oerjan> once you reach the end of the cycle it uses sharing
23:52:18 <Deewiant> CakeProphet: That's why it's not defined as 'cycle xs = xs ++ cycle xs'
23:52:20 <oerjan> it's not really optimization, it's just the fact that xs' is referred to inside itself
23:52:58 -!- augur has joined.
23:53:15 <CakeProphet> well, space efficiency wasn't the concerning as much as execution.
23:53:26 <oerjan> CakeProphet: it is quite possible that ghc does _actual_ optimization on the result, though
23:53:48 <oerjan> if you use cycle in the right way, it might be inlined as an actual loop
23:54:19 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
23:54:52 -!- elliott has quit (Quit: Leaving).
23:56:39 <oerjan> CakeProphet: well egobot recompiles it each time
23:57:02 <CakeProphet> I've actually notice slowness with all of the Haskell userinterps so that makes sense.
23:57:34 <oerjan> what's more it tried to compile it as an expression first before as a module
00:00:04 <oerjan> !haskell let pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!) in do {len <- pick [2..10]; putStrLn =<< (Control.Monad.replicateM len $ pick ['A'..'Z'])}
00:00:21 <EgoBot> Interpreter acro deleted.
00:00:31 <oerjan> !addinterp acro haskell let pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!) in do {len <- pick [2..10]; putStrLn =<< (Control.Monad.replicateM len $ pick ['A'..'Z'])}
00:00:31 <EgoBot> Interpreter acro installed.
00:01:04 <oerjan> now it works with the initial expression compile
00:02:06 -!- augur has quit (Remote host closed the connection).
00:02:47 <oerjan> actually i think expression = ghci command there
00:02:59 <EgoBot> map :: (a -> b) -> [a] -> [b]
00:04:53 -!- wareya_ has changed nick to wareya.
00:08:15 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds).
00:19:36 -!- augur has joined.
00:31:50 -!- augur has quit (Remote host closed the connection).
00:33:25 -!- wareya has quit (Read error: Connection reset by peer).
00:34:05 -!- wareya has joined.
00:38:57 -!- TOGoS has joined.
00:39:17 -!- TOGoS has left.
00:51:18 -!- wareya_ has joined.
00:52:09 -!- pikhq has joined.
00:52:15 -!- pikhq_ has quit (Ping timeout: 252 seconds).
00:53:20 -!- wareya has quit (Ping timeout: 240 seconds).
01:03:52 -!- Robdgreat has joined.
01:21:25 -!- FireFly has quit (Quit: swatted to death).
01:43:24 * pikhq is still amazed that there was a consumer 1080i recording media in 1998.
01:44:42 <olsner> but we only allow the 100-continue expectation.
01:46:13 <pikhq> Not to mention that the damned thing is competitive with Bluray.
01:47:02 <pikhq> (modulo h.264, which did not exist at the time)
02:14:28 -!- augur has joined.
02:23:32 <Gregor> pikhq: How can YOU help FYTHE? :P
02:24:06 <pikhq> Gregor: By performing MAGIC on it.
02:24:47 <Gregor> How about by performing magic WITH it?
02:25:08 <pikhq> Whatever happened to Plof, anyways?
02:25:42 <Gregor> It's still on the docket >_>
02:25:56 * tswett looks up how many of Gregor there are.
02:26:11 <Gregor> I'm starting to think that both Fythe and <major language implemented on Fythe> will be better if they're not implemented/designed by the same person :P
02:26:12 <tswett> This web site claims that there is 1 or fewer of him.
02:26:49 <pikhq> Well, I could *probably* make Fythe better by figuring out why fastjit-tests segfaults.
02:27:16 <pikhq> In collector.c, line 117.
02:27:55 <Gregor> REMOVE THAT LINE -> PROBLEM SOLVED
02:29:24 <pikhq> That would be a syntax error.
02:31:14 <pikhq> Well, that's new, at least.
02:31:28 <pikhq> If I compile without optimisation it segfaults somewhere *else*.
02:31:42 <pikhq> At 0x0000003c46c84bb1 in libc.
02:32:10 <pikhq> Somewhere in the evaluation of the macro GO() from fastjit/fastjit-tests.h
02:34:24 <pikhq> fastjit/fastjit-tests works just fine, though. I'm inclined to think something in your build system is fubared. :P
02:34:53 <pikhq> Oh, well, no wonder it does. That's... A stale file.
02:43:46 <Gregor> Aha ... for some reason I can't call GGGGC_collect from main()
02:44:47 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
02:46:50 <Gregor> It was in a GGGGC change.
02:47:24 <Gregor> OH FFFFFFFFUUUUUUUUUUUUUUUUUUUUUU
02:47:42 <pikhq> It was revision 393; "Function space: Now with free()!"
02:48:05 <Gregor> pikhq: Nope, that's not it, although that revision did create a segfault :P
02:48:22 <Gregor> My "epiphany" is that I made PUSH and POP unsuitable for pushing globals.
02:48:27 -!- CakeProphet has set topic: shit is wicked bananas i am telling you | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:53:38 <olsner> what's this ggggc thing?
02:54:25 <Patashu> garbage garbage garbage garbage collection
02:55:35 <pikhq> Gregor's G-filled G-filled Garbage Collector.
02:56:33 <Gregor> Gregor's Generalpurpose Generational Garbage Collector
02:56:47 <Gregor> I was thinking if I made it parallel, since I'm cheating with "purpose" any way, I could make it GGPGPGC
02:57:14 <Gregor> Or maybe add "portable" to make it GPGPGPGC
02:58:39 <Gregor> What's it for? It's a garbage collector ...
02:58:57 <Gregor> I'm using it in Fythe, but I didn't write it for Fythe, I wrote it to see if I could write a GC :P
02:59:04 <Gregor> (I did adapt it for Fythe)
02:59:13 <olsner> did it turn out you could? or is that yet to be seen?
03:03:30 <Gregor> It's not as fast as Java's :(
03:04:16 <pikhq> That it's not an utter embarassment next to Java's is itself an achievement.
03:05:34 -!- Lymia has quit (Ping timeout: 244 seconds).
03:07:08 <Gregor> On memory-intensive tests it easily outstrips Boehm and manual memory management, but I don't really know where else to go in terms of speed >_>
03:07:50 <pikhq> Does Boehm usually beat out manual memory management?
03:08:06 <olsner> I guess a big part of the problem is to find a set of benchmarks that is a good balance between real-world similarity and giving your particular gc better results than the competition
03:08:30 <pikhq> olsner: So far, he's just been using Boehm's gcbench.
03:09:02 <pikhq> Which, though heavily artificial, is at least not designed in favor of his collector.
03:09:11 <pikhq> (though his collector might be designed in favor of it. :P)
03:11:44 <olsner> hmm, you might also want to balance in tricky benchmarks that you use to make your collector better
03:14:19 <Gregor> pikhq: Boehm infrequently beats out manual memory management.
03:14:43 <Gregor> Also, I'm using both GCBench and binary_trees (which are similar but not identical)
03:15:06 <Gregor> pikhq: BTW thanks for leading me down the right road to fix fastjit-tests, it's working now ;P
03:16:48 <pikhq> Gregor: Still... Is there any real reason to actually use malloc and free anymore?
03:17:40 <pikhq> Mmkay, good. So I don't have to feel bad about my attitude towards it being "GARBAGE COLLECT ALL THE THINGS".
03:18:06 <Gregor> Yes, from the instant main initializes the GC, everything should be in GC.
03:18:37 <pikhq> Nonono, I mean as in "never use malloc in new programs."
03:19:39 <pikhq> *Obviously*, if you're already using a garbage collector, it's probably a bad idea to also use malloc. What with that really screwing things up if you have things pointing between both heaps.
03:22:14 -!- ray24 has joined.
03:22:26 <ray24> what would you do if a girl farted on your face?
03:22:29 -!- Lymia has joined.
03:22:50 <Patashu> Stick my arm up the girl's rear and out her mouth
03:23:11 <ray24> I highly doubt you'd do that
03:23:22 <Patashu> I collect girls impaled on my arms
03:23:48 <olsner> but "my arm" singular implies that you only have one
03:23:57 <olsner> you can't be doing too well collecting them
03:24:07 <Patashu> No one wants to sell me their arms :(
03:24:21 <oerjan> what are ye all up in arms for
03:25:24 <oerjan> Patashu: that cannot be right, i hear arms dealing is all the rage
03:25:55 <Patashu> I tried to take some arms off of people but turns out they had a right to bear them :(
03:25:57 <Patashu> Got some prison time for that
03:27:52 <ray24> honestly, I didn't believe girls fart
03:29:01 <Robdgreat> well, some eat thunder and fart lightning
03:29:06 <oerjan> i'm pretty sure this is mandatory http://4.bp.blogspot.com/_XU9x8G7khv0/S7IIbe-yBJI/AAAAAAAAN9k/NDYV6HOP-Y0/s1600/second-amendment_bits.jpg
03:29:58 <CakeProphet> ...wtf are we even talking about right now.
03:30:08 <CakeProphet> aren't we supposed to be doing Mad Computer Science?
03:30:17 <ray24> <ray24> what would you do if a girl farted on your face?
03:32:30 <CakeProphet> In what situation could I possibly be in that would cause this to happen.
03:34:55 -!- zzo38 has joined.
03:35:19 <Gregor> To quote Monty Python, "sit on my faaace, and tell me that you love me!"
03:42:38 <pikhq> Hrm. Fun fact. Debian doesn't seem to package the cord library in Boehm GC.
03:44:17 -!- azaq23 has quit (Read error: Operation timed out).
03:52:12 <ray24> What happened was this topic came up at starbucks
03:52:14 <ray24> i was with my friends
03:52:38 <ray24> I stated that girls don't fart
03:52:51 <ray24> and she said did right at my face
03:53:18 <Gregor> And you decided to resolve this dilemma by asking for the appropriate reaction on a channel you've never been to? :P
03:53:41 <ray24> I'm just a bit traumatized...
03:53:45 <ray24> Sorrrrrrrrrrrrrrrrrrrrrrrrrry
03:55:30 <ray24> I dont think I'll ever feel the same about girls
03:55:34 <ray24> Thought they were pure
03:56:32 <ray24> of my 18 years of life.. i've not once heard/seen/smell the fart of a girl
03:57:48 <zzo38> I realized that the harmonic seventh chord is something else I have figured out by myself before I learned what it is called. It is basically linear: 4 5 6 7 8
03:58:49 <ray24> do you have the actual instrument
03:59:06 <ray24> Then hell with you BRO!
03:59:07 <zzo38> I do not have the actual instrument.
03:59:16 <ray24> Hey man > = ) why dont you go get one
03:59:37 <zzo38> It is not an instrument I am describing here
03:59:50 <ray24> Then what EXACTLY is being described here?
04:00:54 <ray24> Dude that's like the most random thing ever
04:03:13 <ray24> yo zzo38 I bet I could outdo you in harmonics
04:04:07 <ray24> I'm gonna take your harmonic chords
04:04:10 <ray24> and Im gonna turn it into my rap
04:12:14 <ray24> They're a scale of harmonic integers bro
04:12:40 <oerjan> ray24: be careful. zzo38 has been known to try to get us to compose music in strange scales
04:13:51 <ray24> i'll do it if you pay me
04:14:28 -!- augur has quit (Remote host closed the connection).
04:16:46 <zzo38> The numbers 4 5 6 7 8 could be seen as scale degrees in a linear temperament I guess. They are not scale degrees in any normal way. If you have a frequency called "f" then you play the tones of frequencies (4f,5f,6f,7f,8f) is what I mean by that.
04:19:32 <zzo38> Program your computer to play those tones and then you can hear it by yourself too.
04:19:43 <CakeProphet> so 4 would just be the second octave over f, and 5 would be...... major third?
04:19:47 <ray24> how do you become a millionaire
04:19:55 <zzo38> CakeProphet: Yes, a just major third.
04:20:31 <zzo38> (As opposed to an equal-tempered major third, which is slightly different)
04:20:41 <zzo38> CakeProphet: It is a just perfect fifth.
04:21:31 <CakeProphet> bleh, no way I'll be able to figure out the rest. :P Except 8, which is just the third octave.
04:21:58 <CakeProphet> I think you could leave out the octaves and still have the same chord.
04:22:57 <CakeProphet> since octaves don't really contribute to the quality of a chord.
04:23:11 <ray24> I got a trumpet but I cannot figure out how to apply anything you guys are saying!
04:23:24 <CakeProphet> I think most trumpets are equal temperament right?
04:23:56 <zzo38> The 7 is what is called the "harmonic seventh" (I only learned today that it is called that)
04:24:01 <ray24> I think they have equilaterals
04:24:20 <CakeProphet> zzo38: yes a harmonic seventh is the seventh on the harmonic minor. There are other sevenths as well.
04:24:48 <CakeProphet> don't ask me why. I guess were just like "hey this minor scale sucks let's make three of them!"
04:26:00 <CakeProphet> because the harmonic minor scale is the melodic minor scale with a raised seventh. To add more tension to the seventh because it's a semitone away from octave, whereas a minor seventh is a whole tone away from octave.
04:26:31 <ray24> You're a musical buff
04:26:48 <ray24> are you like beethoven jr
04:26:57 <CakeProphet> I actually cannot play any instrument well.
04:27:01 <zzo38> Most instruments are made for equal temperament. This has various advantages, although just intonation is more "pure" and is far better in case of music written to use just intonation (instead of equal temperament).
04:27:04 <CakeProphet> I just spend a lot of time on the internet learning things.
04:27:16 <ray24> have you ever touched an instrument
04:27:30 <zzo38> CakeProphet: I know all those things about minor scales, but the "harmonic seventh" I refer to here has nothing to do with that as far as I can tell.
04:27:34 <CakeProphet> yes, I used to play trombone in middle school, and I learned guitar in high school. Oh, and I took piano lessons as a wee lad.
04:27:58 <ray24> can you tap dance on top of a piano
04:28:01 <ray24> sorry really random
04:28:23 <CakeProphet> zzo38: dunno, I could ask one of my friends. He's a music major.
04:28:41 <ray24> so cakeprophet is like a self help book
04:29:18 <ray24> bet you haven't learned anything from me yet
04:29:32 <CakeProphet> I do plan on applying my music theory knowledge when I get around to making a signal processing library in Haskell.
04:29:41 <CakeProphet> ray24: not yet, but you could always change that.
04:29:48 <ray24> whoa, haskell ... that's top notch stuff
04:30:09 <zzo38> That is, just intonation is a rational temperament. Equal temperament is irrational temperament. Equal temperament has advantage you can transpose into any key and play any chord; all chord are equally bad; you can make music with a lot of chord and modulations and stuff. Just intonation has advantage that good chords are exactly correct and you have proper ratios to everything.
04:30:25 <zzo38> Therefore, I recommend that whenever you play music, try, if possible, to play in the kind of temperament that it was written for.
04:30:36 <ray24> Is it possible to reduce 50% of those words in that paragraph and still hold it's intended meaning??
04:30:40 <lambdabot> "haskell haskell haskell haskell haskell haskell haskell haskell haskell ha...
04:30:51 <zzo38> ray24: Possibly. Maybe.
04:32:37 <oerjan> it _might_ make it a little easier to follow some of the conversations here :P
04:33:00 <ray24> Program isn't a challenge. the only challenge is my motivation!
04:33:08 <CakeProphet> though it would make sense, since you're on a channel about esoteric programming languages (and mostly about random off-topic things, but generally centered on computer science or mathematical topics)
04:33:26 <ray24> I came here I thought esoteric was hip hop
04:33:38 <oerjan> ...that's a new one :P
04:33:54 <ray24> esoteric is a pretty cool hiphop
04:34:01 <CakeProphet> I'm a big fan of The Roots. Black Thought is a beast.
04:34:09 <ray24> You should get into esoteric
04:34:22 <zzo38> If you read the TOPIC message, then you would have realized that the TOPIC message is often nonsense and doesn't really help much (unless you want to see the log files).
04:34:42 <ray24> Yeah I got the topic thing on auto-hide
04:34:47 <ray24> since it's really distracting to have it on
04:35:07 <ray24> you know, I'm focused typing here and there's something there... can't have it all at once
04:35:49 <CakeProphet> ray24: http://mitpress.mit.edu/sicp/full-text/book/book.html
04:35:54 <CakeProphet> This book will allow you to become a wizard.
04:36:12 * pikhq notes that the read and write system calls are a royal pain to use.
04:36:25 <pikhq> Efficient as hell in certain cases, but a royal PITA.
04:36:29 <CakeProphet> it only requires that you read it with an inquiring mind and a stalwart soul.
04:36:31 <ray24> will becoming a wizard make me a mark zuckerberg?
04:36:48 <zzo38> OK. That is understood. (I use a different IRC client, which displays the TOPIC message when joining the channel but it scrolls off of the screen as soon as there is more text. This is in agreement with the RFC.)
04:36:49 <pikhq> http://sprunge.us/WJcG You see? Royal PITA.
04:36:56 <pikhq> (just copies stdin to stdout)
04:37:12 <ray24> This is the actual book from mitpress?
04:37:57 <ray24> if i read that book, will I develop stronger comprehension?
04:38:10 <CakeProphet> if you read it and understand it, then yes.
04:38:19 <ray24> what if I comprehend before reading it
04:38:23 <CakeProphet> though I guess it would help to have some background beforehand.
04:38:38 <CakeProphet> ray24: then you fucking psychic and I am afraid of you.
04:38:44 <ray24> I really am a psychic
04:39:22 <CakeProphet> ray24: uh, okay, then explain how a Lisp interpreter works.
04:39:43 <ray24> I need some exposure first
04:39:58 <ray24> yeah you'e a psychic cuz
04:41:17 <pikhq> CakeProphet: Fucking around at random.
04:41:31 <pikhq> Also, lemme re-paste that.
04:41:31 <pikhq> http://sprunge.us/KbVE
04:41:36 <pikhq> Now it strictly conforms!
04:43:34 <ray24> if i read that book and understood
04:43:41 <ray24> what should i be able to accomplsih?
04:44:02 <pikhq> I think this is the first time I've seen strictly conforming POSIX code, for that matter.
04:44:27 <CakeProphet> you will become an initiate wizard. And you will be able to write code in slightly antiquated languages, which means you can tell a computer to do anything that a computer is capable of doing.
04:45:46 <CakeProphet> but then you could start developing your mad hacker cred further, or whatever it is that you want to do with your newfound powers.
04:46:16 <ray24> are you serious about this
04:46:21 <ray24> will i develop these powers
04:46:30 <ray24> bcuz I'm really gonna read it if so.
04:46:32 <pikhq> Has anyone else here ever written a strictly conforming POSIX program?
04:47:55 <ray24> ANDDDDDD that would be no.
04:48:44 <oerjan> ray24: CakeProphet may be slightly non-literal about the wizard bit
04:48:58 <ray24> yeah man i dont want to have false hopes and stuff
04:49:12 <ray24> i wanna do it so I could hack computers some day
04:49:21 <ray24> for the greater good of society
04:49:35 <CakeProphet> pikhq: I honestly don't know anything about POSIX standards
04:50:05 <ray24> I think IM gonna go jump cows right now...
04:50:09 <ray24> wait.. im gonna read this book
04:54:08 <ray24> http://www.esoterichiphop.com/
04:59:12 <ray24> I cannot believe how much filler words they have in that book
05:00:14 <ray24> maybe I just got a high IQ or something iono!
05:02:17 <CakeProphet> it depends on your definition of filler words. Most words are pretty essential to the meaning of a sentence.
05:03:08 <ray24> they use a lot of general words. ie " framework, structure, organization etc"
05:03:09 -!- augur has joined.
05:03:43 <ray24> repetition won't stimulate much in my mind to be honest
05:03:55 <CakeProphet> ray24: well, since it's the introduction if they used anything less general you would be overwhelmed by specific details.
05:05:25 <ray24> I usually just go straight into the problems
05:07:27 -!- pikhq_ has joined.
05:07:28 -!- pikhq has quit (Ping timeout: 252 seconds).
05:10:05 <ray24> So a lisp represents inputs that you feed it
05:10:22 <ray24> maybe a lisp could also interpret my algorithm
05:11:01 <ray24> I wasn't a programmer 1 hour ago.. but I might be a programmer in the next 24 hours
05:13:55 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
05:14:11 <oerjan> no lisp that i can see
05:17:55 <ray24> I'll become a good programmer within a month
05:18:02 <ray24> Not even a challenge
05:18:20 <ray24> Seems pretty easy so far
05:19:45 <ray24> Brb I'm gonna hop the hence behind my yard and jump the cows
05:19:49 * oerjan tries to resist linking to a certain peter norvig page
05:19:50 <ray24> hehe they're backk!
05:24:20 <oerjan> the cow jumped over the moon
05:35:33 <pikhq_> I should really stop doing pointless shit.
05:36:55 <pikhq_> Such as "golfing executable size for (nearly POSIX-compliant) cat whilst only relying on POSIX features."
05:46:19 <CakeProphet> the best way to do that is to write it in assembly of course.
05:46:35 <CakeProphet> but won't the executable be different sizes on different architectures?
05:47:53 <pikhq_> I'm demanding that it be a strictly conformant POSIX C program.
05:48:36 <CakeProphet> and I guess you're going by the executable size on your local machine?
05:49:31 <pikhq_> For an i686 machine using musl.
05:51:00 <pikhq_> I am easily amused by oddly specific tasks.
05:51:31 <pikhq_> http://sprunge.us/ZHdQ Nasty, but strictly conformant.
05:52:28 <pikhq_> And it is nearly a perfect POSIX cat (it does not *quite* comply to the requirements for argument handling)
05:53:34 <pikhq_> And yes, read and write are *really* nasty.
05:53:43 <pikhq_> But that's the cost you pay for not using stdio.
05:54:01 <oerjan> ...it would be amusing if compliant POSIX programs cannot be written in compliant POSIX C
05:54:14 <zzo38> What is nasty with read and write?
05:54:36 <pikhq_> zzo38: Note that, to do it *right*, you have to retry if you get EINTR.
05:55:15 <ray24> How do you to modify operands?
05:58:47 <pikhq_> So far, I'm down to 1680 bytes.
06:01:02 <pikhq_> Incidentally, this is *obnoxiously* slow.
06:01:42 <pikhq_> Of course, having to enter the kernel twice per character will do that.
06:04:13 <ray24> What is pikhq_ talking about
06:04:22 <pikhq_> ray24: A lot of craziness.
06:04:40 <ray24> ur craziness elicits no response from your intended audience
06:04:57 <pikhq_> Because some days, I like to spend an hour doing something that is literally pointless.
06:05:29 <ray24> how many forms of entertainment do you have?
06:05:47 <pikhq_> *Hooray*, taking 5 minutes to cat 578 megabytes!
06:05:53 <pikhq_> ray24: Rather a lot, actually.
06:06:12 <pikhq_> Depends on the sense of "hacker" that you use.
06:06:26 <ray24> break codes.. conduct illegal stuff
06:06:36 <ray24> adding virus to mp3 files
06:06:41 <ray24> corrupting sys files
06:06:50 <pikhq_> No, but not for lack of skills.
06:07:11 <ray24> i think it's possible
06:10:03 <ray24> you know what would be a great invention that i thought of
06:10:27 <CakeProphet> it might be possible through some insane stack buffer overflow exploit on certain media players... but that sounds highly improbable due to the nature of lossy compression.
06:10:48 <pikhq_> CakeProphet: It'd most likely be a buffer exploit in the parser.
06:11:09 <pikhq_> That sort of thing is *far* more common than you'd ever like to think.
06:11:33 <pikhq_> Even happens in believed to be *good* software.
06:11:41 <CakeProphet> I will continue thinking that it is uncommon for my own mental safety.
06:11:43 <pikhq_> (see that libpng buffer overflow a few years back)
06:11:58 <CakeProphet> right, but has it been known to happen with mp3s?
06:12:28 <CakeProphet> I guess it's similar in principle really. The fact that you can embed code into any kind of data format is pretty scary in itself.
06:12:44 <pikhq_> You must remember, though, that C is commonly used, and with C you get a very, very high risk of buffer overflows.
06:14:54 <CakeProphet> An ecoder takes an input signal and turns it into kittens. The ambiguity of this definition is intentional and allows for a wide variety of behaviors.
06:15:19 <ray24> how long did it took CakeProphet to finish that book?
06:16:16 <pikhq_> Clearly, it codeth dens.
06:16:30 <CakeProphet> yes, it codes an input signal as a comfortable living space.
06:17:02 <CakeProphet> I guess ecoder could be a coder that is environmentally friendly.
06:18:30 <CakeProphet> pikhq_: so what is the best way to avoid buffer overflows in C exactly?
06:21:54 <CakeProphet> hmmm, apparently the Twilight hack works by giving lengthy name for Epona and causing a stack buffer overflow.
06:28:50 <pikhq_> CakeProphet: Don't use C.
06:30:05 <oerjan> maybe trusting trust was a digression, maybe the _real_ unremovable vulnerability was C itself...
06:34:21 * pikhq_ is probably far too good at making things pointlessly small.
06:35:09 <pikhq_> Hmm. cat is larger than shish.
06:35:33 <pikhq_> Admittedly, shish has the advantage of assuming Linux x86.
06:40:35 <pikhq_> ... And possesses the minimal functionality necessary to count as a "shell".
06:41:24 <pikhq_> Nope. No kebabs. Only cd and environment handling.
06:42:05 <pikhq_> And command execution.
06:42:25 <oerjan> those commands better behave, or else
06:42:42 <pikhq_> And that's comprehensive.
06:42:59 <pikhq_> You may now be frightened.
06:43:12 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
06:43:26 <pikhq_> Thank you for compliance.
06:56:28 <zzo38> It is possible to still write programs in C that do not have buffer overflows, if you are careful.
06:56:49 <pikhq_> zzo38: Yes, it's possible if you have a divine level of care.
06:57:14 <pikhq_> And that leaves out all known programmers.
06:57:19 <zzo38> In the case of Twilight hack, it doesn't matter though because you cannot overflow the length of the name in the normal game.
06:57:42 <zzo38> And other programs are not supposed to be used to create files for this game
06:58:22 <pikhq_> The whole *deal* with buffer overflows is that you can't make assumptions that the input will be well-formed.
06:58:29 <pikhq_> If you could, gets would be a reasonable function.
06:58:32 <zzo38> pikhq_: When security is important, I do it carefully.
06:59:25 <zzo38> I know gets is not a very good function but they did correct that and other ones by making new functions that do not have this problems.
07:00:14 <zzo38> Such as: fgets, snprintf, etc.
07:08:24 <zzo38> TeX is very secure (as long as you use the One True TeX; not e-TeX, pdfTeX, LuaTeX, XeTeX, etc) if you can simply disable the commands you do not want in the format file by undefining those control sequences (and ensuring you have no other control sequences or active characters with the meanings that they had). I wrote a program accessing TeX with HTTP forms and if you try to "improve" it you have a chance of introducing security holes!
07:10:42 <Patashu> Is it possible to determine at compile time where overflows could potentially happen
07:10:55 <Patashu> I know there's a C extension, Cyclone or something, that does it
07:11:18 <pikhq_> Patashu: Halting problem.
07:11:37 <zzo38> Yes I have read about Cyclone.
07:11:38 * Patashu goes flying into the horizon
07:11:39 <pikhq_> Best you can do is heuristics.
07:15:30 -!- oerjan has quit (Quit: Good night).
07:17:12 -!- Albibeno has joined.
07:21:29 -!- Albibeno has quit (Ping timeout: 250 seconds).
07:24:10 -!- Albibeno has joined.
07:27:48 -!- Albibeno has left.
07:28:58 -!- esowiki has joined.
07:29:20 -!- esowiki has joined.
07:29:41 -!- esowiki has joined.
07:30:02 -!- esowiki has joined.
07:30:41 -!- esowiki has joined.
07:31:18 -!- esowiki has joined.
07:32:14 -!- esowiki has joined.
07:32:52 -!- esowiki has joined.
07:33:40 -!- esowiki has joined.
07:34:27 -!- esowiki has joined.
07:35:11 -!- esowiki has joined.
07:35:12 -!- glogbot has joined.
07:42:46 -!- Ycros has joined.
07:42:47 -!- Lymia has joined.
07:43:24 -!- oklofok has joined.
07:43:24 -!- pingveno has joined.
07:43:24 -!- ttm_ has joined.
07:43:24 -!- HackEgo has joined.
07:43:24 -!- Zwaarddijk has joined.
07:43:33 -!- myndzi has joined.
07:43:36 -!- Slereah_ has joined.
07:43:36 -!- Albibeno has joined.
07:43:36 -!- pikhq_ has joined.
07:43:36 -!- augur has joined.
07:43:36 -!- zzo38 has joined.
07:43:36 -!- Robdgreat has joined.
07:43:36 -!- wareya_ has joined.
07:43:36 -!- CakeProphet has joined.
07:43:36 -!- Wamanuz has joined.
07:43:36 -!- variable has joined.
07:43:36 -!- aloril has joined.
07:43:36 -!- monqy has joined.
07:43:36 -!- lifthrasiir has joined.
07:43:36 -!- coppro has joined.
07:43:36 -!- olsner has joined.
07:43:36 -!- SimonRC has joined.
07:43:36 -!- EgoBot has joined.
07:43:36 -!- jcp has joined.
07:43:36 -!- comex has joined.
07:43:36 -!- mtve has joined.
07:43:36 -!- rodgort has joined.
07:43:36 -!- jix has joined.
07:43:36 -!- yorick has joined.
07:43:36 -!- iamcal has joined.
07:43:36 -!- Gregor has joined.
07:43:36 -!- micahjohnston has joined.
07:43:36 -!- tswett has joined.
07:43:46 -!- zzo38 has quit (Quit: zzo38).
07:43:50 -!- twice11_ has joined.
07:43:50 -!- Deewiant has joined.
07:43:56 -!- comex has quit (Excess Flood).
07:44:02 -!- comex_ has joined.
07:44:02 -!- pikhq has joined.
07:44:06 -!- quintopia has joined.
07:44:06 -!- clog has joined.
07:44:06 -!- sebbu has joined.
07:44:06 -!- yiyus has joined.
07:44:06 -!- ineiros has joined.
07:44:16 -!- fizzie has quit (*.net *.split).
07:44:17 <pikhq> I'm afraid that all we're getting is mojibake, Albibeno.
07:44:26 -!- ray24 has joined.
07:44:26 -!- lambdabot has joined.
07:44:31 -!- twice11_ has quit (*.net *.split).
07:44:32 -!- Deewiant has quit (*.net *.split).
07:44:36 -!- mycroftiv has joined.
07:44:36 -!- shachaf has joined.
07:44:43 -!- oklofok has quit (*.net *.split).
07:44:43 -!- pingveno has quit (*.net *.split).
07:44:43 -!- ttm_ has quit (*.net *.split).
07:44:43 -!- HackEgo has quit (*.net *.split).
07:44:43 -!- Zwaarddijk has quit (*.net *.split).
07:44:45 -!- pikhq has quit (*.net *.split).
07:44:45 -!- Ycros has quit (*.net *.split).
07:45:09 -!- shachaf has quit (Max SendQ exceeded).
07:45:19 -!- pikhq has joined.
07:45:31 -!- shachaf has joined.
07:45:37 <pikhq> Would the server please start coöperating?
07:46:48 -!- pikhq_ has quit (Ping timeout: 240 seconds).
07:49:06 -!- fizzie has joined.
07:49:46 -!- oklofok has joined.
07:49:46 -!- pingveno has joined.
07:49:46 -!- ttm_ has joined.
07:49:46 -!- HackEgo has joined.
07:49:46 -!- Zwaarddijk has joined.
07:49:59 -!- twice11_ has joined.
07:49:59 -!- Deewiant has joined.
07:50:12 -!- pingveno has quit (Max SendQ exceeded).
07:50:27 -!- Ycros has joined.
07:50:29 -!- Albibeno has left.
07:51:10 -!- pingveno has joined.
07:53:13 -!- twice11_ has changed nick to twice11.
08:02:11 <CakeProphet> oh okay. <=> doesn't do what I think it does apparently.
08:13:24 <CakeProphet> !perl print '99 bottles of beer' <=> '20 bottles of beer'
08:14:59 -!- monqy has quit (Quit: hello).
08:15:03 <CakeProphet> !perl print '99 bottles of light beer' == '99 bottles of lager'
08:26:12 -!- Patashu has quit (Ping timeout: 252 seconds).
08:46:06 -!- Kustas has joined.
08:49:49 <ray24> Whoa CakeProphet is still here
08:53:00 <Lymia> !print '9999999 tons of gold' '10000000 grams of copper'
08:53:10 <Lymia> !perl '9999999 tons of gold' < '10000000 grams of copper'
08:53:20 <Lymia> !perl print '9999999 tons of gold' < '10000000 grams of copper'
09:12:43 -!- ray24 has quit (Quit: Leaving).
09:14:11 -!- Phantom_Hoover has joined.
09:15:10 <CakeProphet> Lymia: yeah, obviously it's only interested in the number part.
09:17:18 <CakeProphet> so it just finds the first number-like entity and uses that.
09:18:03 <CakeProphet> so basically don't ever rely on that feature.
09:19:22 <Lymia> !perl print "asdfasdf" == "asdfasdf"
09:19:25 <Lymia> !perl print "asdfasdf" == "asdfasff"
09:20:18 <CakeProphet> yeah I think in the case where there is no number they're both zero
09:20:50 <CakeProphet> !perl print '99 problem' + 'none of them are bitches'
09:21:36 <fizzie> Non-numeric srings are indeed 0.
09:21:46 <twice11> CakeProphet: There is documentation available about strings, numbers and implicit conversions in perl.
09:21:49 <CakeProphet> Lymia: but yeah, for stringy operators you want eq, ne, lt, gt, and cmp
09:21:54 <fizzie> Anyway, you're supposed to use the eq and...
09:22:21 <twice11> !perl print "0, but true" + 0
09:22:34 <twice11> "perl print "TRUE!" if "0, but true"
09:22:42 <twice11> !perl print "TRUE!" if "0, but true"
09:23:02 <twice11> so this is an expression which is numerically zero, but logically true.
09:23:15 <twice11> because every non-empty string is true...
09:23:24 <Lymia> Is this golf usable material?
09:23:35 <CakeProphet> twice11: yes, I understand how Perl works. Unless you're speaking to someone else, then I guess it's fine to continue.
09:24:10 <CakeProphet> Lymia: it could be in some very specific situation. But I doubt it.
09:24:11 <twice11> CakeProhet: Sorry, it looked like you were experimenting with the comparison operators...
09:24:37 <CakeProphet> oh, I was. I was just experimenting with how the numeric context worked. Otherwise I had it down. No worries.
09:24:55 <Lymia> !perl print '$99' == '$199'
09:25:07 <twice11> Lymia: Using implicit conversion from string to number ignoring everything after the first valid number occurs sometimes in golf.
09:25:26 <Lymia> !perl print '$9242'+0
09:25:58 <CakeProphet> Lymia: shame, it really should work with currency symbols.
09:26:30 <Lymia> !perl print ' 9242'+0
09:26:36 <Lymia> !perl print 'wat 9242'+0
09:26:41 <CakeProphet> granted, any kind of software that handles money should not be relying on Perl's numeric conversion mechanism.
09:26:47 <twice11> !perl print '$1' < '€1' # how should this be decided...
09:27:08 <Lymia> twice11, 1 == 1 therefore false
09:27:13 <CakeProphet> twice11: well, I didn't mean it should try to /compare/ currencies precisely.
09:27:18 <Lymia> !perl print ' 9242 25334 '
09:27:22 <Lymia> !perl print ' 9242 25334 '+0
09:27:41 <twice11> Lymia: perl is just doing atof() on that string.
09:28:13 <twice11> It ignores whitespaces in the beginning, parses a floating point number, and aborts at the first invalid character.
09:30:26 <Lymia> !perl print ' 9242.25334 '+0
09:30:45 <Lymia> !perl print 1.0+1.0+1.0+1.0+1.0 eq 5
09:31:25 <CakeProphet> when it converts the literal into a number or whatever.
09:31:34 <CakeProphet> so it's just 1 when it converts to a string.
09:31:48 <Lymia> !perl print 1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1 eq 11
09:31:54 <Lymia> !perl print 1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1 == 11
09:32:43 <Lymia> !perl print 1.1 . 1.1
09:34:35 <twice11> In fact, "perl print 1.1.1.1" prints four charcters of "\x01".
09:34:58 <twice11> Like the binary representation of an IPv4 address...
09:35:26 <twice11> Works even with a different number of components.
09:35:58 <twice11> !perl print 0x48.0x45.0x4C.0x4C.0x4F
09:36:11 <twice11> huh? not with hex numbers...
09:36:34 <twice11> !perl print 72.64.76.76.79
09:36:41 <twice11> !perl print 72.69.76.76.79
09:36:57 <twice11> seems EgoBot kills spaces.
09:37:44 <CakeProphet> !perl print 32 . 32 . 32 . 32 . 32 . 32 . 32 . 32 . 64
09:38:19 <twice11> With the spaces inbetween, the dot is just the concatenation operator...
09:40:51 <twice11> CakeProphet: man perldata, search for "Version Strings"
09:41:10 <twice11> Note "If there are two or more dots in the literal, the leading "v" may be omitted"
09:44:28 <twice11> !perl print (printf "%vd" v65.72)
09:44:29 <EgoBot> Bareword found where operator expected at /tmp/input.23532 line 1, near ""%vd" v65"
09:44:41 <twice11> !perl print (printf "%vd",v65.72)
09:45:01 <fizzie> !perl print keys %{{v64 => "hah"}}
09:45:21 <fizzie> !perl print keys %{{v64.64 => "hah"}}
09:46:56 <EgoBot> Bareword found where operator expected at /tmp/input.23924 line 1, near ""%vd" v65"
09:47:20 <twice11> !perl print (sprintf "%vd",v65.72)
09:47:37 <twice11> OK, that's my fault. I mixed up printf and sprintf, causing the extra 1.
09:48:07 <fizzie> !perl print v64 => "stuff";
09:48:16 <fizzie> !perl print v64.64 => "stuff";
09:48:23 <fizzie> !perl print v64.64, "stuff";
09:48:28 <fizzie> !perl print v64, "stuff";
09:48:29 <EgoBot> No comma allowed after filehandle at /tmp/input.24281 line 1.
09:49:20 -!- Lymia has quit (Ping timeout: 268 seconds).
09:52:20 -!- Sgeo has joined.
10:00:08 -!- Kustas has quit (Quit: all work and no play).
10:00:42 <Sgeo> Uh, Chrome? I'd like to see my saved passwords now, kthx
10:05:28 -!- sebbu2 has joined.
10:05:29 -!- sebbu2 has quit (Changing host).
10:05:29 -!- sebbu2 has joined.
10:07:01 <twice11> Sgeo: Wrench->Preferences->Personal stuff->Manage Saved Passwords...->Click a line and "show"
10:07:35 <Sgeo> There is no "show"
10:08:07 -!- sebbu has quit (Ping timeout: 240 seconds).
10:08:08 -!- sebbu2 has changed nick to sebbu.
10:08:15 <twice11> If I select one entry in the list, a "Show" button appears after the big dots.
10:08:23 <Sgeo> Found it, need to hover over the right side of the password box
10:28:36 -!- Patashu has joined.
11:11:21 -!- Lymia has joined.
11:11:21 -!- Lymia has quit (Changing host).
11:11:21 -!- Lymia has joined.
11:12:55 <Lymia> Scrollback tells me this: wtf perl
11:13:18 <olsner> you needed scrollback to know that?
11:20:23 -!- Guest64102 has joined.
11:21:57 -!- Guest64102 has left.
11:35:27 -!- ralc has joined.
11:36:37 -!- Ycros has quit.
11:37:13 -!- Ycros has joined.
11:46:20 <Phantom_Hoover> http://www.reddit.com/r/programming/comments/hxg39/ny_times_schools_revamping_their_computer_science/c1z6q17
11:46:20 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
12:16:26 -!- FireFly has joined.
12:19:30 <Patashu> Is there a 'list of categories'
12:20:00 <Patashu> Not to be confused with Category:Category-theoretic categories.
12:20:06 <Patashu> I put a category in your category of categories
12:20:26 <Patashu> http://en.wikipedia.org/wiki/Category:Contents I got a category about contents, so there's content in your category
12:22:21 <Sgeo> Bottommonium deserves to be the name for something made out of bottom quarks
12:22:25 <Patashu> my butt is made up of bottomonium
12:22:58 <Phantom_Hoover> Sgeo, as indeed it is, being a bound state of a bottom quark and a bottom antiquark.
12:23:23 <Phantom_Hoover> It appears to be known by boring people as the upsilon meson.
12:25:30 <Sgeo> Why don't they annihilate?
12:29:24 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
12:31:52 -!- Phantom_Hoover has joined.
12:32:58 <Phantom_Hoover> Particle-antiparticle interactions aren't as simple as "they meet and go poof".
12:33:56 <olsner> what do they do then? meet and have a cup of tea?
12:34:39 <Phantom_Hoover> They go poof in a multitude of different ways, or sometimes go poof after flying around for a bit.
12:34:41 <Patashu> It takes several nanoseconds to convince an antiparticle he doesn't exist
12:41:46 <Phantom_Hoover> Sgeo, it seems to be largely due to QCD being crazy weird.
13:03:37 -!- Sorcy has joined.
13:05:41 -!- comex has joined.
13:05:48 -!- foocraft has joined.
13:06:01 -!- Ycros has quit (Disconnected by services).
13:06:04 -!- Sorcy has changed nick to Ycros.
13:06:25 <Phantom_Hoover> Who is this Ycros fellow. He seems like a frangible chap.
13:10:15 -!- comex_ has quit (*.net *.split).
13:15:57 <Phantom_Hoover> Another, fundamentally incorrect, but nonetheless useful, way
13:15:57 <Phantom_Hoover> to distinguish the twins is to imagine that despite their genetic dif-
13:15:57 <Phantom_Hoover> ferences, they are both avid coee drinkers. If they each spend the
13:15:59 <Phantom_Hoover> entire time between events D and R drinking coee, L experiences
13:16:01 <Phantom_Hoover> no trouble at all, but M nds that he spills his coee all over him-
13:16:03 <Phantom_Hoover> self at event T. After all, his spaceship suers a huge acceleration at
13:16:05 <Phantom_Hoover> that time. L experiences no such trauma. This explanation is fun-
13:16:07 <Phantom_Hoover> damentally flawed because if we allow for gravitational forces, there
13:16:09 <Phantom_Hoover> are many ways to construct twin paradoxes which do not involve
13:16:21 <Phantom_Hoover> OK this is possibly the best derivation of special relativity.
13:18:38 <Phantom_Hoover> It doesn't pull any punches with the maths, though: that's just a footnote.
13:19:12 <Sgeo> Is the math skimmable?
13:19:25 <Sgeo> For some reason, I really don't like applied math
13:19:55 <Phantom_Hoover> I sought it out specifically because I wanted the derivations without handwaving.
13:21:24 <Sgeo> I think I'll live
13:21:55 <Sgeo> Any of it gets too tedious for me to bother really looking at, I can just nod my head I think
13:22:31 <Sgeo> Although I don't understand matrices all that perfectly, I still think I'll live
13:23:06 * Sgeo wants a similar paper for GR though
13:24:57 <Sgeo> I can always skim the harder looking math and just nod my head, right?
13:25:35 <Phantom_Hoover> Consider that GR isn't even solved in most non-trivial cases.
13:25:37 <Sgeo> Oh, huh, this has excersize problems
13:25:55 <Sgeo> Not going to do them for now, but maybe at a later date
13:26:47 <Sgeo> Can it be brute-forced somehow? I don't quite understand what is meant by "not solved"
13:29:48 <Phantom_Hoover> http://en.wikipedia.org/wiki/Solutions_of_the_Einstein_field_equations
13:32:14 <Sgeo> 14 equations for 20 unknowns, doesn't that just mean there are an infinite number of solutions that fit those equation? Is it the case that some of those are wrong?
13:55:55 <Sgeo> I think I'll soon ask a question on /r/askscience that sounds like a weird question, but hopefully it isn't
14:12:12 -!- pikhq_ has joined.
14:12:21 -!- pikhq has quit (Ping timeout: 252 seconds).
14:27:19 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
14:55:49 <Sgeo> http://www.reddit.com/r/askscience/comments/hxro3/when_i_touch_a_wall_what_color_is_the_light/
15:03:41 -!- Patashu has quit (Ping timeout: 252 seconds).
15:26:03 <Sgeo> I made the mistake of checking to see if /r/astrology exists
15:26:11 <Sgeo> http://www.reddit.com/r/astrology/comments/h6lgc/a_serious_discussion_about_astrology_as_a_science/
15:31:29 <Sgeo> I'm now mentally trying to work out a way to test astrology
15:32:42 <Sgeo> Does Astrology attempt to say what a particular period of your life will be like based on your birth date? If not, ignore this. if so:
15:33:19 <Sgeo> Do it backwards. Attempt, without looking at a star chart, to guess what planets will be in what houses when in your life, and then see if reality matches
15:33:42 <Sgeo> This should eliminate any tendency to see "Oh, your life was like this" an then think back to corresponding events.
15:33:54 <Sgeo> I just remembered that there's an ex-astrology person here.
15:54:17 -!- azaq23 has joined.
16:07:38 -!- pikhq has joined.
16:07:56 -!- pikhq_ has quit (Ping timeout: 260 seconds).
16:19:25 -!- BeholdMyGlory has joined.
17:12:37 -!- Ycros has quit (*.net *.split).
17:12:37 -!- fizzie has quit (*.net *.split).
17:25:02 -!- Vorpal has joined.
17:33:14 <Vorpal> the difference between stock 2.6.32 on ubuntu lucid and vanilla (mostly, needed one apparmor related patch) 2.6.39.1 is... astonishing. Utterly astonishing. For s2disk and resume from disk I have a 18x-20x speed up. Measured both by doing a clean reboot then suspending to disk right after logging in.
17:33:27 <Vorpal> on clean boot I have a 5-10x speedup
17:34:16 <Vorpal> note that the kernel config for both were quite similar when it comes to making most things modules.
17:36:05 <pikhq> Yeah, there was a lot of improvements in there.
17:36:23 <pikhq> Including a few patches labeled "This is utter magic."
17:38:11 <Vorpal> pikhq, one thing that could help is that dm-crypto seems to use both cores for decrypting now. Though the results of my tests on that are not fully conclusive. It was definitely single threaded in 2.6.32
17:38:33 <pikhq> As in "all of a sudden, the whole thing goes twice as fast" magic, not "we code where mere mortals dare not tread".
17:38:40 <Vorpal> back then kcryptd loaded one core fully when doing cat file.iso > /dev/null. Now both cores are loaded fully by kworkerd sometimes
17:39:17 <Vorpal> pikhq, however 2.6.27 still beats all following kernels when it comes to number of wakeups per second reported in powertop
17:39:38 -!- monqy has joined.
17:39:55 <Vorpal> on 2.6.27 I could get down to 5W with monitor on lowest brightness, wlan and bluetooth off, and idle cps
17:40:11 <Vorpal> with 2.6.32 it was around 8 W. On 2.6.39.1 it is 7 W
17:41:04 <Vorpal> culprit seems to be "[kernel scheduler] Load balancing tick" raising number of wakeups per second by 10-20
17:43:47 -!- Ycros has joined.
17:43:48 -!- fizzie has joined.
17:44:36 <Vorpal> pikhq, hm. resume from disk now says "loading pages and uncompressing" (or so, could be different word order, went to quick for me to memorise it exactly".
17:44:40 <Vorpal> that would explain a lot
17:44:48 <Vorpal> since I have a 5400 RPM disk
17:51:10 <Sgeo> @tell oerjan Do you logread?
18:16:15 -!- azaq23 has quit (Quit: Leaving.).
18:22:25 -!- copumpkin has joined.
18:23:44 -!- Phantom_Hoover has joined.
18:45:36 <Sgeo> Googling for closures CPS brings up school closings in Chicago
18:52:06 -!- azaq23 has joined.
18:52:19 -!- azaq23 has quit (Client Quit).
19:09:32 <monqy> why are you searching for closures CPS
19:09:43 <monqy> rather than each independently
19:15:54 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
19:41:34 -!- MigoMipo has joined.
19:47:26 -!- Lymia has changed nick to Lymia_.
19:47:32 -!- Lymia_ has changed nick to Lymia.
20:07:28 -!- calamari_ has joined.
20:10:30 -!- guy_ has joined.
20:10:42 -!- calamari_ has quit (Client Quit).
20:22:29 -!- zzo38 has joined.
20:25:30 <Sgeo> Because I'm wondering if there are any complications to just making _every lambda_ a closure. It sounds inefficient
20:25:58 <Sgeo> Would just the ones that were defined as lambdas in the original source be sufficient?/
20:26:59 -!- elliott has joined.
20:31:27 <elliott> I predict CakeProphet is at or past 2282
20:31:27 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
20:31:33 <elliott> I know this because I am psychic
20:33:12 * Sgeo learns of /r/gue
20:34:13 <elliott> wow a reddit where redditors can go beyond pretending they are rational and good argumentors to... pretending that double
20:57:11 * Sgeo finally removes the Newspeak forums from his RSS reader
21:06:44 * Sgeo etermines a way to get a sensible mean from his statistics problem from earlier
21:07:10 <Sgeo> Besides just averaging the results of the experiment as is, which I'm still uncertain as to whether that will give a valid result.
21:08:34 <Sgeo> "Never use the == operator with floating point, it doesnt even work
21:08:53 <Sgeo> I mean, I know that in normal circumstances, == is a bad idea, but
21:08:59 <olsner> wanna see some horrible code? --> http://paste.cplusplus.se/paste.php?id=12264
21:10:47 <olsner> well, I don't know tbh
21:11:02 <olsner> it might be an attempt to call the function pointer data
21:11:34 * Phantom_Hoover links to http://www.youtube.com/watch?v=aLwaPP9cxT4&feature=related just to mess with Sgeo's head.
21:12:37 <Sgeo> o.O that's awesome
21:14:07 <Phantom_Hoover> olsner, a function pointer that is not even defined in the structure.
21:14:26 <olsner> Phantom_Hoover: indeed!
21:14:56 <elliott> <Sgeo> "Never use the == operator with floating point, it doesn’t even work
21:14:57 <Sgeo> Or is it fraudulent, like the comments suggest? I don't know enough about that sort of glowing, except something to do with black body radiation. I did take the video too literally I think. I assume that for a substance to glow hot, it has to hit a certain temperature, and of course ice cannot exceed 100C. If that's right, then this video is fraudulent
21:15:06 <Sgeo> http://blog.ometer.com/2005/01/15/more-floating-point-fun/
21:15:26 <olsner> Phantom_Hoover: some guy who dropped by another channel and "ohai, code no worky, halp plx"
21:15:38 <elliott> but presumably in response to something miguel posted
21:15:48 <Phantom_Hoover> I desire to mock him, unless he is a troll, in which case meh.
21:16:06 <olsner> well, he left, and it's a swedish channel
21:16:13 <elliott> olsner: maybe it's meant to be a union
21:16:18 <Sgeo> Phantom_Hoover, I am saddened to say that my brain did not initially report any problems with the video
21:16:21 <elliott> and they're trying to call the function named hiho
21:16:24 <Phantom_Hoover> Sgeo, TbH, I'm slightly confused by the orange-white glow; induction heating normally makes a violet glow.
21:16:58 <elliott> i would love to have an actual flaming ice cube
21:17:51 <elliott> Sgeo: anyway, wrt bitwise, I suspect it means that == actually tries to do some computation
21:18:06 <elliott> it's from the famous paper what every computer scientist should know about floating point, following the link
21:18:18 <elliott> or have, but then forgot reading it
21:20:50 <Sgeo> Hmm, I think my current naive approach would result in the correct mean, since errors would fly in both directions (assuming normal distribution), but a wrong distribution
21:22:33 <Sgeo> elliott, trying to act like one in SL
21:22:47 <Phantom_Hoover> elliott, you realise that noöne without a maths degree understands stats.
21:24:45 <Sgeo> http://youtubedoubler.com/?video1=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D8M5FxI_p5wg&start1=&video2=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DQ7ZUxyLyIao&start2=&authorName=Sgeo does not sound as good as I was hoping
21:25:21 <elliott> that youtubedoubler is shitty anyway
21:25:24 <elliott> it doesnt' wait for them to load
21:25:41 * Phantom_Hoover remembers that he has a Year Of Dicking Around In Physics ahead of him/
21:32:26 <Sgeo> Given a measuring apparatus that is only capable of measuring in such a way that it puts excessive weight on the first few results, and pretending that I know the true distribution to be symmetrical, why wouldn't the errors line up such that I'd get the correct mean?
21:32:59 <Sgeo> Um, I did not adequately describe my measuring apparatus I think
21:34:08 <Phantom_Hoover> Sgeo, you do realise that I go to a state school which can barely afford to run a photocopier, yes?
21:34:20 <Sgeo> Phantom_Hoover, :(
21:40:22 -!- guy_ has quit (Read error: Connection reset by peer).
21:44:08 -!- tombom has joined.
21:44:46 <tombom> hi does anybody remember the name of that programming language for bank software, or have a link to the page about it? the original wbesite appears to be down, but it was on the old turing tarpit geocities page
21:44:56 <tombom> it was written like 200,,,,,560,,150
21:45:33 <tombom> oh god i thought it was called bankstar
21:45:43 <tombom> so i kept googling bankstar and i was one letter off! ugh
21:51:54 -!- Vorpal has quit (Read error: Operation timed out).
21:57:04 -!- Phantom_Hoover has quit (Quit: Leaving).
21:57:48 <elliott> "The scala build process requires a bootstrap compiler, called "starr" for "stable reference Iforrrrrget", to get the ball rolling."
21:57:56 <elliott> Scala programmers don't understand acronyms.
21:58:45 <tombom> no i think they actually understand them very well
21:59:15 <elliott> Was that a joke or did you not get my joke
22:00:10 <elliott> oklofok: there's a new lang on the esolang wiki that references the grandfather paradox ;D
22:02:45 <Sgeo> I still have yet to contact the company that would currently own BANCstar
22:03:19 <Sgeo> No, just a permanent procrastinator
22:03:25 <Sgeo> I even forgot which company
22:03:28 <Sgeo> I remember tracing it
22:04:17 <zzo38> I think on this Channel some people (including myself) were discussing the example BANCSTAR program and actually managed to figure it out a little bit.
22:04:58 -!- fizzie has quit (Ping timeout: 260 seconds).
22:05:08 <Sgeo> Fidelity, I think
22:05:37 * Sgeo goes to trace it again
22:07:07 -!- tombom has quit (Quit: Leaving).
22:08:11 <Sgeo> Broadway & Semour -> Micrographic (partially?) 1996
22:08:36 <Sgeo> *Micrographic Services Inc
22:08:38 -!- oerjan has joined.
22:08:55 <zzo38> I cannot find the BANCSTAR program anymore.
22:09:01 <Sgeo> Which still exists
22:09:10 <Sgeo> This makes no sense, and is not what I traced some time ago.
22:09:29 <zzo38> But I remember that we had figured it out before! And I helped with it too.
22:09:56 <Sgeo> BANCstar is now reminding me of SCP-055
22:13:12 <Sgeo> http://codu.org/logs/log/_esoteric/2010-10-07 http://codu.org/logs/log/_esoteric/2010-10-08 http://codu.org/logs/log/_esoteric/2010-12-21
22:15:38 <Sgeo> The 2001 article authoritively states that BancSTAR went there
22:15:44 <Sgeo> So that weird imaging thing is not involved
22:16:07 <elliott> I am hereby authoritatively stating that Sgeo does not exist.
22:18:10 * Sgeo breathes deeply as he goes to figure out who to send an email to
22:18:40 <elliott> Sgeo: is this seriously causing you anxiety..........
22:18:54 <Sgeo> I'm a random individual about to email a corporation
22:20:07 -!- zzo38 has quit (Quit: OuchOuchOuchQuitQuitQuit).
22:21:59 <oerjan> Sgeo: don't worry, _i_ would have collapsed completely before even managing to tell i was anxious
22:22:00 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
22:28:44 <lambdabot> Sgeo: You have 2 new messages. '/msg lambdabot @messages' to read them.
22:29:06 <elliott> i wonder what they could be
22:30:13 <oerjan> it is theoretically possible we don't actually know
22:30:25 <Sgeo> "Hello. I'm just curious as to the availability of documentation of BancSTAR."
22:30:37 <Sgeo> That's the email I'm planning on sending
22:31:07 <oerjan> isn't "Hello." a little informal for a corporation.
22:31:52 <olsner> proper formal greetings is something you only see in nigeria scams, I think
22:31:54 -!- Sgeo_ has joined.
22:32:26 <oerjan> oh. maybe they stopped using formal greetings because they caught in the spam filters.
22:32:47 <elliott> Sgeo: they'll probably sue you if you send that
22:32:54 -!- Sgeo_ has quit (Client Quit).
22:33:13 <oerjan> <elliott> Sgeo: they'll probably sue you if you send that
22:33:17 <olsner> "what do you know about bancstar!?" *subpoena*
22:33:31 <elliott> oerjan: what were you gonna say
22:33:35 <Sgeo> I was flat whatting at the claim that I'd get sued. Not at the other Sgeo.
22:33:52 <oerjan> elliott: nothing, i just didn't realize this wasn't an ordinary reconnect
22:33:54 <elliott> Sgeo: u just dont understand corp/s
22:34:14 <Sgeo> Instead of Hello, what should I write?
22:34:42 <olsner> Dear Very Respected Sir and/or Madam,
22:35:03 <Sgeo> I'll just omit the Hello I think.
22:35:11 <olsner> I failed this part of english, but got a passing grade because my teacher "knew" that I could do it properly
22:35:25 <Sgeo> Is "Thanks in advance" pretentious?. Ok, Regards is better
22:36:05 <Sgeo> Typing up letters for my step-mom may have distorted my brain a bit.
22:36:27 <elliott> You're not my REAL father,
22:36:30 <monqy> are you not greeting them or what
22:36:37 <elliott> monqy: this is the email he is sending
22:36:44 <elliott> "GIVE ME THE FUCKING BANCSTAR DOCUMENTATION WHORES"
22:37:12 <monqy> did you say thank you
22:37:38 <elliott> see at first i thought the anxiety was totally unwarranted because how hard can it be to send a corp an email...
22:38:29 <Sgeo> Would have been nice if there were no sarcastic comments in here, such that I would actually be capable of taking genuine advice.
22:38:46 <oerjan> elliott: everything is hard when you're a perfectionist with only half a clue
22:38:58 <elliott> EMBARRASSES HIMSELF ON IRC DAILY
22:39:06 <elliott> WHY DIDN'T YOU HELP ME OUT GUYS
22:39:19 <elliott> anyway im pretty sure everyone mentioned the greeting before you actually sent it s o o
22:40:00 <oerjan> back in my agora days, i used to sign my email with Greetings,
22:40:22 <elliott> (you signed "oerjan" right)
22:40:26 <oerjan> i gradually got the realization that was somewhat backwards
22:41:18 <oerjan> that may have changed at some point
22:57:36 <Sgeo> I should test my ideas about simulation
22:58:16 <Sgeo> Erm, I mean, make a simulation to test my ideas about my detector's faults
22:58:33 <olsner> your simulation of a detector of what?
22:58:42 <olsner> still second life scripting?
22:59:49 <Sgeo> Of what exactly happens when I'm trying to do a binary search to find a value, but the value keeps randomly changing each comparision
22:59:55 <CakeProphet> simulation in MUDs is easy. You just write out what happens.
23:00:37 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:01:19 <CakeProphet> Sgeo: There are two possibilities a) your binary search is horrible b) Second Life has a horrible scripting environment
23:02:10 <CakeProphet> or c) another process is changing the value mid-execution
23:02:20 <Sgeo> Or maybe the value I'm testing CANNOT be tested any other way, regardless of what scripting is like, and regardless of search... actually that's not true, I can make a different search
23:02:33 <Sgeo> But yes, I think another process is changing the value mid-execution
23:02:39 <Sgeo> That was pretty much my point
23:03:17 <Sgeo> If, for each comparison, I do 20 trials, and then go in the direction suggested by the majority of the trials...
23:03:36 <CakeProphet> the only sane way to do a search would be to take a copy of the... uh... unnamed data structure
23:04:10 <oerjan> Sgeo: well you could consider it as estimating the mean or something of a statistical distribution
23:05:06 <oerjan> although things might be complicated if the value changes in small steps rather than being completely independent each time
23:05:26 <Sgeo> oerjan, I have no idea
23:05:50 <CakeProphet> I'd say using the mean could get tricky, whereas mode would be pretty straightforward and accurate.
23:06:02 <olsner> or maybe it should be spelled herpty derp in english
23:06:20 <Sgeo> I do suspect that it's entirely dependent on another value that I'm capable of instantly measuring. Does that help?
23:06:39 <CakeProphet> not really, since you don't know the process behind it.
23:07:02 <oerjan> Sgeo: do you mean capable or incapable there?
23:07:27 <CakeProphet> Sgeo: just rewrite Second Life in Haskell and use STM. Problem solved.
23:07:31 -!- Lymee has joined.
23:07:50 <oerjan> aha. well then if you measure both near simultaneously you should be able to test that hypothesis...
23:08:43 <elliott> Lymee: what did you do with lymia
23:08:54 <Sgeo> I can;t test the original value simultaneously, just whether a current guess is higher or lower. I can test the value I suspect it's dependent on simultaneously
23:08:54 <CakeProphet> elliott: every concurrent project that I'm writing ever is using STM.
23:10:04 <oerjan> Sgeo: well then use the value it is dependent on to construct the guess?
23:10:08 <CakeProphet> in particular I have an idea for an online text-based game in which every player and object is pretty much completely concurrent in this way.
23:10:21 <Sgeo> oerjan, I don't know the exact relation between them.
23:10:39 -!- Lymia has quit (Ping timeout: 246 seconds).
23:10:54 <CakeProphet> you could just continually monitor the relationship between the values.
23:11:07 <oerjan> Sgeo: hm. use a binary search for _each_ value of the depended-on value
23:11:20 <oerjan> make a table from that
23:11:34 -!- fizzie has joined.
23:11:36 <Sgeo> oerjan, the depended-on value randomly and constantly changes without my being able to control it
23:11:38 <oerjan> or at least for some interval of that value
23:11:50 <elliott> what is the depended-on value
23:12:02 <CakeProphet> something some other fucked-up scripter made.
23:12:15 <Sgeo> Frames per second. Smallest unit of time, if I understand properly
23:12:44 <Sgeo> Well, 1/fps is smallest unit of time
23:13:01 <monqy> why would anyone make the smallest unit of time ever-changing
23:13:08 <oerjan> Sgeo: yes, so use a table for your search. measure your depended-on-value, look up the state for your binary search for that value, then immediately do the next step of that binary search
23:14:01 <oerjan> essentially you are then doing several binary searches in parallel
23:14:42 <oerjan> you might want a bit of error correction if the depended-on-value could change in between
23:15:05 <CakeProphet> though if the fps value changes very fast, you'd likely end up retrying your algorithm ad infinitum.
23:16:40 -!- Patashu has joined.
23:18:54 <Sgeo> Slight complication that I should have mentioned: Measuring whether guess is above or below value is not instantaneous, it takes a certain amount of time. I'm not even sure of the best amount of time, so I'm currently fudging it at 1.5sec
23:19:08 <elliott> um you can just output the data raw
23:20:02 <CakeProphet> yes, the more code you can take out of this shitty scripting environment, the better.
23:20:07 <oerjan> elliott: doesn't work for a binary search
23:20:32 <oerjan> although i guess he could do a batch, calculate new guesses externally, then another batch
23:20:53 <Sgeo> Why would I want to calculate new guesses externally?
23:21:42 <oerjan> Sgeo: hm well the important point is to get the raw data out as well, i think, so you can check if things are behaving as expected
23:22:21 <CakeProphet> at the very least just copy all of the data before you do the checks.
23:22:35 <elliott> http://tech.slashdot.org/story/11/06/12/148208/Why-Doesnt-Google-Kids-Exist
23:22:43 <Sgeo> What would happen if I just went with my idea of the 20 trials then going in the democratic direction?
23:22:44 <CakeProphet> so that you're not at the whim of whatever the fuck is messing with your data.
23:23:16 <CakeProphet> Sgeo: I have no idea. You'd probably get inconsistent results occasionally, but I really don't know how the data is changing.
23:23:39 <monqy> so is this about figuring out how gravity works or what
23:23:43 <oerjan> Sgeo: several trials should help with error correction, i assume
23:24:17 <CakeProphet> Sgeo: you should make it so that when numbers tie they play rock paper scissors.
23:24:32 <CakeProphet> you, know, because it's more exciting than just randomly selecting one.
23:24:50 <CakeProphet> for more than 2 values construct a rock paper scissors tournament tree.
23:24:56 <Sgeo> Gravity, for reasons I still haven't quite understood (yes, floating-point error, but what about it?), when it takes effect, if it's weak enough, starts the object moving downwards, then stops
23:25:20 <Sgeo> I'm trying to measure the strength of gravity needed such that it doesn't stop moving downwards, and am doing this measurement at different altitudes.
23:28:41 <Sgeo> Well, the way I'm taking the measurement is: Set buoyancy (which I'm using to set the effect of gravity, if I'm wrong about that, well...) to guessed level. Start physics. After .75 seconds, get altitude. .75 seconds after that, measure altitude again. If no change between first and second measurement, gravity's too weak, otherwise, too strong.
23:28:58 <Sgeo> Then it returns to original altitude and repeats with the binary search
23:33:14 <oerjan> i think maybe plain binary search is too error-prone for this, since one error completely ruins the rest of the search
23:33:18 <Sgeo> The minimum strengh of gravity such that gravity doesn't just weirdly stop after a short amount of time.
23:34:50 <elliott> also why are you doing this
23:35:09 <oerjan> because according to Sgeo's theory it depends on the fps rate, which might change during each test
23:35:49 -!- FireFly has quit (Quit: swatted to death).
23:36:00 <oerjan> perhaps checking it both before and after and discarding data if it has changed will help
23:36:21 <elliott> 13:59:32: <ais523> AnMaster: by defining functions with certain names, you can affect the behaviour of glibc malloc
23:36:29 <elliott> i wonder how it knows whether they're defined or not...
23:36:44 <CakeProphet> Sgeo: I was basically going to suggest that if you know the exact relationship between fps and value then you could normalize the results by converting it to a unit that's independent of framerate.
23:37:15 <oerjan> CakeProphet: my impression is he hasn't got a function yet
23:37:17 <Sgeo> As in, before and after the entire binary search?
23:37:41 <oerjan> Sgeo: preferably as often as possible...
23:38:02 <Sgeo> Honestly, I didn't set out trying to determine that function. I set out trying to determine if it's also dependent on altitude.
23:38:06 <oerjan> if you find out it doesn't change that often, you could do it rarer
23:38:28 <oerjan> Sgeo: well that just means your function got another parameter
23:38:37 <Patashu> Hey, so I read http://www.reddit.com/r/askscience/comments/hxro3/when_i_touch_a_wall_what_color_is_the_light/ and I was wondering if there was a 'What quantum phenomena actually mean compared to media simplifications' page out there
23:38:42 <Patashu> for this, entanglement, tunnelling etc
23:38:42 <Sgeo> But, as in, an entire binary search gets discarded if FPS significantly changes
23:38:54 <CakeProphet> yes if you poll the fps constantly then you can associate each test value with the fps at which it was measured, which will make things less error-prone later either by having the old fps at the ready or by being able to normalize all of the values.
23:39:08 <elliott> Patashu: im sorry you had to see sgeo on /r/askscience
23:39:15 <elliott> Patashu: do you need a hug
23:39:17 <Sgeo> Note: FPS is a floating-point
23:39:17 <elliott> its traumatic for all of us
23:39:30 <oerjan> Sgeo: that might be enough. well you'll have to decide on a precision.
23:40:09 <monqy> elliott: at first I thought you were joking and it was just someone acting ridiculous but then I looked and it's actually sgeo
23:40:18 <monqy> I don't know what to think
23:40:24 <oerjan> Sgeo: also if it _does_ change more often, you don't have to discard _all_ the data for a search, just store what you have so far and continue that search when fps returns to that value
23:40:37 <elliott> its great, gets out all the emotions for several whole minutes
23:40:41 <Sgeo> elliott, what was so horrible about my question?
23:40:46 <oerjan> all this depends on how often fps actually changes, of course
23:41:30 <CakeProphet> if you can find the function then you won't have to deal with any of that foolishness. :P
23:42:05 <Sgeo> CakeProphet, considering that I can't even begin to fathom why the effect I'm measuring even exists...
23:42:07 <CakeProphet> and instead you only have to deal with the foolishness of trying to find the function.
23:42:21 <oerjan> CakeProphet: he needs this foolishness to estimate the function, duh
23:42:41 -!- pikhq_ has joined.
23:42:52 <monqy> so I forgot why sgeo was even doing this at all
23:43:00 -!- pikhq has quit (Ping timeout: 276 seconds).
23:43:05 <monqy> is there something important about second life gravity
23:43:11 <Sgeo> And all I really want to do, at this point in time, is to see if altitude is an imput to the finctiion
23:43:16 <Sgeo> input, function
23:43:17 <CakeProphet> I would say just grab everything relevant from your environment at each test, and store them all together in some kind of data structure which is of course not going to be shitty because this is Second Life's scripting engine.
23:46:14 <oerjan> Sgeo: well the obvious explanation is that some value dependent on buoyancy and divided by fps is subtracted from altitude each frame, and if it's low enough it won't change the altitude. hm but why would it change it initially and then stop... that would make more sense if you _added_ to the altitude and it reached a power of 2
23:46:39 <oerjan> maybe the actual altitude value increases downward...
23:46:50 <Sgeo> No, it doesn't.
23:47:18 <CakeProphet> Sgeo: have you considered asking the SL team about it?
23:47:22 <Sgeo> And I've been performing these experiments at 4000, so there's no power of 2 boundary right there, are there other similar boundaries
23:47:35 <Sgeo> CakeProphet, no, maybe I should. Or ask other scripters.
23:48:48 <Sgeo> There is now a chain message thing about some product called "Cocoa mulch", and how it's dangerous to dogs.
23:48:58 <Sgeo> All I can think is "No shit sherlock?'
23:49:33 <elliott> its not actually made out of chocolate though
23:50:10 <elliott> and selling a substance that will kill dogs without mentioning it sounds pretty lolillegal to me
23:50:46 <oerjan> um one would expect the dangerous-to-dogs component of chocolate to be in the cocoa...
23:51:10 <oerjan> (hm was it theobromine?)
23:51:33 <CakeProphet> Happy Dog Antifreeze Bites! They Make Dogs Happy and Warm!
23:51:52 -!- wareya_ has changed nick to wareya.
23:52:51 <elliott> oerjan: its not made out of cocoa either
23:53:01 <elliott> but yeah IIRC that stuff contains theobromine
23:53:25 -!- fizzie has quit (Ping timeout: 244 seconds).
23:54:05 <lambdabot> forall a (f :: * -> *). (Num a, Functor f) => f a
23:54:33 <oerjan> it's really that, i think
23:55:08 <oerjan> actually it's even worse. in either case neither has a chance of holding with strict addition
23:55:32 <CakeProphet> Haskell has problems with infinity. They need to fix that bug.
23:55:45 <oerjan> but foldl1 _ (repeat _) by itself can never halt
23:56:24 <elliott> Int/Integer are just strict
23:56:30 <lambdabot> Couldn't match expected type `[a -> a]'
23:56:37 <lambdabot> Not in scope: data constructor `Zero'
23:56:38 <lambdabot> Not in scope: data constructor `Z'
23:56:45 <CakeProphet> obviously they can just write a procedure in the compiler that determines whether or not it halts without running it.
23:56:46 <lambdabot> Couldn't match expected type `[a -> a]'
23:56:47 <lambdabot> In the second argument of `foldr1', namely `(1 +)'
23:57:15 <oerjan> > foldr1 (.) (repeat (1+)) a
23:57:40 <oerjan> :t foldr1 (.) (repeat (1+))
23:58:04 <oerjan> hm does that mean Expr addition is actually strict...
23:58:16 <oerjan> > 1+(1+(1+undefined)) :: Expr
23:58:17 <CakeProphet> I don't think so, I've seen infinite series I thought.
23:58:18 <lambdabot> 1 + (1 + (1 + *Exception: Prelude.undefined
23:58:39 <elliott> ?let compn 0 f = f; compn n f = f . compn (n-1) f
23:58:44 <elliott> now just define a lazy nat type
23:59:01 <oerjan> elliott: i think Expr _should_ be lazy enough for this
23:59:07 * Sgeo suddenly connects something he read a while ago to the halting problem.
23:59:27 <elliott> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr)
23:59:28 <lambdabot> Overlapping instances for GHC.Show.Show ((b -> b) -> b -> b)
23:59:29 <elliott> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f
23:59:30 <lambdabot> Overlapping instances for GHC.Show.Show (b -> b)
23:59:34 <elliott> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f
23:59:34 <lambdabot> Overlapping instances for GHC.Show.Show (b -> b)
23:59:41 <lambdabot> forall a. (SimpleReflect.FromExpr a) => a
23:59:42 <elliott> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f :: Expr
23:59:43 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
23:59:45 <Sgeo> Would 100% accuracy in determining all the points of the mandelbrot require halting problem shenannigans?
23:59:47 <elliott> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f :: Expr -> Expr
23:59:48 <lambdabot> Overlapping instances for GHC.Show.Show
00:00:05 <oerjan> elliott: use a rather than f if you want an Expr
00:00:08 <elliott> Sgeo: thats a question ive asked too
00:00:19 <elliott> oerjan: no, f has to be a function
00:00:34 <elliott> CakeProphet: the mandelbrot set is defiend in terms of an infinite sequence, dude
00:00:55 <elliott> CakeProphet: indexed by complexes, which means we have _reals_ here
00:01:07 <elliott> the majority of which are uncomputable
00:01:24 <Sgeo> I wasn't even thinking in terms of that >.>
00:01:25 <elliott> so yes, Sgeo, there is no algorithmic way to determine all the points of the mandelbrot set
00:01:33 <elliott> given a specific pair of rationals, though, there may be an algorithm
00:01:45 <elliott> CakeProphet: um it's trivial to show
00:01:53 <elliott> CakeProphet: there are a countable number of strings -> countable number of computer programs
00:01:57 <Sgeo> I was thinking for a specific pair
00:01:59 <elliott> all computable reals have a corresponding program, obviously
00:02:03 <elliott> but the reals are uncountable
00:02:16 <elliott> therefore Almost All(tm) reals are uncomputable
00:02:22 <elliott> in fact, Almost All reals are /undescribable/
00:02:33 <elliott> in fact, Almost All reals are /undefinable/
00:02:40 * CakeProphet doesn't spend his waking hours thinking about the Mandelbrot set and its obvious implications.
00:02:49 <elliott> um, this is totally unrelated to the mandelbrot set
00:03:04 <CakeProphet> and I am talking about something you said before.
00:03:14 <elliott> i note that Turing's paper introducing turing machines was about computable vs. non-computable numbers.
00:04:55 <oerjan> > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f a :: Expr
00:05:00 -!- fizzie has joined.
00:05:28 <CakeProphet> I wonder what would be required of strings to produce an uncountable number of them.
00:05:53 <oerjan> :t fix ((1+).) a :: Expr
00:06:00 <oerjan> > fix ((1+).) a :: Expr
00:06:02 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:06:39 <elliott> oerjan: YAAAAAAAAAAAAAAAAAAAAAAAAAAAY
00:06:48 <lambdabot> succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (suc...
00:06:56 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:07:15 <lambdabot> 1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (...
00:07:28 <elliott> > fix ((1+) . (1-)) :: Expr
00:07:28 <oerjan> CakeProphet: infinite (but still countable) length noncomputable strings are uncountable
00:07:30 <lambdabot> 1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (...
00:07:51 <CakeProphet> elliott: ostensible oscillations on that (1/), bro.
00:08:01 <oklofok> no offense but that sum doensn't converge
00:08:04 <elliott> CakeProphet: duh, thus the latter one
00:08:18 <elliott> oklofok: wrong btw its = 1/2
00:08:30 <oklofok> yeah but that's only w.r.t. the weak topology
00:08:46 * elliott torlling mathematicians with zeta summes since 999
00:09:20 <oerjan> > foldr1 ($) (repeat (1+)) :: Expr
00:09:21 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
00:09:30 <elliott> > foldr1 (.) (map (*) [1..]) a :: Expr
00:09:32 <lambdabot> 1 * (2 * (3 * (4 * (5 * (6 * (7 * (8 * (9 * (10 * (11 * (12 * (13 * (14 * (...
00:09:39 <elliott> why didn't it simplify it to sqrt(2*pi)
00:10:11 <elliott> sad that oerjan isn't taking my trollbait
00:10:17 <oerjan> > foldr ($) undefined (repeat (1+)) :: Expr
00:10:17 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:10:28 <elliott> its very sad oerjan very sad
00:10:38 <CakeProphet> I really think multiplying infinite zeroes should magically halt
00:10:43 <oerjan> > foldr (.) undefined (repeat (1+)) undefined :: Expr
00:10:45 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:10:52 <elliott> oerjan> > foldr ($) undefined (repeat (1+)) :: Expr
00:10:52 <elliott> <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:10:55 <elliott> HUH DIDN'T SIMPLIFY TO -1/2
00:10:56 <Gregor> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
00:10:59 <elliott> I WONDER WHY?????????? LAMBDABOT IS DUM
00:11:16 <Gregor> No, just got home from an amusement park :P
00:11:29 <elliott> I SAID IMPORTANT THINGS IN LOG
00:11:37 <CakeProphet> Gregor: Java doesn't just sit around while you play games.
00:12:03 <elliott> Gregor: Um it involves your GC segfaulting.
00:12:08 <elliott> Gregor: or not even segfaulting
00:12:18 <elliott> also builds of the testcases are broken on lps branch
00:12:22 <elliott> In conclusion looooooooooooooooooooooooooool@u
00:13:23 <oerjan> > foldr1 (.) (repeat (1+)) a
00:13:24 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (...
00:13:43 <oerjan> CakeProphet: would you know, that mueval timeout before was just an accident
00:13:55 <CakeProphet> oerjan: somewhere at the end of that sequence is an a.... right?
00:13:57 <elliott> how low _is_ it, that's pretty trivial computation
00:14:11 <elliott> yes and at the end of 0.9 recurring theres an 0
00:14:19 <oerjan> CakeProphet: conversing with angels on the head of a pin
00:14:29 <CakeProphet> just making sure I understand these things.
00:14:34 <CakeProphet> about things at the end of infinite things.
00:15:09 <CakeProphet> elliott: so do you pronounce 0 as "oh"? That would explain the "an"
00:15:20 <CakeProphet> but I read it as "an zero", which was very awkward sounding.
00:15:56 <elliott> yeah i say oh when its a digit
00:16:16 <elliott> "zero point nine recurring theres an oh"
00:16:39 <CakeProphet> your nomenclature is typechecking, I guess.
00:17:02 <CakeProphet> 0.9 is a number, thus zero, but 0 is being referred to as a digit, thus oh
00:17:46 <CakeProphet> then you're just A FEEBLE INCONSISTENT HUMAN
00:18:33 <elliott> 15:56:28: <Deewiant> (If you define the ordering relation on correctness correctly.)
00:18:48 <elliott> 15:57:38: <Deewiant> AMD64 I can understand, x86_64 I can't.
00:18:49 <elliott> 15:57:56: <Deewiant> Nor the banal x64.
00:18:53 <elliott> Deewiant: especially not in a dobela interp amirite
00:20:08 <Gregor> <elliott> also builds of the testcases are broken on lps branch // dude, there is only one test that's supposed to work AT ALL, and that one is ultra-beta-y, PLUS you're using it with a retardedly huge input value that's causing huge stacks.
00:20:13 <Gregor> So in short: Fuck you.
00:21:11 <elliott> Congratulations, that's the most hostile reaction to a "I ran this testcase which just hangs with a large value in the default branch but causes a massive libc error in the lps branch" bug report I've ever seen.
00:21:23 <elliott> BTW, it freezes even with half that value.
00:21:36 <elliott> Whereas I suspect it would run to completion slowly in the default branch.
00:22:06 <CakeProphet> so I was thinking an interesting non-deterministic could consist of two parts. One is a string of characters, and the other is a logical assertion. Certain facts are taken from the string (the number of a's, the number of b's, etc) and used to compile a list of instructions. When the program runs, these instructions are computed in a non-deterministic order, until the result satisfied the logical assertion (which will li
00:25:41 <CakeProphet> the second part of the language may operate differently that what I just said, but the basic idea is that you have a series of instructions that are computed non-deterministically, with the end result having to satisfy a logical statement.
00:26:01 <CakeProphet> s/second/first/ seriously need to do some more self-editing. :P
00:34:31 <oerjan> > let loop = do {tell "whee! "; loop; return "ah!"} in runWriter loop
00:34:32 <lambdabot> ("ah!","whee! whee! whee! whee! whee! whee! whee! whee! whee! whee! whee! w...
00:34:53 <CakeProphet> hmmm, I wonder if the instruction set could be completely optional. So basically you just specify the conditions of your program and it non-deterministically runs programs until one matches.
00:35:25 <CakeProphet> that would take much longer, because of the infinite programs and all...
00:37:39 <oerjan> CakeProphet: "logical assertion (which will li"
00:37:50 <CakeProphet> (which will likely also have its own batshit language)
00:38:29 <oerjan> all's well that ends well
00:39:47 <oerjan> <Sgeo> @tell oerjan Do you logread?
00:39:57 <oerjan> mind you sometimes it takes a while to get around to it
00:39:59 -!- elliott has quit (Read error: Connection reset by peer).
00:41:27 * oerjan is disappointed by the lack of reaction to the runWriter code
00:41:50 -!- elliott has joined.
00:42:42 <CakeProphet> yes I think instead of using some weird string statistics I will instead just make an esoteric machine-code language, that gets randomly shuffled until it runs and satisfied the given condition. Ah, but that means that either the program must always halt, or the logical assertion language cannot test the state of registers after execution.
00:42:58 <CakeProphet> the logical assertions can only be about the layout and nature of the program itself...
00:43:32 <oerjan> rice's theorem strikes again
00:43:35 <oklofok> "[03:41:20] * oerjan is disappointed by the lack of reaction to the runWriter code" <<< idgi
00:43:50 <oklofok> looks like it should be an infinite loppy
00:44:40 <oerjan> it's infinite in the middle, and yet _both_ ends produce part of the result
00:45:32 <oklofok> well sure, but.... does it really work like that :P
00:45:32 <oerjan> proving that the >>= of the Writer monad is in a sense strict in _neither_ its first nor its last argument
00:45:55 <Gregor> http://www.facebook.com/photo.php?pid=32117951&l=953460d5fd&id=1055580469 <-- my day today
00:48:11 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
00:48:28 <oerjan> > runWriter $ do {tell "whee! "; undefined; return "ah!"} -- maybe this makes things clearer
00:48:29 <lambdabot> ("ah!","whee! *Exception: Prelude.undefined
00:49:07 <oklofok> can you implement those semantics for writer from within haskell?
00:49:24 <oerjan> yes, Writer is entirely written in haskell
00:49:41 <oerjan> it's just about being lazy in the right spots
00:49:56 -!- elliott has quit (Remote host closed the connection).
00:50:00 -!- elliott_ has joined.
00:50:31 <lambdabot> forall w (m :: * -> *). (MonadWriter w m) => w -> m ()
00:50:44 <lambdabot> Source not found. You speak an infinite deal of nothing
00:50:49 <lambdabot> Source not found. Just try something else.
00:51:14 <oerjan> elliott_: reverse state? >:D
00:51:20 <elliott_> class Fuctor f where fap :: (f a -> f b) -> a -> b
00:52:51 <elliott_> oh its actually cofmap :: (a -> b) -> acc b -> acc a :P
00:53:00 <oklofok> Gregor: how do you differ from normal humans there? you seem to be the average of the two niggas
00:53:50 <lambdabot> Source not found. I feel much better now.
00:54:20 <oklofok> the katakana for na in japanese maybe
00:54:49 <oerjan> i think someone has gutted @src, and it always had holes
00:55:57 <oerjan> oklofok: tell for writer should just be tell msg = Writer ((), msg) i think
00:55:58 <elliott_> well tuples aren't cofunctors then
00:56:39 <oerjan> the adjoint functor to tuples is (e ->) iirc
00:57:01 <elliott_> oerjan: that would produce (a -> b) -> (c -> b) -> (c -> a)...
00:57:35 <lambdabot> Data.List (++) :: [a] -> [a] -> [a]
00:57:36 <lambdabot> Data.List deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
00:57:37 <oerjan> adjoints are still of the same variance though
00:57:44 <elliott_> :t concat . zipWith (\a b -> [a,b])
00:57:45 <lambdabot> Couldn't match expected type `[[a]]'
00:57:45 <lambdabot> against inferred type `[b] -> [[b]]'
00:57:45 <lambdabot> Probable cause: `zipWith' is applied to too few arguments
00:58:51 <oerjan> elliott_: um what are you looking for
00:59:19 <oerjan> interleaving two lists?
01:00:28 <oerjan> :t curry $ sequence [fst, snd]
01:01:08 <elliott_> http://sprunge.us/cSbW help this doesn't work :(
01:01:39 <oerjan> :t (concatMap (sequence [fst, snd]).) . zip
01:04:35 <elliott_> newtype a :<- b = Flip (b -> a)
01:04:35 <elliott_> cofmap :: (a -> b) -> cof b -> cof a
01:04:37 <elliott_> instance Cofunctor ((:<-) a) where
01:04:39 <elliott_> cofmap f (Flip g) = Flip (g . f)
01:04:43 <elliott_> TOO BE DETERMINED: USEFUL INSTACNE???
01:04:44 <oerjan> > scanl (flip (-)) 0 (repeat 1)
01:04:46 <lambdabot> [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,...
01:05:09 <oerjan> > scanl (flip (-)) 0 [1..]
01:05:11 <lambdabot> [0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,...
01:06:51 <oerjan> > 0 : [1..] <**> [id, negate]
01:06:52 <lambdabot> [0,0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,-10,11,-11,12,-12,13,-...
01:07:06 <oerjan> > 0 : ([1..] <**> [id, negate])
01:07:07 <lambdabot> [0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,-10,11,-11,12,-12,13,-13...
01:10:03 <oerjan> > scanl (flip (-)) 0 [-1..]
01:10:05 <lambdabot> [0,-1,1,0,2,1,3,2,4,3,5,4,6,5,7,6,8,7,9,8,10,9,11,10,12,11,13,12,14,13,15,1...
01:11:01 <oerjan> > scanl (flip (-)) 0 [-1,-2..]
01:11:02 <lambdabot> [0,-1,-1,-2,-2,-3,-3,-4,-4,-5,-5,-6,-6,-7,-7,-8,-8,-9,-9,-10,-10,-11,-11,-1...
01:11:23 <oerjan> must be something categorical
01:11:52 <oerjan> maybe a monoid in the opposite category
01:12:10 <elliott_> "Dually, a comonoid in a monoidal category C is a monoid in the dual category C[caret]op."
01:12:14 <oerjan> no, that is probably actually meaningful
01:12:19 <elliott_> oerjan what's a comonoid as a haskell typeclass
01:12:40 <elliott_> doesn;t that involve the dual of Hask
01:12:43 <oerjan> i don't know about monoids in categories, other than monads
01:12:49 <elliott_> which is... not very expressable in haskell
01:13:30 <oerjan> no that's easy. a dual category has the same objects and arrows, just reverses which it considers domain and codomain
01:13:32 * pikhq_ has become convinced that build systems are not declarative enough.
01:14:12 <oerjan> so newtype (<~) a b = (<~) (b -> a)
01:14:29 <oerjan> i guess you need it to start with :
01:15:53 <oerjan> (-> e) is a functor from Hask to dual of Hask, i think
01:16:24 <oerjan> aka cofunctor from Hask to Hask
01:17:48 <elliott_> <oerjan> so newtype (<~) a b = (<~) (b -> a)
01:17:54 <elliott_> but note that <~ is not a valid type-operator.
01:18:24 <elliott_> oerjan: ok well that is a shame since I already used that structure as a cofunctor
01:18:27 <elliott_> and the instance was predictably boring
01:18:35 <elliott_> oerjan: but i don't see how you can make that a monoid
01:18:42 <elliott_> unless functions are monoids, hmm
01:18:58 <elliott_> so (a -> a) is a comonoid too, lol
01:19:10 <oerjan> well a monoid in a category is not the same as a monoid algebra, aka haskell Monoid
01:19:11 <elliott_> i still don't know what comonoids would look like
01:19:16 <elliott_> using <~ instead of -> in their signatures??
01:19:27 <elliott_> does haskell even have the former?
01:19:48 <oerjan> and all i know is that Monads are supposedly monoids in categories
01:20:07 <oerjan> i'm not even sure of that
01:20:12 -!- Sgeo has quit (Ping timeout: 240 seconds).
01:20:24 <oerjan> there may be several different concepts there
01:21:27 <elliott_> hm I wonder what the <~ comonad looks like?
01:22:19 <elliott_> duplicate :: (a <~ b) -> (a <~ (a <~ b))
01:22:28 <elliott_> duplicate :: (b -> a) -> ((b -> a) -> a)
01:23:00 <elliott_> extend :: ((c <~ b) -> b) -> (c <~ a) -> (c <~ b)
01:23:10 <elliott_> extend :: ((b -> c) -> b) -> (a -> c) -> (c -> b)
01:23:24 <elliott_> ok that is definitely _not_ an instance :D
01:23:26 <oerjan> i believe the Cont monad comes out of treating (-> e) as its own adjoint functor
01:23:34 <elliott_> that's actually extendable functors
01:23:44 <elliott_> put the comonad class first :(
01:24:29 <CakeProphet> elliott_: yeah see I had no idea that spades slick was exiled from the dark kingdom of the trolls' instance of the game.
01:24:51 <elliott_> CakeProphet: that's actually _revealed_ in the recap, IIRC
01:25:11 <elliott_> CakeProphet: protip: if you see something you have _absolutely_ no recollection of in a recap
01:26:13 <elliott_> CakeProphet: it actually is, in the /intermission/: http://www.mspaintadventures.com/?s=6&p=003174
01:26:23 <elliott_> but it's not clear that that planet is the trolls' there, of course
01:26:36 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:27:21 <elliott_> CakeProphet: so yeah, if that's the only thing that you didn't realise was happening in the recap, you're an A+ reader :P
01:27:55 <elliott_> although not understanding [S] Jack: Ascend. until it's elaborated upon is perfectly understandable. them flashes be dense.
01:31:46 <pikhq_> elliott_: Could I get your opinion on a hypothetical not-fucking-terrible way of specifying a build system?
01:32:28 <pikhq_> elliott_: ... Here, I'll just link.
01:32:30 <pikhq_> http://sprunge.us/OcFX
01:33:34 <elliott_> srsly, this is a perfectly fine file format, but it should be generated :P
01:33:51 <pikhq_> True, rather a lot of it could be generated.
01:33:51 <elliott_> also is this tcl, the $:: kind of gives it away
01:34:15 <pikhq_> When I think "domain-specific language" my mind jumps to Tcl.
01:34:17 <elliott_> pikhq_: but yeah i mean its perfectly "fine" except for the specification of c++-sources which needs automating, its just that id rather write almost none of it
01:34:25 <elliott_> if ai-make spit this out id be perfectly happy
01:34:35 <elliott_> pikhq_: unnecessary, it can infer this from the rules
01:35:21 <elliott_> pikhq_: link-with <-- do you need this? it seems like you could make an obvious default
01:35:34 <pikhq_> Probably not *need*, no.
01:35:43 <elliott_> s/use-tools windres \n windres-sources resource.rc/windres sources resource.rc/
01:35:56 <elliott_> cd ui-gameboy <-- gross, makes me think imperative
01:36:12 <elliott_> pikhq_: i'll just do a partial rewrite :P
01:36:34 <elliott_> pikhq_: how does Tcl alias a function?
01:37:00 <pikhq_> elliott_: In what sense? As in, "create an alias for some other function"?
01:37:28 <elliott_> pikhq_: how do you override a function?
01:37:31 <elliott_> define a new function with the same name
01:37:34 <elliott_> but keeping a ref to the old one
01:38:07 <pikhq_> This changes the name of proc "foo" to "bar".
01:38:15 <elliott_> so just rename it to something obscure? :p
01:38:27 <pikhq_> Or rename it to something in your own namespace.
01:39:03 <pikhq_> rename proc ::ohHolyGodIt'sReplacingProc::_proc
01:39:35 <elliott_> what does the install-extra block do?
01:39:41 <elliott_> specify that it should only be installed with some configurations?
01:40:10 <pikhq_> Just files that should be installed, but aren't obvious from the declaration of the program.
01:40:49 <elliott_> what is the abi-evrsion part of libsnes for?
01:40:58 <elliott_> shared library field of somekind?
01:41:19 <pikhq_> Shared library versioning.
01:41:39 <pikhq_> So, the name of the actual library, soname, etc.
01:41:57 <elliott_> if {$::uiplatform == windows} {
01:42:07 <elliott_> define it in everything using this module?
01:43:12 <elliott_> what does convenience-module do?
01:43:25 <elliott_> and how does "depends modules" act differently to "use-modules"?
01:43:40 <pikhq_> And that should be use-modules.
01:45:14 <elliott_> with-args is very low-level...
01:45:45 <elliott_> also you have "useplatform" where you mean "uiplatform"
01:46:40 <pikhq_> So, the default arguments would be the same as "--with-bsnes --without-bgameboy --without-libsnes", and I didn't end up defining defaults on uiplatform or profile.
01:47:35 <elliott_> # oh and you can also say "c++ needs some-library-name", or something like that
01:47:40 <elliott_> i made it more concrete and used it later
01:49:30 <pikhq_> Though the implementation might end up having to be more complex, what with that conflating both "-lfoo" and "pkg-config --libs foo".
01:49:34 <pikhq_> Feh, could be done, though.
01:49:52 <pikhq_> Check if there's a pkg-config file for "foo" and use that if so, otherwise use -lfoo.
01:49:56 <elliott_> pikhq_: Those should be conflated.
01:49:59 <elliott_> And it should be more than that.
01:50:03 <elliott_> Consider programs which have their own -configs.
01:50:13 <elliott_> And those which are composed of multiple libraries, etc.
01:52:42 <pikhq_> So now it needs a heck of a lot of logic for handling libraries. Bleck.
01:54:29 <pikhq_> Hmm. Trying to think of a sane bit of implementation logic. (that is, doing something *other* than having literally a seperate definition for every single library)
01:55:49 <pikhq_> Probably something like "If there's a file defining how to use library 'foo', use that, otherwise if there's a pkg-config file for 'foo', use that, otherwise use '-lfoo' and hope it works."?
01:56:20 <elliott_> it should be haskell not tcl imho hand
01:59:12 <pikhq_> Already, though, this looks a few multiples better than other build systems.
01:59:58 <elliott_> imo the file format can literally just be a show'd haskell data structure though because it's only useful with ai-make ;)
02:00:19 <pikhq_> You and your ai-make. :P
02:18:08 -!- ralc has quit (Quit: Leaving).
02:33:21 <elliott_> hmm, one and a half hours to go
02:53:50 -!- Sgeo has joined.
02:56:32 <elliott_> why didn't we re-scare them off
02:56:43 <elliott_> 03:53:18: <Gregor> And you decided to resolve this dilemma by asking for the appropriate reaction on a channel you've never been to? :P
02:56:55 <elliott_> 03:56:32: <ray24> of my 18 years of life.. i've not once heard/seen/smell the fart of a girl
02:57:55 <elliott_> 04:33:00: <ray24> Program isn't a challenge. the only challenge is my motivation!
02:57:55 <elliott_> 04:33:26: <ray24> I came here I thought esoteric was hip hop
02:59:10 <elliott_> 04:59:12: <ray24> I cannot believe how much filler words they have in that book
02:59:10 <elliott_> 05:00:14: <ray24> maybe I just got a high IQ or something iono!
02:59:40 <elliott_> 05:10:05: <ray24> So a lisp represents inputs that you feed it
02:59:40 <elliott_> 05:10:22: <ray24> maybe a lisp could also interpret my algorithm
02:59:40 <elliott_> 05:11:01: <ray24> I wasn't a programmer 1 hour ago.. but I might be a programmer in the next 24 hours
02:59:43 <elliott_> anything is possible if you're an idiot
03:00:01 <elliott_> 05:17:55: <ray24> I'll become a good programmer within a month
03:00:01 <elliott_> 05:18:02: <ray24> Not even a challenge
03:00:01 <elliott_> 05:18:20: <ray24> Seems pretty easy so far
03:00:01 <elliott_> 05:19:45: <ray24> Brb I'm gonna hop the hence behind my yard and jump the cows
03:00:36 <elliott_> 06:06:02: <ray24> are you a hacker?
03:00:36 <elliott_> 06:06:26: <ray24> break codes.. conduct illegal stuff
03:00:37 <elliott_> 06:06:36: <ray24> adding virus to mp3 files
03:00:39 <elliott_> 06:06:41: <ray24> corrupting sys files
03:00:57 * oerjan is slightly annoyed by people using "isomorphism" to prove TC-ness of languages when the correspondence is not actually invertible
03:01:10 <elliott_> oerjan: it's one of them one-way ismorphisms
03:01:14 <elliott_> oerjan: change them all to "injection" :-P
03:02:14 <elliott_> 07:10:42: <Patashu> Is it possible to determine at compile time where overflows could potentially happen
03:02:15 <elliott_> 07:10:55: <Patashu> I know there's a C extension, Cyclone or something, that does it
03:02:15 <elliott_> 07:11:18: <pikhq_> Patashu: Halting problem.
03:02:20 <oerjan> ...it's not even that, necessarily
03:02:28 <CakeProphet> <ray24> So a lisp represents inputs that you feed it
03:02:34 <elliott_> oerjan: can u ban ppl who say halting problem in response to any static analysis task thx
03:02:38 <CakeProphet> elliott_: what does that even mean? can you tell me?
03:02:52 <elliott_> CakeProphet: i don't even know
03:03:01 <elliott_> 07:48:23: <Albibeno> smoke ganja?
03:03:03 <oerjan> *what is this i don't even
03:03:15 <elliott_> brb, gotta compose a song it's urgent
03:04:50 <oerjan> arborealis reminds me a little of V
03:04:50 -!- elliott_ has quit (Read error: Connection reset by peer).
03:28:49 -!- myndzi has quit (Remote host closed the connection).
03:35:49 <CakeProphet> I was already tired of reading their chat logs.
03:36:33 <Sgeo> It might be easier once you start to get to know them?
03:42:27 -!- elliott has joined.
03:42:41 -!- myndzi has joined.
03:49:55 <Sgeo> Yes, there are 12
03:51:31 <elliott> song composed, universal balance restored
03:52:56 <monqy> also wow ray24 is amazing
03:55:27 <elliott> monqy: its the best thing anyone has ever written
04:00:13 <Deewiant> 2011-03-01 04:53:07( elliott) 07:57:56 <Deewiant> Nor the banal x64.
04:00:13 <Deewiant> 2011-03-01 04:53:08( elliott) dobel
04:00:25 <CakeProphet> elliott: though, as pikhq_ and I discussed afterwards, placing a virus inside of an mp3 file is not out of the question.
04:00:34 <elliott> CakeProphet: Of course, but lol.
04:01:43 <elliott> Deewiant sure is writing a lot in response
04:02:21 <elliott> Deewiant: how long did it take you to type that
04:02:43 <elliott> also, what sixty-four bit OSes are there with a 8.3 limitation?
04:02:53 <elliott> second question: that dobelx64 runs on?
04:03:00 <CakeProphet> elliott: http://en.wikipedia.org/wiki/File:Internet_superheroes.jpg the most important people on the internet.
04:03:19 <elliott> CakeProphet: nonsense, none of those look like famous bisexuals
04:04:03 -!- myndzi\ has joined.
04:04:48 -!- myndzi has quit (Ping timeout: 240 seconds).
04:04:50 <CakeProphet> elliott: also why doesn't Andrew Hussie have a Wikipedia article, but MSPA and Whistles do.
04:05:04 <CakeProphet> and all of the other self-sustained webcomic artists on this article do.
04:05:35 <CakeProphet> except Dave Stanworth from Snafu Comics, whatever the fuck that is.
04:43:07 -!- augur has quit (Remote host closed the connection).
04:45:20 -!- augur has joined.
05:19:53 -!- Lymee has quit (Ping timeout: 258 seconds).
05:30:28 -!- yiyus has quit (Ping timeout: 240 seconds).
05:31:53 -!- sebbu has quit (Read error: Connection reset by peer).
05:32:20 -!- sebbu has joined.
05:50:30 -!- augur has quit (Remote host closed the connection).
05:50:46 <CakeProphet> I need to procrastinate writing something. Say something.
05:57:36 * pikhq_ can has hacked together piece of shit build system, that definitely needs to be much smarter. Much much smarter.
05:57:42 <pikhq_> elliott: So, tell me. ai-make.
05:58:46 <pikhq_> elliott: No, but only because what I have is more of a prototype than anything else.
05:59:17 <pikhq_> I feel the only options are to make it output tup or to do my own beta build system.
05:59:40 <pikhq_> And tup has the advantage of it already working very well.
06:00:50 <pikhq_> tup has the disadvantage of triggering a bug in Debian's fuse, though.
06:01:15 <pikhq_> I found out that it was a bug by finding the Debian bug report.
06:01:55 <pikhq_> It's breaking pretty much every unmount of a fuse filesystem, so...
06:03:38 <pikhq_> "use umount --fake to update /etc/mtab"
06:03:48 -!- Lymee has joined.
06:03:58 <pikhq_> Debian's umount doesn't do --fake.
06:05:41 <pikhq_> fuse should have a dependency on mount >= 2.19, but it doesn't.
06:05:45 <elliott> is that simon's yogscast noise
06:06:12 <pikhq_> And guess what's not in Wheezy?
06:07:08 <pikhq_> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628735
06:07:41 <elliott> It's a Toy Story character, you uncultured fuck.
06:07:43 <pikhq_> CakeProphet: No, as in the character in Toy Story.
06:07:51 <elliott> `addquote <elliott> It's a Toy Story character, you uncultured fuck.
06:07:54 <elliott> yeah I just added my own line
06:07:55 <HackEgo> 455) <elliott> It's a Toy Story character, you uncultured fuck.
06:08:26 <pikhq_> CakeProphet: Pixar defeats your notions of "bad sequels".
06:08:27 -!- Lymee has quit (Ping timeout: 276 seconds).
06:08:33 <elliott> have you even seen the toy story sequels
06:08:41 -!- aloril has quit (Ping timeout: 250 seconds).
06:08:59 <pikhq_> 2 is better than 1, and 3 is better than 2. Any further questions?
06:09:07 <CakeProphet> I know because I haven't seen them. You can attempt a rebuttal but it will swiftly smitten by my immaculate logic.
06:09:22 <pikhq_> That's theist logic right there.
06:09:36 <elliott> pikhq_: I was really pleasantly surprised by 3, I was afraid it was going to be a "LOL IT IS BACK AND THE INTERNET IS A THING NOW: LOOK AT THESE INTERNET REFERENCES: THE MOVIE"
06:09:37 <CakeProphet> I am such a good writer. I should start on this writing thing, that I am good at.
06:10:12 <CakeProphet> There will be no typos. Nope. I won't even bother proofreading it three times like I normally one. It's a waste of time because I never make mistakes when I type.
06:10:44 <elliott> publish a book with s///s in
06:11:01 <pikhq_> elliott: Yeah, pretty surprising that they made it not merely good, but great. A freaking sequel to a sequel.
06:11:10 <pikhq_> Aaah, the power of giving a damn.
06:11:50 -!- Lymee has joined.
06:13:03 <CakeProphet> This unabashed Toy Story idolatry is deeply disturbing to me.
06:13:19 <CakeProphet> (as you can see, I am preparing myself for writing mode)
06:13:24 <elliott> Dammit you discovered my secret fake Toy Story fetish.
06:13:29 <pikhq_> CakeProphet: It's Pixar idolatry, actually.
06:13:43 <pikhq_> PIXAR HATH DONE NO WRONG
06:13:49 <elliott> pikhq_: excuse me they made cars
06:13:51 <elliott> and are making a sequel to cars
06:14:18 <pikhq_> elliott: Oh, right, Cars was pretty solidly meh.
06:14:31 <CakeProphet> oh they also got owned by Disney, which is wrong.
06:14:55 <pikhq_> elliott: Disney bought them out.
06:15:02 <elliott> I mean what does "which is wrong" mean
06:15:14 <CakeProphet> elliott: it is a normative qualifier applied to the previous action.
06:15:28 <CakeProphet> in response to pikhq_ saying that PIXAR HATH DONE NO WRONG.
06:15:32 <pikhq_> CakeProphet: Disney has ceased their crimes against art.
06:15:39 <pikhq_> CakeProphet: Because Pixar hath taken over.
06:15:53 <monqy> elliott: crimes against art, apparently
06:16:20 <CakeProphet> No, I refuse to defend my normative assertions with petty logic defenses. It is a waste of time
06:16:33 -!- Lymee has changed nick to Lymia.
06:16:34 -!- Lymia has quit (Changing host).
06:16:34 -!- Lymia has joined.
06:16:40 -!- Lymia has changed nick to Lymee.
06:16:48 -!- Lymee has changed nick to Lymia.
06:17:17 <pikhq_> CakeProphet: Disney is primarily guilty of crimes against art. The artists have conquered Disney. Any further questions?
06:17:18 <elliott> I should sleep soon. I blame CakeProphet for keeping me awake.
06:18:57 -!- FireFly has joined.
06:20:24 -!- aloril has joined.
06:20:44 -!- pikhq has joined.
06:22:54 -!- pikhq_ has quit (Ping timeout: 246 seconds).
06:23:07 <elliott> CakeProphet: words channel
06:24:08 <Lymia> In Python, can you make a tuple containing itself?
06:24:22 <CakeProphet> Python is dynamically typed, values can go anywhere values can go.
06:25:09 <elliott> Traceback (most recent call last):
06:25:11 <elliott> File "<stdin>", line 1, in <module>
06:25:13 <elliott> TypeError: __class__ assignment: only for heap types
06:25:16 <Deewiant> Oh, this machine is just being slow
06:25:25 <Deewiant> But it just took 5 seconds to error
06:25:49 <elliott> you can always use ctypes to bind to the python api
06:26:33 <elliott> int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o)¶
06:26:33 <elliott> Insert a reference to object o at position pos of the tuple pointed to by p. Return 0 on success.
06:26:59 <elliott> it would just contain a reference to the x list
06:27:11 <elliott> OK so I need to bind to PyTuple_SetItem.
06:27:13 <CakeProphet> you'd have to like, map tuple recursively.
06:27:23 <CakeProphet> which wouldn't halt unless you make it a generator.
06:27:39 <pikhq> See, this is why Haskell > Python.
06:28:38 <elliott> >>> py.PyTuple_SetItem(id(x), 0, id(x))
06:28:58 <CakeProphet> Python is designed for programmers whose feeble minds are destroyed by any type of "unreadable" code or "difficult to follow" semantics.
06:29:22 <elliott> i'm fucking up the call somehow
06:30:35 <elliott> CakeProphet: that wont work its a bound c api
06:30:36 <pikhq> Strange, Python, like all imperative languages, has semantics that only make sense with years of immersion.
06:31:05 <CakeProphet> elliott: THERE ARE LOTS OF THOSE THAT HAVE DOCUMENTATION FOOL.
06:31:08 -!- zzo38 has joined.
06:31:13 <elliott> CakeProphet: I LITERALLY LOADED IT WITH CTYPES
06:31:17 <elliott> it reads from the shared object
06:31:20 <elliott> which contains no documentation
06:31:58 <elliott> AttributeError: dlsym(0x7fff5fc43cc0, PyTuple_SET_ITEM): symbol not found
06:32:15 <elliott> ./tupleobject.h:#define PyTuple_SET_ITEM(op, i, v) (((PyTupleObject *)(op))->ob_item[i] = v)
06:32:35 <CakeProphet> so basically accessing an element of @_ that wasn't provided causes the subroutine to return a curried form.
06:33:10 <lifthrasiir> so, what is the entire point of making a tuple an element of itself?
06:33:14 <CakeProphet> it would fuck up Perl's ability to omit parentheses on a lot of function calls.
06:33:28 <Lymia> elliott, can you write that in Python with ctypes
06:33:38 <elliott> Lymia: what do you think im trying to do :p
06:33:44 <CakeProphet> pikhq: actually, now that I think about it, you can't do this in Haskell either can you?
06:34:04 <Lymia> In theory you can write something as powerful as a C module in Python, right?
06:34:38 <Patashu> is infinite memory python turing complete?
06:34:39 <pikhq> CakeProphet: Yeah, it fails in the type system, sure enough.
06:34:42 <lifthrasiir> CakeProphet, then why does pikhq think Haskell > Python for this thing? :p
06:35:38 <CakeProphet> I think he was making that assertion in general though.
06:36:12 <pikhq> It was a general statement.
06:36:19 <lifthrasiir> i think he got the wrong example. (obviously i don't challenge that Haskell > Python...)
06:37:11 <CakeProphet> >>> x = [1];x.extend(x);print x; #chaos ensues
06:37:54 <lifthrasiir> CakeProphet, that's [1, [...]]. Python's repr correctly handles recursive list.
06:38:03 <CakeProphet> and by chaos ensues I actually mean nothing interesting happens
06:39:21 <CakeProphet> I was trying to use my Haskll-writing brain in my Python-writing reality, thinking that x.extend(x) would attempt to construct an infinite list.
06:40:05 <CakeProphet> elliott: the problem here is that you're trying to use Python to do something silly.
06:40:08 <Patashu> python doesn't have laziness does it
06:40:47 <CakeProphet> itertools.cycle([1,2,3]) works like cycle in Haskell.
06:41:02 <Patashu> I guess generators kind of count yeah
06:42:00 <CakeProphet> yes, that's definitely a form of laziness compared to most languages capacities for such things.
06:43:09 <elliott> bet i couldn't do it in perl either
06:43:22 <CakeProphet> Perl doesn't even have that shit what are you talking about.
06:46:05 -!- Vorpal has joined.
06:46:49 <CakeProphet> bam. something you would never ever want to use.
06:48:43 <CakeProphet> sub list { my $x=[1,[2,[3]]]; push @{$x->[1]->[1]}, $x; $x }
06:48:52 <CakeProphet> infinite linked list in Perl, but you would never ever want to use such a thing.
06:52:02 <pikhq> struct list {int car;struct list *cdr;} list = {0, &list};
06:52:18 <zzo38> I was once asked to correct a hard drive testing and wiping program to do a asynchronous SMART test on the drive. It was written in Python. There was some list of functions that returned process objects and then the main loop was checking which are done, checking success/failure, and yield.
06:52:29 <Vorpal> CakeProphet, isn't that just a circular linked list?
06:53:08 <pikhq> Vorpal: True. It's a lot harder to pull off many of Haskell's more interesting linked lists.
06:53:12 <zzo38> This new one worked in a different way but I just made the new function "class" instead of "def". I don't know if this is the proper way that proper Python programmers would do it, but it worked.
06:53:16 <pikhq> Such as the entire Fibonacci sequence.
06:53:27 <Vorpal> pikhq, how does that one work
06:53:27 <zzo38> pikhq: O, now you can make it in C as well.
06:53:50 <pikhq> zzo38: It's *doable*, sure, just not easy.
06:53:52 <zzo38> I also would like to learn about it, how to make the Fibonacci sequence with that way.
06:54:23 <pikhq> !haskell let fibs = 0:1:zipWith(+)fibs(tail fibs) in fibs
06:54:53 <Vorpal> > let fibs = 0:1:zipWith(+)fibs(tail fibs) in fibs
06:54:54 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
06:55:00 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
06:55:09 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> [a]
06:55:16 <pikhq> Ah, right, lambdabot.
06:55:28 <lambdabot> [1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800...
06:55:59 <oerjan> you don't recognize the sequence?
06:56:28 <Vorpal> 1*1 = 1, 1*2 = 2, 2*3 = 6? 6*4 = 24
06:56:38 <Deewiant> > map (foldl (*) 1 . enumFromTo 1) [1..]
06:56:39 <lambdabot> [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8...
06:57:23 <oerjan> Deewiant: that's going to be a bit slower
06:57:29 <Vorpal> oerjan, so scanl is something in between foldl and map?
06:57:44 <Deewiant> Vorpal: It's foldl but keeping intermediate results
06:57:45 <lambdabot> forall a. (Enum a) => a -> a -> [a]
06:57:57 <CakeProphet> zzo38: using a class as a fancy kind of function is done by "real Python programmers", for what it's worth
06:59:06 <Vorpal> "real Python programmers" <-- lol
06:59:48 <pikhq> Funny, the only "real Python programmer" I know uses Python as an imperative functional language.
06:59:52 <pikhq> (he, ah, frightens me)
07:00:27 <oerjan> > nubBy(((>1).).mod)[2..]
07:00:42 <oerjan> > nubBy(((>1).).mod)[2..]
07:00:49 <CakeProphet> yes, if anything can be said about Python, it's gotten the whole "multi-paradigm" thing well done.
07:00:59 <Deewiant> oerjan: You can't nub an infinite list
07:01:08 <lambdabot> forall a. (a -> a -> Bool) -> [a] -> [a]
07:01:22 <oerjan> > nubBy(((>1).).mod)[2..]
07:01:23 -!- augur has joined.
07:01:24 <zzo38> CakeProphet: OK. I was just wondering. As it happened, it did work. (The thing was that the program to start the test terminates immediately, and the drive itself performs the test. Later on you need to run it again to get the results (the man page says what the result codes mean). So I just made it "class" that keeps its own timing and then checks the result and tries to act like a process object)
07:01:35 <oerjan> :t nubBy(((>1).).mod)[2..]
07:01:36 <lambdabot> forall a. (a -> Bool) -> [a] -> [a]
07:01:40 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:01:51 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:01:54 <zzo38> pikhq: What is the programmer you know uses Python as imperative functional language?
07:02:08 <oerjan> maybe i'm misrembering the code
07:02:15 <Vorpal> Deewiant, I don't see any difference to just [2..] there
07:02:16 <pikhq> zzo38: Friend of mine who's not generally on #esoteric.
07:02:21 <oerjan> :t nubBy(((>1).).gcd)[2..]
07:02:24 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:02:24 <oerjan> > nubBy(((>1).).gcd)[2..]
07:02:26 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
07:02:35 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
07:02:43 <Vorpal> yay it's the id function!
07:02:55 <zzo38> Does he frightens you?
07:02:58 <pikhq> oerjan: I think it's just not liking your list of prime numbers.
07:03:02 <Deewiant> > nubBy (((0==).) . mod) [2..]
07:03:04 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
07:03:09 <pikhq> zzo38: His skill does.
07:03:19 <oerjan> > nub "no nub is not identity"
07:03:21 <zzo38> pikhq: In what way?
07:03:45 <Vorpal> oerjan, heh... Doesn't quite answer what it does still
07:03:55 <pikhq> zzo38: I'd say he has Gregor-like skillz.
07:04:02 <Vorpal> oerjan, oh unique elements?
07:04:23 <pikhq> So, yeah. Just very, very good at programming.
07:04:24 <Vorpal> looks like it discards dupes
07:06:17 <CakeProphet> I need to work on being very, very good at programming.
07:07:05 <Patashu> aah, and nubby uses a comparison other than identity
07:07:19 <zzo38> CakeProphet: Yes probably you should. And I should learn too. And also everyone else that is programming.
07:07:55 <CakeProphet> I am taking steps by learning more languages. Perl is the most recent one. Very soon I will be fleshing out my regular expression language in Haskell.
07:08:00 <CakeProphet> which should give me more Haskell experience.
07:08:12 <Patashu> > nubBy (0== . mod .) [2..]
07:08:13 <oerjan> Patashu: it's a little abuse to use it with a non-equivalence relation
07:08:13 <lambdabot> <no location info>: parse error on input `.'
07:08:18 -!- Slereah has joined.
07:08:22 -!- monqy has quit (Quit: hello).
07:08:25 <Patashu> > nubBy (0== . . mod ) [2..]
07:08:25 <lambdabot> <no location info>: parse error on input `.'
07:08:26 <Deewiant> > nubBy (((0==).) . mod) [2..]
07:08:28 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
07:08:36 <Patashu> yeah, I was trying to reconstruct it by hand
07:08:41 <Patashu> the .s and ()s are kind of hmmmm
07:08:53 <Deewiant> You need to bracket operator sections
07:09:01 <CakeProphet> multiple nearby .'s kind of scare me in Haskell
07:09:06 <CakeProphet> I have a hard time figuring out what is happening.
07:09:07 <Patashu> it slides it into the opening I guess?
07:09:16 <oerjan> > nubBy (\x y -> x `mod` y == 0) [2..]
07:09:17 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
07:09:40 <Patashu> > nubBy (0== .( . (mod)) ) [2..]
07:09:41 <lambdabot> <no location info>: parse error on input `.'
07:09:59 <Deewiant> == and . are operators, you can't have them next to each other
07:10:05 <Patashu> > nubBy ((0==) .( . mod) ) [2..]
07:10:06 <lambdabot> Couldn't match expected type `a -> GHC.Bool.Bool'
07:10:18 <CakeProphet> Patashu: operator sections always need parens. 0== . is always a parse error.
07:10:19 <zzo38> It seems that Haskell can make a lot of functional list processing to make infinite lists with numbers and this stuff, from these examples. There seems many ways to make it.
07:10:19 -!- Slereah_ has quit (Ping timeout: 240 seconds).
07:10:55 <CakeProphet> yes Haskell is very good at infinite lists.
07:11:16 <Patashu> > nubBy (\x y -> x `gcd` y == 0) [2..]
07:11:17 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:11:23 <Patashu> > nubBy (\x y -> x `gcd` y == 1) [2..]
07:11:24 <lambdabot> [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,...
07:11:25 <CakeProphet> my Haskell bf interpreter uses an actual infinite tape.
07:11:31 <Lymia> Can you poke arbitrary values into memory and execute arbitrary addresses with Python's ctypes?
07:11:32 <pikhq> zzo38: Yeah, it comes pretty naturally with laziness.
07:11:39 <Patashu> > nubBy (\x y -> x `gcd` y == 2) [2..]
07:11:39 <lambdabot> [2,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,5...
07:12:10 <oerjan> Patashu: you want > 1 for gcd
07:12:27 -!- elliott has quit (Remote host closed the connection).
07:12:38 <pikhq> zzo38: For another example, see Lazy K. Which represents input in a pure functional language using an infinite list.
07:13:06 <pikhq> You just pass it an infinite list, and output the resulting list.
07:13:30 <CakeProphet> Patashu: http://docs.python.org/release/2.5.2/lib/ctypes-pointers.html
07:14:14 <zzo38> Have you any worked with API of LLVM? In which programming languages? I would like to learn some things about it, and how to make something with it.
07:14:19 <oerjan> > iterate((<**>[show.length,take 1]).group.show)1
07:14:20 <lambdabot> No instance for (GHC.Num.Num [GHC.Base.String])
07:14:33 <oerjan> > iterate(read.(<**>[show.length,take 1]).group.show)1
07:14:33 <lambdabot> Couldn't match expected type `GHC.Types.Char'
07:14:55 <Patashu> > fix (\x:y:xs -> x+y) ([1]:1)
07:14:56 <lambdabot> <no location info>: parse error on input `:'
07:15:28 -!- Vorpal has quit (Ping timeout: 260 seconds).
07:15:36 <Patashu> > fix (\x:y:xs -> x+y) ([1]++1)
07:15:37 <lambdabot> <no location info>: parse error on input `:'
07:16:10 <Deewiant> > fix (\(x:y:xs) -> x+y) [1,1]
07:16:11 <lambdabot> Occurs check: cannot construct the infinite type: t = [t]
07:16:49 <lambdabot> [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,...
07:16:49 <Patashu> > fix (\(x:y:xs) -> x+y) ([1..])
07:16:50 <lambdabot> Occurs check: cannot construct the infinite type: t = [t]
07:17:26 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
07:18:03 <pikhq> Everyone's favorite combinator.
07:18:49 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...
07:19:28 <lambdabot> a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (...
07:19:39 <Patashu> (\(x:y:xs) -> x+y:x:y:xs) maybe
07:19:48 <Patashu> > fix (\(x:y:xs) -> x+y:x:y:xs) ([1..])
07:19:49 <lambdabot> Couldn't match expected type `[t1] -> t'
07:20:08 <Patashu> > fix (\(x:y:xs) -> x+y:x:y:xs) ([1]:1)
07:20:09 <lambdabot> Couldn't match expected type `[[t1]] -> t'
07:20:22 <Lymia> Haskell really likes infinite lists...
07:20:34 <Lymia> Haskell really likes infinite lists...*
07:20:46 <Lymia> I should go implement one in Python
07:20:49 -!- yiyus has joined.
07:21:21 <Deewiant> Patashu: fix takes one argument, not two
07:21:23 <oerjan> > map (sum . take 2) . iterate (drop 2) $ [1..]
07:21:25 <lambdabot> [3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,1...
07:21:35 <Patashu> so how do I give it a starting condition?
07:21:42 <Deewiant> There is no starting condition
07:21:50 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
07:22:24 <lambdabot> No instance for (GHC.Num.Num [[t]])
07:22:25 <lambdabot> arising from a use of `e_111' at <in...
07:22:53 <Lymia> Haskell causes my brain to hurt.
07:22:57 <lambdabot> Overlapping instances for GHC.Show.Show ((a -> a) -> a)
07:22:58 <Lymia> I should use it more until it stops causing that.
07:23:06 <lambdabot> "sup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsu...
07:23:29 <CakeProphet> with operator sections you can literally just imagine it as chaining together that bit of text infinitely.
07:23:32 <Deewiant> > fix (\ ~(x:y:xs) -> 1:1:x+y:x:y:xs)
07:23:33 <lambdabot> [1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,...
07:23:42 <pikhq> Lymia: It's kinda like lifting weights. It's going to make your brain sore, but that's just your brain getting better.
07:23:51 <Deewiant> Patashu: Lazy match, basically
07:23:58 <Lymia> > fix ("LOOK BEHIND YOU " ++)
07:24:00 <lambdabot> "LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIN...
07:24:16 <lambdabot> *Exception: <interactive>:3:1-12: Non-exhaustive patterns in lambda
07:24:26 <lambdabot> No instance for (Data.Monoid.Monoid SimpleReflect.Expr)
07:24:27 <lambdabot> *Exception: <interactive>:3:1-14: Irrefutable pattern failed for pattern (x...
07:25:03 <lambdabot> [s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,...
07:25:20 <CakeProphet> Patashu: ~ is a lazy pattern. Meaning the pattern is not checked if it's not needing.
07:25:53 <pikhq> Patashu: Unlike a usual pattern match, it assumes the pattern match went through. So, it's perfectly lazy. However, if the pattern doesn't actually hold and you evaluate it, then you get _|_.
07:25:57 <CakeProphet> Patashu: in Deewiant's example the one without a lazy pattern errored because there was no pattern for [], even though the argument is never used.
07:26:08 <Patashu> what's like fix but lets you use an initial state/
07:26:29 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
07:26:33 <Patashu> > iterate (\(x:y:xs) -> x+y:x:y:xs) (1:1)
07:26:34 <lambdabot> arising from a use of `e_111' at <inte...
07:26:40 <Lymia> Python lets you subclass array, right?
07:26:44 <CakeProphet> Patashu: right-hand argument of : is a list
07:26:46 <Patashu> > iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1])
07:26:47 <lambdabot> [[1,1],[2,1,1],[3,2,1,1],[5,3,2,1,1],[8,5,3,2,1,1],[13,8,5,3,2,1,1],[21,13,...
07:26:48 <Lymia> !python print "test"
07:27:08 <Deewiant> > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:27:10 <lambdabot> [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177...
07:27:12 <Patashu> > iterate (\(xs:x:y) -> xs:x:y:x+y) (1:[1])
07:27:12 <lambdabot> Occurs check: cannot construct the infinite type: t = [t]
07:27:27 <Patashu> > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1])
07:27:28 <lambdabot> arising from a use of `e_111' at <inte...
07:27:32 -!- zzo38 has quit (Quit: #esoteric).
07:27:35 <Patashu> > map head ( iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1]) )
07:27:36 <lambdabot> [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177...
07:27:43 <Patashu> > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:27:45 <lambdabot> [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177...
07:27:49 <CakeProphet> Lymia: usually it makes things difficult though. you're better off using an internal list as an aggregate (if you will allow me to use Java speak...) and then simply define the methods you need yourself.
07:29:14 <Patashu> > map head . iterate (\(x:y:xs) -> x*y:x:y:xs) $ 2:[1]
07:29:16 <lambdabot> [2,2,4,8,32,256,8192,2097152,17179869184,36028797018963968,6189700196426901...
07:30:21 <Patashu> fold zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:30:23 <oerjan> > intercalate ", " $ iterate (sequence[show.length, take 1]<=<group) "1"
07:30:24 <lambdabot> Couldn't match expected type `GHC.Types.Char'
07:30:24 <Lymia> !python exec """class InfList(list):\n\tdef __init__(self,fun):\n\t\tself.fun=fun\n\t\tself.buffer={}\n\tdef __getitem__(self, index):\n\t\tif index in self.buffer:\n\t\t\treturn buffer[index]\n\t\ttemp=self.fun(index)\n\t\tself.buffer[index]=temp\n\t\treturn temp\nprint InfList(lambda x:x)"""
07:30:42 <Patashu> > fold zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:30:48 <Patashu> > foldl zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:30:49 <lambdabot> Occurs check: cannot construct the infinite type: a = (a, b)
07:31:07 <Patashu> > foldl . zip . map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:31:08 <lambdabot> Couldn't match expected type `b -> [b1]'
07:31:13 <CakeProphet> Patashu: Haskll can't magically discern when you're supplying arguments to a function and when you're passing functions to other functions.
07:31:37 <CakeProphet> Patashu: if you would like a language that can do that, see Perl. :P
07:31:42 <Patashu> > foldl zip . map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:31:43 <lambdabot> Occurs check: cannot construct the infinite type: a = (a, b)
07:31:45 <CakeProphet> granted Perl has the advantage of having proper first-class functions.
07:31:53 <lambdabot> Occurs check: cannot construct the infinite type: a = (a, b)
07:32:02 <Patashu> okay, so that's no good then
07:32:16 <lambdabot> forall a b. [a] -> [b] -> [(a, b)]
07:32:20 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
07:33:49 <Patashu> maybe some kind of monadic version of zip...
07:34:29 <Patashu> for a list [a,b,c,d,e] I want to make [(a,b),(b,c),(c,d)] etc
07:35:03 <CakeProphet> there you go. instant black magic from Haskell wizards.
07:35:20 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
07:35:41 <CakeProphet> I'm guessing it relies on the monad instances for functions.
07:35:42 <oerjan> that, Patashu, is the -> Monad.
07:36:03 <lambdabot> forall a b a1. (a1 -> a -> b) -> (a1 -> a) -> a1 -> b
07:36:30 <Patashu> > (zip`ap`head) [a,b,c,d,e]
07:36:30 <lambdabot> Couldn't match expected type `[b]'
07:36:31 <lambdabot> against inferred type `SimpleRef...
07:36:45 <Deewiant> > (\x -> zip x (tail x)) [a,b,c,d,e]
07:36:49 <CakeProphet> Patashu: yes if you plug in a function with a completely different type you will get a type error. :D
07:36:56 <pikhq> Patashu: Here's a hint:
07:37:00 <Patashu> they have different types?
07:37:03 <lambdabot> forall a b. ([a] -> [b]) -> [a] -> [(a, b)]
07:37:25 <Patashu> > (zip`ap`init) [a,b,c,d,e]
07:38:19 <oerjan> > join(zip.tail) [a,b,c,d,e]
07:38:30 <lambdabot> forall (m :: * -> *) a. (Monad m) => m (m a) -> m a
07:39:10 <oerjan> CakeProphet: different Monad
07:39:46 <lambdabot> Overlapping instances for GHC.Show.Show (t -> t)
07:40:20 <lambdabot> <no location info>: parse error on input `->'
07:40:24 <Lymia> > (\ふぉお -> ふぉお) (1)
07:40:26 <oerjan> CakeProphet: still not the same monad as in join(zip.tail) :)
07:40:41 <CakeProphet> oerjan: oh, right... I was just showing what join does.
07:40:47 <CakeProphet> I /still/ don't know how function works as a monad.
07:40:51 <Patashu> (zip`ap`init) map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:40:59 <Patashu> > (zip`ap`init) map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1])
07:41:00 <lambdabot> Couldn't match expected type `t -> a -> b'
07:41:09 <Patashu> > (zip`ap`init) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) )
07:41:11 <lambdabot> [(1,1),(2,2),(3,3),(5,5),(8,8),(13,13),(21,21),(34,34),(55,55),(89,89),(144...
07:41:17 <oerjan> CakeProphet: it really just gives everything an extra argument, it's isomorphic to Reader
07:41:18 <Patashu> > (zip`ap`head) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) )
07:41:19 <lambdabot> arising from a use of `e_111' at <inte...
07:41:29 <Patashu> > (zip`ap`tail) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) )
07:41:30 <lambdabot> [(1,2),(2,3),(3,5),(5,8),(8,13),(13,21),(21,34),(34,55),(55,89),(89,144),(1...
07:41:44 <CakeProphet> oerjan: it gives everything an extra argument that has no effect?
07:42:46 <lambdabot> parse error (possibly incorrect indentation)
07:42:52 <lambdabot> forall a b. ([a] -> [a] -> b) -> [a] -> b
07:43:03 <lambdabot> Source not found. Take a stress pill and think things over.
07:43:33 <oerjan> bloody @src with its impossible to remember fickle syntax _and_ missing functions
07:43:42 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:44:19 <CakeProphet> oerjan: ah, that's... difficult to think about. ::
07:45:31 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
07:45:44 <lambdabot> parse error (possibly incorrect indentation)
07:45:49 <lambdabot> forall a b. (Num a) => (a -> a -> b) -> a -> b
07:45:56 <lambdabot> forall a b. ([a] -> [b]) -> [a] -> [(a, b)]
07:45:57 <oerjan> CakeProphet: if you understand how ski abstract elimination works, you can see that many of the monadic functions become versions of that for ->
07:46:06 <lambdabot> forall a b. [a] -> [b] -> [(a, b)]
07:46:10 <oerjan> e.g. ap is S, return is K
07:46:23 <lambdabot> Couldn't match expected type `Expr -> b'
07:46:23 <lambdabot> In the second argument of `(>>=)', namely `(-) a'
07:46:28 <lambdabot> Couldn't match expected type `SimpleReflect.Expr -> b'
07:46:46 <pikhq> >>= is a more complex combinator, but still just a combinator.
07:46:47 <lambdabot> Couldn't match expected type `SimpleReflect.Expr -> b'
07:46:51 <lambdabot> forall a b a1. ([a1] -> a -> b) -> ([a1] -> a) -> [a1] -> b
07:47:00 <lambdabot> forall a b. ([a] -> [b]) -> [a] -> [(a, b)]
07:47:08 <Patashu> woah, that makes something different
07:47:32 <oerjan> Patashu: zip`ap`tail is just a fancy syntactic sugar for writing ap zip tail
07:47:48 <lambdabot> quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers
07:48:42 <lambdabot> Couldn't match expected type `[a] -> [a]'
07:49:02 <lambdabot> Couldn't match expected type `[a]'
07:49:02 <lambdabot> against inferred type `[a1] -> [b] -> [(a1, b)]'
07:49:02 <lambdabot> In the first argument of `tail', namely `zip'
07:49:16 <lambdabot> forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b
07:49:37 <lambdabot> [3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,...
07:49:40 -!- Lymia has quit (Excess Flood).
07:49:41 <lambdabot> Overlapping instances for GHC.Show.Show (a -> f b)
07:49:46 <lambdabot> Overlapping instances for GHC.Show.Show (a -> f b)
07:49:57 <lambdabot> [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,5...
07:50:03 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
07:50:18 -!- Lymia has joined.
07:50:50 <CakeProphet> the addition of two consecutive integers is always odd. :)
07:50:53 <Patashu> how come it isn't flipping them
07:51:46 <Patashu> maybe it's integer division
07:52:04 <lambdabot> Occurs check: cannot construct the infinite type: a = [a -> b]
07:52:14 <lambdabot> [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1...
07:52:17 <lambdabot> Couldn't match expected type `t -> a -> b'
07:52:22 <lambdabot> Couldn't match expected type `a -> b' against inferred type `[a1]'
07:52:27 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:52:31 <CakeProphet> the subtraction of two consecutive integers is always -1. :)
07:52:40 <Patashu> > ap (flip tail zip) $ [1..]
07:52:41 <lambdabot> Couldn't match expected type `a1 -> a -> b'
07:52:49 <Patashu> is there a flip for functions?
07:53:29 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:53:53 <Patashu> > ap flip (tail [1..]) zip
07:53:53 <lambdabot> Couldn't match expected type `f (a -> b) -> a'
07:53:55 <lambdabot> Couldn't match expected type `a -> b' against inferred type `[a1]'
07:53:56 <lambdabot> Probable cause: `tail' is applied to too many arguments
07:53:56 <oerjan> > flip ap tail zip [1..]
07:53:56 <lambdabot> In the first argument of `flip', namely `tail'
07:53:57 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:54:04 <CakeProphet> Patashu: yeah you can't flip a one-argument function.
07:54:33 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:54:41 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:54:49 <Patashu> why do I put the flip over THERE when the stuff it's flipping is over THERE
07:54:58 <CakeProphet> ...because flip flips the function arguments...
07:55:43 <lambdabot> liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) }
07:55:59 <CakeProphet> Patashu: that's a rather bad definition for ap, as far as understanding it.
07:56:00 <Deewiant> > ((ap `flip` tail) zip) [1..] -- I sometimes like this style since then the `flip` is where the next argument goes
07:56:01 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
07:56:03 * oerjan watches Patashu digging himself deeper
07:56:45 <Patashu> so liftM2 lifts two values out of their context and applies them to a function
07:56:50 <Patashu> ap is the same but with no function
07:57:03 <CakeProphet> right, so the left-hand argument has to be a function in that case.
07:57:29 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:57:37 <CakeProphet> it applies a function wrapped in a monad to the other monad.
07:57:48 <lambdabot> liftM f m1 = do { x1 <- m1; return (f x1) }
07:57:59 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
07:58:23 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2...
07:58:51 <lambdabot> ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17...
07:59:08 <lambdabot> forall a1 r (m :: * -> *). (Monad m) => (a1 -> r) -> m a1 -> m r
07:59:39 <CakeProphet> m a1 = [a1] in the case of the list monad.
08:00:09 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
08:00:16 <CakeProphet> it operates on the "inner type", not the monad itself.
08:00:17 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
08:00:28 <CakeProphet> Patashu: you're asking it to apply head to each number in that list
08:00:49 <lambdabot> zip (a:as) (b:bs) = (a,b) : zip as bs
08:01:19 <Gregor> CakeProphet: CHURCH DISAGREES!
08:01:46 <oerjan> yeah the church is all about giving head to cardinals
08:02:02 <Deewiant> Patashu: liftM = (.) for functions
08:02:20 <Gregor> Anybody who didn't get my joke needs to leave :P
08:03:01 <Gregor> oerjan: LAMBDA CALCULUS
08:03:19 <oerjan> ...what does that have to do with head
08:03:46 <Gregor> Church, numbers, lambda calculus, RECURSIVE DATA/CODE STRUCTURES
08:03:59 <Gregor> It was a Church numerals joke and you guys SUCK
08:04:37 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
08:05:48 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
08:06:33 <lambdabot> [*Exception: Prelude.head: empty list
08:06:36 <lambdabot> [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2...
08:06:59 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
08:07:06 <Patashu> vegeta, what does the scouter say about the cardinality of that set?
08:08:00 <Patashu> what's the opposite of init
08:09:27 <CakeProphet> Patashu: might want to try some finite lists.
08:09:41 <oerjan> Patashu: that's a different timeout
08:10:03 <lambdabot> [[],[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]
08:10:26 <CakeProphet> > iterate succ 1 --wooo, so many ways to write [1..]
08:10:27 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
08:10:48 <lambdabot> Ambiguous type variable `a' in the constraints:
08:10:52 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...
08:11:24 <oerjan> > scanl1 (+) $ fix (1:)
08:11:25 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
08:11:49 <lambdabot> [*Exception: Prelude.last: empty list
08:11:57 <Patashu> I think that's something I wanted a while ago
08:12:03 <lambdabot> Occurs check: cannot construct the infinite type: a = (a, a)
08:12:41 <Patashu> I was picturing a nondestructive fold
08:13:06 <Patashu> > scanl1 (*) $ scanl1 (+) $ fix (1:)
08:13:07 <lambdabot> [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8...
08:13:45 <oerjan> what's destructive about folds
08:13:59 <Patashu> a fold gets rid of the value it uses
08:14:00 <Patashu> so it ends up with just one
08:14:28 <oerjan> scanl1 may be right, then
08:14:43 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
08:14:59 <lambdabot> [(1,2),(3,4),(5,6),(7,8),(9,10),(11,12),(13,14),(15,16),(17,18),(19,20),(21...
08:15:07 <Patashu> I'm picturing myfunc that goes myfunc f [a,b,c,d,e] -> [f a b, f b c, f c d, f d e]
08:15:33 <Patashu> but I can use that ap trick
08:15:37 <oerjan> > zipWith f`ap`tail $ [a,b,c,d,e] :: [Expr]
08:15:37 <Patashu> and make it take itself offset
08:15:58 <Patashu> > zipWith ap (*) tail [1..]
08:15:58 <lambdabot> Couldn't match expected type `[m (a -> b)]'
08:16:17 <Patashu> > zipWith (*)`ap`tail $ [1..]
08:16:17 <lambdabot> [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5...
08:16:22 <Patashu> > zipWith ap (*) tail $ [1..]
08:16:23 <lambdabot> Couldn't match expected type `[m (a -> b)]'
08:16:27 <CakeProphet> Patashu: are you just stringing together function names...?
08:16:37 <Patashu> f`ap`tail is equivalent to ap f tail right
08:16:43 <oerjan> > ap (zipWith (*)) tail [1..]
08:16:44 <lambdabot> [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5...
08:17:14 <Patashu> so why does one work and one not
08:17:23 <CakeProphet> Patashu: but Haskell is not magical and can't discern what is applying to what.
08:17:32 <oerjan> because zipWith (*) is f, not just (*)
08:17:39 <Patashu> > zipWith . ap (*) tail $ [1..]
08:17:40 <lambdabot> Couldn't match expected type `a -> b -> c'
08:17:50 <Patashu> > zipWith .( ap (*) tail $ [1..])
08:17:51 <lambdabot> No instances for (GHC.Num.Num [a -> b -> c],
08:17:54 <oerjan> Patashu: erm i showed you above
08:17:55 <Patashu> > zipWith .( ap (*) tail) $ [1..]
08:17:55 <lambdabot> Couldn't match expected type `a -> b -> c'
08:18:01 <Patashu> I want to do it without ` though
08:18:42 <Patashu> ap . zipWith (*) . tail $ [1..]
08:18:48 <Patashu> > ap . zipWith (*) . tail $ [1..]
08:18:49 <lambdabot> Couldn't match expected type `a -> b' against inferred type `[a1]'
08:18:51 <CakeProphet> when you say stuff like zipWith ap (*) tail... it reads it like this (((zipWith ap) (*)) tail)
08:19:01 <Patashu> > ap (zipWith (*)) tail $ [1..]
08:19:01 <lambdabot> [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5...
08:19:08 <Deewiant> ?unpl app . zipWith (*) . tail
08:19:08 <lambdabot> (\ c -> app (zipWith (*) (tail c)))
08:19:29 <Deewiant> ?unpl app (zipWith (*)) . tail
08:19:30 <lambdabot> (\ c -> app (zipWith (*)) (tail c))
08:20:03 <CakeProphet> !perl print map {chop;$_} keys qw(abc def ghi jkl mno pqr)
08:20:03 <EgoBot> Type of arg 1 to keys must be hash (not list) at /tmp/input.22685 line 1, at EOF
08:20:36 <CakeProphet> !perl print map {chop;$_} keys %{{qw(abc def ghi jkl mno pqr)}}
08:20:54 <Lymia> > ap (zipWith (\x,y => (x,y)) tail $ [1..]
08:20:55 <lambdabot> <no location info>: parse error on input `,'
08:20:59 <Lymia> > ap (zipWith (\(x,y) => (x,y)) tail $ [1..]
08:21:00 <lambdabot> <no location info>: parse error on input `=>'
08:21:04 <Lymia> > ap (zipWith (\(x,y) -> (x,y)) tail $ [1..]
08:21:05 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
08:21:15 <Lymia> What was the syntax again?
08:21:28 <Lymia> > ap (zipWith (\(x,y) -> (x,y))) tail $ [1..]
08:21:29 <lambdabot> Couldn't match expected type `b -> c'
08:21:38 <Lymia> > ap (zipWith (\x -> X)) tail $ [1..]
08:21:38 <lambdabot> Not in scope: data constructor `X'
08:21:40 <Lymia> > ap (zipWith (\x -> x)) tail $ [1..]
08:21:40 <CakeProphet> Lymia: you could rewrite (\(x,y) -> (x,y)) as id
08:21:41 <lambdabot> Occurs check: cannot construct the infinite type: b = b -> c
08:21:54 <Lymia> I need to go back to that Haskell tutorial
08:22:05 <Patashu> > ap (zipWith id) tail $ [1..]
08:22:06 <lambdabot> Occurs check: cannot construct the infinite type: b = b -> c
08:22:23 <CakeProphet> Patashu: yeah that won't work. Sorry for misleading you. :P
08:22:48 <CakeProphet> Lymia: to specify multiple arguments you say (\a b c -> ...)
08:23:00 <Patashu> > ap (zipWith (\x,y -> (x,y))) tail $ [1..]
08:23:00 <CakeProphet> \(x,y) is one argument that is a tuple containing x and y
08:23:00 <lambdabot> <no location info>: parse error on input `,'
08:23:12 <Lymia> > ap (zipWith (\x y -> (x,y))) tail $ [1..]
08:23:13 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
08:23:15 <Patashu> > ap (zipWith (\x y -> (x,y))) tail $ [1..]
08:23:16 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
08:23:44 <Lymia> > ap (zipWith (\x y -> (x,y))) (\x -> tail $ tail $ tail $ x) $ [1..]
08:23:45 <lambdabot> [(1,4),(2,5),(3,6),(4,7),(5,8),(6,9),(7,10),(8,11),(9,12),(10,13),(11,14),(...
08:23:45 <lambdabot> zip (a:as) (b:bs) = (a,b) : zip as bs
08:23:57 <Lymia> > ap (zipWith (\x y -> (x,y))) head $ [1..]
08:23:58 <lambdabot> No instances for (GHC.Num.Num [b], GHC.Enum.Enum [b])
08:24:05 <Patashu> > ap (zipWith (,)) tail $ [1..]
08:24:06 <lambdabot> [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12...
08:24:18 -!- wareya has quit (Ping timeout: 260 seconds).
08:24:46 <lambdabot> forall a b. [(a, b)] -> ([a], [b])
08:25:09 <Patashu> how do you get stuff out of a tuple?
08:26:50 <CakeProphet> I am honestly not quite sure why Python differentiates lists from tuples when they are pretty much the same that tuples are immutable.
08:27:30 <oerjan> tuple overloaded functions aren't in the standard. there's probably a package on hackage for it
08:28:02 <oerjan> but usually if you think you want large tuples, you usually really need a datatype
08:28:20 <CakeProphet> anything over a 3-tuple or maybe a 4-tuple is probably in that realm.
08:29:41 -!- wareya has joined.
08:30:06 <oerjan> precisely _why_ you should use ~
08:30:25 <Lymia> > ap (zipWith (*)) (\x -> tail $ tail $ tail $ x) $ [1..]
08:30:26 <oerjan> to avoid unnecessary strictness
08:30:26 <lambdabot> [4,10,18,28,40,54,70,88,108,130,154,180,208,238,270,304,340,378,418,460,504...
08:30:33 <Lymia> > ap (zipWith (*)) (\x -> tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ x) $ [1..]
08:30:34 <lambdabot> [15,32,51,72,95,120,147,176,207,240,275,312,351,392,435,480,527,576,627,680...
08:31:01 <lambdabot> [6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,...
08:31:17 <lambdabot> Couldn't match expected type `[a]'
08:31:17 <lambdabot> against inferred type `GHC.Types...
08:31:21 <lambdabot> No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a])
08:31:29 <lambdabot> [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34...
08:31:43 <Lymia> Being curry is suffering
08:31:59 <Lymia> > dropWhile (!=-1) [1..]
08:32:07 <Lymia> > dropWhile (>0) [1..]
08:32:32 <CakeProphet> Lymia: there is also takeWhile, which is to take as dropWhile is to drop.
08:32:43 <Patashu> why can't haskell optimize mathematical theorems and realize it won't return anything???
08:32:54 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
08:33:33 <oerjan> lambdabot doesn't use blackholes, even
08:34:41 <lambdabot> forall a. (Random a) => (a, a) -> IO a
08:34:58 <oerjan> Patashu: with some flag settings, ghc can actually detect that fix id is a loop, by putting a "black hole" tag on it when it starts evaluating
08:35:11 <Patashu> I assume it can also detect other things
08:35:31 <oerjan> but i think that's incompatible with the multiple core setting or something
08:35:50 <oerjan> (i.e. works badly with parallelism)
08:36:03 <CakeProphet> > takeWhile (/=6) <$> (forever $ randomRIO (1,6))
08:36:22 <CakeProphet> > unsafePerformIO $ takeWhile (/=6) <$> (forever $ randomRIO (1,6))
08:36:24 <oerjan> CakeProphet: that won't halt in any case
08:37:11 <oerjan> for IO, the part to the left of <$> won't be applied until the part to the right finishes
08:37:51 -!- pingveno has quit (Ping timeout: 244 seconds).
08:38:00 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> m b
08:38:51 <oerjan> Patashu: ghc can detect many things, it has a strictness analyzer to find out if there are any arguments it can be sure whether will be used or not
08:39:07 <CakeProphet> > (takeWhile (/=6) <$> (repeatM $ randomRIO (1,6))) >>= print
08:39:53 <oerjan> CakeProphet: sequence . repeat, but it won't work for IO
08:39:55 -!- pingveno has joined.
08:40:29 <CakeProphet> oerjan: would liftM be any better or is it effectively the same thing.
08:41:05 -!- Vorpal has joined.
08:41:55 <oerjan> what you need if you _really_ want to do that is to recurse with unsafeInterleaveIO
08:42:24 <oerjan> however, Random has a pure interface, in case you didn't know
08:42:50 <oerjan> > takeWhile (/=6) . randoms $ makeStdGen 42
08:42:59 <oerjan> > takeWhile (/=6) . randoms $ mkStdGen 42
08:43:01 <lambdabot> [-3907187990116499535,-2519438828217931933,-8264534369199619667,86887135830...
08:43:17 <oerjan> > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 42
08:43:32 <oerjan> well didn't that work splendidly :P
08:43:46 <oerjan> > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 666
08:43:49 <CakeProphet> you can tell because you'll get the same result every time.
08:44:04 <oerjan> > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 4
08:44:06 <Patashu> > randomRs (1,6) $ mkStdGen 666
08:44:07 <lambdabot> [6,1,6,3,6,2,1,5,6,3,3,1,2,6,5,2,5,4,3,5,5,3,5,3,5,4,3,6,1,2,2,3,3,2,5,4,2,...
08:44:28 <Patashu> > randomRs (1,6) $ mkStdGen 4
08:44:29 <lambdabot> [6,3,3,2,4,2,6,1,2,6,4,5,1,5,4,6,2,6,1,5,6,1,3,1,5,4,6,2,6,2,6,1,6,6,5,1,6,...
08:44:42 <oerjan> > randomRs (1,6) $ mkStdGen 5
08:44:43 <lambdabot> [6,2,2,1,3,2,5,1,5,4,2,2,1,2,6,4,2,4,2,3,2,4,5,4,2,1,5,1,6,4,3,2,4,5,5,3,3,...
08:45:05 <Patashu> > randomRs (1,6) $ mkStdGen 987
08:45:06 <lambdabot> [6,2,6,6,5,5,2,1,4,4,3,2,4,5,4,6,5,6,6,6,5,6,4,4,4,5,3,2,2,5,3,6,5,2,1,4,3,...
08:45:09 <Patashu> > randomRs (1,6) $ mkStdGen 986
08:45:10 <lambdabot> [6,3,2,1,5,5,2,1,1,6,5,5,3,2,2,2,5,1,5,2,3,3,2,1,1,1,4,3,2,3,6,6,2,3,6,2,5,...
08:45:17 <Patashu> > randomRs (1,6) $ mkStdGen 985
08:45:18 <lambdabot> [6,3,3,3,5,5,3,2,4,2,1,2,3,5,6,4,5,2,4,4,1,1,6,4,4,3,4,4,2,1,3,5,5,3,6,6,2,...
08:45:18 <oerjan> > (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:45:20 <lambdabot> [6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,...
08:45:24 <Patashu> they all start pretty much the same way
08:45:45 <CakeProphet> dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:45:49 <CakeProphet> > dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:45:50 <lambdabot> [5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,...
08:46:41 <oerjan> i think it may only use the high bits for the first value
08:46:47 <lambdabot> forall a g. (Random a, RandomGen g) => (a, a) -> g -> [a]
08:46:51 <CakeProphet> randomRs takes a range and a stdGen thingy and makes random values. stdgen is basically the seed value
08:46:54 <oerjan> > (head . randomRs (1,6) . mkStdGen) <$> iterate (*2) 1
08:47:09 <Patashu> http://learnyouahaskell.com/input-and-output#randomness
08:47:14 <oerjan> > (head . randomRs (1,6) . mkStdGen) <$> take 10 (iterate (*2) 1)
08:47:27 <oerjan> > (head . randomRs (1,6) . mkStdGen) <$> take 10 (iterate (*3) 1)
08:47:39 <oerjan> > (head . randomRs (1,6) . mkStdGen) <$> take 20 (iterate (*3) 1)
08:47:40 <lambdabot> [6,6,6,6,6,6,6,6,6,6,5,3,3,1,1,3,2,6,6,4]
08:47:49 <CakeProphet> > length $ takeWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:47:52 <Patashu> > randomR (1,6) (mkStdGen 359353)
08:47:56 <Patashu> > randomR (1,6) (mkStdGen 35935335)
08:48:11 <CakeProphet> > length $ takeWhile (==5) $ takeWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:48:27 <CakeProphet> > length $ takeWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:48:40 <CakeProphet> and that's how many generators starting with 5 there are after 6
08:48:57 <CakeProphet> > length $ takeWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:49:14 -!- guy_ has joined.
08:49:18 <CakeProphet> I guess it's just how the generator works from the seed number.
08:49:21 <Patashu> > randomR (1,6) (getStdGen)
08:49:22 <lambdabot> No instance for (System.Random.RandomGen
08:50:01 <lambdabot> forall (f :: * -> *). (Applicative f) => f (IO StdGen)
08:50:32 <CakeProphet> > length $ takeWhile (==3) $ dropWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:51:19 -!- guy_ has quit (Changing host).
08:51:19 -!- guy_ has joined.
08:51:24 <oerjan> Patashu: you cannot use getStdGen in lambdabot, it doesn't allow IO actions
08:51:48 <CakeProphet> you might be able to use !haskell for that hough
08:52:14 <CakeProphet> > length $ takeWhile (==2) $ dropWhile (==3) $ dropWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:52:30 <CakeProphet> oerjan: do all of these $'s hurt your mathematician eyes?
08:53:42 <CakeProphet> > length takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:53:43 <lambdabot> Couldn't match expected type `[a]'
08:53:44 <lambdabot> against inferred type `(a1 -> GH...
08:53:49 <CakeProphet> > length . takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:53:50 <lambdabot> arising from the literal `1' at <inter...
08:54:18 <CakeProphet> > length . takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:54:32 <CakeProphet> > dropWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..]
08:54:34 <lambdabot> [6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,...
08:55:44 <oerjan> CakeProphet: one usually needs to keep one $ :D
08:56:27 <CakeProphet> > dropWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . dropWhile (==7) $ (head . randomRs (1,7) . mkStdGen) <$> [1..]
08:56:28 <lambdabot> [5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,...
08:56:47 <CakeProphet> > dropWhile (==7) $ (head . randomRs (1,7) . mkStdGen) <$> [1..]
08:56:49 <lambdabot> [3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,...
08:56:51 -!- MigoMipo has joined.
08:58:02 <lambdabot> [262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,1...
08:58:23 <lambdabot> http://darcs.haskell.org/packages/base/System/Random.hs
08:58:44 <CakeProphet> > (head . randomRs (1,2) . mkStdGen) <$> [1..]
08:58:45 <lambdabot> [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,...
08:58:56 <CakeProphet> > (head . randomRs (1,4) . mkStdGen) <$> [1..]
08:58:57 <lambdabot> [2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,...
08:58:58 <oerjan> now that's an outdated command :(
08:58:59 <Patashu> not the best rng I've ever seen
08:59:18 <CakeProphet> > (head . randomRs (1,8) . mkStdGen) <$> [1..]
08:59:19 <lambdabot> [2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,...
09:00:28 <CakeProphet> > take 53669 $ (head . randomRs (1,8) . mkStdGen) <$> [1..]
09:00:29 <lambdabot> [2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,...
09:00:40 <CakeProphet> > drop 53669 $ (head . randomRs (1,8) . mkStdGen) <$> [1..]
09:00:42 <lambdabot> [5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,...
09:01:19 <oerjan> wtf doesn't http://hackage.haskell.org/package/base list System.Random
09:01:19 <CakeProphet> > drop (53668/2) $ (head . randomRs (1,8) . mkStdGen) <$> [1..]
09:01:20 <lambdabot> No instance for (GHC.Real.Fractional GHC.Types.Int)
09:01:35 <Vorpal> CakeProphet, that is one hell of a short period for repetition on that prng!
09:01:35 <CakeProphet> > drop (53669`div`2) $ (head . randomRs (1,8) . mkStdGen) <$> [1..]
09:01:37 <lambdabot> [6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,...
09:01:55 <Patashu> it'd be better to use a hash
09:01:55 <CakeProphet> > drop (53669-4) $ (head . randomRs (1,8) . mkStdGen) <$> [1..]
09:01:57 <lambdabot> [8,6,3,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,...
09:02:25 <Vorpal> CakeProphet, that is rather short
09:02:46 <oerjan> Vorpal: it's not the repetition of the prng for _one_ seed, but it's beginning value across several
09:03:02 <Vorpal> oerjan, uh... slow startup time?
09:03:47 <CakeProphet> Vorpal: we are taking the first value produced for each seed [1,inf]
09:04:16 <Vorpal> CakeProphet, well... that is strange still. Always giving you similar values
09:04:44 <CakeProphet> > drop (53669-4) $ (head . tail . randomRs (1,8) . mkStdGen) <$> [1..]
09:04:45 <lambdabot> [1,3,6,7,8,4,5,6,8,3,4,5,7,2,3,4,6,1,2,3,5,8,1,2,4,7,8,1,3,6,7,8,2,5,6,7,1,...
09:04:53 <Vorpal> CakeProphet, what is the period of the prng though?
09:05:12 <CakeProphet> so yeah it's not so repetitive on the second value.
09:05:15 <CakeProphet> > drop (53669-4) $ (head . tail . randomRs (1,6) . mkStdGen) <$> [1..]
09:05:17 <lambdabot> [1,1,6,5,4,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,...
09:05:34 <oerjan> http://hackage.haskell.org/packages/archive/random/latest/doc/html/src/System-Random.html#randomRs
09:05:43 <Vorpal> CakeProphet, I presume slow startup time
09:06:04 <CakeProphet> before it had a period of 4, now it's.... 8
09:06:15 <CakeProphet> > drop (53669-4) $ (head . tail . tail . randomRs (1,6) . mkStdGen) <$> [1..]
09:06:17 <lambdabot> [3,2,6,5,3,1,6,4,2,1,5,4,2,6,5,3,1,6,4,2,1,5,4,2,6,5,3,1,6,4,3,1,5,4,2,6,5,...
09:07:01 <Vorpal> CakeProphet, wait what. Period of 8? Come on... something like 2^31-1 is the least I would expect for period from a decent PRNG
09:07:19 <CakeProphet> period for this pattern that we've noticed in the nth value from a given seed.
09:07:45 <lambdabot> [6,4,2,5,3,2,1,6,1,4,4,4,1,3,3,2,6,2,4,1,3,1,1,5,5,5,1,3,6,1,5,6,1,3,5,4,1,...
09:07:46 <Vorpal> still this is really *really* bad
09:09:06 <oerjan> Vorpal: it's not a problem if you get the seed from the system clock or something
09:09:56 <CakeProphet> but... I guess that's not a problem either.
09:10:23 <Vorpal> oerjan, well... I would say it still is a problem then that this PRNGs has such a large setup time
09:10:26 <CakeProphet> because the functions that are computing pseudo-random numbers are still pure.
09:10:35 <oerjan> | otherwise = case (f n 1 rng) of (v, rng') -> (fromInteger (l + v `mod` k), rng')
09:10:42 <Vorpal> one way to combat this would be to step it forward a few steps in mkStdGen
09:11:21 <oerjan> i really don't like that mod there, isn't that a flawed way of getting a ranged value from an rng :(
09:11:39 <Vorpal> CakeProphet, possibly. Would have to investigate it to find out what a good value for the stepping would be.
09:11:46 <oerjan> (in randomIvalInteger)
09:12:21 <Vorpal> oerjan, what is the range of the integers before the mod?
09:14:22 <oerjan> > range (mkStdGen undefined)
09:14:23 <lambdabot> Couldn't match expected type `(a, a)'
09:14:28 <Vorpal> oerjan, I don't like the magic constants in stdNext and stdSplit
09:15:12 <oerjan> -- This implementation uses the Portable Combined Generator of L'Ecuyer
09:15:12 <oerjan> -- ["System.Random\#LEcuyer"] for 32-bit computers, transliterated by
09:15:12 <oerjan> -- Lennart Augustsson. It has a period of roughly 2.30584e18.
09:15:50 <Vorpal> not familiar with that prng
09:16:01 <oerjan> > genRange (mkStdGen undefined)
09:16:09 <CakeProphet> You are apeshit bananas at computers, and you know ALL THE CODES. All of them. You are the unchallenged authority on APICULTURE NETWORKING. And though all your friends recognize your unparalleled achievements as a TOTALLY SICK HACKER, you feel like you could be better. It's one of a number of things you SORT OF BEAT YOURSELF UP ABOUT for NO VERY GOOD REASON during sporadic and debilitating BIPOLAR MOOD SWINGS. You have a
09:16:29 <lambdabot> forall g. (RandomGen g) => g -> (Int, Int)
09:16:50 <oerjan> ok that's the same number as in randomIvalInteger, i think
09:17:11 <Vorpal> CakeProphet, is this homestuck or something?
09:17:33 <oerjan> that means ghc's randomR _only_ works for random number generators with the same range as StdGen!
09:17:52 <Vorpal> oerjan, if that is true, file a bug
09:18:20 <Vorpal> CakeProphet, haven't been keeping up lately
09:26:27 -!- augur has quit (Read error: Connection reset by peer).
09:26:48 -!- augur has joined.
09:33:05 -!- oerjan has quit (Quit: Panic attack).
09:57:50 <CakeProphet> $#array returns the last index of the array
09:58:05 <CakeProphet> as opposed to every other language ever, which returns the actual size.
09:58:37 <CakeProphet> I suppose in most cases you want the last index, but still. Not knowing that was the source of a bug.
09:59:09 <quintopia> isn't there another thing that you can use to get the size?
10:01:55 <CakeProphet> yeah I don't see a built-in function to get the length of a list
10:05:35 -!- wareya has quit (Read error: Connection reset by peer).
10:06:00 <CakeProphet> an array is basically a list stored in a variable. @array produces a list from the "array", which is the variable or whatever.
10:06:11 <CakeProphet> lists are what Perl then operates on when it does stuff.
10:06:36 -!- wareya has joined.
10:08:02 <CakeProphet> (don't ask me why I decided to explain all of that. You might have even knew beforehand)
10:09:21 <Vorpal> <CakeProphet> an array is basically a list stored in a variable. @array produces a list from the "array", which is the variable or whatever.
10:09:26 <Vorpal> then shouldn't something like...
10:09:53 <Vorpal> CakeProphet, I meant for getting the length
10:10:03 <Vorpal> CakeProphet, as opposed to last index
10:10:36 <Vorpal> CakeProphet, what about $#(@array) then?
10:10:55 <CakeProphet> $#array is exactly what you want. if I want the size I just add one
10:11:04 <CakeProphet> I was just noting that it's inconsistent with most languages I've seen.
10:11:07 <Vorpal> CakeProphet, what if it is a sparse array?
10:11:23 <Vorpal> well okay then that works
10:12:07 <CakeProphet> there's likely a CPAN module for a sparse array, which would use some kind of OO interface to get size and last index
10:12:18 <CakeProphet> and have an overload on the subscript [] operation
10:12:48 <Vorpal> CakeProphet, why exactly are you learning perl?
10:13:26 <Vorpal> CakeProphet, can it be anything except morbid curiosity? :P
10:13:58 <Vorpal> well I sadly don't have time to wait for your answer, have to make food now unless I want to wait for about 5 hours
10:13:58 <CakeProphet> I feel it will be useful later in the event that I become a sysadmin or something along those lines. Also, I decided to learn it simply for the knowledge, because I am trying to become experienced with as many languages possible, but now I've found that Perl is actually very good at some of the small programming tasks I end up doing often.
10:14:48 <CakeProphet> better than Python, which is what I was using towards that end previously.
10:18:12 -!- zzo38 has joined.
10:37:13 -!- zzo38 has quit (Read error: Connection reset by peer).
10:38:17 -!- zzo38 has joined.
10:38:49 -!- BeholdMyGlory has joined.
10:40:53 <Vorpal> <zzo38> " !!!" <-- can you please expand on this?
10:41:40 <Vorpal> oh come on that is easy, just add more spaces or exclamation marks!
10:41:57 <zzo38> You can do that yourself if you want to.
10:43:31 <Lymia> !python import __builtin__;__builtin__.len=lambda x:-1:print []
10:43:31 <EgoBot> File "<stdin>", line 1
10:43:39 <Lymia> !python import __builtin__;__builtin__.len=lambda x:-1;print []
10:43:45 <zzo38> I keep getting a request for /wiki/index.php?title=User:NO_Body&action=edit on my HTTP server occasionally. I never had a file called that on my server (I do know what server does contain that file).
10:43:46 <Lymia> !python import __builtin__;__builtin__.len=lambda x:-1;print [1,2,3,4,5,6]
10:43:51 <Lymia> !python import __builtin__;__builtin__.len=lambda x:100;print [1,2,3,4,5,6]
10:43:59 <Lymia> !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]_;print [1,2,3,4,5,6]
10:44:00 <EgoBot> File "<stdin>", line 1
10:44:06 <Lymia> !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]);print [1,2,3,4,5,6]
10:44:11 <Lymia> !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]);print repr([1,2,3,4,5,6])
10:44:13 <CakeProphet> ...there is absolutely no reason to import __builtin__
10:44:32 <Lymia> !python import __builtin__;__builtin__.len=lambda x:100;print len([1,2,3,4,5,6]);print repr([1,2,3,4,5,6])
10:44:42 <Vorpal> Lymia, why do you import __builtin__.len?
10:44:47 <Vorpal> isn't that the same as the normal len
10:45:08 <Vorpal> CakeProphet, what is the difference then?
10:45:13 <zzo38> What is *this* request for: "POST http://203.55.174.173:6667/ HTTP/1.0"
10:45:15 <CakeProphet> re-defining len will just make a local copy
10:45:25 <CakeProphet> if you want to change len for everything everywhere... then you would resort to that hackish nonsense.
10:45:33 <Vorpal> CakeProphet, why on earth not just override __len__ in your class?
10:45:42 <CakeProphet> Vorpal: because that's not hackish enough.
10:46:17 <Lymia> No idea why this doesn't work as I expect.
10:46:27 <Vorpal> zzo38, someone trying to connect to irc by assuming your site is a proxy of some sort maybe?
10:46:30 <CakeProphet> Lymia: how is it not working as you expect?
10:47:06 <zzo38> Maybe, but it is a POST request. I also got one which is the same but with 127.0.0.1 instead of 203.55.174.173
10:47:57 <zzo38> I also got some proxy request on port 7181 to some other computer using GET
10:48:03 <Vorpal> 173.174.55.203.in-addr.arpa domain name pointer alicorn.furnet.info.
10:48:03 <Vorpal> 173.174.55.203.in-addr.arpa domain name pointer alicorn.furnet.org.
10:48:13 <Vorpal> sounds like an irc network to me
10:48:47 <CakeProphet> Lymia: repr() and len() have nothing to do with each other. They're both __len__ and __repr__ on the list class, and likely use C internals to calculate their values. Thus changing __builtin__.len will not have any effect on repr for lists, because len will never be called.
10:49:19 <zzo38> Yes it does sound like an IRC network. But the request still doesn't make sense?
10:49:48 <CakeProphet> list.__repr__ probably uses list.__iter__, or the C-equivalent API for iterating on lists.
10:50:43 <zzo38> I also got "CONNECT 127.0.0.1:6667 HTTP/1.0"
10:51:16 <Lymia> !py str.__len__=lambda self:-1;print len("a")
10:51:29 <Lymia> !addinterp py python
10:51:29 <EgoBot> Interpreter py installed.
10:51:30 <Lymia> !py str.__len__=lambda self:-1;print len("a")
10:51:52 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
10:52:20 <Lymia> !python print "ahem"
10:52:31 <Lymia> !python print version
10:52:32 <EgoBot> Traceback (most recent call last):
10:52:41 <EgoBot> Interpreter py deleted.
10:52:49 <zzo38> The same thing with the User:NO_Body request I get more than once. But that one is not even a proxy request, it is a request for the file on my server, which I do not even have (I know which server it is on, or at least was many years ago).
10:53:17 <CakeProphet> !python str.__len__=lambda self: -1; print len("A")
10:53:18 <EgoBot> Traceback (most recent call last):
10:53:37 <zzo38> I seem to get requests for "proxyheader.php" on different servers
10:54:06 <CakeProphet> <EgoBot> TypeError: can't set attributes of built-in/extension type 'str'
10:54:19 <Sgeo> http://answers.yahoo.com/question/index?qid=20090611071837AAGVVCX someone actually felt the need to ask in Yahoo! Answers
10:54:33 <Sgeo> I mean, I Googled it, but only to use the calculator because I'm lazy
10:55:24 <Sgeo> Lazyness something something virtue
10:56:04 <zzo38> I also get request for /wiki/index.php?title=Special:Userlogin&returnto=Image:NB_Art_REF.png (on the same server as the other file)
10:56:22 <CakeProphet> ghci if I'm trying to do something complicated involving sequences.
10:56:51 <Lymia> Bask in Haskell's glory
10:57:13 <Sgeo> [S] All: Behold Glory of Haskell
10:57:29 <lambdabot> Ambiguous type variable `a' in the constraints:
10:57:33 <zzo38> I already told MFGG that I do not have their wiki on my server!!
10:57:38 <lambdabot> Couldn't match expected type `t1 -> t'
10:58:08 <lambdabot> Ambiguous type variable `a' in the constraints:
10:58:11 <lambdabot> Ambiguous type variable `a' in the constraints:
10:58:20 <lambdabot> Ambiguous type variable `a' in the constraints:
10:58:25 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
10:58:31 <lambdabot> lexical error in string/character literal at chara...
10:58:38 <lambdabot> Not in scope: data constructor `Show'
10:58:43 <lambdabot> lexical error in string/character literal at chara...
10:59:17 <lambdabot> No instance for (GHC.Enum.Enum [GHC.Types.Char])
11:00:09 <zzo38> I get spambots filling in a search page.
11:00:18 <Patashu> > repeat 13 $ map succ "A"
11:00:19 <lambdabot> Couldn't match expected type `a -> b' against inferred type `[t]'
11:00:28 <lambdabot> [13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13...
11:00:35 <Patashu> what's the one that only does it 13 times
11:00:44 <Patashu> > replicate 13 $ map succ "A"
11:00:44 <lambdabot> ["B","B","B","B","B","B","B","B","B","B","B","B","B"]
11:00:51 <zzo38> I get requests consisting of (apparently) completely random bytes, not even with a proper HTTP request method.
11:01:16 <Patashu> take 13 . iterate . map succ "A"
11:01:20 <Patashu> > take 13 . iterate . map succ "A"
11:01:21 <lambdabot> Couldn't match expected type `[a]'
11:01:22 <lambdabot> against inferred type `a1 -> [a1]'
11:01:28 <CakeProphet> ... use $ instead of dot between iterate and map
11:01:35 <Patashu> > take 13 . iterate $ map succ "A"
11:01:35 <lambdabot> Couldn't match expected type `[a]'
11:01:35 <lambdabot> against inferred type `a1 -> [a1]'
11:01:44 <Patashu> > take 13 $ iterate $ map succ "A"
11:01:45 <lambdabot> Couldn't match expected type `a -> a'
11:02:01 <lambdabot> Couldn't match expected type `[a]'
11:02:01 <lambdabot> against inferred type `GHC.Types...
11:02:07 <lambdabot> Couldn't match expected type `[a]'
11:02:08 <lambdabot> against inferred type `a1 -> [a1]'
11:02:34 <lambdabot> "abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\129\130\131\132\133\134\135\136\137...
11:02:46 <lambdabot> Couldn't match expected type `[a]'
11:02:46 <lambdabot> against inferred type `a1 -> [a1]'
11:02:46 <lambdabot> Probable cause: `iterate' is applied to too few arguments
11:02:51 <Patashu> > (iterate succ 'a') !! 13
11:03:12 <Patashu> > (13 !!) $ iterate succ 'a'
11:03:12 <lambdabot> Couldn't match expected type `GHC.Types.Int'
11:03:52 <CakeProphet> Patashu: if you want only the 13th one, sure.
11:03:55 <Patashu> > tail . take 13 . iterate succ $ 'a'
11:04:02 <Patashu> > last . take 13 . iterate succ $ 'a'
11:04:16 <Patashu> > map . last . take 13 . iterate succ $ "aeiou"
11:04:17 <lambdabot> Couldn't match expected type `a -> b'
11:04:34 <Patashu> > map $ last . take 13 . iterate succ $ "aeiou"
11:04:35 <lambdabot> Couldn't match expected type `a -> b'
11:04:36 <CakeProphet> Patashu: I don't know where you get this idea you can tact on an arbitrary function and expect something to happen....
11:04:42 <Patashu> > map (last . take 13 . iterate succ) $ "aeiou"
11:05:20 <Patashu> > map last . take 13 . iterate . succ $ "aeiou"
11:05:21 <lambdabot> Couldn't match expected type `[[a]]'
11:06:06 <Patashu> > map (!!13 . iterate succ) $ "I'm laughing for real right now guys"
11:06:06 <lambdabot> Couldn't match expected type `GHC.Types.Int'
11:06:08 <lambdabot> forall a b. (a -> b) -> [a] -> [b]
11:06:14 <Patashu> > map ((!!13) . iterate succ) $ "I'm laughing for real right now guys"
11:06:15 <lambdabot> "V4z-yn\130tuv{t-s|\DEL-\DELrny-\DELvtu\129-{|\132-t\130\134\128"
11:07:44 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
11:07:49 <zzo38> Why do I get so many CONNECT 127.0.0.1:6667 requests? They seem to be once each day, always from the same client requesting it. Each time it also comes with a POST request to the same address.
11:08:45 <zzo38> Actually at irregular intervals.
11:10:57 <CakeProphet> > map ((!!13).(\c -> iterate (if c > 'm' || c > 'M' then pred else succ) c)) "Hello World"
11:12:36 <CakeProphet> > map ((!!13).(\c -> iterate (if toLower c > 'm' then pred else succ) c)) "Hello World"
11:13:25 <CakeProphet> Haskell's not really the best language for this application, without the use of some library I know nothing about.
11:15:39 <CakeProphet> !perl $_='Hello World'; tr/a-zA-Z/n-za-mN-ZA-M/; print
11:17:15 <CakeProphet> !perl $_='This is by far the most complex cypher in the world'; tr/a-zA-Z/z-aZ-A/; print
11:17:15 <EgoBot> Invalid range "z-a" in transliteration operator at /tmp/input.3064 line 1.
11:17:32 <Sgeo> Why does Perl being demonstratably useful for something make me sad?
11:18:44 <CakeProphet> Perl is demonstratably useful for several things. I honestly think most of you guys just look at the syntax and decide to hate it.
11:19:03 <Sgeo> Please don't generalize me as being representative of #esoteric
11:19:07 <CakeProphet> some. yes, that's more acceptable, and equally vague.
11:20:06 <CakeProphet> I know elliott probably has some reason for why he dislikes Perl that he'll probably explain when he's online next. And I know pikhq dislikes it from experience.
11:22:06 <CakeProphet> but I suspect a large part of it is the syntax.
11:22:44 <CakeProphet> the vast amounts of it, the "ugliness", and so on.
11:23:12 <Lymia> !tr ja-en This is by far the most complex cypher in the world
11:23:42 <CakeProphet> and then there's stuff like being difficult to debug. Which is true for most dynamically typed interpreted languages, but especially true for Perl, where almost every operation will spit out something (usually undef) in the event that it fails.
11:24:11 <Lymia> Instead of an exception?
11:24:31 <CakeProphet> which leads to poor error handling. Which is to say, there isn't really any of that. No exception handling mechanism. You just add an "or die 'error message'" to the end of a line that you want to halt the program if it fails.
11:25:15 <Lymia> !python raise Exception()
11:25:15 <EgoBot> Traceback (most recent call last):
11:25:16 <CakeProphet> basically you ignore errors in Perl. which is convenient for small scripts, but again, makes things difficult to debug.
11:25:26 <Lymia> !python raise Exception()
11:25:26 <EgoBot> Traceback (most recent call last):
11:25:30 <zzo38> Does Perl6 have possibility to use exceptions then?
11:25:43 <CakeProphet> uh, I honestly don't know much about Perl 6.
11:25:58 <CakeProphet> other than I probably won't like it as much.
11:26:20 <CakeProphet> but yes they're generally improving everything, so I wouldn't be surprised if they added proper exception handling.
11:26:53 <CakeProphet> (I know that sounds pretty inconsistent of me.. but whatever)
11:27:30 <CakeProphet> another problem is the OO semantics are complete crap.
11:27:48 <CakeProphet> but I don't really use Perl as an object-oriented language, so... don't care.
11:30:42 <CakeProphet> what I like about Perl is: a) massive online repository. Probably the largest for any language because it's been around forever. You can find a module to do just about anything and install it quickly (unless it has dependencies that are no longer maintaind or fail for whatever reason) b) massive amounts of syntax, which means that there are shorthands to do just about everything. This is very nice when you're trying to
11:31:25 <Sgeo> Can you make your own syntax adjustments?
11:31:31 <Sgeo> That is, define your own syntax for stuff?
11:31:36 <CakeProphet> and that is my massively sleep deprived rant on the benefits and drawbacks of Perl that I've discovered so far in my few months of learning it. I am now going to sleep. You can pester me about how wrong I am tomorrow. Good night (morning, really)
11:32:47 <Vorpal> CakeProphet, isn't CTAN older than CPAN?
11:33:19 <Vorpal> CakeProphet, also your line got cut off
11:33:24 <Vorpal> "This is very nice when you're trying to "
11:34:05 <CakeProphet> program something quickly. c) excellent string handling capabilities. This goes without saying.
11:34:12 <CakeProphet> http://www.perlmonks.org/?node_id=742468 <--see this
11:34:24 <Vorpal> CakeProphet, anyway I'm pretty sure CTAN is older than CPAN
11:34:32 <Vorpal> of course TeX is not general purpose
11:34:41 <CakeProphet> and: http://search.cpan.org/~pmqs/Filter-1.37/Call/Call.pm
11:34:59 <CakeProphet> Vorpal: oh, well yes. I didn't say it was /the oldest ever/.
11:35:49 <CakeProphet> Sgeo: so I'm not sure if it's built directly into the language, but this module lets you modify the source code at compile time.
11:35:53 <Vorpal> CakeProphet, anyway the command line tool for cpan is a pain
11:35:57 <CakeProphet> with all of the hackish regex you could ever want.
11:36:00 <zzo38> TeX is for typesetting stuff but it can be made to do a lot of things.
11:36:11 <Vorpal> CakeProphet, for a start it tends to conflict with distro package manager, and even when it doesn't, it works badly
11:36:51 <CakeProphet> I haven't that happen. But I have had it fail often due to broken dependencies. I think this just happens on a per-package basis though, when old modules stop being maintained or whatever.
11:37:06 <CakeProphet> and sometimes I'll be missing some kind of C library and it'll take me a while to figure out what it is.
11:37:30 <Vorpal> CakeProphet, doesn't perl have a FFI?
11:37:38 <Vorpal> oh you mean the module depends on a C library
11:37:51 <Vorpal> surely you get some error like "foo.h not found" or such then
11:38:05 <Vorpal> what is the error you get then
11:38:08 <CakeProphet> I have to go up to the linker option line that it spits out
11:38:19 <CakeProphet> and see which libraries I have and don't have.
11:38:27 <Vorpal> CakeProphet, okay so foo.a or foo.so or foo.la not found
11:38:47 <Vorpal> CakeProphet, shouldn't the config process check it anyway
11:39:04 <CakeProphet> but that's okay because Perl is for L33T H4XX0RS LOLOLOLO we can figure this stuff out.
11:39:09 <Vorpal> basically, unless it is libc or libm, configure should check it exists
11:39:14 <CakeProphet> uh.... maybe? I don't really know how cpan works, okay.
11:39:37 <Vorpal> CakeProphet, yes but why make it hard for the users
11:39:42 <Vorpal> even if they are programmers
11:40:56 <CakeProphet> ...that is a somewhat loaded question, so I will not answer it. :P
11:41:13 <Vorpal> CakeProphet, how do you mean it is loaded?
11:41:22 <CakeProphet> "Oh, well yes, it's good to make it hard for users because that provides them with a challenge!"
11:41:40 <Vorpal> interesting point of view, did you actually mean it?
11:41:50 <CakeProphet> uh, I don't know. That's probably a bad idea.
11:42:06 <CakeProphet> in any case I don't think they /try/ to accomplish that.
11:42:15 <Vorpal> CakeProphet, anyway, cpan is a pain to use.
11:42:26 <CakeProphet> yes when it doesn't work. which is often enough.
11:42:38 <Vorpal> CakeProphet, are you sure they aren't trying to create the IWBTG of package managers?
11:43:10 <CakeProphet> there is a /ridiculous amount/ of output when you install stuff
11:43:15 <CakeProphet> so, there /might/ be something useful in it
11:43:33 <Vorpal> CakeProphet, if it uses gnu ld to link I'm pretty sure you should get a easily visible linker warning
11:44:26 <CakeProphet> but I usually don't pipe the output into grep or anything on the first run, so I miss all of that pretty easily.
11:44:38 <Vorpal> $ ld -o test build/main.o -lnosuchlib
11:44:38 <Vorpal> ld: cannot find -lnosuchlib
11:44:52 <Vorpal> CakeProphet, wouldn't it error out on the first error?
11:45:32 <CakeProphet> this has been a month ago, and I have a terrible memory. So...
11:46:16 <CakeProphet> it wasn't a big deal I found out what was missing. But I don't remember an obvious "can't find this lib" thing.
11:46:21 <Vorpal> linker errors tend to be rather straight-forward. Unlike C++ or haskell errors. Heck even C errors are complex compared to linker ones usually.
11:46:34 <CakeProphet> the more frustrating problem is when other Perl modules fail to instal for whatever reason. A test fails or something.
11:46:44 <Vorpal> I only hit confusing linker errors when cross compiling basically.
11:47:50 <CakeProphet> but, occasionally problems aside, the sheer amount of modules on CPAN is quite nice.
11:48:28 <CakeProphet> but I agree the cpan program could be a little better.
11:50:14 <CakeProphet> !rot47 ii could pull 2o much triippy 2hiit out of my 2piinal creviice, iit would make your head 2piin liike dervii2h iin a fuckiing blender.
11:50:15 <EgoBot> :: 4@F=5 AF== a@ >F49 EC::AAJ a9::E @FE @7 >J aA::?2= 4C6G::46[ ::E H@F=5 >2<6 J@FC 9625 aA::? =::<6 56CG::a9 ::? 2 7F4<::?8 3=6?56C]
11:52:37 <CakeProphet> > fix (const 5) "I CAN DO WHATEVER I WANT"
11:52:47 <Vorpal> CakeProphet, weren't you going to sleep
11:52:55 <Vorpal> or was that a statement about the quality of the night?
11:53:17 <Vorpal> CakeProphet, how long does that sleep for?
11:53:40 -!- guy_ has quit (Ping timeout: 244 seconds).
11:53:40 <Vorpal> will time out soon then
11:53:49 <Vorpal> I forgot if it prints anything on timeout
12:24:27 -!- Vorpal has quit (Ping timeout: 246 seconds).
12:46:40 -!- Sgeo_ has joined.
12:47:07 -!- Sgeo__ has joined.
12:47:37 -!- Sgeo_ has quit (Client Quit).
12:47:45 -!- Sgeo__ has quit (Client Quit).
12:58:55 <zzo38> Can you make a C program in 4K that takes the longest time to compile?
12:59:30 <Patashu> That's an interesting contest
12:59:45 <Patashu> I don't know anything about what makes compiling faster/slower though. Maybe shitloads of templates?
13:01:36 <zzo38> Templates? That is C++? Maybe you can try one with C++ as well, then. And one with C.
13:01:42 <Sgeo> C doesn't have te... what zzo38said
13:03:01 <Patashu> Is there a specific compiler you have in mind?
13:03:40 <zzo38> gcc, although there might be other ideas
13:04:14 <Patashu> Is there a c compiler that figures out and replaces expensive constant divisions with 'magic number' operations?
13:04:16 <Patashu> Or whatever they're called
13:21:04 -!- Sgeo_ has joined.
13:22:01 -!- Sgeo has quit (Ping timeout: 244 seconds).
13:32:32 -!- foocraft has joined.
13:45:44 <Sgeo_> I am embarrassed by some of the atheists on /r/DebateAnAtheist and /r/DebateAChristian. Doesn't mean I won't hang out there, but still
13:54:02 -!- guy_ has joined.
13:54:09 -!- guy_ has quit (Changing host).
13:54:09 -!- guy_ has joined.
14:30:13 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
14:43:09 -!- foocraft has quit (Ping timeout: 240 seconds).
14:54:29 -!- Phantom_Hoover has joined.
14:54:50 <Phantom_Hoover> Well lambdabot I wonder if there are any messages today.
14:54:50 <lambdabot> Phantom_Hoover: You have 6 new messages. '/msg lambdabot @messages' to read them.
14:55:29 -!- foocraft has joined.
15:47:59 -!- Wamanuz has quit (Read error: Connection reset by peer).
15:48:20 -!- Wamanuz has joined.
15:57:27 -!- copumpkin has joined.
16:04:43 -!- Wamanuz has quit (Remote host closed the connection).
16:05:11 -!- Wamanuz has joined.
16:09:17 -!- aloril has quit (Ping timeout: 250 seconds).
16:17:36 -!- Vorpal has joined.
16:18:03 <Vorpal> [50265.669097] PM: Device 00:0a failed to restore: error -19 <-- huh?
16:18:19 <Vorpal> lrwxrwxrwx 1 root root 0 2011-06-13 18:17 /sys/devices/pnp0/00:0a/driver -> ../../../bus/pnp/drivers/tpm_tis
16:19:04 <pikhq> zzo38: #include "this.c" in this.c
16:20:34 <Vorpal> btw, I successfully completed the theory part of the exam for getting driving license!
16:21:26 -!- aloril has joined.
16:21:31 <pikhq> Vorpal: That would be much less noteworthy in the US.
16:21:59 <pikhq> "Yay, I can complete 10 questions multiple choice!"
16:22:43 <Vorpal> <pikhq> Vorpal: That would be much less noteworthy in the US. <-- I know.
16:22:52 <Vorpal> but. You have to get 60 out of 65 tricky questions right here. You have 45 minutes for it.
16:23:18 <Vorpal> oh and it is actually 70 questions but 5 of those are test ones for future exams
16:23:28 <Vorpal> you don't know which ones are test ones
16:23:36 <Phantom_Hoover> Sgeo_, yes, but then you had to overcome the insurmountable wall that was your idiot father.
16:24:07 <pikhq> Vorpal: I bet you're frightened by US roads now. ;)
16:24:35 <Sgeo_> I've heard of people cheating...
16:27:02 <pikhq> And I happen to know you can take the test arbitrary times.
16:28:01 -!- Vorpal has quit (Ping timeout: 250 seconds).
16:28:04 <pikhq> You could, in theory, brute force the driving exam.
16:28:05 -!- Vorpal_ has joined.
16:28:25 <Sgeo_> Vorpal_, were you hit by a US driver?
16:29:31 <Vorpal_> <Sgeo_> Vorpal_, were you hit by a US driver? <-- ?
16:29:38 -!- Vorpal_ has changed nick to Vorpal.
16:29:47 * Vorpal reads scrollback after "<Phantom_Hoover> Sgeo_, yes, but then you had to overcome the insurmountable wall that was your idiot father."
16:30:31 <Vorpal> pikhq, wrt US roads: YES
16:30:40 <Vorpal> "I've heard of people cheating..." <-- how?
16:30:55 <pikhq> I DON'T WANT TO KNOW HOW
16:31:10 <Vorpal> You could, in theory, brute force the driving exam. <-- surely it would change over time. I mean... I don't think they give the same set of questions to everyone
16:31:23 <pikhq> You'd like to think that wouldn't you.
16:31:47 <Sgeo_> How do people cheat on most multiple-choice exams where there are other people?
16:32:16 <pikhq> I dunno. I have never felt the urge to try.
16:32:37 <pikhq> Though, being me, I would probably be an expert on it in a few days.
16:33:37 <Vorpal> <Sgeo_> How do people cheat on most multiple-choice exams where there are other people? <-- well I did see in the corner of the eye that another guy had something completely different up on his monitor, that I never got
16:33:46 <Vorpal> so I'm 99% sure that they use different randomised sets of questions
16:34:00 <Sgeo_> Hmm, I wasn't thinking computerized
16:34:04 <Sgeo_> When I took it, it was on paper
16:40:23 <Vorpal> right, mine was computerised
16:43:03 <pikhq> So. I wanna have this be able to output tup, shell, or make... Problem with that plan is that generating dependencies for make is Hell.
16:43:09 <pikhq> Not just hell, but Hell.
16:43:20 <pikhq> That level of torture has earned the upper case.
16:43:48 -!- azaq23 has joined.
16:49:04 -!- foocraft_ has joined.
16:51:53 -!- foocraft has quit (Ping timeout: 240 seconds).
17:08:53 -!- monqy has joined.
17:22:51 -!- Kustas has joined.
17:24:29 -!- TOGoS has joined.
17:24:39 -!- TOGoS has left.
17:36:59 -!- Gregor has quit (Quit: Coyote finally caught me).
22:08:24 -!- esowiki has joined.
22:08:25 -!- glogbot has joined.
22:09:00 <Gregor> I want to know why I got a message to my phone when Codu went down (step one of the DMS), but glogbackup didn't join >_<
22:09:33 <Sgeo_> <slava> Sgeo_: continuations are dumb
22:09:58 <Gregor> Are you asking us to comment on the validity of that statement? :P
22:10:06 <elliott> no he just needs a place to cry
22:10:09 <pikhq> So, here's my no-op C99 "check" as a solver: solution c99 {solved c99 {set [uplevel namespace current]::cc "gcc -std=c99"}}
22:10:26 <elliott> it should check gcc actually works
22:10:59 <pikhq> elliott: Yeah, I was just giving that as an example of how to actually write a stupidly simple solution.
22:11:13 <elliott> Gregor: thats not a c99 compiler
22:11:18 <elliott> thats a c99 compiler that complains a lot
22:11:24 <elliott> see gcc does actually emit all the diagnostics c99 asks it to
22:11:27 <elliott> it just emits them to /dev/null
22:12:48 <pikhq> Also, I should add an "args" to that, since, uh, generic checks will probably want to see those. :P
22:16:23 -!- zzo38 has quit (Remote host closed the connection).
22:17:26 <elliott> its hilarious how rand claim copyright on A Million Random Digits with 100,000 Normal Deviates
22:21:23 <Gregor> http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477 <-- customers who viewed this item also viewed "Male Testicular Exam Model Anatomy"
22:21:52 <Gregor> "Turn your head and cough ..." (flips to a page and chooses a number) "four times."
22:22:46 * elliott notes that http://hcoop.net/~ntk/random/ is a copyright-free derivative
22:25:26 <elliott> "NOTHING WILL BE SHIPPED. PURELY MEANT TO BE BOUGHT AS HUMOROUS IN YOUR "ORDERS" PAGE." --amazon seller
22:26:38 <elliott> Gregor: It's the sole seller for the modern literary masterpiece Hgiyiyi (hgjhjh, hjhk). http://www.amazon.com/Hgiyiyi-hgjhjh-hjhk-jjjj/dp/0649875427/ref=cm_cr_pr_product_top
22:27:22 <olsner> einstein pondering the planck mass: http://i.imgur.com/4qkrT.jpg
22:27:31 <oerjan> Hgiyiyi slowly turned his head, as the beast crept towards him
22:28:09 <elliott> oerjan: ugh, you're reading the translation?
22:28:21 <elliott> I realise it was done by the author themselves, but it's just so more exquisite in the original yuajik:
22:28:38 <elliott> Akj hgiyiyi hgjska ojtofngkjdl klsf, asjkhglfda ksjahglsjkh dkjah ighaiygagya gayigii.
22:28:54 <elliott> olsner: this channel is pg thirteenXXNXJOIXkp
22:29:29 <oerjan> einstein was always pg13. except when cheating on his wife.
22:30:51 -!- CakeProphet has quit (Ping timeout: 246 seconds).
22:31:52 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:33:08 -!- Gregor has set topic: This channel rated M for strong language, sexual overtones and gore (Vidal). Parental discretion is advised. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:34:11 -!- elliott has set topic: this channel rated m ... for MURDER | logs: codu.org slash logs slash _ esoteric.
22:34:57 -!- Gregor has set topic: This channel rated for "You are Only Allowed to Use is Channel if you Have a Legitimate Keyboard" | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:37:33 -!- elliott_ has joined.
22:37:34 -!- elliott has quit (Read error: Connection reset by peer).
22:37:47 <olsner> þ! yay, my keyboard is legitimate!
22:39:17 <oerjan> þ! my cut-and-paste is legitimate!
22:40:01 <olsner> no, that's just an illegitimate cut-and-paste bastard of a þ
22:40:51 <olsner> you should know better than making þs out of wedlock
22:44:10 <elliott_> `addquote <olsner> you should know better than making þs out of wedlock
22:44:11 <HackEgo> 455) <olsner> you should know better than making þs out of wedlock
22:51:42 <HackEgo> 173) <nooga> i think of languages as tools, there is no holy grail of languages <olsner> even if there's no holy grail, that doesn't mean cups of crap is ok \ 220) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! \ 236) <tswett> elliott: just to bring you up to speed, you are
22:52:08 <HackEgo> 236) <tswett> elliott: just to bring you up to speed, you are now my baby nephew. <olsner> wtf, elliott is a nephew and his uncle is here? <nooga> what <tswett> Heck yes I'm elliott's uncle.
22:52:48 <HackEgo> 237) <Anti-X> i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women...
22:54:47 <HackEgo> 4) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 258) <Sgeo> Is there a name for something where I'm more attracted to someone if I know they've had a rough past? <variable> Sgeo, "Little Shop of Horrors" \ 314) <nddrylliog> back to legal tender, that expression really makes me daydream. Like,
22:55:00 <HackEgo> 314) <nddrylliog> back to legal tender, that expression really makes me daydream. Like, there'd be black-market tender. Out-of-town hug shops where people exchange tenderness you've NEVER SEEN BEFORE.
22:55:58 <olsner> but I think it's based on the wrong meaning of tender
22:56:17 <Sgeo_> Yeah, money is basically a legal means of bruising people
22:56:40 <HackEgo> 54) <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear.
22:56:49 <HackEgo> 413) <ZOMGMODULES> Vorpal: it's actually called Happy <ZOMGMODULES> Vorpal: Do not use it. Use Parsec. This is the wisdom of ZOMGMODULES.
22:57:09 <olsner> who was using the zomgmodules nick again?
22:57:37 <elliott_> http://catseye.tc/projects/apple-befunge/
22:57:47 <elliott_> (zomgmodules inspired me to check catseye)
22:57:47 <olsner> hmm, I've been slightly overusing the word "neat", I think
22:57:57 -!- Wamanuz has quit (Remote host closed the connection).
22:58:43 <oerjan> lambdabot severely lacks a @bullshit commend
22:58:46 <elliott_> quality humour from cats eye technologies
22:58:51 -!- Sgeo_ has changed nick to Sgeo.
22:59:11 <oerjan> > let 2+2 = 5 in 2+2 == 5
23:00:03 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
23:00:03 <lambdabot> Prelude floatRadix :: RealFloat a => a -> Integer
23:01:15 -!- Wamanuz has joined.
23:02:56 <oerjan> it may have just enough evaluation that code using just numerals works
23:04:13 <lambdabot> a * a * (a * a) * (a * a * (a * a)) * (a * a)
23:15:08 -!- Patashu has joined.
23:18:23 <olsner> "I come from a long line of people who were able to get laid at least once." :D
23:18:56 <Sgeo> What about sperm donation?
23:19:26 <olsner> that is not accounted for in the quote
23:19:35 <elliott_> imagine if your ancestors were like
23:32:05 -!- pikhq has quit (Ping timeout: 252 seconds).
23:32:08 -!- pikhq_ has joined.
23:40:05 -!- DocHerrings has joined.
23:41:06 <elliott_> finally our herrings are saved
23:41:21 <olsner> the doctor! he's arrived!
23:41:27 <DocHerrings> No more shall they fear the dangers of disease!
23:41:44 <elliott_> or wait, are you a group of herrings with a phd
23:41:59 <olsner> save our soles! (wait, do you do soles too? or only herrings?)
23:42:39 <DocHerrings> Herrings only. They are the most sickly fish.
23:44:12 <elliott_> herrings: god's least favourite fish
23:44:43 <elliott_> well, now you've experienced the highest-quality conversation this channel can sustain, it's all downhill from here
23:45:19 <olsner> the bottom of that hill is where you find the finest beasts
23:45:20 <elliott_> always nice when the newbies are optimistic
23:46:07 <olsner> "Hi, this is Freddie's dyslexia helpline. Please leave a massage."
00:02:16 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
00:06:41 -!- clog has quit (Ping timeout: 240 seconds).
00:10:13 -!- Gregor has set topic: This channel rated for "You are Only Allowed to Use is Channel if you Have a Legitimate Keyboard" | Join ##verybadattitude for more intellectual discussions | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:11:02 <elliott_> * Cannot join ##verybadattitude (You are banned).
00:11:12 <elliott_> is it just me or is everyone banned
00:11:20 <elliott_> thought i'd have to beat up Gregor there for a minute
00:11:37 <olsner> right, our attitude is not bad enough to qualify yet
00:11:46 <elliott_> http://codu.org/logs/_matrixofsolidity/ <-- good use of disk space
00:11:49 <Gregor> elliott_: It has the chanserv +b *!*@* mode, which is slightly distinct from just having the channel mode because in fact the channel will become joinable once a minute, but as soon as you join you'll be kickbanned :P
00:12:15 <Sgeo> joinable once a minute?
00:12:18 <elliott_> Gregor: So if you time it right and have discussions REALLY quickly...
00:12:19 -!- FireFly has quit (Quit: swatted to death).
00:12:44 <Gregor> Sgeo: Chanserv joins the channel to kickban you, then parts, but the channel only actually ceases existence (so loses its ban list) after about a minute.
00:13:26 <Sgeo> It's possible to leave ChanServ in there, isn't it?
00:13:32 <Sgeo> So it never ceases existence?
00:13:34 <elliott_> hey Gregor do javascript dudes still think writing programs in continuation-passing style manually is the key to WEB SCALE speed
00:13:47 <olsner> hmm, as soon as *anyone* enters *everyone* get banned?
00:14:38 <Gregor> olsner: AFAIK you can't make chanserv set more restrictive bans ... for everyone :)
00:16:22 <Gregor> What can I say, it has a very bad attitude *shrugs*
00:16:45 * Sgeo ruins it for everyone forever
00:17:04 <olsner> so basically everyone needs to keep away for >1minute then one person can be in there for like one second?
00:17:15 <Sgeo> Joking about the forever
00:17:29 <Sgeo> And getting in doesn't mean staying in ofc
00:17:39 <Gregor> olsner: AFAIK it'll reset whether people are trying to /join or not, so you don't need to keep away :P
00:18:34 <olsner> hmm, so if you time it *just* right, you could actually have several people in there?
00:19:02 <Gregor> olsner: Not sure, I don't see why not though.
00:19:12 <elliott_> lets set up bots to coordinate conversations in there
00:20:12 <olsner> hey, this is like the numbers irc! ships meeting in the ocean to exchange "warez"
00:23:44 <olsner> "backtrace them!" "huh, we're banned? how can they have banned us, they don't know which name we're connecting with!"
00:28:07 <oerjan> what a lousy palindrome
00:28:44 <olsner> it's so bad at being a palindrome it fails to be one
00:29:02 -!- CakeProphet has joined.
00:30:02 <olsner> oerjan: you're not a very good palindrome yourself though
00:32:17 <elliott_> you know what really sucks haskell's module system
00:33:58 <monqy> what really sucks haskell's module system
00:38:41 -!- foocraft_ has quit (Quit: Leaving).
00:44:56 <Sgeo> I think Factor's is worse
00:46:56 <monqy> c's module system is awful
00:49:39 -!- foocraft has joined.
01:01:55 <Sgeo> As far as I know, there's no room for finding vocabs outside the ... directories where Factor's expecting them. Actually, hmm, not sure about that. But there's no way to deal with two independently developed samely-named vocabs
01:02:14 <CakeProphet> the hiding directive and choosing between qualified and unqualified are pretty sophisticated as far as I can tell.
01:02:33 <elliott_> basically there's no way to parameterise a module on another module
01:03:59 <Sgeo> Pretty sure Factor's on the same boat there
01:04:28 <Sgeo> Unless parameterising modules doesnt madate being able to parameterise on stu.. I'm clueless
01:04:41 <Sgeo> An example of parameterising on a module please?
01:05:03 <elliott_> i lost my motivation to explain right after complaining
01:05:21 <elliott_> ill find the augustss post about it
01:06:07 <elliott_> http://augustss.blogspot.com/2008/12/somewhat-failed-adventure-in-haskell.html
01:06:07 <elliott_> http://augustss.blogspot.com/2008/12/abstraction-continues-i-got-several.html
01:06:09 <elliott_> http://augustss.blogspot.com/2008/12/abstracting-on-suggested-solutions-i.html
01:06:10 <elliott_> http://augustss.blogspot.com/2008/12/ocaml-code-again-im-posting-slight.html
01:07:17 <CakeProphet> is that kind of like Perl's module system...? I doubt it.
01:07:24 <elliott_> CakeProphet: i linked the blog posts for a reason
01:08:01 <elliott_> do you want me to paste in the blog posts
01:10:53 <CakeProphet> uh, I'm not sure if this first one really has a point.
01:11:47 <elliott_> its showing something thats not possible in haskell
01:11:50 <elliott_> the later articles show how you can do it in ML
01:11:54 <elliott_> and how its still not possible to do cleanly in haskell
01:12:47 -!- foocraft has quit (Quit: Leaving).
01:14:35 <CakeProphet> elliott_: http://www.stefanwehr.de/publications/WehrChakravarty2008.html
01:15:05 <elliott_> typeclasses arent a viable replacement for the module system
01:15:08 <elliott_> because theyre a pain to use in this manner
01:15:22 <elliott_> anyway i linked the blog posts because im not actually interested in discussing this right now so
01:15:44 <CakeProphet> Good, then you agree that Perl has the best module system.
01:16:06 <monqy> what's so good about perl's
01:16:56 <CakeProphet> it has some interesting export features. Modules can export different sets of functions based on 'tags' that you pass it.
01:17:30 <monqy> actually that sounds kind of gross
01:17:31 <CakeProphet> but otherwise there's nothing special about it. It's a limited subset of other languages module systems.
01:21:00 <CakeProphet> use Getopt::Long qw(:config no_ignore_case bundling gnu_compat permute)
01:21:31 <CakeProphet> the big list there is a bunch of config options you can pass that module.
01:22:17 <oerjan> from wikipedia's Did You Know "... that Stephen Fry was an engineer and aspiring jazz pianist before he captained South Africa's rugby team against the British Lions?"
01:23:26 <oerjan> CakeProphet: you'd think that could easily be expanded to something resembling ML functors
01:24:16 <CakeProphet> but since you can have arbitrary code execute as a result of those options, I wouldn't be surprised if it were possible, if a bit tedious.
01:24:37 <oerjan> CakeProphet: well basically you _do_ pass parameters to modules, and get a module instance back
01:24:53 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:24:54 <CakeProphet> except Perl has no type system really so, and ML functors seemed concerned with typing of things.
01:24:59 <oerjan> CakeProphet: well you'd want to be able to use more than just strings as parameters
01:25:23 <oerjan> CakeProphet: well yeah but you could get the non-typing part of it
01:26:07 <oerjan> i guess python's module system allows that pretty easily, since modules are more or less just dictionaries
01:26:36 <oerjan> so you could create one on the fly
01:26:38 <CakeProphet> yes, they're a special kind of class or whatever.
01:26:47 <CakeProphet> and yes, you can dynamically make a module that doesn't exist anywhere on file.
01:28:19 <CakeProphet> but you couldn't pass parameters to immediately effect the runtime loading of a module
01:28:29 <CakeProphet> you would have to do something afterwards.
01:29:27 <oerjan> CakeProphet: well i'm not entirely sure about Standard ML, but in Ocaml you cannot pass parameters directly either, instead the functor is a member of the file module which can then apply to parameters
01:29:43 <CakeProphet> ah okay, yes you could do something like that.
01:30:02 <CakeProphet> it would be like.... calling a function in the module, more or less.
01:30:57 <oerjan> iirc Scala identifies modules and functors with classes as well
01:31:26 <CakeProphet> it's not exactly the same in Python, but I forgot in what ways that applies...
01:31:32 <CakeProphet> in Ruby however, they're exactly the same thing.
01:32:07 <oerjan> *with objects and classes, perhaps
01:32:36 <CakeProphet> yeah, essentially a module is an instance of type 'module'
01:33:27 <oerjan> hm yesterday wikipedia had, for the first time i've seen, a Featured List, but none today
01:33:42 <CakeProphet> as in, the featured article was a list article?
01:34:00 <oerjan> no, as in there was a specific added feature that was a list article
01:34:14 <oerjan> just above the picture spot
01:35:39 <CakeProphet> well there's this: http://en.wikipedia.org/wiki/Wikipedia:Featured_lists
01:35:56 <CakeProphet> there's also featured sounds. They must be some pretty impressive sounds.
01:36:32 <CakeProphet> a lot of the featured sounds appear to be classical music.
01:36:50 <CakeProphet> further supposing the fact that Wikipedia editors are snooty pricks. :)
01:40:11 <CakeProphet> once you get into the 1900s and up there's more political/historical speeches/recordings.
01:40:43 <CakeProphet> but nothing I would classify as a "truly epic sound"
01:41:01 <CakeProphet> like some kind of rainforest bird with multi-tonal squaks or something.
01:41:02 <elliott_> featured doesnt mean "awesome"
01:43:23 <elliott_> you realise that there are restrictions on featured stuff
01:43:27 <elliott_> like it cant be a fair use sample
01:45:02 <CakeProphet> I'm not really talking about how these sounds awesomely fit into the rules.
01:45:20 <CakeProphet> just that they're not good sounds. Well, okay, the classical music is good.
01:47:19 <monqy> the best sounds on wikipedia in our snooty prick opinions
01:48:15 <CakeProphet> "the best moments in history, recorded and on Wikipedia. Oh, and some classical music."
01:48:32 -!- Lymia has quit (Ping timeout: 276 seconds).
01:48:49 <monqy> let's pretend classical music is a best moment in history
01:52:13 <CakeProphet> yeah, see I was expecting to be blown away by the quality of these sounds. In much the same way that I expect such from articles in featured articles.
01:52:26 <CakeProphet> I have been mislead. So many previous minutes, expired.
02:01:06 -!- Lymia has joined.
02:02:08 -!- pikhq has joined.
02:02:20 -!- pikhq_ has quit (Ping timeout: 260 seconds).
02:05:56 -!- clog has joined.
02:19:28 -!- Arandur has joined.
02:21:19 -!- Arandur has left.
02:50:09 -!- CakeProphet has quit (Ping timeout: 255 seconds).
02:55:35 -!- oerjan has quit (Quit: leaving).
03:08:51 -!- oerjan has joined.
03:09:30 -!- Sgeo has quit (Ping timeout: 255 seconds).
03:11:05 <pikhq> I'm convinced that Manitou Springs (town of about 5,000, ~8 km², adjacent to Colorado Springs) has managed to suck all the culture out of Colorado Springs (city of ~400,000, ~482 km²).
03:12:14 <pikhq> That's... Disturbing.
03:14:38 <oerjan> you should know that manitou is all-powerful
03:18:39 <pikhq> Also: *dang* the US has a low average population density.
03:21:24 <pikhq> Yeah, and it's about 18 for my state.
03:21:51 <pikhq> And 0.46 in Alaska. :P
03:36:34 -!- Sgeo has joined.
03:37:39 -!- azaq23 has quit (Quit: Leaving.).
03:47:25 <elliott_> "i didnt think danes had mathematicians? i just figured danes walked around all day saying 'bjergen schergensensen' and nodding politely to oneanother"
03:51:16 <oklofok> lol that's just ignorant right
03:57:30 -!- pikhq_ has joined.
03:57:53 -!- pikhq has quit (Ping timeout: 276 seconds).
04:54:29 * pikhq_ contemplates build systems further
04:55:11 -!- Kustas has joined.
04:56:56 * pikhq_ wonders if EKOPath does awesome things for x264. Probably not, because the developers are already freakish, but hey.
04:58:48 <Gregor> Bear witness to my awesome new garbage collection idea!
04:58:52 <Gregor> I call it "chaos collection"
04:58:58 -!- Vorpal has joined.
04:59:07 <Gregor> Each page is designated for a particular /type/ (sorry, need static types for this)
04:59:15 <Gregor> You allocate by simply chopping up the page and handing them out.
04:59:27 <oerjan> bah, i've collected chaos for years
04:59:33 <Gregor> When you reach the maximum allotted amount of memory use, you switched to an LRU algorithm.
04:59:37 <elliott_> Gregor: Just parameterise it on N bytes rather than types
04:59:46 <elliott_> Gregor: Then Fythe can use it for objects less than one thousand bytes or so :P
04:59:47 <Gregor> elliott_: Wait for why it's types :P
04:59:55 <Vorpal> oh this sounds interesting *checks log for context*
05:00:09 <Gregor> The least recently used page is marked as free, and each element added to the freelist for that type.
05:00:38 <Gregor> They're not modified yet, just marked as free. Later allocations of the same type can reclaim the same space, and use them, creating aliases.
05:00:49 <Gregor> Type safety is preserved!
05:01:02 <elliott_> I'm not even going to try and understand what you're proposing.
05:01:05 <Gregor> (Note: Probably not advisable to use this for recursive types)
05:01:29 -!- Kustas has left.
05:01:30 <Gregor> elliott_: Don't trace reachability of existing pointers. Just mark the LRU page as free.
05:01:31 <Vorpal> Gregor, oooh this sounds cool
05:01:38 <elliott_> Gregor: BTW, you actually mean _constructor_-specific
05:01:43 <oerjan> i understand it perfectly. it's completely nuts.
05:01:50 <Gregor> elliott_: No, the thing is NOT the size.
05:01:54 <elliott_> `addquote <elliott_> I'm not even going to try and understand what you're proposing. <oerjan> i understand it perfectly. it's completely nuts.
05:01:54 <Gregor> elliott_: Type safety is crucial here.
05:01:55 <HackEgo> 456) <elliott_> I'm not even going to try and understand what you're proposing. <oerjan> i understand it perfectly. it's completely nuts.
05:02:08 <elliott_> data List a = Nil | Cons a (List a)
05:02:16 <elliott_> It'd need a nil pool and a cons pool
05:02:20 <elliott_> Erm, imagine nil has one element embedded in it
05:02:23 <elliott_> So it actually has objects >_>
05:02:42 <Vorpal> elliott_, wait what? Couldn't there be one globally shared Nil value?
05:02:50 <elliott_> <elliott_> Erm, imagine nil has one element embedded in it
05:02:50 <elliott_> <elliott_> So it actually has objects >_>
05:02:51 <Gregor> Null/nil/null/Nil/nool: Ruiner of types.
05:02:54 <elliott_> Amount I hate Vorpal: Thousands.
05:03:01 <elliott_> data Either a b = Left a | Right b
05:03:06 <Vorpal> elliott_, s/value/object/
05:03:15 <elliott_> I am just saying that you're equating types with constructors, which is only valid in C-like languages :P
05:03:47 <Gregor> elliott_: Yes, I am, because I'm talking about a fucking garbage collector, and a chaos-inspired one at that >_>
05:04:03 <Vorpal> elliott_, hm how does low level representation of something like "<elliott_> data Either a b = Left a | Right b" look like in ghc?
05:04:08 <elliott_> Gregor: Chaos as in the English word or? :P
05:04:23 <elliott_> One word representing which constructor, then one pointer after it, consecutively in memory.
05:05:07 <Vorpal> elliott_, and in case of something like Maybe the pointer is null for the Nothing case?
05:05:11 <oerjan> also, a tag on the pointers to Eithers iirc
05:05:38 <oerjan> no pointer at all i'd say
05:05:48 <Gregor> oerjan: So, like my GC then?
05:05:57 <Gregor> Chaos Collection: Best GC?
05:06:09 <oerjan> Gregor: for a certain value of "best"
05:06:23 <Vorpal> oerjan, so you mean for "Maybe Int" Nothing has a different size than Just 3?
05:06:39 <oerjan> Vorpal: at least conceptually
05:06:39 <elliott_> yes, constructors can have different sizes
05:07:01 <Vorpal> oerjan, yes conceptually, but what about in practise?
05:07:36 <oerjan> Vorpal: i think the first word or so also includes total length info for the gc
05:08:11 <oerjan> (or actually if there are unboxed fields it may need to tell where they are and what size, too)
05:08:29 <Vorpal> hm, so how many different constructors are possible then?
05:09:43 <Vorpal> Gregor, I think your GC is very interesting. Not sure how well it would actually work though.
05:10:21 <Vorpal> Gregor, if each pool is type-specfic it would I guess potentially offer a very fast GC, but with many types in a program you could run into issues.
05:10:31 <Gregor> Vorpal: What's more interesting is if you can argue about its effects on a particular program or class of programs.
05:10:46 <Vorpal> Gregor, I think I just did in some broad terms :P
05:11:02 <Gregor> Vorpal: I mean higher level. e.g. for some class the correctness of your final result reduces proportionally with the size of your heap.
05:12:03 <Vorpal> hm I just realised, nearly all C coding I have been doing lately has been for embedded systems.
05:12:24 <Vorpal> with lately I mean something like the last 6 months or so
05:14:11 <pikhq_> Well, that was helpful.
05:14:16 <pikhq_> "Floating point exception".
05:14:25 <oerjan> http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects
05:14:30 <Gregor> pikhq_: Stop dividing by zero.
05:14:33 <Gregor> pikhq_: It's not cool.
05:14:35 <Vorpal> pikhq_, if you can I would suggest a debugger at this point. It can mean a lot of things.
05:14:48 <Vorpal> Gregor, iirc you can get that for other things than div by zero
05:14:58 <pikhq_> Vorpal: Not GCC, though.
05:15:02 <Vorpal> pikhq_, which compiler then?
05:15:13 <pikhq_> Which has yet to have a source release.
05:15:14 <Gregor> pikhq_: Is this GGGGC?
05:15:16 <Vorpal> pikhq_, never heard of it
05:15:28 <pikhq_> Vorpal: In benchmarks, it has 2x performance.
05:15:29 <Gregor> Speaking of, I just finished downloading it!
05:15:36 <Vorpal> pikhq_, nice, open source?
05:15:53 <pikhq_> Vorpal: Until, oh, now, it cost $2000 per seat.
05:16:01 <Vorpal> this is *highly* interesting
05:16:34 <Gregor> Curiously, the clickthrough license already specifies GPL, although no source is included yet? >_>
05:16:34 <pikhq_> I like how the price was enough to clue you in. :P
05:16:38 <Vorpal> pikhq_, why is it going to be open source?
05:16:44 <Vorpal> pikhq_, no I googled at the same time :P
05:16:57 <Vorpal> pikhq_, though yeah I would have guessed it based on the price too.
05:17:08 <pikhq_> Gregor: The press release came out before they planned on having source up.
05:17:33 <pikhq_> If it's not out in a day or two, *then* you can get upset.
05:17:43 <oerjan> Vorpal: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects#Pointers-firstlayout
05:17:46 <Vorpal> pikhq_, what made them go open source, I don't get it. Are we going to see VxWorks as open source next!?
05:17:49 <elliott_> Their live chat guy told me that
05:18:05 <Gregor> GGGGC works with EKOPath
05:18:22 <pikhq_> Vorpal: No idea, but I'm not about to complain.
05:18:34 <elliott_> "So we now have GHC as the only major compiler which can cause *runtime* crashes depending on what characters are used in a string literal."
05:18:37 <Vorpal> pikhq_, targets linux?
05:18:50 <pikhq_> Vorpal: Yes. x86_64 only, though.
05:18:57 <Vorpal> ah, no problem for me there
05:19:05 <pikhq_> Vorpal: Also, *builds* Linux (with a small patch that I can't find yet).
05:19:17 <Vorpal> <elliott_> "So we now have GHC as the only major compiler which can cause *runtime* crashes depending on what characters are used in a string literal." <-- *blink*
05:19:17 <Gregor> No visible change in performance from GCC.
05:19:24 <elliott_> http://hackage.haskell.org/trac/ghc/ticket/5255
05:20:12 -!- copumpkin has joined.
05:21:00 <elliott_> "GHC bug: people can define Functor instances for things that aren't functors." --dolio
05:21:41 <Vorpal> well, I'm off. Practical driving exam. I hate mornings though. Oh well.
05:22:02 <elliott_> five am to ten am officially no longer exist
05:22:22 <pikhq_> But those are sleeping hours!
05:24:24 <pikhq_> So, got xz built with it...
05:24:25 -!- CakeProphet has joined.
05:24:35 -!- CakeProphet has quit (Changing host).
05:24:35 -!- CakeProphet has joined.
05:26:01 -!- Vorpal has quit (Ping timeout: 240 seconds).
05:27:00 -!- elliott_ has changed nick to dodifer.
05:28:03 <Gregor> I wonder how many people are named Dodifer.
05:35:51 <pikhq_> Welp, -ipa is a bad bad flag to use.
05:36:04 <pikhq_> It makes pathcc trigger a glibc bug.
05:36:13 <pikhq_> By God, this is a positive stress test of my system. :P
05:42:16 <pikhq_> Hmm. Well, xz is slower with it.
05:43:17 <pikhq_> Apparently, it takes *cache size* as one of the optimisation flags, and its defaults are for an Opteron, which has fairly beefy L2.
05:50:38 <pikhq_> Oh, and you have to *order* it to handle pointer alias more strictly.
05:51:45 <dodifer> http://en.wikipedia.org/wiki/Florence_Y%27all_Water_Tower
05:53:03 <pikhq_> Let me just be absurd and give it -LNO:alias=restrict
05:53:05 <Gregor> dodifer: We invent words that the English language was sorely lacking?
05:53:17 <pikhq_> Which makes it assume FORTRAN pointer semantics.
05:54:26 <Gregor> "The city paid $472 to the W.T. Marx Company[5] of nearby Cincinnati, Ohio to make the changes; whereas a complete repaint would have been nearly three times as much" lol
05:54:56 <pikhq_> Which does not help on xz at all.
05:55:06 <dodifer> gregor laughs at poor people, especially when those poor people are governments
05:55:21 <pikhq_> It's pretty consistently being a couple seconds slower on decompressing $large_file.
05:55:38 <dodifer> Fortran pointer semantics should never slow anything down :P
05:55:59 <pikhq_> dodifer: No, I mean that the compiler's output is consistently doing that no matter what I throw at it.
05:56:12 <pikhq_> Only thing that helped notably was telling it my cache size.
05:56:41 <dodifer> i have an important question
05:56:43 <dodifer> does anyone actually use fedora
05:57:24 <pikhq_> I get the feeling this is optimised for numerical-heavily workloads.
05:59:48 <dodifer> is kernel three still not out yet
06:00:19 <pikhq_> 3.0-rc3 just came out.
06:00:39 <pikhq_> By "just" I mean "a minute ago".
06:01:27 <pikhq_> It's not a -rc1, so it should be reasonably stable.
06:04:31 <pikhq_> Kay, so flac -8 on Alive 1997 takes 57 seconds with EKOPath...
06:05:24 <dodifer> your flac is a lot faster than mine
06:06:02 <pikhq_> And 62 with Debian's stock package.
06:06:24 <dodifer> this time with linux THREE
06:06:32 <dodifer> excuz me this is exctiging news
06:07:25 <pikhq_> Now to see if it handles -ipa.
06:08:26 <pikhq_> Nope, segfaults in the assembler.
06:09:24 <dodifer> hey pikhq_ im not sure you actually need tmpfs at all
06:09:29 <dodifer> if you have initramfs support
06:11:47 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
06:12:16 <dodifer> hmm, I wonder if BFS saves kernel size
06:17:28 <dodifer> Setup is 13132 bytes (padded to 13312 bytes).
06:17:53 <dodifer> dunno if it can actually boot though
06:48:57 <pikhq_> From my testing, I conclude that GCC and clang are actually *really* freaking good at optimisation outside of confusing circumstances.
06:49:20 <pikhq_> pathcc is better, but it's not blowing the others out of the water.
06:50:02 <pikhq_> If pathcc's automatic parallelisation and link-time optimisation *worked* I'd be saying something different, no doubt.
06:50:15 <pikhq_> But it doesn't, so I'm not.
06:55:28 <dodifer> gcc? good at optimisation?
06:55:55 <dodifer> well ok gcc's forte is more breaking programs
06:55:58 <dodifer> than being bad at optimisation
06:57:04 <pikhq_> dodifer: In my testing, it's either slightly better or slightly worse than pathcc.
06:57:27 <pikhq_> Admittedly, I was not able to get automatic parallelisation to work.
07:09:29 -!- oerjan has quit (Quit: leaving).
07:25:26 -!- dodifer has quit (Read error: Connection reset by peer).
07:45:49 -!- monqy has quit (Quit: hello).
08:02:33 -!- elliott has joined.
08:02:43 <elliott> Gregor what was that really sad video with the rabbit that fell down the well
08:08:10 -!- Vorpal has joined.
08:09:13 <Vorpal> you americans will be rather confused by this I bet. I failed the practical driving exam because I was to close to the right side of the road when I was about to turn left from a countryside road. That alone was what I failed on and it was enough to prevent me from passing.
08:10:02 <Vorpal> elliott, as if you could drive.
08:10:08 <elliott> Vorpal: i don't see how driving a car can be hard, its like a computer except it only has a few buttons and it doesn't crash
08:10:18 <pikhq_> Vorpal: Yeah, US drivers would absolutely *frighten* you.
08:10:26 <elliott> but like how do you even fail at driving
08:10:36 <elliott> "whoops i went left but i wanted to go right, i guess i am stupid"
08:10:42 <Vorpal> elliott, except unlike a computer you don
08:10:55 <pikhq_> elliott: How do you think the US gets away with a driving test that anyone who can compute 1+1 can pass?
08:10:59 <Vorpal> do need* to keep track of everything around you
08:11:06 <elliott> pikhq_: because driving si easy?
08:11:13 <elliott> Vorpal: you ignore your windows on a computer?
08:11:23 <elliott> i mean come ON all you have to do is not bash into things
08:11:26 <elliott> have you ever played donkey.bas
08:11:28 <elliott> that's how hard driving is
08:11:33 <Vorpal> elliott, no but try keeping track of 40 other computer users around you and what they are doing
08:11:33 <elliott> don't hit the fucking donkey
08:11:39 <elliott> oh no there's forty donkeys
08:11:40 <Vorpal> elliott, then it is like driving
08:11:56 <elliott> come on driving is easier than puzzle bobble
08:11:59 <pikhq_> Vorpal: The cars on the road might frighten you more, actually...
08:12:12 <Vorpal> <elliott> i mean come ON all you have to do is not bash into things <-- yeah I'll *love* to see you drive. From behind a barricade preferably.
08:12:24 <pikhq_> Vorpal: If it runs, it's probably street legal.
08:12:32 <elliott> Vorpal: unfortunately im not stupid enough to fail at driving, sorry that it won't be entertaining
08:12:38 <elliott> but driving is kind of pointless though
08:12:44 <Vorpal> elliott, in Sweden you can fail the exam if you don't drive in a environmentally friendly way btw.
08:12:46 <elliott> it takes hours and you can't do anything while its happening
08:13:01 <elliott> its like doing a rubiks cube for five hour sand then you arrive at your destination
08:13:08 <pikhq_> Vorpal: If you can drive around a couple of blocks you can pass.
08:13:17 <elliott> Vorpal: lol, "drive in an environmentally friendly way"
08:13:20 <olsner> but driving isn't intellectual but mostly motor skills? so stupidity should have almost nothing to do with it
08:13:24 <elliott> GUYS IF WE REDUCE ENERGY USAGE A TINY TINY BIT
08:13:25 <Vorpal> elliott, well, reasonably
08:13:43 <elliott> SCIENCE PROVES IT ! ! ! ! ! !
08:13:46 <Vorpal> elliott, basically yes. I agree it don't help much.
08:13:54 <Vorpal> <olsner> but driving isn't intellectual but mostly motor skills? so stupidity should have almost nothing to do with it <-- indeed
08:13:59 <Vorpal> I had no problems with the theory
08:14:01 <elliott> i really love the "save the planet" slogan
08:14:08 <Vorpal> elliott, they don't use that one here
08:14:11 <elliott> if we dont reduce carbon dioxide
08:14:13 <elliott> the planet will LITERALLY EXPLODE
08:14:34 <Vorpal> elliott, they use the silly slogan "ecodriving", in English. I have no clue why they use that.
08:14:38 <olsner> yeah, we'll reach explosive levels of co2 and the whole thing goes boom
08:14:38 <elliott> olsner: its not that much motor skills
08:14:46 <elliott> i mean there's not much finesse involved in turning a wheel really
08:14:47 <pikhq_> Vorpal: Now to scare you more: I can legally drive *on your roads* with a US license.
08:14:56 <elliott> non-fine motor skills maybe
08:14:59 <elliott> but thats just kind of like... moving your arms
08:15:09 <pikhq_> Vorpal: Which you get for driving around a couple of blocks succesfully and answering 7 out of 10 multiple choice questions right.
08:15:18 <elliott> i dunno, maybe the cars make driving hard, maybe i need to design a car
08:15:19 <olsner> moving your arms is motor skills :P
08:15:29 -!- pizearke has joined.
08:15:40 <elliott> although actually id just write the small amount of extra software required to be a better-than-human driver
08:15:55 <pikhq_> elliott: Such NIH, man.
08:15:59 <Vorpal> I'm glad I'm not in US
08:16:08 <elliott> pikhq_: yeah i know google are already on it
08:16:20 <elliott> Vorpal: swedish rodes must be really boring
08:16:23 <Lymia> How simple a ruleset would it take for a car to do as well as, or better than a human driver anyways?
08:16:26 <elliott> if you have to drive you might as well have some excitement
08:16:36 <elliott> Vorpal: because all your drivers are good and boring...
08:16:48 <Vorpal> elliott, dude, you forgot the winter
08:16:48 <elliott> what stupid fucks will be on the road today???
08:16:59 <pikhq_> elliott: Yes, that is exactly how it is.
08:17:02 <Lymia> elliott, driving and pathfinding arn't exactly the same problem...
08:17:11 <pikhq_> Lymia: Google has self-driving cars.
08:17:17 <elliott> Lymia: google are working on self-driving vehicles
08:17:19 <Vorpal> elliott, we get enough excitement during winter that we want a calm summer :P
08:17:26 <elliott> Lymia: thousands of miles of real-world testing in california
08:17:32 <Lymia> Do they drive like non-assholeish drivers?
08:17:49 <pikhq_> Yes, and the only accident so far is that a car got rear-ended.
08:18:01 <elliott> they should try it in sweden without any modifications
08:18:08 <Vorpal> elliott, during winter yeah
08:18:18 <Lymia> pikhq_, which car?
08:18:26 <Vorpal> hm are studded tires allowed during winter in US?
08:18:42 <elliott> hmm i should reboot back into linux
08:18:55 <pikhq_> Vorpal: Depends on the state.
08:19:08 <Lymia> pikhq_, heh. I'm not too sure that counts as Google's fault...
08:19:18 <Lymia> Wonder if the program has cases to deal with "omg somebody is going to rear end me"
08:19:28 <pikhq_> Lymia: It was at a stop light, too.
08:19:34 <olsner> Vorpal: they're not even allowed in sweden in some places
08:19:44 <Vorpal> olsner, oh true. Mostly central stockholm iirc?
08:19:46 <elliott> rear-end doesnt mean what ithink
08:19:47 <Lymia> Proof we need more robot cars.
08:19:49 <elliott> thats a lot less funny now
08:19:50 <pikhq_> Vorpal: *Basically*, anywhere with winters that are worth caring about has studded tires legal.
08:19:52 <Vorpal> olsner, but who in their right mind would go there.
08:19:55 <elliott> i thought it meant a car flipping upside down for some reason
08:20:02 <elliott> google car stops orderly at the traffic light
08:20:06 <olsner> Vorpal: people who live or work there, mostly
08:20:07 <elliott> spontaneously flips itself over
08:20:13 <olsner> no-one else would suffer the queues
08:20:29 <Vorpal> olsner, I would never drive unstudded during winter, exception if I moved to some big city probably.
08:21:21 <Vorpal> olsner, but the municipality I live in has as a stupid policy to never use salt during winter unless in extreme conditions. Just sand. So I need studded to get up the hill from where I live when it is icy :P
08:21:30 <olsner> I wouldn't drive at all during winter, but that's just me not having bothered to learn how to drive
08:21:59 <Vorpal> olsner, you don't have a driving license?
08:22:03 <elliott> we put sand......on road......now we pretend we are in country we actually like . . .
08:22:08 <olsner> Vorpal: nope, what would I do with one?
08:22:17 <Vorpal> elliott, what? That is far fetched
08:22:24 <Vorpal> sand on roads is common during winter...
08:22:34 <olsner> elliott: they don't use quite enough sand for that effect
08:22:42 <elliott> olsner: palm trees....on the road....i nwinter...
08:22:49 <pikhq_> elliott: Yeah, it's quite common. The idea is to increase the amount of traction.
08:22:57 <Vorpal> olsner, hm good to have a license still. In case you need to drive during work or such.
08:23:06 <elliott> tarski was a palm tree±true±facts
08:23:10 <pikhq_> Done in the US pretty much anywhere that can expect, oh, an inch of snow in the winter.
08:23:23 <elliott> Gregor i still need that video
08:23:35 <Vorpal> pikhq_, an inch? Come on, they hardly even plow anything but highways for that much. :P
08:23:43 <elliott> GREGOR I REQUIRE THE SAD RABBIT VIDEO
08:24:12 <elliott> im going to go on a rampage
08:24:21 <elliott> http://www.youtube.com/watch?v=VjMsQ_NUOMA no this is not it
08:24:29 <olsner> Vorpal: given how hard it is to code while driving, not sure why I'd be asked to drive :P
08:24:33 <pikhq_> Vorpal: Well, rather, if they can reasonably expect an inch of snow in the winter *they will actually have the ability to sand roads*.
08:24:33 <elliott> oh my god the rabbts voice
08:24:42 <elliott> oh my god the toroises voice
08:24:51 <pikhq_> To account for somewhat more extreme winters.
08:24:51 <Vorpal> olsner, where do you work btw?
08:24:52 <elliott> YOU ARE LAUGHING AT ME?????
08:25:01 <elliott> god this rabbits laugh is terrifying
08:25:17 <Vorpal> pikhq_, all of Sweden can expect significantly more than that
08:25:19 <elliott> is that finish written in neon
08:25:27 <elliott> dudes you are all mssing out on this video
08:25:31 <elliott> its the most amazing thing ive ever watched
08:25:40 <pikhq_> Cause a place like Houston is not really going to see snow more than once a decade.
08:25:44 <elliott> HE'LL TAKE LONG TIME TO REACH HERE
08:26:00 <pikhq_> Vorpal: Yeah, pretty much the northern half of the US sees more significant snowfalls.
08:26:19 <elliott> the tortoroyse has gone tu far
08:26:23 <Vorpal> come on, south Sweden is probably worse than I live. The landscape in Skåne is so flat and open.... You get cases of trains getting stuck due to 2 meter high snowdrifts having been blown up against the track.
08:26:32 <Vorpal> and Skåne is far to the south
08:26:39 <pikhq_> And, of course, there's Alaska, which actually is *permafrost* in a lot of it.
08:26:46 <elliott> does anyone know that sad rabbit video gregor linked once
08:27:02 <Vorpal> olsner, didn't they use bandwagons last winter to rescue people from a train that got stuck in Skåne iirc? I seem to remember reading about it.
08:27:10 <elliott> everyone has me on ignore noq
08:27:22 <olsner> Vorpal: I wouldn't have heard about that, I don't read news
08:27:23 <Vorpal> elliott, use the logs. See topic.
08:27:32 <elliott> Vorpal: uh what the fuck would i grep for
08:27:37 <Vorpal> olsner, anyway where do you work?
08:27:44 <Vorpal> elliott, -i "sad rabit" maybe?
08:27:54 -!- elliott has quit (Remote host closed the connection).
08:29:19 <Vorpal> pikhq_, anyway, how many people die in the traffic per year in US?
08:29:42 <Vorpal> or maybe per 10000 citizens or such.
08:29:49 <Vorpal> since that way it would be easier to compare the numbers
08:29:58 -!- elliott has joined.
08:31:01 <elliott> <ais523> elliott: you strike me as sorr of the person who /would/ own multiple sizes of rabbit just to be able to compare them
08:31:43 <olsner> "I want a bigger rabbit so I can compare it to this rabbit and say it's bigger!"
08:32:09 <elliott> hey i just realised that adding data to something can actually make it more compressible?
08:32:22 <elliott> printing all strings of length 999999 is really easy
08:32:31 <elliott> compared to printing one, truly-Kolgomorov-random string of length 999999
08:32:47 <pikhq_> Vorpal: Uh, fatalities per 100,000 people was 11.01 in 2009.
08:33:04 <Vorpal> pikhq_, let me check statistics for Sweden
08:33:13 <elliott> apparently only i fin this interesting
08:34:06 <Vorpal> pikhq_, 7,4 (cars) 3,8 (pedestrians)
08:34:10 <Vorpal> that is the stats for Sweden
08:34:32 <Vorpal> the former is per 100,000 cars
08:34:43 <Vorpal> the latter is per 100,000 citizens
08:34:44 <elliott> http://hackage.haskell.org/package/sbv this is hot
08:35:02 <Vorpal> pikhq_, now I suggest you get better driving exams
08:35:07 <olsner> so 7.4 out of 100000 cars die each year, but we don't know how many people were in them?
08:35:22 <Vorpal> pikhq_, why are your driving exams so bad?
08:35:32 <pikhq_> Vorpal: Per kilometers travelled is a better metric, BTW.
08:35:46 * pikhq_ is trying to convert this figure to metric...
08:36:27 <Vorpal> wait what, there seems to be statistics per amount of fuel. wtf
08:38:03 <Vorpal> pikhq_, I can't find any km travelled figures, so can't compare anyway
08:39:06 <Vorpal> pikhq_, this is what I can find basically: http://www.trafikverket.se/Privat/Trafiksakerhet/Olycksstatistik/Vag/Nationell-statistik/Arsdata-fran-1950/
08:39:16 <Vorpal> there is a button for English in the upper corner
08:39:34 <Vorpal> not sure if that page exists in English though
08:39:48 <olsner> they used to have vv.se as the address ... dvbf
08:40:14 <Vorpal> olsner, yes but vägvärket changed name to trafikverket as you know
08:41:03 <Vorpal> olsner, anyway what did "dvbf" mean?
08:41:06 <olsner> what, you don't know about dvbf?
08:41:52 <Vorpal> olsner, Jag chattar inte mycket på svenska. :P
08:41:59 <Vorpal> olsner, faktiskt inget alls.
08:42:10 <pikhq_> 39.3 accidents per hundred million vehicle miles per year for Sweden, 62.2 for the US.
08:42:20 <pikhq_> Yup, we need better driver education.
08:42:25 <olsner> fast det där är inte en chat-förkortning, den kommer faktiskt från verkligheten
08:42:39 <Vorpal> pikhq_, And we have the bad weather of the north states (apart from Alaska) in the whole country
08:42:43 <pikhq_> (source for both, Wolfram Alpha, and WHY WON'T IT USE METRIC, MILES IS A TERRIBLE UNIT)
08:42:45 <fizzie> Our local "Road Administration" (Tiehallinto; approximate translation) quasi-recently also changed their name to "Destia". There seems to be a trend for picking nonsense names to sound more modern. The post office changed their name to "Itella" too.
08:43:05 <olsner> they both sound italian
08:43:06 <pikhq_> Vorpal: You also have a population density on par with Kansas.
08:43:21 <Vorpal> olsner, säger folk "dvbf"? Jag har aldrig hört någon säga det högt. Skriva det kanske.
08:43:39 <Vorpal> fizzie, trafikverket is not a nonsense name though.
08:43:41 <pikhq_> Which you can drive all the way through and count on one hand the number of cars you've seen.
08:43:49 <pikhq_> (if you choose the path right, mind)
08:43:55 <Vorpal> fizzie, some other ones went for nonsense names though
08:44:10 <olsner> Vorpal: hmm, förkortningen kanske är text-specifik ja... vanligtvis säger man nog alla orden när man säger det
08:44:15 <Vorpal> <pikhq_> Which you can drive all the way through and count on one hand the number of cars you've seen. <-- can't do THAT in most of Sweden
08:44:22 <Vorpal> pikhq_, Sweden is rather unevenly settled.
08:44:41 <Vorpal> pikhq_, an average is not going to give you any useful numbers for most of Sweden.
08:45:10 <pikhq_> Kansas has pretty much a single giant glob of population, a handful of smaller ones, and hundreds of miles of corn fields.
08:45:52 <pikhq_> To avoid the globs of population, you only really need to keep off of the Interstate bisecting it.
08:46:13 <Vorpal> pikhq_, well not like that here. South half of Sweden have quite a lot of cities. In the far northen parts you can go for miles (Swedish ones, 10 km) without even seeing a road.
08:46:23 <Vorpal> (that was from a train though)
08:46:56 <Vorpal> of course most americans probably don't count 50000 inhabitants as a city...
08:47:19 <fizzie> That's funny, W|A gives me "24.4 accidents per hunderd million vehicle kilometres per year" by default, with a "show non-metric" button available.
08:47:43 <Vorpal> fizzie, which non-metric?
08:47:51 <Vorpal> fizzie, and what is the funny part?
08:48:07 <Vorpal> but what about furlongs?
08:48:13 <pikhq_> Oh, wait, there it is.
08:48:35 <Vorpal> geoip or cookies maybe?
08:48:40 <fizzie> The "funny" (in the "curious") part was that it defaults to non-metric for pikhq. I guess by IP geolocation or some-such.
08:48:56 <olsner> <Vorpal> but what about furlongs? <pikhq_> Oh, wait, there it is. <pikhq_> "Show metric".
08:49:11 <olsner> furlongs are now metric :P
08:49:23 -!- CakeProphet has quit (Ping timeout: 250 seconds).
08:49:32 <pikhq_> fizzie: Which irks me, because metric is what I usually want, *especially* if comparing official statistics with any other country.
08:50:10 <fizzie> Our figure is 20.8 accidents per hundred million miles per year; but of course this is an even less populated place and so on.
08:50:29 <elliott> hmm, xor is one-bit addition
08:50:31 <elliott> what's one-bit subtraction?
08:50:37 <elliott> oh, just xor on complement, heh
08:50:55 <elliott> and multiplication is and, right?
08:50:57 <Vorpal> pikhq_, do you have those 2+1 roads in US?
08:51:01 <Vorpal> http://en.wikipedia.org/wiki/2%2B1_road
08:51:37 <Vorpal> ah yes you have a handful says wikipedia
08:51:42 <pikhq_> Vorpal: Apparently in a handful of places.
08:51:47 <pikhq_> Vorpal: I haven't seen one.
08:52:03 <Vorpal> pikhq_, they increase safety a lot I heard.
08:52:41 <elliott> what is one-bit subtraction
08:52:45 <pikhq_> Compared with just having lines on the road indicating when you can go into the oncoming lane to pass? I'm sure.
08:53:24 <pikhq_> Wouldn't work as well with US drivers though. Blithering morons seem to not grok the idea of a "passing lane".
08:53:49 <fizzie> We have roads that do short 2+1-style stretches every now and then (alternating the side) with regular 1+1 road in-between the 2+1 sections.
08:53:54 <Vorpal> pikhq_, hm, well they would have to, since the lane shifts side every now and then
08:54:08 <Vorpal> fizzie, yeah that is what a 2+1 road is, isn't it?
08:54:42 <fizzie> Vorpal: I understood from the wiki description that it stays three-lane all the time.
08:55:00 <fizzie> At least the side-change at the top diagram is like that.
08:55:02 <Vorpal> fizzie, oh in total yes.
08:55:02 <elliott> what logical op corresponds to one-bit subtraction
08:55:10 <Vorpal> fizzie, though there can be 1+1 sections sometimes
08:55:16 <Vorpal> but usually it is 3 in total
08:55:51 <elliott> thats amazing its like im on DURGZ
08:55:52 <Lymia> The carry bit would have to be different, right?
08:56:07 <elliott> thats not part of addition or subtraction
08:56:28 <Lymia> It is part of it when you're chaining them for higher bits, right?
08:57:15 <fizzie> Vorpal: Ours always -- well, at least I think so -- just have a one-sided 2+1 section, and then a longer 1+1 gap, and then the same thing for the other side. There's typically signage saying how far the next 2+1 part is.
08:58:09 <Lymia> elliott, oh, I see.
08:58:15 <Lymia> You can only add and subtract one, right?
08:58:53 <Lymia> One of those operations always rolls over, and the other operation ends up on that value naturally.
08:59:37 <fizzie> Vorpal: Maybe it's cheaper that way when retrofitting old roads, have to widen just parts of it instead of the whole thing.
09:01:25 <Vorpal> pikhq_, anyway I don't understand how traffic in US can work at all
09:05:08 -!- elliott has quit (Remote host closed the connection).
09:05:11 <fizzie> Incidentally, visited the UK National Museum of Computing (in Bletchley Park) last week. There was an http://en.wikipedia.org/wiki/Elliott_803 in there.
09:05:13 <Lymia> I recall an incident with a driver who was texting while driving on the highway.
09:05:26 <Lymia> They changed lane unintentionally more than once.
09:05:31 <Lymia> At one point, they were perpendicular to the road......
09:05:34 -!- elliott has joined.
09:05:57 <elliott> 09:05:11: <fizzie> Incidentally, visited the UK National Museum of Computing (in Bletchley Park) last week. There was an http://en.wikipedia.org/wiki/Elliott_803 in there.
09:06:18 <elliott> they never noticed i was sentient :(
09:07:10 <fizzie> Then I now have a picture of you, "yay".
09:07:26 <elliott> im the most girly looking retrocomputer
09:09:36 <pikhq_> Vorpal: It's a wonder that we still have population: http://upload.wikimedia.org/wikipedia/commons/b/ba/Atlanta_75.85.jpg
09:10:23 <pikhq_> Yes, that really is 14 lanes.
09:10:41 -!- MigoMipo has joined.
09:14:21 <elliott> pikhq_: that's nice and wide
09:14:58 <pikhq_> elliott: Not even the widest.
09:16:57 <pikhq_> elliott: http://upload.wikimedia.org/wikipedia/commons/2/2c/RF_-_Houston_Texas_IH10.1.jpeg
09:17:44 <pikhq_> elliott: For reasons of not-being-apeshit, the lanes aren't all crammed together. But, that's a 26 lane highway.
09:19:01 <pikhq_> Yes, really, that is all the same damned road.
09:19:17 <pikhq_> With onramps and offramps to different parts of the road.
09:19:27 -!- CakeProphet has joined.
09:19:32 -!- CakeProphet has quit (Changing host).
09:19:33 -!- CakeProphet has joined.
09:21:18 -!- CakeProphet has quit (Client Quit).
09:21:34 -!- CakeProphet has joined.
09:21:34 -!- CakeProphet has quit (Changing host).
09:21:35 -!- CakeProphet has joined.
09:23:51 <pikhq_> Also, that road system requires this: https://secure.wikimedia.org/wikipedia/en/wiki/File:Texas_turnaround.svg
09:23:58 <pikhq_> And fuck I should sleep, it's 03:30.
09:36:41 -!- Miss has joined.
09:39:31 <elliott> do you know what this channel is about
09:40:09 <augur> Miss: programming languages, to be specific
09:40:17 <augur> to be even MORE specific!
09:40:39 <Lymia> augur, "crazy nutso ones" is a bit of an understatement, don't you think?
09:40:50 <elliott> this channel is the feather user and appreciation promotion group retroactiavte
09:40:54 <augur> Lymia: i dont know how to make it even more true
09:40:59 <Miss> Im not realy spake english
09:41:29 <Lymia> augur, see: Malborge
09:42:00 <augur> malborge or malbolge
09:42:45 <augur> missy be thrownin down
09:42:49 <augur> im the hottest rond
09:43:31 <elliott> Miss: r u the reincarnation of alfred tarski famous kawaii british pyhsicist...
09:43:58 <elliott> tarski is the most kawaii british physicist of all time
09:44:06 <elliott> hes as british as he is a physicist so shut your mouth
09:44:31 <Lymia> augur, Lymia is channeling her inner Japanese. Yep.
09:45:05 <augur> this is so confusing T_T
09:46:04 <Miss> Now im vacation
09:47:20 <Lymia> v
09:47:36 <Lymia>
09:47:37 <Lymia>
09:47:42 <Lymia> ^ It's just like Minecraft!
09:47:57 <Miss>
09:47:59 <Lymia>
09:48:08 <Lymia>
09:48:16 <Lymia> S
09:49:59 <elliott> ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه
09:50:01 <elliott> هههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه
09:50:02 <elliott> ههههههههههههههههههههههههههههههههههههههههههههههههههههههه
09:50:03 <elliott> هههههههههههههههههههههههههههههههههههههههههههههv
09:50:03 <elliott> هههههههههههههههههههههههههههههههههههههههههههههههههه
09:50:04 <elliott> ههههههههههههههههههههههههههههههههههه
09:54:17 <Lymia> SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
10:00:40 -!- Miss has quit (Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi).
10:04:59 -!- Miss has joined.
10:05:31 <Miss> ما شا الله انت سعودي
10:05:42 <Miss> قاعد تطقطق علي
10:07:53 <Miss> Do you anderstand !!!
10:08:33 <Miss> I'm speak arabic
10:09:57 -!- ais523 has joined.
10:12:49 <ais523> has anything much been happening while I've been away from the Internet?
10:14:05 -!- Miss has left.
10:14:58 <elliott> and thus began ais523's realisation that nobody truly cares about him ;__;
10:15:07 <ais523> elliott: yes, but it's OK
10:15:10 <ais523> three days or so is not much
10:22:33 -!- FireFly has joined.
10:38:28 <Vorpal> I think the weather confused Sweden and UK as of recently
10:40:10 -!- ais523_ has joined.
10:40:19 -!- ais523 has quit (Disconnected by services).
10:40:20 -!- ais523_ has changed nick to ais523.
10:48:43 <augur> ais523: three days is not away
10:48:55 <ais523> well, it's more than usual for me
10:49:20 <ais523> hmm, checking Esolang's recent changes implies there's a new lang there that's actually interesting?
10:49:23 <ais523> I must look at it some time
11:01:49 <elliott> ?hoogle [a] -> Int -> a -> [a]
11:01:49 <lambdabot> Network.CGI.Protocol replace :: Eq a => a -> a -> [a] -> [a]
11:01:49 <lambdabot> Prelude enumFromThenTo :: Enum a => a -> a -> a -> [a]
11:01:50 <lambdabot> Data.IntMap findWithDefault :: a -> Key -> IntMap a -> a
11:03:15 <Deewiant> > (\a i x -> take i a ++ x : drop (i+1) a) [1,2,3,4] 2 5
11:26:19 -!- ais523 has quit (Read error: Operation timed out).
12:16:32 -!- ais523 has joined.
12:25:40 -!- ais523 has quit (Read error: Connection reset by peer).
12:27:27 -!- ais523 has joined.
12:32:34 <elliott> -10 points on a reddit comment, awesome
12:32:49 <elliott> i've finally angered people enough to downvote me rather than just ignore me
12:33:06 <ais523> (I don't think Reddit has a search for lowest-rated posts by a particular user)
12:33:13 <elliott> ais523: http://www.reddit.com/r/programming/comments/hz87n/journalist_writes_programing_is_too_hard_wishes/c1zlub4?context=1
12:33:16 <Lymia> elliott, was it Minecraft related?
12:33:16 <ais523> also, I don't think I've ever downvoted a post at Reddit
12:33:30 <elliott> Lymia: no, although that would be a rather efficient way to get downvoted into oblivion
12:33:52 <ais523> to be fair, you are attacking a strawman there
12:34:03 <elliott> I am, but the original post was just as idiotic, so I don't really care.
12:34:08 <ais523> and people on the internet generally hate that
12:34:19 <elliott> They do? The whole comments are attacking a strawman of the post.
12:34:31 <elliott> Mostly latching on to the fact that Objective-C is mentioned as "lol blogger wants to make iphone apps".
12:35:01 <elliott> lol, it's twelve points lower than my comment "my envisiaone powerh boards is more advanced than ur phbb"
12:35:25 <elliott> and indeed, you can't order comments by bottom, it seems
12:35:35 <ais523> well, objective-C is a good language for writing iphone apps in
12:35:56 <ais523> because it has the best library support for that
12:36:42 -!- ais523 has quit (Read error: Connection reset by peer).
12:38:10 -!- ais523 has joined.
12:38:21 <ais523> [13:36] <ais523> it's not quite a non sequitur
12:38:23 <ais523> [13:36] <ais523> but almost
12:38:24 <ais523> [13:36] <ais523> I'm not arguing with you, just commenting on something vaguely related
12:39:15 <elliott> hmm, I can actually delete that karmawhoring /r/programming submission I made two years ago
12:39:20 <elliott> on the one hand, I'd feel good inside
12:39:25 <elliott> on the other hand, over one thousand karma :(
12:42:36 <ais523> is that link karma or comment karma?
12:42:47 <ais523> also, deleting something removes the karma from it? does that work for downvotes to?
12:42:58 <elliott> link karma, and hmm, good point
12:54:52 <ais523> hmm, a case of weird kerning made me see the :// in a URL as a smiley
12:55:05 <ais523> and now it's hard not to
12:55:51 <Sgeo> What was it a link to?
12:55:52 -!- wareya has quit (Read error: Connection reset by peer).
12:56:14 <Sgeo> Also, wouldn't that affect discussions about it?
12:56:30 -!- wareya has joined.
12:56:52 <elliott> Sgeo: it would eradicate all the valuable discussions about the link that were had
12:57:48 <Sgeo> The link about iTunes going DRM-free?
13:00:50 <Sgeo> Apple wanted people to pay them to get rid of the DRM on their current collection?
13:01:23 <elliott> all the drm-free stuff is a separate product, so yeah
13:01:34 <elliott> i dont think its fully drm free yet even
13:02:09 -!- BeholdMyGlory has joined.
13:05:14 -!- ais523 has quit (Remote host closed the connection).
13:10:30 -!- BeholdMyGlory has quit (Remote host closed the connection).
13:10:48 -!- BeholdMyGlory has joined.
13:11:32 -!- BeholdMyGlory has quit (Remote host closed the connection).
13:14:36 -!- Deewiant has quit (Ping timeout: 244 seconds).
13:15:29 -!- Deewiant has joined.
13:18:19 -!- copumpkin has joined.
13:24:29 <elliott> IT IS MY DUTY TO NOTIFY THE MUCH LESS VIGILANT
13:24:37 <Sgeo> I have it in Google Reader
13:46:22 -!- BeholdMyGlory has joined.
13:50:11 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
13:50:32 -!- FIQ has quit (Quit: Lämnar).
13:51:19 <elliott> now where's oerjan when you need him
13:52:19 <oklofok> probably out partying like always
13:54:38 <elliott> he's such a ... party dude
13:54:51 -!- Phantom_Hoover has joined.
13:55:42 <oklofok> yeah oerjan is the "dude" in "partitude"
13:55:46 <lambdabot> Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them.
13:57:52 <Sgeo> "As far as we know, every force weakens with distance. "
13:58:06 <Sgeo> I thought strong force between quarks gets stronger?
13:58:41 <Sgeo> http://www.badastronomy.com/bad/misc/astrology.html
13:59:26 <Lymia> The universe is expanding faster and faster now, right?
13:59:40 <Lymia> And... Einstein's universal constant fits.
14:09:59 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:10:34 <Phantom_Hoover> <Sgeo> I thought strong force between quarks gets stronger?
14:11:10 <elliott> you know what they say, what doesn't quark you only makes you stronger
14:11:12 <Phantom_Hoover> It weakens with distance, but only up to a point; and colour confinement means that realistically you can only get them so far apart.
14:12:51 <Phantom_Hoover> Lymia, what are you trying to say it doesn't sound sensible.
14:13:26 -!- aloril has quit (Ping timeout: 250 seconds).
14:17:00 <Phantom_Hoover> (The cosmological constant really annoys me because of all the idiots who say "SEE EVEN WHEN EINSTEIN WAS WRONG HE WAS RIGHT".)
14:18:14 <Lymia> Yeah, I think that's it
14:18:22 <Lymia> How simple is the math anyways
14:19:15 <oklofok> just math it up and you're done
14:19:43 <Phantom_Hoover> (OK, so it's not all that complicated, but it's extremely hard to actually use it.)
14:20:27 <oklofok> don't listen to Phantom_Hoover, he doesn't even have a formal degree in math. so what was GR short for again?
14:20:40 <oklofok> you mean like general relativity? what the fuck is that, always wondered
14:21:54 <oklofok> if there's a safety net of course :\
14:22:24 <oklofok> what about all the gravity flying about in there?
14:22:38 <oklofok> what if some of it hits me in the face
14:23:03 <Lymia> I love how the "rubber sheet" explanation for gravity.... relies on gravity to work.
14:23:24 <Lymia> Recursive metaphors.
14:23:27 <Phantom_Hoover> Lymia, that is because it is a terrible explanation for it which is wrong in at least 3 ways.
14:24:14 <Sgeo> Does the geometry of space change the way the rubber sheet metaphor describes it changed if the rubber sheet was flattened out but the distortions made from a birds-eye view were still there?
14:24:21 <Sgeo> That is, is there a way to salvage it?
14:25:24 <Lymia> It's an explanation of gravity that relies on one's intuition about gravity to work, and not in a very direct way.
14:25:31 <Lymia> It's like saying "gravity causes gravity"
14:25:53 <Lymia> Plus, you'd need 4 dimensions to extend it to 3d.
14:27:32 -!- aloril has joined.
14:27:46 <Sgeo> Not as an explanation. But if you look at the rubber sheet from the top, the "straight lines" get distorted
14:28:03 <Sgeo> Is that distortion accurate to whatever way gravity gets distorted in actual reality?
14:28:06 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
14:28:41 -!- Phantom_Hoover has joined.
14:29:05 <Phantom_Hoover> 14:25:31: <Lymia> It's like saying "gravity causes gravity"
14:29:28 <Phantom_Hoover> It's nothing like the actual reason it happens, but it's not tautological.
14:32:18 <Phantom_Hoover> (The actual reason it happens is that the geometry of 4D spacetime is altered such that the 4-vector which points 'futurewards' is deflected to have a space component.)
14:33:24 <Vorpal> Phantom_Hoover, do you actually understand general relativity? With that I mean, "able to calculate on it"
14:34:43 -!- copumpkin has joined.
14:34:50 <Vorpal> Phantom_Hoover, err, what do you mean
14:35:49 <Phantom_Hoover> Vorpal, have you considered that I have more amusing things to do than substitute for your scroll bar.
14:36:09 <Vorpal> Phantom_Hoover, oh so "trampoline in space" is mentioned above?
14:36:13 <Vorpal> you could have said that
14:36:37 <oklofok> trampo llineeeeeeeeeeeeeeeeeeeeeeeeees :DSDDDDDDDDDDDDDD
14:39:18 <Phantom_Hoover> 14:27:46: <Sgeo> Not as an explanation. But if you look at the rubber sheet from the top, the "straight lines" get distorted
14:40:22 <Sgeo> I assume that that no is to the question I aked that you didn't pate, rather than the tatement you pasted?
14:40:37 <Sgeo> My s key was being funky
14:41:18 <Sgeo> paste statements
14:44:21 <Lymia> Phantom_Hoover, so....
14:44:27 <Lymia> The flow of time is bent so that it has a direction
14:44:33 <Lymia> A direction that's not time related.
14:45:16 <elliott> Shut up magic science man.
14:46:52 <oklofok> magic science NERD :DDDDDDDDDDDDD
15:08:02 -!- azaq23 has joined.
15:20:31 <elliott> That comment is now at -52.
15:30:14 <Sgeo> elliott, which comment?
15:33:52 <Sgeo> Note to self: elliott isn't perfect
15:46:28 -!- Kustas has joined.
15:52:39 -!- monqy has joined.
16:00:47 <Phantom_Hoover> Sgeo, you may also wish to note that I am in fact just this random 16-year-old, not some science prodigy.
16:33:23 -!- Kustas has quit (Read error: Connection reset by peer).
17:02:00 <Vorpal> Sgeo, you only found that out now?
17:03:25 <elliott> Sgeo has worryingly delusional beliefs about me most of the time.
17:07:10 -!- BeholdMyGlory has quit (Remote host closed the connection).
17:15:33 -!- BeholdMyGlory has joined.
17:40:01 <Gregor> !perl if ("David" == "David") { print("True"); } else { print("False"); }
17:40:08 <Gregor> !perl if ("Nancy" == "Nancy") { print("True"); } else { print("False"); }
17:40:17 <Gregor> HAVE FUN WITH THAT ONE GUYS
17:41:15 <Gregor> No, that is not the reason :P
17:41:23 <Gregor> But you guys will NEVER figure out the reason.
17:41:44 <Phantom_Hoover> Some kind of localisation thing combined with weird comparison!
17:42:14 <elliott> Gregor: and == is numeric equality
17:42:22 <elliott> "David" reads as 0, but "Nancy" reads as NaN
17:42:27 <elliott> and we all know nan isn't equal to itself
17:42:42 -!- pikhq_ has quit (Ping timeout: 240 seconds).
17:42:50 -!- pikhq has joined.
17:43:38 <quintopia> also why you chose my given name as your "normal" test case, i do not know
17:43:44 <quintopia> you just wanted to puing me i guess
17:45:21 -!- oerjan has joined.
17:45:37 -!- TOGoS has joined.
17:46:05 -!- TOGoS has left.
17:52:01 <monqy> !perl if ("Nancy" == "Nancy") { print("True"); } else { print("False"); }
17:52:01 -!- elliott has quit (Read error: Connection reset by peer).
17:52:20 <monqy> wait oops I messed it up
17:52:45 <monqy> somehow it worked in private
17:55:02 <oerjan> <elliott> its a conspiracy
17:55:12 <oerjan> the Dave conspiracy, to be precise
17:57:32 -!- elliott has joined.
17:57:46 <oerjan> 19:55 oerjan> <elliott> its a conspiracy
17:57:46 <oerjan> 19:55 oerjan> the Dave conspiracy, to be precise
17:58:13 <elliott> shut up i'm thinking of a hi-LARIOUS reference to respond with
18:04:25 <elliott> will you guys miss it if i start typing numbers normally again be honest
18:05:01 <monqy> !perl if ("Dave" == "Dave") { print("True"); } else { print("False"); }
18:05:49 <oerjan> elliott: we'll be shattered by grief
18:06:08 <HackEgo> 71) * oerjan swats FireFly since he's easier to hit -----### <FireFly> Meh * FireFly dies \ 87) <xan> if you watch jaws backwards it's a movie about a giant shark that throws up so many people they have to open a beach \ 161) <ais523> cpressey: I have actually done a waterfall-model project that almost worked <cpressey>
18:06:33 <monqy> I should just accept that perl makes no sense
18:06:35 <Lymia> !perl if ("Nancy" === "Nancy") { print("True"); } else { print("False"); }
18:06:36 <EgoBot> syntax error at /tmp/input.30620 line 1, near "==="
18:06:55 <Lymia> !perl tell me why perl is so crazy
18:06:55 <EgoBot> Can't locate object method "so" via package "crazy" (perhaps you forgot to load "crazy"?) at /tmp/input.30696 line 1.
18:07:14 <oerjan> monqy: um the statement you tried is the one which _does_ make sense
18:08:12 <monqy> does egobot filter control characters out of its input
18:09:02 -!- Kustas has joined.
18:09:30 <monqy> I was secretly putting bolds in there to try to get it to mess up
18:09:31 <elliott> i sure am shitty at max/msp
18:09:44 <monqy> !perl if ("Daveq" == "Dave") { print("True"); } else { print("False"); }
18:09:49 <oerjan> monqy: oh hm the _channel_ filters some too
18:09:54 -!- Lymia has quit (Quit: 1... 2... 3... HUGS! :D).
18:10:03 <monqy> oh that makes sense
18:10:03 <elliott> that lymia hugs way too much.
18:10:14 <elliott> monqy: apologise to perl plzkthx
18:10:54 <olsner> as if that would work, but it *would* have been fun if it did
18:11:17 <monqy> I guess that explains why the nancy test worked in private too
18:12:04 <elliott> perl has secret features in it to not allow people to mock it
18:12:27 -!- Sgeo has changed nick to JokeKiller.
18:13:20 <olsner> btw, there's a manpage "console_codes" that describes a lot of escape sequences, tried to display my powers of arcane knowledge using ESC#8 the other week but someone just looked it up in the manpage and pasted the description
18:13:30 -!- Lymia has joined.
18:15:31 -!- JokeKiller has changed nick to Sgeo.
18:16:08 -!- foocraft has joined.
18:39:19 -!- copumpkin has changed nick to pumpkin.
18:40:16 -!- pumpkin has changed nick to c0pumpkin.
18:55:31 <pikhq> It occurs to me that I could actually have this thing generate Autocrap.
18:55:37 <pikhq> I'm not *going* to, but I could.
18:56:39 -!- Kustas has quit (Quit: nights).
19:00:42 <olsner> I bet it could generate intercal code too, maybe you'll make it do that?
19:02:22 -!- pikhq has quit (Ping timeout: 240 seconds).
19:02:34 -!- pikhq has joined.
19:17:37 <olsner> this channel is now boring
19:23:51 <pikhq> BUTBUT DECLARATIVE BUILD SYSTEMS
19:26:47 -!- oerjan has quit (Quit: Reboot).
19:26:52 <olsner> pff! build systems are for losers who need to keep changing their code, just write the code until it's done, then compile it and distribute the result
19:29:13 -!- yiyus has quit (Ping timeout: 252 seconds).
19:30:00 -!- c0pumpkin has changed nick to copumpkin.
19:33:22 <Phantom_Hoover> Sgeo, you cannot make references if they don't even show up on Google.
19:34:20 <elliott> but would sgeo ever make reference to anything non-crappy enough to show up on google?
19:41:22 -!- yiyus has joined.
20:00:11 -!- Sgeo has quit (Read error: Connection reset by peer).
20:00:46 -!- Sgeo has joined.
20:01:18 -!- elliott has quit (Remote host closed the connection).
20:01:24 -!- elliott has joined.
20:02:54 * pikhq can has a proper solver for c99
20:05:23 <pikhq> You ask the solver system to look for something. It executes the callback for it and caches the result.
20:06:10 <elliott> pikhq: [asterisk]executes each callback for it in order (of preference) and caches the result of the first one to succeed.
20:06:15 <elliott> STOP TAINTING MY DESIGN WITH YOUR SIMPLIFICATIONS
20:07:43 <pikhq> http://sprunge.us/CcVf
20:08:46 <CakeProphet> elliott: oh my god this time travel is getting out of hand.
20:08:55 <elliott> CakeProphet: lmao; what page are you on?
20:09:23 <CakeProphet> and these troll romances. WHAT AM I EVEN READING NOW.
20:10:17 <pikhq> elliott: Unlike Autoconf, I refuse to do a comprehensive test for, well, every major C99 feature.
20:10:46 <pikhq> elliott: If it claims to be C99 but isn't, well, I'm not cleaning up after the asshole compiler dev.
20:10:53 <elliott> pikhq: wait, you don't actually support multiple solutions for a single goal?
20:11:08 <pikhq> elliott: Whaddya mean?
20:11:09 <elliott> as it stands you can't add another separate solution to use the posix c99 command
20:11:17 <elliott> solutions are a _list_ of functions
20:11:40 <pikhq> Oh, dur, that's a relatively easy fix.
20:12:03 <elliott> CakeProphet: A recap won't be necessary.
20:12:13 <elliott> You are very, very close to the end of actfiveactone, btw.
20:14:21 <Sgeo> Does CakeProphet know names?
20:14:49 <elliott> Sgeo: Is CakeProphet Sgeo?
20:14:57 <elliott> No? Then yes, CakeProphet knows names.
20:15:08 <elliott> CakeProphet might be Sgeo though.
20:15:25 <Sgeo> CakeProphet: Be Sgeo
20:23:05 -!- copumpkin has quit (Ping timeout: 258 seconds).
20:24:29 -!- copumpkin has joined.
20:24:37 -!- copumpkin has quit (Changing host).
20:24:37 -!- copumpkin has joined.
20:24:39 <elliott> CakeProphet: Hey, remember whining about the pesterlogs in the first few pages? :D
20:25:10 <Phantom_Hoover> elliott, I much preferred the memos to the pesterlogs, TbH.
20:25:24 <elliott> Anyone who doesn't like pesterlogs is a bad person and should die.
20:25:35 <elliott> I will speak no further on the matter.
20:27:47 <CakeProphet> no I like the pesterlogs, I'm just kind of tired of reading at this point.
20:28:20 <CakeProphet> I think I enjoyed them more with the humans. Less drama stuff.
20:28:45 <elliott> Act Five Act One... isn't typical.
20:29:16 <elliott> But it's a vital part of the story, and you only find out why on the last page, 4524.
20:29:50 <elliott> Hivebent was planned pretty much as soon as Homestuck began, so it's not like Hussie decided to make the comic all edgy all of a sudden.
20:30:46 <CakeProphet> actually all of this later stuff seems like it was written before the beginning, or at the same time.
20:31:16 <CakeProphet> because it would be ridiculous if he just tied everything in after-the-fact.
20:31:19 <elliott> I think pretty much everyone finds Act 5 Act 2 more enjoyable than Hivebent.
20:32:43 <pikhq> elliott: Kay, so. In theory, you should be able to do any number of solvers now.
20:33:20 <pikhq> Hrm, wait, minor issue. lappend does an end append, not a front append.
20:33:39 <pikhq> And I at least *presume* that it makes most sense for later solvers to take precedence over earlier ones.
20:34:41 <elliott> pikhq: Does it? I'd define gcc first because it's preferred, and then c99 as a "last" resort
20:34:48 <elliott> But I suppose for extensibility, that is preferable
20:48:14 <elliott> It's a pretty epic ending :P
20:48:49 <pikhq> elliott: I am *rapidly* approaching the point where my tests need to be in a seperate file. :P
21:06:25 <elliott> "To keep whipping my personal horse, I maintain that TCE changes the language semantics in that it changes the kinds of computation the language can perform. With it a state machine can be built out of mutually recurring functions and run virtually forever instead of crashing, that sounds like a semantic change to me."
21:06:30 <elliott> let's laugh at this idiot lol
21:10:38 <monqy> wow who would even think that
21:13:39 <olsner> sounds a bit too intellectual to be guido though
21:13:54 <elliott> they're pro-TCE, so of course they're not guido
21:14:26 <olsner> oh, pro-TCE? that wasn't too obvious
21:14:37 <Sgeo> The _kind it can perform_?
21:15:12 <Sgeo> I don't think I'd think to criticise it if it weren't for the criticism in here, but now it's been criticised in here, I easiy see what's wrong with that statement. This is scary.
21:16:12 <olsner> that's the power of #esoteric empowering you, or something
21:16:47 <elliott> i like how by their logic, buying more ram changes a language's semantics
21:17:22 <elliott> "TL;DR: Prefer a DSL over a state machine any day of the week."
21:18:53 -!- ralc has joined.
21:19:03 <monqy> what if the dsl models a state machine
21:19:29 <monqy> domain-specific language
21:19:34 <olsner> monqy: FSM-DSL-C E P T I O N
21:20:24 <monqy> I never saw that movie is it any good
21:21:53 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
21:26:09 <elliott> "State machines are like gotos, each transition is a jump. The main difference is that unlike gotos, state machines have no built in language/debugging support which makes it more tedious to figure out what is going on inside them when they break."
21:26:22 <olsner> state machines are like rube-goldberg machines
21:27:08 <Gregor> Apparently there's language/debugging support built into gotos.
21:27:09 <monqy> state machines are like gotos except more structured
21:29:37 <olsner> I would like to know what goes on inside gotos when they break
21:30:36 <monqy> gosomeplaceotherthan
21:30:37 <olsner> hmm, let's reparse the quote, what was it that broke again?
21:30:45 <olsner> meh, they're probably wrong whatever it was they were saying
21:32:50 <elliott> hmm, what if there was a blend of come from and goto, where it had to be a two-way link
21:34:06 <olsner> I think many compilers actually will set up the two-way link (in a way) while compiling a gotoful program
21:34:27 <olsner> if it does ssa it'll need to know the come from's
21:34:52 <elliott> yeah, comefrom would be much more civilised if the line in question had to consent to it
21:35:42 -!- sebbu has quit (Ping timeout: 240 seconds).
21:38:31 -!- sebbu has joined.
21:38:32 -!- sebbu has quit (Changing host).
21:38:32 -!- sebbu has joined.
21:41:37 <olsner> and now for some zebra water sports: http://i.imgur.com/q8IYg.png
21:46:39 <olsner> Gregor: maybe you'll know this: do I want pickled herring and schnaps for breakfast on August 27?
21:47:27 <Vorpal> olsner, for *breakfast*
21:47:53 <Phantom_Hoover> Ignore Vorpal, he knows nothing of the wonder of pickled herring and schnapps.
21:48:12 <Vorpal> Phantom_Hoover, have you ever eaten that
21:48:18 <olsner> Vorpal: it'll probably actually be second breakfast though
21:49:10 <Vorpal> olsner, Jag har vissa dubier angående schnappsen.
21:49:45 <Vorpal> du hade inte körkort va?
21:49:47 <olsner> jag har fortfarande inte tagit körkort nej
21:49:53 <olsner> kommer inte ha gjort till dess heller
21:50:00 <Vorpal> olsner, va, det har ju gått flera timmar sedan dess!!
21:50:14 <olsner> sedan slutet av augusti i år? nej, det har inte varit än
21:50:34 <Vorpal> nej jag menar sedan du nämnde det :P
21:51:22 <Vorpal> olsner, okej men jag är absolutist, så jag är fortfarande emot spritintaget. Men beslutar du dig ändå för det så kan jag inte ge några råd om bästa val.
21:51:35 <Vorpal> olsner, varför inte surströmming?
21:53:09 <olsner> Vorpal: dels för att det inte erbjuds, men framförallt för att jag inte vet hur man äter det
21:53:22 <Vorpal> olsner, har du aldrig prövat det?
21:54:04 <Vorpal> olsner, jag önskar eder en god natt.
22:01:30 <Phantom_Hoover> Seriously, if you're going to speak to each other in Swedish, do it in a /msg.
22:01:49 <Phantom_Hoover> It's not very polite to carry out a conversation in front of everyone else that most of us don't understand.
22:01:54 <olsner> Phantom_Hoover: it's all vorpal's fault
22:02:14 <Phantom_Hoover> olsner, yes, of course, but only you can stop Vorpal fire.
22:03:15 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:04:36 -!- Gregor has left ("Leaving").
22:04:40 -!- Gregor has joined.
22:04:53 <olsner> the short summary is that 1) I haven't gotten a drivers license since this morning when it was last discussed 2) august is in the future 3) vorpal is an absolutist and disapproves of consuming alcohol
22:05:46 <Sgeo> I used to be more irritated by alcohol
22:06:22 <olsner> Sgeo: you're not supposed to put it in your eyes
22:08:46 <Gregor> `addquote <Sgeo> I used to be more irritated by alcohol <olsner> Sgeo: you're not supposed to put it in your eyes
22:08:49 <HackEgo> 457) <Sgeo> I used to be more irritated by alcohol <olsner> Sgeo: you're not supposed to put it in your eyes
22:13:13 -!- pikhq has quit (Ping timeout: 240 seconds).
22:13:14 -!- pikhq_ has joined.
22:18:02 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:18:13 -!- pikhq has joined.
22:19:09 <olsner> neat: http://c2.com/cgi/wiki?ValuesOfBetaMayGiveRiseToDom
22:19:37 <olsner> (there's that word again: neat neat neat)
22:23:12 -!- Vorpal has quit (Ping timeout: 250 seconds).
22:32:55 -!- pikhq_ has joined.
22:33:10 -!- pikhq has quit (Ping timeout: 250 seconds).
22:35:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
22:41:03 -!- elliott has quit (Remote host closed the connection).
22:55:33 -!- Behold has joined.
22:56:23 -!- BeholdMyGlory has quit (Ping timeout: 244 seconds).
23:12:25 -!- oerjan has joined.
23:23:41 -!- Patashu has joined.
23:40:44 -!- Behold has quit (Read error: Connection reset by peer).
23:41:04 -!- Behold has joined.
00:18:09 -!- pingveno has quit (Ping timeout: 252 seconds).
00:20:06 -!- pingveno has joined.
00:26:58 -!- FireFly has quit (Quit: swatted to death).
00:27:16 <pikhq_> ftp://ftp-uxsup.csx.cam.ac.uk/pub/bsd/4.4BSD-Lite/usr/src/contrib/emacs-18.57/src/unexec.c
00:31:27 <Patashu> Woah, that link opened in IE
00:32:46 <oerjan> Patashu: how can this be?!!!
00:33:23 <monqy> only IE is rad enough to handle ftp
00:33:51 <oerjan> monqy: well the impressive part was that it actually _showed_ it
00:34:00 <oerjan> rather than insisting on saving
00:36:10 <oerjan> today: Wikipedia showcases its Unicode support
00:42:15 <oerjan> > intercalate ", " $ iterate (curry(++).(show.length&&&take 1).group) "1"
00:42:15 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
00:43:18 <oerjan> > intercalate ", " $ iterate (curry(++).(show.length&&&take 1)<=<group) "1"
00:43:19 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
00:43:36 <oerjan> :t (curry(++).(show.length&&&take 1)<=<group)
00:43:37 <lambdabot> Couldn't match expected type `b -> [a]'
00:43:37 <lambdabot> In the second argument of `(<=<)', namely `group'
00:44:34 <oerjan> :t curry(++).(show.length&&&take 1)
00:44:35 <lambdabot> forall b a. (Monoid b) => [a] -> b -> ((String, [a]), b) -> ((String, [a]), b)
00:45:17 <oerjan> :t (show.length&&&take 1)
00:45:47 <oerjan> > intercalate ", " $ iterate (uncurry(++).(show.length&&&take 1)<=<group) "1"
00:45:48 <lambdabot> "1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131221, 132...
00:46:03 <oerjan> always with the confusing curry and uncurry
00:47:33 <lambdabot> forall a b c. (a -> b -> c) -> (a, b) -> c
00:47:47 <oerjan> uncurry (++) ("a","b")
00:47:52 <oerjan> > uncurry (++) ("a","b")
00:48:15 <oerjan> from a function which takes two arguments, it makes one which takes a tuple instead
00:48:33 <oerjan> and curry is the reverse
00:51:09 <oerjan> It is named for (Haskell B.) Curry, who didn't actually invent it (someone named Schönfinkel did iirc.)
00:52:00 <oerjan> but it is originally a way for simulating multiple argument functions in lambda calculus, which only has single-argument ones.
00:52:48 <oerjan> the haskell language picked the idea, so _its_ multiple argument functions are actually already curried, so you use uncurry when you want tuples instead
00:56:07 <oerjan> oh and i guess my example above mixes that with how haskell does operators: (++) in parentheses is a (curried) function with two arguments
00:57:04 <oerjan> while putting operators infix is just syntactic sugar for applying their function to the arguments on each side
00:57:31 -!- pikhq_ has quit (Ping timeout: 240 seconds).
00:57:49 -!- pikhq has joined.
00:58:33 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Char)
00:58:41 <lambdabot> Couldn't match expected type `GHC.Types.Char'
00:58:47 <oerjan> oh and lambdabot has some funky types for some functions
00:59:04 <Patashu> ++ is for two lists : is to add one component
00:59:09 <oerjan> _usually_, (++) is just for lists, but lambdabot makes it a synonym for mappend for monoids
00:59:21 <oerjan> which is a generalization
00:59:26 <lambdabot> forall a b. (a -> b) -> [a] -> [b]
00:59:52 <monqy> (I was expecting it to be a synonym of fmap)
00:59:55 <oerjan> i _thought_ they'd also made map a synonym for fmap, but i must have misremembered
01:00:06 <lambdabot> Couldn't match expected type `[a]'
01:00:06 <lambdabot> against inferred type `Data.Mayb...
01:00:14 <lambdabot> forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b
01:00:35 <lambdabot> forall a b c. (a -> b -> c) -> b -> a -> c
01:01:57 <pikhq> 18:50 <@dalias> you should see how awesome musl's dynamic is
01:01:57 <pikhq> 18:51 <@dalias> if the program only uses libc.so and no other .so's
01:01:57 <pikhq> 18:51 <@dalias> the difference in # of syscalls at startup for dynamic vs static is _ZERO_
01:03:31 <pikhq> Also, regarding unexec. I found out what they use that for.
01:03:41 <oerjan> EVIL purposes, obviously
01:04:10 <pikhq> Their build system builds a "temacs" program. This is essentially a full emacs. temacs is then told to load the Emacs standard library, and then unexec itself.
01:04:25 <pikhq> The unexec'd binary is the final emacs binary.
01:04:28 <oerjan> > intercalate ", " $ iterate (liftM2(++)(show.length)(take 1)<=<group) "1"
01:04:30 <lambdabot> "1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131221, 132...
01:04:45 <pikhq> That is to say, they have a specialiser *for the final binary*.
01:05:06 <pikhq> They are fucking specialising binaries.
01:05:09 <pikhq> And that scares me.
01:05:33 <pikhq> Patashu: ftp://ftp-uxsup.csx.cam.ac.uk/pub/bsd/4.4BSD-Lite/usr/src/contrib/emacs-18.57/src/unexec.c is an old one that I linked earlier.
01:05:38 <monqy> the one that opened in IE
01:05:45 <oerjan> Patashu: needs parentheses
01:05:53 <lambdabot> forall b (m :: * -> *) c a. (Monad m) => (b -> m c) -> (a -> m b) -> a -> m c
01:06:10 <pikhq> "Frightening", more like.
01:06:31 <pikhq> It's a binary specialiser.
01:06:58 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
01:06:59 <pikhq> You could probably pull off the projections of Futamura with it.
01:07:26 <oerjan> iirc (g <=< f) x = g =<< f x
01:08:19 <Patashu> > group [1, 2, 1, 1, 3, 1, 2, 2]
01:08:25 <Patashu> it's sequential not global
01:08:28 <oerjan> for lists above, it's just a way to get the functions to left to apply to each element of the result of group, then concatenate the results
01:08:35 <Patashu> and then you take the length and take 1 of each group
01:08:40 <Patashu> and concatenate it all together
01:10:16 <oerjan> and those uncurry with &&& and liftM2 are just two different ways of combining the result of applying two different functions
01:10:52 <lambdabot> liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) }
01:10:54 <oerjan> > uncurry f . (g &&& h) $ x :: Expr
01:10:55 <lambdabot> Ambiguous type variable `a' in the constraints:
01:11:36 <oerjan> > uncurry f $ ((g &&& h) x :: Expr) :: Expr
01:11:37 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
01:11:53 <oerjan> > uncurry f $ ((g &&& h) x :: (Expr, Expr)) :: Expr
01:12:22 <oerjan> those overloaded Expr things require a bit awkward type annotation
01:13:12 <oerjan> > liftM2 f (g :: Expr -> Expr) (h :: Expr -> Expr) x :: Expr
01:13:22 <oerjan> that uses the (e ->) monad
01:14:09 <oerjan> which threads an extra common argument through all its actions (which are functions)
01:14:56 <Patashu> I don't understand how liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) } leads to 'm1 and m2 use the same x rather than different ones'
01:15:13 <oerjan> @undo do { x1 <- m1; x2 <- m2; return (f x1 x2) }
01:15:13 <lambdabot> m1 >>= \ x1 -> m2 >>= \ x2 -> return (f x1 x2)
01:15:29 <oerjan> that's the next step, syntactic sugar
01:15:58 <Patashu> shouldn't it be something like liftM2 f m1 m2 x = do { x1 <- m1 x; x2 <- m2 x; return (f x1 x2) }
01:16:05 <oerjan> Patashu: that's specific for the (e ->) Monad, that it gives the same argument to all its subactions
01:16:27 <lambdabot> Source not found. And you call yourself a Rocket Scientist!
01:17:12 * oerjan can never remember the required order or parentheses for @src :)
01:17:58 <oerjan> that's the definition used for the >>= method/operator when its first argument is a function
01:18:35 <lambdabot> Source not found. BOB says: You seem to have forgotten your passwd, enter another!
01:18:40 <lambdabot> (>>=) :: forall a b. m a -> (a -> m b) -> m b
01:18:40 <lambdabot> (>>) :: forall a b. m a -> m b -> m b
01:18:57 <lambdabot> Source not found. Your mind just hasn't been the same since the electro-shock, has it?
01:19:05 <oerjan> those are defined specifically for each Monad instance
01:19:18 <oerjan> Patashu: \ starts a lambda expression
01:20:54 <oerjan> that one has a default definition
01:20:55 <Patashu> so for >>=. You take a monad data, a function that goes from that data to monad data, then it's applied to the data inside. but shouldn't return be m a -> a since it's unboxing?
01:21:25 <oerjan> no it's actually "boxing" iiu what you mean
01:21:56 <Patashu> what's the one for unboxing then?
01:22:23 <oerjan> there is none, because each Monad has its own way for how to access its members, if any
01:22:24 <pikhq> Patashu: No such function.
01:22:45 <pikhq> Patashu: If the Monad in question wants you to be able to do that, it will provide such a function.
01:22:55 <pikhq> Typically of form "runFoo".
01:23:00 <oerjan> of course some exist, but e.g. the one for IO is considered evil to use ;D
01:23:30 <pikhq> Yeah, unsafePerformIO is that function for IO, and obviously, it's unsafe and a bad idea most times.
01:23:40 <Patashu> > fail "some error" :: [Int]
01:24:06 <monqy> fail is kind of disappointing
01:24:19 <oerjan> this also has a default, but it's frequently overruled
01:24:23 <lambdabot> throw exception = raise# exception
01:24:28 <lambdabot> Source not found. Maybe you made a typo?
01:24:32 <lambdabot> Source not found. That's something I cannot allow to happen.
01:24:38 <Patashu> dang I thought it'd go forever
01:24:43 <oerjan> Patashu raise# looks like it may be a primitive function
01:25:08 <oerjan> Patashu: also you are lucky you got that far, @src lacks a lot of sources
01:25:42 <oerjan> obviously everything from throw on is somewhat specific to ghc
01:25:52 <oerjan> error is in the haskell standard
01:26:24 <oerjan> (throw may also be in some other compilers, i don't know. but ghc rules supreme these days, anyhow)
01:26:55 <lambdabot> Source not found. Your mind just hasn't been the same since the electro-shock, has it?
01:27:02 <lambdabot> Control.Exception ErrorCall :: String -> ErrorCall
01:27:02 <lambdabot> Control.OldException ErrorCall :: String -> Exception
01:27:03 <lambdabot> Not in scope: data constructor `ErrorCall'
01:27:27 <oerjan> hoogle is the thing for looking up functions
01:27:28 <lambdabot> Not in scope: data constructor `Exception'
01:27:32 <lambdabot> Control.Exception class (Typeable e, Show e) => Exception e
01:27:32 <lambdabot> Control.OldException data Exception
01:27:46 <lambdabot> Control.Category id :: Category cat => cat a a
01:27:46 <lambdabot> Control.Arrow returnA :: Arrow a => a b b
01:28:02 <oerjan> Patashu: they rewrote the Exception system so Exception is a class now
01:28:14 <lambdabot> Source not found. That's something I cannot allow to happen.
01:28:17 <lambdabot> <no location info>: parse error on input `|'
01:28:21 <pikhq> _|_ is only used when talking about Haskell, not in Haskell.
01:28:34 <Patashu> but it's funny because (_|_)
01:28:43 <monqy> is undefined something wacky like forall a. a
01:28:47 <oerjan> :t undefined -- this is one kind of _|_
01:29:27 <oerjan> Patashu: forall means that the expression has that type for _all_ types a substituted into it
01:29:48 <oerjan> so undefined has any type, whatsoever
01:30:18 <lambdabot> undefined = error "Prelude.undefined"
01:30:56 <oerjan> (actually that's not quite true i suspect, there are also "unboxed" and "unlifted" types which tend to only be usable in some places)
01:31:36 <pikhq> oerjan: Yeah, "forall" is part of the extension for those, IIRC.
01:33:08 <pikhq> Erm, no, my brain is being stupid.
01:34:05 <oerjan> but basically, only lifted, boxed types (i.e. the usual ones) can be substituted into polymorphic functions
01:34:49 <Patashu> you know how there are functions that are essentially equivalent for lists, functors and monads? would it be worth making them substitute for each other?
01:35:13 <oerjan> Patashu: yes. everyone thinks so.
01:35:47 <oerjan> it requires some major rewamping of the type class system to avoid large amounts of rewriting code, though.
01:36:12 <Patashu> would it be -hard-, though?
01:36:32 <oerjan> Patashu: there exists a proposal for doing it, called class aliases iirc
01:37:08 <oerjan> i vaguely recall there is some drawback with that too, though
01:37:43 <oerjan> as of now, if you define a new Monad, all you need to do is to defined the >>= and return methods
01:38:33 <oerjan> but as the class system _currently_ works, if you made Monad a subclass of Functor and Applicative (as it "should" be) then you would have to define the methods for those separately as well
01:38:54 <oerjan> and it would break old code which didn't do that
01:39:33 <oerjan> so the class alias system among other things allows classes to contain defaults for each other, unlike now when each must be written separately
01:39:48 <oerjan> *must have their instances written
01:40:01 <oerjan> hopefully someone will implement it eventually
01:40:34 <Patashu> there's no overloading in haskell is there?
01:40:59 <oerjan> it's rather stupid to have map, fmap, <$>, liftM
01:40:59 <monqy> overloading works via typeclasses
01:41:19 <Patashu> I was about to say 'why not just make map work on lists or functors or monads' but nope
01:41:58 <Patashu> why not just use `fmap` then
01:42:07 <oerjan> Patashu: it can work on functors too, in fact it did before Haskell 98 revision, when fmap = map
01:42:33 <monqy> what did haskell 98 do
01:42:35 <oerjan> Patashu: <$> fits rather well into the Applicative style with <*> etc.
01:42:55 <oerjan> it separated map from fmap, making map work just for lists.
01:43:44 <oerjan> and some other things, i think fail was added then and is also considered a wart
01:43:55 <Patashu> could you have some kind of compile time macro thing? like detecting map function monad transforms it into liftM function monad
01:44:51 <Patashu> well obviously the former will fail
01:44:55 <Patashu> and the latter does what you want
01:45:04 <Patashu> like when google says 'Did you mean ___?'
01:45:22 <monqy> all real monads are functors too
01:45:43 <oerjan> > (+) <$> [1,2] <*> [10,20]
01:46:07 <oerjan> > liftM2 (+) [1,2] [10,20]
01:46:33 <lambdabot> liftM3 f m1 m2 m3 = do { x1 <- m1; x2 <- m2; x3 <- m3; return (f x1 x2 x3) }
01:46:40 <lambdabot> liftM4 f m1 m2 m3 m4 = do { x1 <- m1; x2 <- m2; x3 <- m3; x4 <- m4; return (f x1 x2 x3 x4) }
01:46:44 <lambdabot> Source not found. Your mind just hasn't been the same since the electro-shock, has it?
01:46:50 <Patashu> it was good while it lasted
01:47:31 <oerjan> Patashu: <$> and <*> work with arbitrarily many, anyway
01:47:37 <monqy> also, on the concern that making Monad a subclass of Functor would require defining an instance of Functor, would it be too ugly to, in applicable cases, define an overridable default instance?
01:47:56 <monqy> e.g. for a Functor instance of a Monad, fmap f = (>>= return . f)
01:48:07 <monqy> or something like that
01:48:11 <lambdabot> Source not found. Where did you learn to type?
01:48:17 <monqy> I just confused myself
01:48:29 <oerjan> monqy: no, i think that's precisely what's suggested. it's just that current haskell doesn't support defaults for superclass methods
01:48:32 <lambdabot> class Functor f => Applicative f where
01:49:49 <monqy> pure is analogous to return, (<*>) is analogous to ap
01:49:59 <Patashu> (+) <$> [1,2] <*> [10,20] becomes <*> ( fmap (+) [1,2] ) ( [10,20] )
01:50:05 <oerjan> yeah those would obviously be unified as well
01:50:38 <Patashu> I think it'd be useful to me to have a list of functions/operators that are essentially identical
01:50:42 <oerjan> Patashu: needs parens around the <*>
01:50:54 <Patashu> > (<*>) ( fmap (+) [1,2] ) ( [10,20] )
01:50:56 <monqy> and of Monoid, MonadPlus, Alternative?
01:51:03 <monqy> is there another I forget
01:51:05 <lambdabot> Source not found. Are you on drugs?
01:51:13 <monqy> soemthing for Arrows? ArrowChoice?
01:51:13 <lambdabot> Source not found. Just what do you think you're doing Dave?
01:51:17 <lambdabot> class Applicative f => Alternative f where
01:51:24 <lambdabot> Source not found. BOB says: You seem to have forgotten your passwd, enter another!
01:51:28 <oerjan> Patashu: i once looked through Control.Monad, and the majority of functions in it would work just as well as Applicative
01:51:51 <Patashu> lots of reinventing the wheel I see
01:52:24 <monqy> > Just 5 <|> Nothing
01:52:32 <monqy> > Nothing <|> Just 5
01:52:36 <monqy> > Just 2 <|> Just 5
01:52:39 <oerjan> Patashu: it's not so much reinventing as just copying, i think. Applicative/Alternative are younger, while Monad/MonadPlus are in the standard and so cannot be easily changed
01:53:26 <monqy> > Just 2 ++ Just 5
01:53:27 <lambdabot> Ambiguous type variable `t' in the constraints:
01:53:54 <lambdabot> forall m. (Monoid m) => m -> m -> m
01:54:00 <oerjan> Just should have a monoid instance, i think
01:54:09 <oerjan> monqy: yeah it's one of lambdabot's funky types
01:54:43 <oerjan> > Just 2 ++ Just 5 :: Maybe Int
01:54:44 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
01:54:45 <monqy> multiple monoid instances for Maybe?
01:54:54 <oerjan> nah, maybe just is missing
01:55:15 * oerjan realizes that sentence was hideously ambiguous in context :P
01:57:10 <oerjan> Patashu: <|> is somewhat like an or/choice operator, yeah. although it depends on the Monad how many choices you get.
01:57:30 <oerjan> (Maybe has just one spot)
01:58:16 <oerjan> Parsec also uses <|> for parsing choices
01:59:07 -!- ralc has quit (Remote host closed the connection).
02:00:02 <oerjan> also when you mention things like Monoid/Alternative/MonadPlus, things get trickier since the first of them is for types without any type arguments. i vaguely recall class aliases supposedly have troubles with multiparameter type classes as well
02:01:47 <oerjan> i mean, the haskell class system definitely doesn't support class (Monoid (a t), Applicative a) => Alternative a where ...
02:02:03 <oerjan> you'd want that to hold automatically for _all_ t
02:03:23 <oerjan> i guess there are a lot of issues when you try to find a general fix for this kind of problem
02:04:46 <Patashu> so the cross product points perpendicular to two vectors (right handedly normally) and has magnitude absin(theta), theta being the angle subtended by a and b. maxes out at 90 degrees, minimizes at 0 or 180 degrees. the dot product is found by multiplying each dimension's value together and the magnitude is mag(a)*mag(b)*cos(theta), theta again being the angle subtended
02:05:40 <Patashu> I'm just trying to sort these out in my head
02:06:12 <pikhq> Yes, those are properties of both of the vector products.
02:06:26 <Patashu> never learned them but apparently they're useful and all that
02:06:29 <pikhq> Piss-poor definitions, but valid properties.
02:09:13 <oerjan> also, the cross product only works in dimensions 0,1,3 and 7 :P
02:09:39 <pikhq> oerjan: It works in 7?
02:10:17 <oerjan> supposedly because of the existence of real numbers, complex numbers, quaternions and octonions respectively
02:11:07 <oerjan> (the ones in 0 and 1 are trivially zero, anyway, because nothing can be perpendicular)
02:14:24 -!- Behold has quit (Remote host closed the connection).
02:14:27 <CakeProphet> couldn't you apply the same principle to the second dimension? or am I missing something?
02:15:13 <Patashu> I was thinking that. cross product of a real number -> an imaginary number, same magnitude?
02:16:20 <oerjan> well you want parallel vectors to have cross product 0, no? :P
02:16:39 <oerjan> and all real numbers are parallel
02:17:32 <oerjan> and presumably you want non-parallel ones not to have 0, which i guess ruins the second dimension somehow
02:18:06 <oerjan> oh and it should be linear in each vector, naturally
02:18:17 <Patashu> so how does it work for 0 and 1 then
02:18:33 <oerjan> Patashu: since everything is parallel, just make all cross products 0
02:18:53 <Patashu> and that way you don't have to worry
02:19:19 <oerjan> and myndzi\ streaks by again
02:21:04 <oerjan> yeah those are two hands
02:21:27 <oerjan> and also needs a little indentation
02:22:15 <oerjan> looks like myndzi\ does a bit of throttling
02:24:19 <oerjan> > filterM(const[False,True])"abcd" -- have we had this one yet
02:24:20 <lambdabot> ["","d","c","cd","b","bd","bc","bcd","a","ad","ac","acd","ab","abd","abc","...
02:24:40 <Sgeo> Huh, just found my old Astrology book
02:25:34 <monqy> of what use is an astrology book
02:25:50 <Sgeo> Part 5 is some stuff about other things
02:26:15 <Patashu> that's the power set, right?
02:26:17 <Sgeo> "Tarot, palmistry, and numerology are three of those ways-- and they're all connected with astrology."
02:26:48 <monqy> numerology will always make think vortex based mathematics
02:28:11 <lambdabot> Source not found. And you call yourself a Rocket Scientist!
02:28:58 <lambdabot> Try --help for command line options
02:29:10 <lambdabot> Control.Monad filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
02:29:10 <lambdabot> Data.Graph.Inductive.Query.Monad graphFilterM :: GraphM m gr => (Context a b -> Bool) -> GT m (gr a b) [Context a b]
02:30:04 <oerjan> Patashu: http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Control-Monad.html#filterM
02:30:30 <oerjan> (the hoogle website has source links)
02:32:07 -!- foocraft has joined.
03:02:11 <Sgeo> "Of course, we can't answer the larger question about believing /everything/ you read in the papers. You might want to take some of the things /other/ than your daily forecast with a grain of salt."
03:02:55 <Sgeo> Oh, hm, I kind of took that out of context
03:10:20 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
03:11:37 -!- augur has changed nick to Oscar__.
03:11:46 -!- Oscar__ has changed nick to augur.
03:26:44 -!- F has joined.
03:31:28 -!- copumpkin has joined.
03:42:34 -!- azaq23 has quit (Read error: Operation timed out).
03:46:38 -!- CakeProphet has quit (Quit: Lost terminal).
03:47:07 -!- CakeProphet has joined.
04:01:04 -!- azaq23 has joined.
04:04:59 -!- Sgeo has quit (Ping timeout: 246 seconds).
04:05:07 -!- yorick has quit (Ping timeout: 252 seconds).
04:07:03 -!- yorick has joined.
04:10:14 -!- Sgeo has joined.
04:10:16 <CakeProphet> I think I'm 500 pages away or so from being up to date on homestuck
04:15:41 -!- foocraft has quit (Quit: I'm falling...UPRIGHT! http://www.youtube.com/watch?v=WCF_mHKBH3k).
04:25:04 -!- pikhq_ has joined.
04:28:12 -!- pikhq has quit (Ping timeout: 276 seconds).
04:28:22 <Gregor> Haha gold standard people.
05:11:46 * pikhq_ has the fairly obvious realisation that his tests for compiler features do not work for cross-compilation.
05:12:10 <Gregor> Yes, that is a common problem.
05:14:00 <pikhq_> So now I'm wondering how best to test preprocessor defines without actually executing my built executable.
05:14:45 <pikhq_> Hmm. Probably #if !defined(foo)\n#error "no foo"#endif
05:15:45 <Gregor> #error is actually unportable :)
05:15:52 <Gregor> Just anything that's not valid C on the error side.
05:16:26 <Gregor> (Note: by "#error is actually unportable" I mean "there exist compilers which do not understand #error, and so error out on it regardless of where it appears in the code")
05:17:08 <Gregor> Wanna know a great trick to figure out the word size (or size of any builtin type) without executing code? :)
05:17:48 <pikhq_> I'm implementing tests on an as-needed basis. ATM, all I have tests for is C99 and libraries.
05:18:11 <pikhq_> Though, because I listened to elliott, it's really quite easy to add tests...
05:18:52 <Gregor> So wanna help me figure out why fastjit-tests segfaults in GGGGC-evil mode? >_>
05:19:07 <pikhq_> No, I'd rather defeat autotools. :P
05:19:49 <pikhq_> Admittedly, I'm depending on Tcl instead of shell, but that's really not a very objectionable dependency.
05:20:16 <pikhq_> Given that I can probably get Jim (a smallish but full-featured Tcl interpreter) to build on anything that builds C.
05:20:22 <Gregor> Patashu: It adds a canary to the object header, performs a GC at every yield point, always clears out old-space memory, and goes into two-space copying collector mode to assure that no object will every stay in the same location after a collection.
05:20:58 <Gregor> Patashu: Not if the code is correct ...
05:21:28 <Gregor> Patashu: It's a good indicator since it's easy to have bugs in a GC that are non-obvious since you just happened to never collect at the wrong time.
05:22:47 <pikhq_> Gregor: BTW, I'm actually not *hyper* concerned with handling broken systems here.
05:22:58 <pikhq_> Gregor: My check for C99 consists of checking __STDC_VERSION__.
05:23:42 <pikhq_> I'm pretty much assuming a system that doesn't provide a modicum of C89 semantics is fundamentally broken.
05:23:44 <Gregor> Not supporting systems which are strictly wrong is different from not supporting systems which are right but old/obscure/unusual *shrugs*
05:25:10 <pikhq_> Yeah, but an extreme number of Autoconf checks are actually checks for broken systems.
05:25:35 <Gregor> But that's why step one to using autoconf is to run autoreconf, then disregard its result.
05:26:24 <pikhq_> Yeah, autoscan alone has probably wasted centuries of CPU time.
05:30:16 <pikhq_> Oh, yeah, and I am *really* not going to be thinking about the pain and agony that is libraries needing other libraries in static linking. Unlike Autoconf, which still has a lot of logic for it.
05:31:08 <pikhq_> Or Libtool, which *is* the logic for it.
05:31:42 <pikhq_> If you want it to work right, write a pkg-config file; I reject the idea of making a 10 billion line shell script that does everything related to libraries that your toolchain can do anyways.
05:35:48 <pikhq_> Especially its idea of library dependencies.
05:36:18 <pikhq_> It does not understand the *idea* of a shared library already having its dependencies recorded.
05:37:19 -!- azaq23 has quit (Quit: Leaving.).
05:41:18 -!- wareya has quit (Read error: Connection reset by peer).
05:42:43 -!- pizearke has quit (Ping timeout: 240 seconds).
05:43:02 -!- pizearke has joined.
05:52:02 -!- wareya has joined.
05:54:41 <pikhq_> -Wl,--as-needed would be much less needed if it weren't for libtool.
05:56:01 -!- Sgeo has quit (Ping timeout: 255 seconds).
05:58:52 -!- Patashu has quit (Ping timeout: 260 seconds).
06:05:37 -!- pikhq has joined.
06:09:09 -!- pikhq_ has quit (Ping timeout: 276 seconds).
06:16:58 <pikhq> http://web.archive.org/web/19961119053443/http://www.tmbg.com/ That is a *surprisingly* inoffensive mid-90s site.
06:18:53 -!- Sgeo has joined.
06:25:45 * pikhq cannot *fathom* why autoconf has sizeof checks, anyways.
06:29:38 <pikhq> Are there any times where you would want to know sizeof(foo) outside of compilation that aren't absolutely revolting?
06:32:30 <monqy> I can't even think of absolutely revolting reasons
06:33:47 -!- Sgeo has quit (Read error: Connection reset by peer).
06:34:03 <pikhq> I *suppose* you might want it in a preprocessor check?
06:34:18 -!- Sgeo has joined.
06:35:03 <pikhq> Though I can't fathom why limits.h wouldn't suffice.
06:35:09 <monqy> now I can only think of absolutely revolting reasons yes
06:40:13 <pikhq> http://www.gnu.org/software/autoconf/manual/html_node/Particular-Types.html#Particular-Types Why, it's a giant list of pointless checks!
06:49:45 <Gregor> 'In Swedish, Norwegian and Danish, gift means "poison" but also "married".'
06:50:36 <pikhq> Even better. Swedish, Norwegian, Danish, German, and English "gift" are cognate.
06:53:14 <Gregor> Yeah, I'm reading this on the Wikipedia "False friends" page.
07:07:47 <pikhq> alloca is not in any consistent place.
07:08:46 <pikhq> Admittedly, with C99 it's ceased to be necessary.
07:10:42 <Deewiant> It seems to be in stdlib.h quite often
07:11:35 <pikhq> It exists in: stdlib.h, alloca.h, malloc.h, as __builtin_alloca, as __alloca.
07:17:40 <pikhq> GTK+'s use of pkg-config is wrong.
07:17:52 <pikhq> Requires: gdk-${target}-2.0 atk cairo gdk-pixbuf-2.0 gio-2.0 pangoft2
07:19:30 <pikhq> Unless it's part of your library's public ABI, it's not in "Requires:".
07:21:07 -!- oerjan has quit (Quit: leaving).
07:22:50 <Deewiant> Windows's CRT has _alloca FWIW
07:23:57 <pikhq> Yeah, and it defines alloca in "malloc.h".
07:25:23 -!- clog has quit (Ping timeout: 240 seconds).
07:42:45 -!- pikhq_ has joined.
07:43:12 -!- pikhq has quit (Ping timeout: 276 seconds).
07:52:40 <augur> sometimes i feel europe is where civilization really is
07:52:49 <augur> and the US is just some pathetic attempt at civilization
07:53:17 <augur> then i browse the web and see pics of europe and am certain of it.
07:55:37 <olsner> pikhq_: alloca doesn't even consistently *exist*
08:05:33 -!- monqy has quit (Quit: hello).
08:10:09 <pikhq_> olsner: Hence why it doesn't exist in a consistent place.
08:41:38 -!- pizearke has quit (Quit: Leaving.).
08:43:11 -!- pikhq_ has quit (Ping timeout: 252 seconds).
08:43:17 -!- pikhq has joined.
08:45:06 -!- pizearke has joined.
09:03:22 -!- MigoMipo has joined.
09:05:30 -!- oklofok has quit.
09:13:03 -!- pikhq has quit (Ping timeout: 240 seconds).
09:13:14 -!- pikhq has joined.
09:18:29 -!- BeholdMyGlory has joined.
09:22:38 -!- pizearke has quit (Remote host closed the connection).
09:36:46 -!- clog has joined.
09:50:04 -!- choochter has joined.
09:53:55 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:03:19 -!- Behold has joined.
10:04:22 -!- BeholdMyGlory has quit (Ping timeout: 264 seconds).
10:42:52 -!- FireFly has joined.
10:43:48 -!- sebbu2 has joined.
10:43:49 -!- sebbu2 has quit (Changing host).
10:43:49 -!- sebbu2 has joined.
10:47:05 -!- sebbu has quit (Ping timeout: 240 seconds).
11:27:32 -!- choochter has quit (Read error: Connection reset by peer).
11:27:43 -!- choochter has joined.
11:39:40 -!- Miss_ has joined.
11:40:59 <CakeProphet> so I think it would be interesting to have a programming competition in which programs logged into a MUD-like server, and issued commands to interact with one another in a competition of some kind.
11:41:15 -!- Vorpal has joined.
11:41:17 -!- Patashu has joined.
11:41:34 <CakeProphet> it would be interesting if there were teams, as opposed to the usual 1v1 setup
11:44:51 <Miss_> My friend hate me ;(
11:46:14 <CakeProphet> Do you, uh, want to create an esoteric programming language about that?
11:47:17 <Miss_> Sorry i don't speak english
11:47:48 <CakeProphet> well, that could be a problem. But so far I haven't noticed.
11:49:27 <augur> what is this :"o you're doing
11:50:42 <augur> are you a saudi girl in the us or something?
11:51:20 <augur> and you're on the internet? crazy.
11:51:43 <augur> isnt it vaguely illegal for you to be talking to men on the internet?
11:52:30 <augur> well, you should be careful then
11:52:36 <augur> cause most people on irc are men
11:52:45 <augur> oh hey, that rhymed AND had the same line length
11:53:14 <augur> Miss_: yes.. we figured
11:56:27 <CakeProphet> if you can configure your IRC client to use a proxy, or can even understand what I'm saying right now. Who knows.
12:00:51 <augur> obviously she's a fan of Michael Bay's cinematic achievements
12:01:54 <augur> his work on the Transformers movies, with their stark color contrasts emblematic of desert environments, and their hard mechanical overlords, are obvious parallels to her experiences in the arid country of saudi arabia, with its US-military-industrial-complex-funded monarchy that oppresses women
12:02:03 <augur> how could you not see this, CakeProphet?
12:03:31 -!- pikhq_ has joined.
12:03:48 -!- pikhq has quit (Ping timeout: 258 seconds).
12:04:13 -!- Phantom_Hoover has joined.
12:17:12 <Miss_> I would like to speak english , i tried it and i try
12:17:48 <Miss_> Forgive me and fogive me
12:21:59 -!- Miss_ has left.
12:25:16 <augur> its a work of art, isnt it
12:31:46 <augur> im a master at bullshit
12:32:07 <CakeProphet> damnit why is lambdabot so difficult to install.
12:35:03 <Patashu> to increase your ties to #esoteric
12:46:10 -!- Cheery has joined.
12:47:32 -!- CakeProphet has quit (Read error: Operation timed out).
12:50:36 -!- CakeProphet has joined.
12:50:36 -!- CakeProphet has quit (Changing host).
12:50:36 -!- CakeProphet has joined.
13:37:26 -!- nooga has joined.
13:49:42 -!- ais523 has joined.
13:50:11 -!- MigoMipo has joined.
14:00:55 -!- ais523 has set topic: [...] Rule 2: You do /NOT/ talk about Rule 1. | Join ##verybadattitude for more intellectual discussions | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
14:17:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:45:05 -!- copumpkin has joined.
14:46:35 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
15:01:27 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:19:30 -!- wareya has quit (Quit: Lost terminal).
15:20:37 -!- mtve has quit (Ping timeout: 260 seconds).
15:20:54 -!- Slereah has quit (Ping timeout: 252 seconds).
15:21:44 -!- Slereah has joined.
15:22:00 -!- SimonRC has quit (Ping timeout: 252 seconds).
15:22:42 -!- mtve has joined.
15:22:57 -!- FireFly has quit (Ping timeout: 260 seconds).
15:23:07 -!- SimonRC has joined.
15:23:50 -!- F has quit (Ping timeout: 252 seconds).
15:24:49 -!- F has joined.
15:25:21 -!- FireFly has joined.
15:47:51 -!- CakeProphet has quit (Ping timeout: 240 seconds).
16:23:08 -!- pikhq_ has quit (Ping timeout: 246 seconds).
16:23:19 -!- pikhq has joined.
16:26:33 -!- SimonRC has quit (Ping timeout: 260 seconds).
16:28:10 -!- SimonRC has joined.
16:32:41 -!- TOGoS has joined.
16:32:49 -!- TOGoS has left.
16:37:17 <tswett> <opentag name="opentag"><argument name="name" value="opentag" /></opentag><emptytag name="argument"><argument name="name" value="name"><argument name="value" value="opentag"></emptytag><closetag name="opentag" /><opentag name="emptytag">...
16:52:19 <ais523> tswett: trying to write an XML quine? wouldn't it have to be infinitely long?
16:53:19 <Sgeo> What about XSLT?
16:53:24 <Sgeo> Or is it XLST?
16:53:58 <tswett> Yes, I'm writing an infinite XML quine.
16:56:56 -!- monqy has joined.
16:57:36 <tswett> {"type": "object", "contents": [{"type": "string", "value": "type"}, {"type": "string", "value": "objects"}, {"type": "string", "value": "contents"}, {"type": "array", "contents": ["type": "object", "contents": [{"type":...
17:00:17 <tswett> Apply (Constructor "Apply") [Apply (Constructor "Constructor") [String "Apply"], List [Apply (Apply (Constructor "Constructor") [String "Constructor"]) [List [Apply (Constructor "String") (String "Apply")]], Apply...
17:01:03 <tswett> It couldn't be too hard to figure out exactly how efficient each of these encodings is.
17:01:38 <tswett> LISP has them all beat, with an efficiency of 1:
17:01:53 <tswett> (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote...
17:03:25 <ais523> now I vaguely want to see how that would work with Java reflection
17:03:29 <Sgeo> What was that Apply and Constructor thing supposed to be? Haskell?
17:03:32 <ais523> but I'm worried that the result might make me go insane
17:03:48 <tswett> JavaScript reflection is much less insanity-causing, no?
17:06:17 -!- ralc has joined.
17:08:31 <Lymia> What would an Python infinitely long quine look like?
17:08:41 <Lymia> I imagine you could do something with print"print...
17:08:46 <tswett> Lymia: very similar to that JSON one, I imagine.
17:08:55 <tswett> I mean, these aren't really quines; these are self-describing data structures.
17:09:00 <Lymia> But I don't want to try and figure out an equation for \s
17:09:15 <Lymia> (How many \s to put in each string)
17:09:21 <Lymia> I imagine it'd grow quite fast.
17:12:11 -!- pumafyre has joined.
17:33:03 <twice11> pikhq: The reason autoconf offers sizeof tests is that you might want to have something like int32_t on a system without stdint.h
17:33:56 <twice11> As "#if sizeof(int) == 4" does not work (the preprocessor can't evaluate sizeof), I don't see a way how to find out which type(s) has/have 32 bits during compilation.
17:34:27 <twice11> And yes, I *do* know about CHAR_BIT and sizeof reporting in that unit...
17:34:49 <Gregor> pikhq didn't take me up on my offer of the clever trick for testing that :)
17:34:59 <ais523> amusingly, it manages to work out sizes of variables even during cross-compiling
17:35:00 <Gregor> (Yes, it is testable at compile-time)
17:35:19 <ais523> the way it does it, is to declare arrays which would have negative sizes or positive sizes depending on if the size of the time is above a certain boundary
17:35:23 <ais523> then binary-searches on compile errors
17:35:44 <Gregor> Daaaaaaaamn, ais523's got it :
17:35:47 -!- aloril has quit (Ping timeout: 250 seconds).
17:35:55 <Gregor> The other way is to make switch statements with sizeof cases.
17:36:09 <ais523> Gregor: wouldn't that just cause warnings, rather than errors?
17:36:12 <ais523> I didn't come up with it myself, anyway
17:36:17 <ais523> I got that from autoconf source
17:36:23 <ais523> which I have spent probably too much time reading
17:36:33 <Gregor> ais523: switch (argc) { case sizeof(int): case 4: } /* error if sizeof(int) == 4, no error otherwise */
17:36:36 <twice11> duplicate case statements should be errors.
17:36:52 <ais523> although less than/greater than is much faster than equal-to
17:37:18 <ais523> I know I wrote my own autoconf test to see if a particular function was declared by yacc's generated output (to see if I needed to call it)
17:37:19 <pikhq> Gregor: I do know the trick, actually.
17:37:35 <ais523> and the way I did that was to declare it myself with a completely insane type signature (full of things like function pointers to doubles)
17:37:42 <ais523> to see if it errored out on the incompatible redeclaration
17:37:52 <ais523> if it didn't, I assumed it didn't exist, so I didn't try to call it
17:38:06 <pikhq> Gregor: sizeof(foo) ? -1 : 1; yay.
17:38:38 <pikhq> twice11: I have no intent to support systems that lie about C99 support, and little intent to support systems without C99 support.
17:39:06 <pikhq> The standard's a decade old, support it. I refuse to IE6 it.
17:39:14 <twice11> pikhq: If you rely on C99, you can ignore most of autoconf.
17:39:41 <ais523> pikhq: how many systems with working C99 support do you have access to?
17:39:45 <twice11> The remaining problems are solved at least as well by simple things like pkg-config
17:39:49 <ais523> note that gcc's support is broken, and MSVC doesn't even try
17:39:51 <pikhq> s/If you rely on C99, /
17:40:28 <pikhq> ais523: What's broken about GCC's support?
17:40:40 <twice11> gcc's C99 support is good enough for most general-use projects, even if it is lacking in some areas.
17:40:49 <ais523> I think there's a famous screwup with inline
17:40:57 <ais523> where C99 inline = gcc static inline, C99 static inline = gcc inline
17:41:01 <ais523> but I can never remember the details
17:41:08 <ais523> and apparently gcc refuses to change for compatibility reasons, or something
17:41:15 <ais523> (I can't even remember the difference between the two anyway)
17:41:57 <twice11> One of them is an error if included in multiple translation units, IIRC.
17:42:42 <pikhq> ais523: Strange, I thought it *had* implementation of C99 semantics on that, but only if you used -std=c99.
17:43:00 <ais523> ah, that might make sense
17:43:04 <ais523> there are various other things, let me find the list
17:43:13 <pikhq> ais523: With the compatibility one being enabled by -std=c89, std=gnu89, -fgnu89-line, or attribute((gnu_inline)).
17:43:41 <pikhq> Sorry, no on the std=c89.
17:43:46 <pikhq> Invalid keyword. ;)
17:44:12 <ais523> here we go: http://gcc.gnu.org/c99status.html
17:44:23 <ais523> ah, I remember something that caught me out earlier
17:44:27 * twice11 just googled for "c99status"...
17:44:41 <ais523> when I was trying to write a\u00e8 or something like that as a variable name
17:44:44 <ais523> and gcc didn't even parse it correctly
17:45:01 <twice11> Is that "extended identifiers"?
17:45:13 <ais523> that list's actually more complete than last I looked
17:45:18 <ais523> so it seems they're working on it
17:45:18 <pikhq> Looks like a handful of compiler edge cases, and a giant swath of things required of the libc.
17:47:08 <pikhq> Edge cases can be tested for if need be. But I am *not* going to do things like implement a bunch of checks just to see if libc is not 40 years old.
17:47:31 <pikhq> (admittedly, you shouldn't *use* those checks in autoconf, but people do. *sigh*)
17:47:40 <ais523> pikhq: I do, because I can
17:48:01 <pikhq> ais523: How do you handle the test failing?
17:48:05 -!- aloril has joined.
17:48:14 <ais523> hmm, perhaps you're targeting "libraries generally supported by POSIXy systems, and the bits of C99 that are widely implemented"
17:48:25 <ais523> pikhq: normally by #defining to somethign dangerous but equivalent
17:48:42 <pikhq> Oh, so you actually have an alternative to the feature you're testing?
17:48:47 <ais523> e.g. C-INTERCAL uses sprintf if snprintf doesn't exist, and removes all uses of "const" from the program if the compiler doesn't support it
17:48:54 <pikhq> Congrats, you're using autoconf right!
17:49:53 <pikhq> Which, sadly, is a *major* achievement.
17:50:06 <ais523> obviously testing for things and then ignoring the resulting info is pointless
17:50:13 <ais523> I think C-INTERCAL did that before I started working on it
17:50:19 <ais523> and I've been through about three build systems since
17:50:24 <pikhq> Yeah, that's how most people use autoconf.
17:50:34 <twice11> There should be more info about using autoconf correctly.
17:50:44 <pikhq> twice11: The documentation sucks eggs.
17:51:03 <pikhq> Well, it tells you *very* well what each test does and how to use them.
17:51:19 <pikhq> It does not tell you at all why you're doing any of them.
17:51:31 <pikhq> Making it a gigantic cargo cult.
17:51:43 <ais523> once you know what you're using autoconf for, the documentation is quite good at letting you know how to use it to do that
17:52:07 <ais523> the issue with autoconf is people using it because "autoconf is good" or whatever, without thinking to work out what they actually need it for
17:52:21 <twice11> And don't let us get started on libtool. It seems to mostly work, but for the sake of your sanity, *DON'T* *LOOK* *INSIDE*!
17:52:21 <ais523> e.g. I don't check triplets in autoconf code as it's incredibly rare that that information is useful, but all sorts of stuff does
17:52:28 <ais523> (possibly exception: you're writing a compiler targeting native code)
17:53:10 <Gregor> Special fun: Compile GMP with target none-elf :P
17:53:50 * twice11 knows that the problem libtool (tries to) solve(s) is not trivial at all, though. I not gonna claim I can do better.
17:54:09 <ais523> I'm having trouble visualising what that even means
17:54:20 <pikhq> I can do better than libtool. Step one is to admit that the problem libtool tries to solve is not a relevant problem.
17:54:56 <Gregor> ais523: "none" is its special target for disabling all ASM code, and it ignores the rest of the triple but they still have to get through config.guess, so it has to be semivaild.
17:55:24 <twice11> If you decide you don't need to support dynamic libraries on any system having something remotely like that, of course it will get easier.
17:55:43 <twice11> And I won't question any decision like that.
17:55:57 <pikhq> twice11: If you decide you don't need to handle static library dependencies on any system, actually.
17:56:07 <Vorpal> hm is there any power of two that is also a power of 10?
17:56:32 <ais523> that's easy enough to prove by prime factorisation
17:56:34 <pikhq> *That* is the majority of the logic in libtool. Making static libraries have dependency information.
17:56:37 <twice11> All other powers of 10 have the prime factor 5
17:56:37 <Vorpal> ais523, wait 10^1 != 2^1
17:56:44 <ais523> Vorpal: 10^0 = 2^0 = 1
17:57:41 <pikhq> Problem is, a) if that's all you want, pkg-config has it covered b) libtool does it by installing .la files, which *only works if you're using the full autoconf stack, anyways*.
17:57:44 <twice11> Dependency info on static libs should be straight-forward, isn't it?
17:58:11 <Vorpal> pikhq, pkg-config is way newer than libtool
17:58:31 <pikhq> Oh, and c) it does this by just recording a single dependencies variable, which is actually WRONG on systems with dynamic linking.
17:58:53 <ais523> la is a very common typo for me, into sh
17:59:07 <ais523> it's an invalid command, but the name looks like it has something to do with dynamic library linking
17:59:08 <twice11> Of course, mixing dependency info in .la and .pc (one half of libs using only .la and the other half using only .pc) is not gonny fly.
17:59:33 <pikhq> twice11: Having dependency info in .la is fundamentally broken on most systems.
17:59:54 <twice11> I think debian has some hacks around that.
18:00:08 <pikhq> Most of the distros do. Do you know what that hack *is*?
18:01:26 <pikhq> Also, it's a bit more than just static library dependency information. It makes it so you can pretend you have a dynamic linker everywhere.
18:01:40 <pikhq> libtool also has logic for emulating dlopen, with ltdl.
18:02:08 <twice11> rm *.la is not going to work for the libtool abstraction layer of "I link just to libfoo.la, and that works, no matter whether the library is called foo.dll, libfoo.so.1, libfoo.dylib or libfoo.a", but -lfoo does that as well on most sufficiently modern unix systems.
18:02:47 <pikhq> twice11: They only keep .la files around for packages where the .la file is actually read.
18:02:47 <twice11> Libtool could have the advantage of automatically adding dependencies *only* if it happens to choose a static library.
18:03:05 -!- puma has joined.
18:03:20 <pikhq> Yes, guess what pkg-config handles right?
18:04:14 <pikhq> And, actually, I think the only .la files floating around on my system are for users of ltdl.
18:04:23 <twice11> But IIRC this also was not in the first version of pkg-config.
18:05:05 -!- pumafyre has quit (Quit: Ex-Chat).
18:05:15 <twice11> I happen to have a lot of .la files here, like /usr/lib/libSDL.la
18:05:28 <Vorpal> $ ls /usr/lib/*.la | wc -l
18:05:49 <pikhq> Strange, I'm on wheezy too.
18:05:50 <pikhq> $ ls /usr/lib/*.la | wc -l
18:06:07 <Vorpal> pikhq, different set of packages
18:06:10 <pikhq> $ ls /usr/lib/*.so | wc -l
18:06:22 <pikhq> $ ls /usr/lib/pkgconfig/* | wc -l
18:06:27 <Vorpal> $ ls /usr/lib/*.so | wc -l
18:06:44 <Vorpal> $ ls /usr/lib/pkgconfig/* | wc -l
18:07:03 <Vorpal> I definitely have sdl's -dev installed
18:07:21 <pikhq> Anyways. The only feature of libtool that's still *useful* is abstracting the creation of dynamic libraries.
18:07:22 <twice11> Note that dependency_libs is empty in debian's libSDL.la
18:07:46 -!- puma has quit (Quit: -a-).
18:07:47 <twice11> I think that's debians hack - clearing that variable.
18:07:48 <pikhq> And that is a much easier task.
18:08:29 <twice11> Vorpal: Debian folks know that.
18:08:30 -!- puma has joined.
18:09:00 -!- puma has quit (Client Quit).
18:09:05 <twice11> But they still decided that for their purpose, it's the solution with the best effort/use ratio.
18:09:06 <pikhq> Vorpal: Eh, libtool static linking is broken unless you're using libtool, and people usually only use libtool if they're making a dynamic library.
18:09:52 <Gregor> Debian: Literally always right.
18:09:58 <pikhq> That one single "feature" of libtool really does not work.
18:10:53 * twice11 keeps wondering that autoconf goes really great lengths about supporting cross-compile environments, but having no support for HOSTCC/CC_FOR_BUILD in autoconf/automake (i.e. you have to do that by hand).
18:11:18 * twice11 is sorry about messed-up grammar in the last sentence.
18:12:08 <twice11> The compiler that compiles programs that can be executed on the system you are currently building on is traditionally called HOSTCC, and the GNU people call it CC_FOR_BUILD.
18:12:53 <twice11> The GNU people have a slightly shifted view of their terms for the architectures involved in cross-compiling, as they are too much fixed on compilers.
18:13:31 <twice11> For "normal" people, there is the "host" system where you compile your program on, and the "target" system where the program will run on.
18:13:32 <Vorpal> twice11, their terminology makes sense when doing a canadian cross
18:14:03 <ais523> twice11: the way autoconf doesn't do it is annoying, and the way gcc does it is really stupid
18:14:17 <ais523> C-INTERCAL deals with the problem by generating two configure scripts and getting one to call the other
18:15:13 <ais523> Vorpal: basically by writing huge sections of configure by hand rather than getting autoconf to generate them
18:15:23 <ais523> plus some other stuff too that I couldn't follow because I was too stunned by the previous reason
18:15:32 -!- pumafyre has joined.
18:16:08 <twice11> For gcc people thinking about gcc, of course it makes sense to call the system gcc runs on "host" and the system gcc will produce software for "target", so a gcc with a certain set of "host" and "target" can be used in a compilation process involving "host" and "target" as normal people define it.
18:16:53 -!- pumafyre has quit (Client Quit).
18:17:09 <twice11> Now for the canadian cross (three parties involved: You build a compiler on system $A, which runs on $B, producing executables that run on $C), you need three names.
18:17:19 -!- pumafyre has joined.
18:17:58 <twice11> As I explained, compiler-centric people choose B==host, C==target, and need to invent something for A. GNU decided to call A "build".
18:18:32 -!- pumafyre has quit (Client Quit).
18:18:40 <twice11> OTOH, when you *don't* compile a compiler, there *is* no C, and thus no "target" in GNU speak.
18:18:52 <twice11> And "host" will be the opposite of what you expect.
18:19:17 <pikhq> Yeah, the terminology for autoconf cross-compiling is quite confusing.
18:19:32 <twice11> This is why GNU people don't you "HOSTCC" as variable name - and this shows Linus is not a GNU guru.
18:19:34 <pikhq> I'm pretty sure that the terminology was invented for GCC, and brought to autoconf, though.
18:19:56 <twice11> Yeah, hysterical reasins, I guess, too.
18:20:18 <pikhq> I think it pretty clear Linus has no regard for autoconf.
18:20:21 <twice11> More likely, developed autoconf alongside gcc.
18:20:50 <pikhq> The Linux build system is custom built with GNU Make.
18:21:04 <twice11> So they always have "how do we do this for gcc" in mind when they work on autoconf...
18:21:14 <twice11> pikhq: I know. And it uses HOSTCC...
18:21:20 <pikhq> And probably the best example of custom-built make out there, TBH.
18:21:39 <pikhq> "Best" in the sense of "actually good", not "best-known".
18:22:06 <Vorpal> pikhq, well busybox and uclibc uses it too
18:22:37 <Vorpal> pikhq, how do you go about using it for yourself
18:22:44 <Vorpal> I mean which files do you extract
18:23:40 <pikhq> Vorpal: Makefile, most of scripts/
18:24:01 <Vorpal> pikhq, part of Makefile is kernel specific, like make modules
18:24:57 <pikhq> Vorpal: Yeah, and it's easy to remove those.
18:25:06 <pikhq> $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
18:25:19 <pikhq> That's the command for modules.
18:25:39 <pikhq> For quieting a command.
18:25:52 <pikhq> Remember, it has verbose and silent building.
18:26:17 <Vorpal> pikhq, where is the sources to make menuconfig/xconfig/gconfig
18:28:51 <pikhq> Also, if you want a Tup/kconfig thing, then git://gittup.org/kconfig.git
18:33:53 <pikhq> Wow. Prostitution is legal in Canada. It is illegal to do just about any form of public notice for prostitution, and illegal to live off of the income gained thereby.
18:34:19 <Sgeo> illegal to live off the income?
18:34:30 <Vorpal> pikhq, not as weird as Sweden. Being a prostitute is legal, but buying those services are not
18:34:34 <pikhq> Sgeo: As in, "have it as your main or primary source of income".
18:34:36 <twice11> So someone may sell his body, excepts if he/she needs to to buy food?
18:34:49 <Sgeo> Hmm, maybe to make sure that it's not something people feel presured to do?
18:35:03 <Gregor> So you have to whore on the side :P
18:35:19 <twice11> That's kind of strange, and definitely for the reason Sgeo mentioned.
18:35:50 <pikhq> Sgeo: Except that the whole *issue* with desperate people going into prostitution is that it not being a ordinarily regulated industry makes it so that people only do it if they are desperate.
18:37:00 <Sgeo> But if there are legal prostitutes, then the unregulated illegal prositutes probably won't get much business
18:37:26 <Sgeo> Or is the legal prostitution not regulated, o.O?
18:37:35 <pikhq> Sgeo: It's "legal".
18:37:51 <pikhq> You can't be employed as a prostitute.
18:37:52 <twice11> In Germany, prostitution is legalized, but it didn't really turn out to help the whores.
18:38:06 <pikhq> twice11: What sort of regulations did they do on it?
18:38:30 <pikhq> It's something that *really* needs regulations to prevent exploitation.
18:38:58 <twice11> I don't know the details, but the idea was prostitution to be a regular job so you pay taxes and get social insurance.
18:39:54 <twice11> Exploiting people ("Zuhälterei", kind of "being a pimp") is still illegal, as it always was.
18:45:18 <pikhq> How's about we just solve poverty?
18:45:24 <pikhq> Suddenly, desperation goes away!
18:46:10 <Gregor> But then there are no whores :(
18:46:43 <pikhq> Gregor: There will, no doubt, still be people who want to fuck for $.
18:46:55 <pikhq> Just not people doing it because they have no other options.
18:51:38 <pikhq> (see: Japanese porn industry. Many of their porn stars are also non-porn actors)
18:52:13 <pikhq> (and filthy stinking rich after not-too-long)
18:56:53 -!- CakeProphet has joined.
18:56:53 -!- CakeProphet has quit (Changing host).
18:56:54 -!- CakeProphet has joined.
18:57:03 -!- wareya has joined.
19:11:12 -!- pumafyre_ has joined.
19:12:58 -!- pumafyre_ has quit (Client Quit).
19:15:20 -!- pumarain has joined.
19:16:48 <pikhq> Singapore is labelled as a developing country.
19:16:57 <pikhq> As is South Korea.
19:17:11 <pikhq> South Korea is about as developed as Japan.
19:17:24 <pikhq> I.E. "from the fucking future".
19:17:53 <pikhq> And Qatar. The richest country.
19:18:01 -!- pumarain has quit (Client Quit).
19:30:49 -!- ais523 has quit (Read error: Connection reset by peer).
20:10:17 -!- azaq23 has joined.
20:16:27 -!- atrapado has joined.
20:16:44 -!- nooga has quit (Ping timeout: 240 seconds).
20:30:50 -!- copumpkin has changed nick to dependentpumpkin.
20:34:04 -!- dependentpumpkin has changed nick to copumpkin.
21:00:03 <Gregor> Yesterday to be unhelpful I set the helptext for "opera" in ##javascript to "La donna mobile, qual piuma al vento, muta d'accento, e di pensiero!"
21:00:13 <Gregor> But the first time I set it I typo'd "piuma" to "puma"
21:00:39 <Gregor> Which, as it turns out, changes the original meaning, "Women are fickle, like a feather in the wind" to the much-more-descriptive "Women are fickle, like a puma in the wind"
21:03:05 <pikhq> That is an astounding typo, and I didn't realise you had any competence in what looks to be Italian.
21:03:55 <pikhq> Or that you've memorised an Italian saying, as it may turn out to be. :P
21:04:53 <Gregor> I just know the first lyrics to La Donna Mobile :P
21:05:02 <Gregor> Which probably isn't supposed to be capitalized in Italian.
21:05:46 <pikhq> Yeah, capital casing is a somewhat Germanic convention, deriving from how nouns are capitalised in Germanic languages (except English, which lost that two or three hundred years ago)
21:07:11 <pikhq> Well, it's more an English-specific convention, but following patterns from other Germanic languages.
21:09:43 <Gregor> Anyway, the point is that I was unhelpfully setting the "opera" word to actual opera, when of course people expected the browser since this is ##javascript
21:10:09 <Gregor> Also, women are fickle like a puma in the wind.
21:10:27 <pikhq> Oh, duh, I *should* have caught that that was obviously an opera. My brain is not always coöperative, though. Alas.
21:13:01 -!- CakeProphet has quit (Ping timeout: 244 seconds).
21:14:30 -!- CakeProphet has joined.
21:14:39 -!- CakeProphet has quit (Changing host).
21:14:39 -!- CakeProphet has joined.
21:24:10 -!- CakeProphet has quit (Ping timeout: 240 seconds).
21:36:43 -!- Cheery has quit (Ping timeout: 276 seconds).
21:40:12 -!- pumarain has joined.
21:41:37 -!- pumarain has quit (Client Quit).
22:05:03 <pikhq> It occurs to me that as an entirely unintended side effect, it is exceptionally easy to do custom rules in my build system.
22:05:07 <pikhq> Write a Tupfile outside of the objs directory.
22:16:08 -!- CakeProphet has joined.
22:16:08 -!- CakeProphet has quit (Changing host).
22:16:08 -!- CakeProphet has joined.
22:21:07 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:26:39 -!- zzo38 has joined.
22:27:42 <zzo38> 403 (No such channel).
22:29:53 <zzo38> Finally I reduced "Success" to 21 bytes of Unlambda. Three hours later, someone else also figure it out.
22:30:02 <zzo38> But is there a way to shorten it even more?
22:33:03 -!- pumarain has joined.
22:34:24 -!- pumarain has quit (Client Quit).
22:35:01 <zzo38> I found some information about LLVM with C. It says apparently you have to use a C++ linker even if it is a C code
22:36:07 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
22:36:19 <pikhq> 99% chance they're full of shit.
22:37:29 <pikhq> What the fuck it only produces static libraries?
22:37:42 <pikhq> Okay, yeah, you do need -lc++.
22:38:11 <pikhq> No, wait, there it is.
22:38:17 <pikhq> zzo38: Yeah, they're full of shit.
22:38:51 <zzo38> Then how do I *properly* use LLVM with C?
22:40:21 -!- Vorpal has joined.
22:43:44 -!- jix has quit (Ping timeout: 240 seconds).
22:43:48 -!- jix has joined.
22:49:07 -!- jix has quit (Remote host closed the connection).
22:49:14 -!- jix has joined.
22:49:40 <pikhq> *Gaaah*, they don't use pkg-config, but their library name is libLLVM-Major.Minor.so
22:50:16 <pikhq> Yes, that's right, they make it impossible to link against LLVM generically.
22:51:12 <pikhq> zzo38: Give up, they don't *want* you to use it.
22:52:18 -!- wareya has quit (Read error: Connection reset by peer).
22:53:16 -!- wareya has joined.
22:59:47 <pikhq> Oh, wait, llvm-config.
23:00:20 <pikhq> Fuck people not using pkg-config.
23:01:55 <pikhq> ... Debian, in their infinite wisdom, has decided to rename llvm-config to llvm-config-major.minor
23:02:07 <pikhq> STOP DEFEATING THE POINT
23:05:32 -!- atrapado has quit (Quit: FIN).
23:07:37 <pikhq> You may think you're being clever by allowing multiple LLVM version to be installed at once, but you're not.
23:07:59 <pikhq> You're just shitting on reasonable expectations.
23:09:32 <pikhq> Expectations like "I can actually check for a library foo that install foo-config using foo-config".
23:12:41 -!- Patashu has joined.
23:21:32 <zzo38> pikhq: They don't *want* me to use it? What is this?
23:22:10 -!- pikhq_ has joined.
23:22:44 <zzo38> pikhq_: They don't *want* me to use it? What is this?
23:23:37 <zzo38> What is the point of LLVM if nobody can use it?
23:23:42 -!- oerjan has joined.
23:23:50 -!- pikhq has quit (Ping timeout: 246 seconds).
23:23:52 -!- zzo38 has quit (Quit: Not time now).
23:24:00 <pikhq_> zzo38: I dunno. It's just OUCH
23:28:35 <oerjan> <pikhq> Yeah, capital casing is a somewhat Germanic convention, deriving from how nouns are capitalised in Germanic languages (except English, which lost that two or three hundred years ago)
23:29:00 <oerjan> also except Norwegian, Danish and Swedish, at least
23:29:34 <oerjan> i thought it was a german (no -ic) thing. i'm not sure about dutch.
23:29:45 <pikhq_> oerjan: Yeah, I looked around and it's apparently only been done in some West Germanic languages.
23:30:19 <pikhq_> Modern practice in German, historical practice in Dutch and English...
23:30:49 <oerjan> <zzo38> Finally I reduced "Success" to 21 bytes of Unlambda. Three hours later, someone else also figure it out.
23:30:57 <oerjan> ...why the heck did he _just_ leave
23:31:35 <oerjan> hm 21 seems only slightly shorter than the obvious solution
23:32:04 <oerjan> !unlambda ```````.s.s.e.c.c.u.Si
23:32:43 <oerjan> !unlambda ```````.S.u.c.c.e.s.si
23:34:47 -!- Adamfyre_ has joined.
23:36:22 -!- Wamanuz2 has joined.
23:36:31 -!- ralc has quit (Quit: Leaving).
23:36:59 -!- Sgeo_ has joined.
23:37:17 -!- teuchter has joined.
23:37:30 -!- Sgeo has quit (Read error: Connection reset by peer).
23:42:49 <oerjan> <tswett> Apply (Constructor "Apply") [Apply (Constructor "Constructor") [String "Apply"], List [Apply (Apply (Constructor "Constructor") [String "Constructor"]) [List [Apply (Constructor "String") (String "Apply")]], Apply...
23:44:28 <Patashu> Constructor/String/Apply/List, "Apply"/"Construtor"/"String"...
23:44:31 <oerjan> hm or its server is, i cannot get to it
23:45:17 <oerjan> Patashu: i don't know about any of them, may they're in Language.Haskell, haskell's self-parsing library
23:45:43 -!- Adamfyre_ has quit (Quit: leaving).
23:45:48 <oerjan> but the result of fix show is much shorter
23:46:15 <oerjan> i said lambdabot was sick
23:46:24 <oerjan> also that doesn't type, i think
23:46:34 <oerjan> doubtful, /whois lambdabot lambdabot doesn't answer
23:47:47 <oerjan> !haskell take 100 $ Data.Function.fix show
23:47:51 <EgoBot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
23:48:19 <oerjan> !haskell :t Data.Function.fix
23:48:22 <EgoBot> Data.Function.fix :: (a -> a) -> a
23:48:38 <Patashu> why does it look like... that
23:48:45 <oerjan> Patashu: that string is an infinite quine in haskell :)
23:49:20 <oerjan> first of all, fix show is equivalent to show (show (show (show (show ...
23:49:44 <oerjan> show returns a string, so each show there also applies to a string
23:50:04 -!- Sgeo_ has left ("Leaving").
23:50:08 -!- Sgeo_ has joined.
23:50:23 <Lymia> !haskell Data.Function.fix show
23:50:28 <oerjan> show turns a string into "string" with anything escaped inside as necessary
23:50:38 <oerjan> Lymia: i used take 100 for a reason
23:50:38 <EgoBot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
23:50:54 <oerjan> ...when did that start working :O
23:50:55 <Sgeo_> Dear XChat: As a matter of fact, I am not actually disconnected from any servers, so stop saying that I am.
23:51:39 <oerjan> !underload ((test )S:^):^
23:52:34 <oerjan> !haskell scanl1 (*) [1..]
23:53:41 -!- choochter has quit (*.net *.split).
23:53:41 -!- Wamanuz has quit (*.net *.split).
23:53:42 -!- lambdabot has quit (*.net *.split).
23:53:42 <oerjan> Gregor: how the heck did EgoBot manage to respond to !haskell Data.Function.fix show when it usually fails on any infinite output line?
23:53:48 <oerjan> and still does for the other tests
23:54:23 <EgoBot> show :: (Show a) => a -> String
23:55:14 <oerjan> Patashu: show is haskell's basic function for creating a printable/parseable representation of a value. on strings, it puts " around and escapes what's necessary inside
23:55:44 <oerjan> crucially, for strings it is lazy enough to return the initial " _without_ looking at the actual string passed first
23:56:11 -!- pizearke has joined.
23:56:15 <oerjan> which means it is lazy enough to get going when you apply fix to it
23:57:33 <oerjan> first there's ", then there's \" which is a " escaped, then there's \\\" which is _that_ escaped, and so on
23:59:44 -!- hagb4rd has joined.
23:59:46 <Patashu> It's infinitely nested strings
00:00:39 -!- sebbu2 has quit (Read error: Connection reset by peer).
00:01:08 -!- sebbu has joined.
00:02:00 <oerjan> the number of \'s between each " goes as 2^n-1
00:02:00 <oerjan> !haskell :t Data.Function.fix (concatMap show)
00:02:02 <EgoBot> Data.Function.fix (concatMap show) :: [Char]
00:02:28 <oerjan> that one _should_ have done something similar, characterwise
00:02:42 -!- comex has quit (Excess Flood).
00:02:59 <oerjan> but it doesn't... because show on a Char isn't lazy enough to give the initial ' without looking at the character first...
00:03:16 <oerjan> but if we cheat a bit we can see what that should have looked like
00:03:35 -!- sebbu has quit (Changing host).
00:03:35 -!- sebbu has joined.
00:03:35 <Gregor> !sh while true; do echo -n y; done
00:03:58 <oerjan> !haskell take 100 $ Data.Function.fix (('\'':).tail.concatMap show)
00:04:01 <EgoBot> "'\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\''"
00:04:13 <Gregor> Probably something to do with how it outputs that.
00:04:15 <oerjan> !haskell putStrLn . take 100 $ Data.Function.fix (('\'':).tail.concatMap show)
00:04:16 <EgoBot> '\'''\\''\'''\'''\'''\\''\\''\'''\'''\\''\'''\'''\'''\\''\'''\'''\'''\\''\'''\'''\'''\\''\\''\'''\''
00:04:20 -!- hagb4rd has quit (Ping timeout: 255 seconds).
00:04:25 <Gregor> It might happen to work if it flushes.
00:04:30 -!- hagb4rd has joined.
00:04:46 <Lymia> !haskell Data.Function.fix (('\'':).tail.concatMap show)
00:04:59 <EgoBot> "'\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\
00:05:03 <oerjan> Gregor: weird that it would flush better with that than with an infinite list. maybe it also has something to do with speed of printing...
00:05:27 <oerjan> maybe it normally times out before getting far enought that ghc needs to flush
00:06:03 <oerjan> !haskell Data.Function.fix ('a':)
00:06:21 -!- comex has joined.
00:06:47 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
00:07:19 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
00:07:27 <EgoBot> Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor hello id jethro kraut lperl lsh map num ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg
00:08:23 <oerjan> Vorpal: netsplat a moment ago, after not responding for a while
00:11:47 -!- Vorpal has quit (Ping timeout: 246 seconds).
00:11:48 -!- hagb4rd has quit (Ping timeout: 255 seconds).
00:12:19 -!- hagb4rd has joined.
00:15:17 <Lymia> !haskell Data.Function.fix (\x -> "LOOK BEHIND YOU " + x)
00:15:44 <Lymia> !haskell Data.Function.fix (\x -> "LOOK BEHIND YOU " ++ x)
00:16:38 <Lymia> !haskell Data.Function.fix show
00:16:53 <EgoBot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00:18:30 <oerjan> maybe it on the contrary works because fix show is _slow_...
00:19:11 <oerjan> !haskell Data.Function.fix ("\\\""++)
00:19:40 <oerjan> or maybe EgoBot just likes Lymia.
00:20:10 * hagb4rd chekcs his codepage configuration
00:20:17 <Lymia> !haskell Data.Function.fix (\x -> show $ "LOOK BEHIND YOU " ++ x)
00:20:31 <EgoBot> "\"LOOK BEHIND YOU \\\"LOOK BEHIND YOU \\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00:21:04 <oerjan> i'm wondering if there may be some kind of balance... it needs to print enough, and _then_ time out?
00:22:27 <hagb4rd> would be kool to see just the parts with high information density
00:22:27 <oerjan> !haskell "testing... " ++ Data.Function.fix id
00:22:30 <EgoBot> *** Exception: stack overflow
00:23:17 <oerjan> Gregor: it seems EgoBot then went on to try running it as a _module_ afterwards...
00:27:05 -!- augur has quit (Remote host closed the connection).
00:37:08 -!- CakeProphet has quit (Ping timeout: 260 seconds).
00:38:59 -!- CakeProphet has joined.
00:39:00 -!- CakeProphet has quit (Changing host).
00:39:00 -!- CakeProphet has joined.
00:48:06 -!- yorick has quit (Ping timeout: 240 seconds).
00:48:24 -!- yorick has joined.
00:48:49 -!- augur has joined.
00:49:21 -!- copumpkin has quit (Read error: Connection reset by peer).
01:03:09 * pikhq_ looks for good compile-time undefined behavior
01:03:26 -!- FireFly has quit (Quit: swatted to death).
01:22:12 -!- lambdabot has joined.
01:30:11 -!- oerjan has quit (Quit: leaving).
01:38:34 -!- elliott has joined.
02:03:48 -!- copumpkin has joined.
02:08:14 -!- pizearke has quit (Quit: quuiiiitttt!).
02:08:33 -!- pizearke has joined.
02:54:37 <tswett> elliott: you're male most of the time, right?
02:54:57 -!- Adamfyre has joined.
02:55:40 <elliott> tswett: That's... a technically true statement :P
02:56:55 <tswett> So, my question is true.
02:57:25 <tswett> Does that mean that it's a good, precise question, whose answer is likely to enlighten rather than confuse?
02:57:38 <elliott> This sure is a conversation.
03:00:47 -!- Adamfyre has quit (Quit: AndroidIrc Disconnecting).
03:06:16 -!- sebbu has quit (Read error: Connection reset by peer).
03:06:44 -!- sebbu has joined.
03:11:57 -!- zzo38 has joined.
03:30:38 -!- pikhq has joined.
03:34:07 -!- pikhq_ has quit (Ping timeout: 260 seconds).
03:34:35 <elliott> tswett: You're just OUCH most of the time, right?
03:40:36 -!- azaq231 has joined.
03:41:04 -!- azaq23 has quit (Ping timeout: 246 seconds).
03:46:31 -!- piz2 has joined.
03:50:13 -!- pizearke has quit (Ping timeout: 240 seconds).
03:51:11 -!- CakeProphet has quit (Ping timeout: 264 seconds).
03:54:27 -!- oerjan has joined.
03:58:31 <oerjan> !unlambda `````.S``c.u.c.e.s.s
03:58:32 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.32133: parse error
03:58:58 <oerjan> !unlambda ````.S``c.u.c.e.s.s
03:59:46 <oerjan> !unlambda ``````c`.S.u.c.e.s.si
04:00:07 <oerjan> zzo38: was that your solution too?
04:01:29 <oerjan> !unlambda `````c`.S.u.c``c.e.si
04:01:30 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.32431: parse error
04:01:48 <oerjan> !unlambda ````c`.S.u.c``c.e.si
04:02:25 <elliott> What are you trying to do, BTW?
04:02:51 <oerjan> zzo38 mentioned he'd got this golf down to 21 in unlambda
04:03:07 <zzo38> oerjan: That was not quite my solution but it was similar to that
04:04:22 <oerjan> !unlambda ``````c`c`.S.u.c.e.si
04:04:22 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.32699: parse error
04:04:26 <oerjan> !unlambda `````c`c`.S.u.c.e.si
04:06:39 <oerjan> zzo38: oh wait there should be a . at the end?
04:08:27 <oerjan> !unlambda ```c```c`.S.u.c.e.si
04:08:56 <zzo38> Post to anarchy golf if you did it good.
04:09:33 <oerjan> i will. what's the open code-statistics?
04:10:24 <zzo38> I always like to select that option. It means it tells you how many binary/alphanumeric/symbols
04:11:01 <zzo38> (Look below, under the "Statistics" column for the summary of solutions, that is what those numbers means.)
04:11:09 <oerjan> yay my first golf submission (afair)
04:14:51 <oerjan> huh someone manage brainfuck in 18 bytes
04:15:08 <augur> what the hell are you doing, oerjan
04:15:18 <zzo38> oerjan: It is a BFI-specific code probably.
04:15:37 <zzo38> It takes advantage of unintentional features in BFI.
04:15:37 <oerjan> augur doesn't know about code golf?
04:16:24 <augur> i mean, i might, but
04:16:35 <elliott> oerjan: btw if you submit with a web browser it appends \r\n I think... or wait, does it strip all whitespace
04:16:38 <oerjan> zzo38: hm it cannot be just ! with input, that would have been shorter
04:16:52 <elliott> I do know that it uses \r\n newlines with the web form though so if you have any newlines file submission is best
04:16:58 <zzo38> (As you can see, it is obviously not a proper brainfuck, since it has 1 binary and 7 letters (the word "Success" is in there)
04:17:02 <oerjan> elliott: erm i used the form, no newlines
04:17:06 <elliott> <oerjan> zzo38: hm it cannot be just ! with input, that would have been shorter
04:17:10 <elliott> bfi allows self-modifying code or something
04:17:18 <zzo38> elliott: Yes it does do that. It does not strip any whitespaces
04:17:28 <elliott> zzo38: but does it append \r\n with the web form?
04:17:35 <elliott> so the web form always costs you two bytes
04:17:48 <zzo38> elliott: Yes it does append \r\n when using the HTML form
04:17:55 <zzo38> elliott: Yes it allows accessing the code-space (and modifying it)
04:18:02 <elliott> oerjan: you should make a file locally and upload it to save two bytes
04:18:15 <zzo38> But it does not append \r\n to the end.
04:18:22 <zzo38> It only converts newlines to \r\n
04:18:32 <elliott> <zzo38> elliott: Yes it does append \r\n when using the HTML form
04:18:46 <zzo38> I know, I made a mistake in the typing sentence
04:18:49 <zzo38> I didn't mean that.
04:18:58 <oerjan> elliott: well it counted it as a winning entry of 20 bytes, so i must have done it right :P
04:18:59 <zzo38> I didn't really say all those things that I said.
04:20:47 <zzo38> Some people said these kind of challenges are bad challenge. Actually they are just much more simple challenge than the other ones; it doesn't make it a bad challenge (as you can see from everything).
04:21:10 <elliott> constant output is a bad challenge
04:21:14 <elliott> constant, trivial output that is
04:21:25 <elliott> because there are exactly two possible types of submission
04:21:34 <elliott> - print it in the shortest normal way in the language (i.e. with the string embedded)
04:21:40 <elliott> - exploit the interpreter/language to have the string built in
04:21:49 <elliott> neither of these are interesting after, like, five billion such challenges
04:22:04 <pikhq> invalid command name "::build::dc::flag_read"
04:22:06 <zzo38> Even the "Zero" challenge I came with a shorter solution in shell script that other people had, at first. And then someone else figure it out afterward.
04:22:19 <oerjan> elliott: ok but it was interesting the first time in unlambda, at least :P
04:22:28 <zzo38> elliott: Yes, I agree they are not as good as other challenges. But I don't call them "bad challenge".
04:22:42 <elliott> because there haven't been many good challenges lately in anagolf at all
04:22:52 <elliott> and the same person kept submitting bad challenges recently
04:22:54 <pikhq> ::groups is the namespace all my building semi-objects are in.
04:23:12 <pikhq> (I seem to have implemented half an object system without even thinking about it)
04:24:34 <zzo38> Can you do "Zero" challenge in five bytes of Bash or fish, or four bytes of Zsh, or five bytes of Zsh with symbol only? Maybe. It is not too difficult to figure out, although it is not the most obvious thing (it should be somewhat obvious once you figure it out, which is not too difficult to do)
04:25:58 <zzo38> Or, in Forth, it is very simple. But in symbol only, it is slightly more difficult? (I used a feature which I think is specific to gforth)
04:27:25 <zzo38> With the "PubSubHubbub" challenge, you probably cannot get any shorter than the obvious literal way in most programming languages, but some might be able to do shorter.
04:30:29 -!- augur has quit (Remote host closed the connection).
04:43:11 -!- pikhq has quit (Ping timeout: 252 seconds).
04:43:16 -!- pikhq has joined.
04:45:02 <zzo38> Do you know any Windows binaries of the C binding of LLVM?
04:46:07 <Gregor> Currently, I'm page 10 on Google's results for "gregor"
04:46:20 <Gregor> Some Mendel jerk is clogging up the works, but there are a few others too.
04:46:44 <Gregor> And this Samsa creature.
04:46:58 <oerjan> Gregor: well that must be a bug
04:48:55 <Gregor> Argh, and of course some AOP guy beats me out if I look for gregor computer science
04:49:26 <Gregor> Heyoooo, #1 for gregor javascript though
04:54:12 <elliott> The worst thing to be first for
04:54:22 <elliott> Like coming first in a Terrible Person competition
04:56:23 -!- augur has joined.
04:57:33 -!- CakeProphet has joined.
04:57:34 -!- CakeProphet has quit (Changing host).
04:57:34 -!- CakeProphet has joined.
05:05:03 <pikhq> elliott: Thought you might like to know that I've got my stuff up on Github.
05:05:07 <pikhq> elliott: https://github.com/pikhq/town
05:07:03 -!- piz2 has quit (Ping timeout: 250 seconds).
05:07:24 <Gregor> Ohhh, so this is to tup sort of as autotools are to make
05:07:51 <pikhq> What did you think I was doing?
05:08:20 <pikhq> If I was doing a full stack, I'd have a reimplementation of tup going. :P
05:10:41 <pikhq> Something that I suspect is going to help me extensively when I get around to it is that my autoconf-alike and automake-alike are the *precise same thing*, thereby eliminating all need for a libtool-alike.
05:11:46 <pikhq> (as I think the *only* justification for libtool now is that Automake is too stupid to allow for outputting different rules based on what Autoconf gets.)
05:12:49 <Gregor> ... automake can output different rules based on autoconf.
05:13:15 <pikhq> Uh, no it can't. Automake runs before ./configure and potentially on a different system.
05:13:51 <Gregor> Automake generates a Makefile.in, not a Makefile, the rules that actually make it into the Makefile can be controlled by configuration.
05:13:57 <pikhq> It can conditionally *execute* rules, but that's not the same thing, now is it?
05:14:26 <pikhq> There are no "rules that actually make it into the Makefile"; ./configure just plugs in values for variables.
05:16:03 <pikhq> That has got to have some *scary* implementation logic.
05:16:26 <pikhq> Okay, what's *really* going to help me is that my stack isn't in M4M4SHM4MakePerl.
05:16:52 <pikhq> And add another "SH" in there if you're using libtool.
05:17:14 <Gregor> How it works btw is that it prefixes every line with either @<condition>_TRUE@ or @<condition>_FALSE@, and I'll bet you can guess what those get set to :)
05:17:40 <pikhq> That is brilliant. Utterly insane, but brilliant.
05:19:26 <pikhq> Another victory for not-M4Make.
05:20:18 <Gregor> I wonder if people would complain if I started writing all my C using M4 macros.
05:26:43 <pikhq> Not that that should stop you; the Bourne shell is written using CPP macros extensively, after all.
05:26:54 <pikhq> (to make it look like FORTRAN, IIRC)
05:28:55 <zzo38> Gregor: I don't particularly thing M4 is good for writing C programs but there is different opinions. It should be possible to invent programming language which M4 works very well as a preprocessor.
05:30:55 <pikhq> zzo38: M4 was designed to be a better C preprocessor.
05:31:42 <pikhq> Though it's pretty generic.
05:32:18 <zzo38> I however don't think it is particularly good for preprocessing C codes, in my opinion.
05:32:31 <pikhq> Oh, sorry, it was meant as a FORTRAN preprocessor. Never mind.
05:33:06 <zzo38> Maybe it is better for that; I don't know much about FORTRAN.
05:56:03 -!- Sgeo_ has changed nick to Sgeo.
06:04:42 -!- hagb4rd has quit (Ping timeout: 250 seconds).
06:09:25 <zzo38> How do I download the LLVM binaries (and header files) for using library with C? I read some things about it and have some idea to make something with it.
06:17:41 <elliott> zzo38: llvm has no binary builds, just compile it yourself
06:17:54 <elliott> pikhq: mind if I offer critiques :D
06:18:01 <pikhq> elliott: Not at all.
06:18:13 <elliott> pikhq: ok well first disclaimer i havent actually really read your code much at all
06:18:29 <elliott> pikhq: in "c needs c99", the winning solver of c99 should take over the c command completely
06:18:40 <elliott> why? because some compilers might use --link-with rather than -l, etc.
06:18:48 <elliott> they need to know everything the program wants from the C compiler
06:18:52 <elliott> and react in a way appropriate to them
06:18:59 <elliott> now, this actually applies to all types of tools
06:19:11 <elliott> and the c you "needs c99" on has nothing to do with the c99 that wins!
06:19:16 <elliott> so I feel like it should actually read "needs c : c99"
06:19:25 <elliott> i.e., I need the command c in my local namespace, that's a c99
06:19:32 <pikhq> elliott: Holy crap you're proposing it be more generic than Autotools. That's frightening.
06:19:43 <elliott> and c99 would be aliased to {c c99} (because many solvers will want to find a C compiler, /then/ see if it supports that standard)
06:19:55 <zzo38> elliott: But I would need to install all sorts of stuff to make it work and compile properly it seems, I want to download the binary
06:19:58 <elliott> pikhq: but I think this model would actually allow it to work, unchanged, for Windows
06:20:12 <pikhq> elliott: True, there is that.
06:20:25 <elliott> pikhq: of course, most C compilers will just defer to the default functions to do things
06:20:30 <zzo38> The download page does list the binaries. But it doesn't seem to be the one I am looking for.
06:20:54 <elliott> pikhq: the library-finder would return {link-with foo} rather than -lfoo, but it'd still have {cflags-ldflags foo bar} from pkg-config, there's no way to avoid that
06:20:59 <elliott> and the compiler would just translate it accordingly
06:21:07 <zzo38> Is "LLVM Binaries for Mingw32/x86" the right one?
06:21:07 <elliott> pikhq: the good thing is, I think this actually simplifies things
06:21:12 <elliott> zzo38: oh, yes, it would be
06:21:20 <elliott> pikhq: because right now the "c" command is kind of... weird and a pain
06:21:55 <zzo38> Do those binaries support the API though?
06:22:04 <elliott> zzo38: download and see :)
06:22:05 <elliott> pikhq: btw, does this generate the same Tupfile for a project no matter what machine you run it on?
06:22:16 <elliott> pikhq: because if so, I think that should be a separate step, like "town init"
06:22:25 <elliott> and then town for the users will only generate the config file
06:22:28 <pikhq> No. It generates a Tupfile only on configuration.
06:22:30 <elliott> which seems... cleaner to me
06:22:36 <elliott> is the Tupfile always the same?
06:22:40 <elliott> I mean, it should be, since it should use @CC@
06:22:54 <elliott> If you don't use the tools correctly you will invent another autohell :)
06:22:55 <pikhq> Because, uh, I didn't make it do that.
06:23:10 <elliott> Go make it do that X-D ...or I will
06:23:15 <elliott> If I can figure out Practical Tcl Coding.
06:23:42 <zzo38> In addition to C99, you might also need to have one for C89, GNU89, GNU99, and the newer draft standards.
06:23:48 <pikhq> My Tcl is probably a bit hard to jump into; I tend to be a bit metaprogramming-crazy about it.
06:23:55 <pikhq> zzo38: Definitely do, it's just unimplemented.
06:24:05 <elliott> zzo38: yeah, thankfully that can go in a separate library
06:24:29 <elliott> (I imagine you'd also have libraries for things like "c needs qt" where listing all the libraries and cflags is a huge pain.)
06:24:55 <pikhq> elliott: Actually, Qt 4 does pkg-config, so it's not that big of a pain.
06:25:04 <elliott> OK, but there's still horrible things :P
06:25:29 <pikhq> c++ needs libs QtGui
06:25:43 <pikhq> Bam, it pulls in Qt.
06:26:03 <elliott> So yeah, what I am saying is: the "foo needs thing-that-actually-specifies-what-foo-is" thing is silly and I was silly for thinking of it.
06:26:41 <elliott> pikhq: Have you got any up-to-date example files?
06:27:07 <pikhq> That dc one is what I've been using to test.
06:27:50 <pikhq> program dc {c needs c99;c needs libs gc;in-directory src/;c sources dc.c error.c main.c stack.c}
06:28:32 <zzo38> And such things as, SDL, X window system, POSIX, audio, libpng, zlib, cross-compiling to different targets, maybe even one for literate programming, etc.
06:28:54 <elliott> c99 sources dc.c error.c main.c stack.c
06:29:07 <elliott> ("needs c : c99" is stupid, it should just define it with the given name of the thing.)
06:29:21 <elliott> pikhq: Ohbtw, does your gcc c99 finder still print out "Searching for c99" itself?
06:29:43 <pikhq> elliott: No, that's in the solve function ATM.
06:29:44 <elliott> Because requirements (what I call things that have solvers for them) should instead just have a "friendly name" associated with them. (in this case, "a C99 compiler")
06:30:00 <elliott> So in this case, c99 would be defined as an alias for {c c99}, which would have friendly name "a C99 compiler".
06:30:34 <pikhq> *Unfortunately*, it's also currently outputting that for cached results.
06:31:03 <elliott> Can it cache to a file? It should be able to cache to a file. Specifically a file in ~/.cache.
06:31:12 <elliott> Why? Because it could find a C99 compiler ONCE and never do it ever again for another project.
06:31:13 -!- azaq231 has quit (Quit: Leaving.).
06:31:21 <elliott> This is what we in the biz call FINALLY CONFIGURE TAKES 0 SECONDS.
06:31:44 <zzo38> And then, maybe delete ~/.cache in case you need to change something, is it?
06:32:03 <elliott> I'd have a "town flush" command to wipe it out or something.
06:33:04 <pikhq> elliott: Uh, the appropriate values for that can change rather *often* based on environment.
06:33:09 <zzo38> Like maybe a file in directory ~/.cache/towncache/* and then you can just delete it using "rm" command
06:33:23 <zzo38> And change the permissions in case you want to tell it not to use the cache.
06:33:24 <pikhq> Which is the reason that Autoconf never has enabled caching by default.
06:33:26 <elliott> pikhq: How often will the appropriate C99 compiler change?
06:33:34 <elliott> pikhq: How often will the appropriate commands to link to Qt change?
06:33:50 <CakeProphet> elliott: any idea why the pl plugin of lambdabot would spam a bunch of assembler messages when I try to cabal install lambdabot?
06:34:00 <pikhq> elliott: I do it fairly often — I tend to test things with multiple compilers.
06:34:28 <elliott> pikhq: Yeah, but that won't affect the AUTOMATIC finding.
06:34:41 <elliott> pikhq: If you want to do that, you have to override it anyway, say with the CC variable, which should invoke special behaviour anyway.
06:34:50 <zzo38> I looked, in fact the LLVM binary file I downloaded seems to be the correct one, it has "include/llvm-c" and "lib/*.a"
06:35:09 <CakeProphet> elliott: not my paste, but it's the exact same problem: http://hpaste.org/46397/lambdabot_install_failure
06:35:17 <pikhq> Also, you seriously overestimate how long this will actually take to execute.
06:35:29 <elliott> pikhq: I'm not, but caching is a good idea /anyway/.
06:35:51 <elliott> pikhq: Be like tup, consider insane scaling; what if the entirety of Chromium was one big Town project?
06:36:05 <elliott> CakeProphet: Ask #haskell?
06:38:13 <pikhq> Rather, I think you seriously misjudge how much time in ./configure comes from its tests and how much come from how it's often *too much shell to fit in cache*.
06:38:38 <elliott> pikhq: I realise it will be practically instant, I'm just saying that if you can cache, you should, especially because it _will_ help in certain cases.
06:40:31 <pikhq> That would probably be a pain without doing a truly naive form of caching.
06:41:26 <pikhq> Namely, serialising all of the cached solvers to file, thereby replacing the entire cache, and hence needing a lock on the cache.
06:41:53 <elliott> pikhq: Personally, I see the inability to cache as a design flaw...
06:41:57 <elliott> But anyway, my other points are more important.
06:43:09 <pikhq> Also, caching can produce *wrong* builds. Consider the (retarded) case of LLVM (at least on Debian), where when the library gets upgraded, the actual *name of the .so* changes.
06:43:27 <pikhq> Making it so that the cached output of llvm-config is wrong.
06:43:39 <elliott> Yeah yeah yeah, my other points are more important :P
06:49:04 <pikhq> I should also try and think of a better way of handling "Which group should I change the flags of ATM" for the solvers...
06:49:51 <pikhq> At the moment, each solver just looks at the namespace its caller is in.
06:50:12 <pikhq> Which, though functioning with how I've got it set up right now, is not very clean at all.
06:50:24 <elliott> A solver doesn't just set something; it literally returns a function.
06:51:12 <pikhq> Oh, duh, returning a function would help with that.
06:51:49 <elliott> pikhq: Technically, it could return an integer; all "needs foo" has to do is do the solving magic for foo, and then bind foo to whatever the successful solver results in in the caller's environment.
06:52:18 <pikhq> elliott: I'm using the same solver scheme for libraries, though.
06:52:59 <elliott> pikhq: The compiler handles libraries.
06:53:11 <elliott> It can call out to a common library-finder that uses the solver routines if it so desires.
06:53:16 <elliott> pikhq: In fact, this actually helps:
06:53:39 <elliott> pikhq: A library solver that uses the technique "just link with an .so" would return the object (not function or set flags or anything) {link-with libname}.
06:53:48 <elliott> Whereas a pkgconfig one may return {cflags-and-ldflags ... ...}.
06:54:03 <elliott> The library-finder would then pass this back to the C compiler using it, which would translate it into settings of variables in its local namespace.
06:54:35 <pikhq> That is absolutely elegant.
06:55:07 <elliott> Lesson to be learned: MAKING THINGS FUNCTIONAL MAKES THEM BETTER ALWAYS
06:55:20 <elliott> EVEN WHEN THE TASK IS "BE NON-FUNCTIONAL"
06:58:12 <zzo38> But I think I am sure.
06:59:23 <elliott> pikhq: we can all learn from zzo38's wisdo
07:03:09 <F> what are we talking about?
07:05:29 <F> and have for years.
07:05:53 -!- monqy has quit (Quit: hello).
07:06:06 -!- PatashuPikachuRe has joined.
07:06:52 <F> every time I sign on to freenode some punk has it and then has to be humiliated while I ghost and idenfity my nick back.
07:07:43 <oerjan> F: there's an option to make NickServ throw them off automatically, i think
07:08:11 <F> oh? I'll have to check it out.
07:08:24 <F> does anyone here know Go or Perl6?
07:08:32 -!- Patashu has quit (Ping timeout: 252 seconds).
07:09:32 <elliott> i know some go, some perl6.
07:09:41 <elliott> I thought all one-letter names were reserved for staffers.
07:14:21 <Gregor> That option exists, yeah, that's why I'm always guestified when I get d/c'd and autorejoin :P
07:19:17 <zzo38> Information from NS INFO doesn't match.
07:21:41 * oerjan finds NS INFO inconclusive on that matter
07:22:27 <oerjan> i mean it doesn't give evidence any way, since the nick isn't currently identified
07:22:39 <elliott> are you actually doubting e
07:25:40 <Gregor> I'll bet if I updated my reverse DNS hostname to libdl.so, people would think there was something broken in Freenode's software ...
07:26:09 <elliott> no people would just point
07:26:14 <elliott> haha this noob doesnt have libc.so
07:26:51 <elliott> ur just not bourgeois enough for us Gregor
07:27:08 <zzo38> Gregor: I think your reverse DNS makes sense the way it is now, it doesn't need to be adjusted.
07:27:33 <elliott> zzo38 is always the best place for technically correct, but useless statements
07:28:14 -!- oerjan has quit (Quit: Later).
07:29:31 <elliott> "Do we really need this with LLVM and GCC?
07:29:31 <elliott> I mean ... if it compiles 2% faster ony MY machine, would I really NEED it?
07:29:31 <elliott> I want scripting languages to become super fast!
07:29:31 <elliott> I don't care about C++ ..."
07:42:59 <elliott> I failed at C++ Sudoku for the first time today :(
07:43:22 <elliott> it is not possible to create a boolean type such that "if (True)" works but "if (True && 9)" doesn't
07:43:33 <elliott> With this despicable failure I am leaving you all to die
07:43:52 <pikhq> Good thing if() doesn't take a boolean.
07:47:34 <CakeProphet> CakeProphet is always the best place for not technically correct, but useful statements.
07:48:13 -!- elliott has quit (Ping timeout: 260 seconds).
07:48:16 <pikhq> pikhq is the best place for statements.
07:49:18 <CakeProphet> My incorrectness is the lifeblood of this channel. It fuels causality through its paradoxes.
07:50:23 <pikhq> Flimble Nordic satisfaction greenly!
07:51:50 <pikhq> PatashuPikachuRe: No idea.
07:51:55 -!- PatashuPikachuRe has changed nick to Patashu.
07:51:57 <pikhq> I just know C++ far better than I should.
07:55:27 <pikhq> Only thing more verbose is good ol' ORK.
07:57:25 <CakeProphet> but Java is high up in the verbosity index.
07:57:29 <pikhq> Or: "There is a mathematician called ORK. ORK's first operand is COBOL. ORK's second operand is 1. ORK is to add."
08:12:26 -!- zzo38 has quit (Quit: There is a ORK called ORK. Inside of the ORK there is a mathematician called ORK. Inside of the mathematician called ORK inside of the ORK there is not.).
08:17:01 -!- myndzi\ has quit (Ping timeout: 260 seconds).
08:21:08 -!- cheater_ has joined.
08:21:09 <cheater_> http://dis.4chan.org/read/prog/1295544154
08:21:20 <cheater_> More like :: Int32 -> IORef -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a ->
08:21:20 <cheater_> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -
08:21:20 <cheater_> > Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> IO ()
08:21:21 <lambdabot> <no location info>: parse error on input `->'
08:28:53 <CakeProphet> cheater_: I like how these guys don't know what they're talking about.
08:31:22 -!- Vorpal has joined.
08:31:42 -!- MigoMipo has joined.
08:34:54 <CakeProphet> except it's not parallel, but who cares. :P that's not important.
08:34:59 <CakeProphet> it has nothing to do with the algorithm at all.
08:37:41 <Vorpal> doesn't that just sleep then print?
08:38:05 <Vorpal> for each argument in ARGV?
08:38:45 <Vorpal> what thread? I just joined!
08:39:05 <Vorpal> <cheater_> http://dis.4chan.org/read/prog/1295544154
08:39:25 <Vorpal> 4chan? programming? How horrible
08:40:02 <CakeProphet> like any anonymous board, you get all kinds of people. Some people are clueless, some people kind of no what they're talking about
08:40:24 <Vorpal> CakeProphet, in this case it seems to follow the spirit of this channel and of bogosort however
08:40:57 <Vorpal> well to being with at least
08:42:12 <CakeProphet> http://dis.4chan.org/read/prog/1295544154/138
08:42:17 <CakeProphet> I think this is an actual Perl implementation.
08:44:42 <tswett> Actually, I'm pain-free most of the time.
08:49:21 <CakeProphet> does it just have a Haskell interpreter built into it? Because I'd really like to have a command line utility for that.
08:49:32 <CakeProphet> er, typechecker, in this case, not interpreter.
08:51:33 -!- evincar has joined.
08:51:41 <Vorpal> you can't do ghci ":t foo" I think
08:51:47 <Vorpal> CakeProphet, surely there must be a better way
08:52:02 <CakeProphet> well, I'm writing a bot and want to give it :t and mueval support.
08:52:12 <Vorpal> check lambdabot source?
08:52:29 <Vorpal> cheater_, I doubt that is what lambdabot does though
08:52:51 <CakeProphet> hmmm, I guess there's no harm in evoking ghci each time.
08:53:08 <cheater_> it's fairly fast on my cluster
08:53:17 <cheater_> don't have ghci locally though
08:53:25 <CakeProphet> but it does give a lot of non-related output
08:53:27 <Vorpal> <CakeProphet> hmmm, I guess there's no harm in evoking ghci each time. <-- for me it takes a second or so to load.
08:53:29 <cheater_> but like, sometimes the lag is more than ghci starting up and dying
08:54:16 <cheater_> damian@dresscoded:~$ echo ":t id" | ghci | grep "^Prelude> " | grep -v "Leaving GHCi."
08:54:42 <CakeProphet> woah what's this grep magic you speak of. @_@
08:54:47 <Vorpal> CakeProphet, I think this is the module in question: http://code.haskell.org/lambdabot/Plugin/Type.hs
08:54:59 <cheater_> i am the Red Wizard of the East
08:55:57 <Vorpal> it invokes ghci, though the comments says hugs...
08:56:05 <Gregor> In some number of hours which is difficult to count due to loltimezones, I will be in Paris.
08:56:09 <cheater_> stripComments ('\n':_) = [] -- drop any newwline and rest. *security*
08:57:02 <Vorpal> Gregor, why are you going there?
08:57:21 <cheater_> Gregor, visit the polytechnique
08:57:51 <Gregor> Vorpal: Naw, I'm only there two weeks, just chattin' em up.
08:57:58 -!- evincar has quit (Quit: ChatZilla 0.9.87 [Firefox 3.6.17/20110422054610]).
08:58:00 <Gregor> Getting a summer internship abroad = visa hell
08:58:43 <Gregor> cheater_: Is that somewhere you ... visit? :P
08:58:47 <Gregor> And not, y'know, study
08:58:47 <Vorpal> Gregor, ah only for people in US I guess. I could do it since I already live in EU :D
08:59:17 <cheater_> Gregor, nah.. never been to paris myself ^^ but it's definitely a great place to visit
08:59:26 <cheater_> given that so much has happened for mathematics there
09:00:07 <cheater_> Gregor, where do you live normally? i forgot
09:00:12 <Gregor> Vorpal: I don't think the term "abroad" gets to be applied within EU countries anymore.
09:00:19 <Gregor> cheater_: I don't remember anymore :P
09:00:49 <cheater_> CakeProphet, at over 9000x faster
09:01:06 <Gregor> wtf, you're only getting farther X-D
09:01:26 <Gregor> I'm an American ya derpaderp
09:01:49 <cheater_> ok the world does not have a good bsp ok??
09:01:51 <Vorpal> Gregor, sure you don't live in Antarctica?
09:02:06 <cheater_> Vorpal, i heard Gregor lives in Antarctica
09:03:36 <cheater_> stripComments ('\n':_) = [] -- drop any newwline and rest. *security*
09:55:24 -!- blancnoir has joined.
09:56:35 <Gregor> This is either the worst pair of earphones I've ever worn, or merely the most finnicky.
09:57:47 -!- Lymia has quit (Ping timeout: 244 seconds).
10:00:57 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:08:14 -!- pikhq_ has joined.
10:08:25 -!- pikhq has quit (Ping timeout: 260 seconds).
10:11:37 -!- Lymia has joined.
10:12:12 -!- MigoMipo has joined.
10:58:56 -!- ais523 has joined.
11:00:30 <CakeProphet> mueval is so much less awesome than lambdabot.
11:16:45 <Vorpal> CakeProphet, what is mueval=
11:19:34 <CakeProphet> it's a standalone version of what lambdabot uses to evaluate Haskell code, but it's nowhere near as awesome.
11:19:51 <CakeProphet> because it doesn't have as many modules that it allows.
11:22:43 <ais523> <Chromium changelog> - Hardware accelerated 3D CSS
11:22:53 -!- ralc has joined.
11:28:05 -!- pikhq has joined.
11:28:09 -!- pikhq_ has quit (Ping timeout: 252 seconds).
11:35:02 <CakeProphet> return join ('\n', grep {defined} (split /\n/, shift)[(0..shift)-1])
11:38:21 <ais523> that is pretty readable
11:38:36 <ais523> I wrote some Perl code that parsed VHDL using regexes last night, that was really unreadable
11:38:55 <ais523> (it's designed to parse only the output of a specific program, rather than VHDL in general, so regexing it isn't /too/ bad, and I was in a hurry)
11:39:14 <ais523> wait, which order are those shifts evaluated in?
11:39:24 <ais523> I don't think I've ever written shift twice in the same expression when it mattered
11:39:31 <ais523> Patashu: I'm just quoting the changelog
11:39:34 <ais523> I have no more context than you do
11:40:10 <ais523> but I quoted it because it seemed absurd
11:40:23 <ais523> what they might mean is that they're using the GPU in order to do CSS layout, which is plausible
11:40:27 <ais523> and the 3D got in there by mistake
11:43:17 <ais523> or perhaps CSS really does do 3D nowadays
11:43:24 <CakeProphet> ais523: interestingly enough, the index is evaluated first.
11:43:57 <ais523> CakeProphet: that's not massively surprising given the way split is optimised
11:44:28 <ais523> if you try to take the fifth element of a split, for instance, it stops splitting at five results
11:44:43 <CakeProphet> yeah it makes sense to evaluate the indices first.
11:45:36 <ais523> so what that function does, is returns up to the first n lines of a given string?
11:45:50 <ais523> yep, that's relatively readable, apart from the argument order thing
11:46:28 <CakeProphet> to get rid of empty lines... and... lines with only 0, because that's how Perl rolls. :P
11:46:35 <ais523> so now it returns up to the first n lines of a given string, except empty lines and lines containing just a zero
11:46:52 <ais523> you could use grep{/./} if you just wanted to get rid of empty lines
11:47:07 <ais523> in fact, I don't even think you need the braces if you have a regex as argument
11:47:11 <ais523> although arguably they're good style
11:47:33 <CakeProphet> I would say they are arguably irrelevant to good style in Perl. :D
11:47:54 <ais523> they aren't, I've been in some pretty heavily style-guidelined Perl projects
11:48:32 <CakeProphet> though I'd keep the braces if I change, simply because I don't want to add a comma and possibly parens if it becomes ambiguous at that point.
11:49:35 <CakeProphet> it would be interesting if join could take a regex argument...
11:50:11 -!- FireFly has joined.
11:50:57 <ais523> it'd be great if you could do join /\1\2/, split /-(.)-(.)-/ $string;
11:51:05 <ais523> that's potentially meaningful, at least
11:51:16 <ais523> although I'm not sure it's useful, and would also change the semantics of enclosing groups in a split
11:51:36 <CakeProphet> I think you'd have to use $1 and $2 instead of \
11:51:55 <CakeProphet> it would just have to be some weird special case.
11:52:10 <ais523> you're right, it should be $1 and $2 per Perl conventions for replacements
11:52:27 <ais523> but obviously it's a ridiculous weird special case
11:52:46 <CakeProphet> you can do that on the last match possibly.
11:52:52 <ais523> nowadays, I mostly use NEU or ARC when playing online
11:52:56 <ais523> umm, sorry, wrong channel
11:53:43 <cheater_> ais523, http://dis.4chan.org/read/prog/1295544154 xD
11:53:58 -!- pikhq_ has joined.
11:53:58 <ais523> cheater_: I'm not following links to 4chan no matter how relevant they are
11:54:11 -!- pikhq has quit (Ping timeout: 252 seconds).
11:54:22 <cheater_> someone came up with sorting this way: take each number on the list and launch a thread that sleeps for this many seconds.
11:54:55 <ais523> that seems like a variant on one of the established techniques
11:55:14 <cheater_> that WAS actually mentioned there
11:55:17 <CakeProphet> it's almost subject to all kinds of scheduling problems. :P
11:55:35 <ais523> among other things, 4chan links go invalid really quickly
11:55:38 <cheater_> there was even an ascii art of a flaccid penis
11:55:45 <cheater_> ais523, this one's on the bbs, it's archived
12:03:38 <CakeProphet> < ksf> the actual ingenuity of sleepsort is realising that a complexity theorist's mind will asplode while trying to decide whether sleep(n) is O(1) or O(n).
12:03:50 <CakeProphet> I couldn't find anyone else talking about sleepsort, but there it was randomly.
12:04:00 <ais523> CakeProphet: O(n), obviously
12:04:07 <ais523> it's pretty much literally O(n)
12:06:02 <ais523> ah, the link's been posted to proggit
12:06:07 <ais523> and lots of people read that
12:06:13 <ais523> so it's probably going to spread through IRC based on that
12:07:00 <CakeProphet> well if you divide the numbers first before you sort you can cut down on the computation time
12:07:18 <CakeProphet> at the same time you're increasing the likelihood of a scheduling misshap
12:17:38 <Gregor> Google is trying very hard to find all the most annoying ways to give you free wifi.
12:18:48 <ais523> CakeProphet: reddit points out that it's O(n log n), because the sorting is done by the scheduler
12:39:51 -!- ais523 has quit (Remote host closed the connection).
13:04:04 <Vorpal> <Gregor> Google is trying very hard to find all the most annoying ways to give you free wifi. <-- how so?
13:04:54 <lambdabot> It could refer to either `L.e', defined at <local...
13:05:29 <Patashu> where's my lambert w function :(
13:20:32 -!- Big_ has joined.
13:20:53 <lambdabot> It could refer to either `L.e', defined at <local>:17:0
13:20:54 <lambdabot> or `SimpleReflect.e', imported from SimpleReflect at State/L.hs:74:0-32
13:22:30 -!- dell has joined.
13:22:40 <dell> i am developing
13:22:47 <dell> a python to brainfuck converter
13:22:47 <CakeProphet> why on earth does mueval give me "Exception: not a number" when I try to eval ['a'..'z']
13:23:22 <dell> what do you think....i will continue only if someone already hasn't done it
13:23:53 <Lymia> Python is the last language you want to try that with.
13:24:14 <dell> ok..then i will continue...its gonna be hell of a thing but it will be open source and written in python
13:24:22 <Vorpal> CakeProphet, that is trivial. There is a C->JavaScript compiler, so just write a JS->BF compiler then embed cpython compiled to js + your python script in that
13:24:23 <dell> i will post about it more here
13:24:41 <Lymia> I'll applaud you if you manage to compile something as simple as that.
13:24:58 <dell> it will not support all the python features...the first version will be pretty simple
13:25:06 <Vorpal> Lymia, what about using cython + LLVM + custom LLVM->BF backend
13:25:32 <CakeProphet> lol I was like "...you want me to put an infinite number of funcs between each character?"
13:25:34 <Lymia> Vorpal, that's downright insane.
13:25:48 <Vorpal> Lymia, ais's half-complete bf gcc backend
13:25:55 <Vorpal> and use that with cython
13:26:13 <Lymia> Vorpal, I know it's possible.
13:26:23 <Lymia> But it's going to be hard unless done right.
13:26:31 <Lymia> This guy gives me a certain vibe.
13:26:43 <dell> so i will create a repository on git and will let ya people know more about it
13:26:59 <Vorpal> Lymia, yeah I see what you mean... "on git"
13:27:21 <dell> just a little lazy
13:29:27 <Vorpal> Lymia, anyway, llvm->bf would be interesting
13:30:11 <Lymia> Vorpal, sounds like it might be a little hard, but doable.
13:30:17 <Lymia> Do we have any higher level languages compiling to BF?
13:30:41 <Lymia> That would be a large part of the problem already solved.
13:31:09 <Vorpal> a few, there is BASIC->BF iirc, that was used for lostking.b, but I never seen the actual compiler in question
13:31:22 <Vorpal> quite a bit of dead code in there
13:32:09 <Lymia> Vorpal, how can you compile goto?
13:32:13 <Vorpal> Lymia, and the gcc backend kind of works for trivial examples, but produced so huge results it is not practically usable without a special cased interpreter
13:32:24 <Vorpal> Lymia, a while loop with switches inside?
13:32:36 <Lymia> Vorpal, sounds possible.
13:32:45 <Vorpal> Lymia, and I don't know the details of the basic->bf one
13:32:54 <Vorpal> as I said, I never seen it
13:33:18 <Lymia> Brainfuck by default uses 0-255 range, right?
13:33:33 <Vorpal> that is the most common way
13:33:44 -!- dell has quit (Quit: Leaving).
13:34:04 <Lymia> I'm thinking there could be a basic intermediate language which (unsafely) compiles to Brainfuck code.
13:34:30 <Vorpal> iirc gcc-bf used a bf assembler thingy
13:34:40 <Lymia> A simple extension that has more than one tape, switchable with some command, and turns 8-bit brainfuck to 32-bit brainfuck.
13:34:49 <Vorpal> with opcodes like "mul8 offsetA,offsetB
13:35:01 <Lymia> Vorpal, sounds "fun"
13:35:47 <Vorpal> Lymia, iirc it used a pattern on the data like 5 cells: marker,memory,memory,memory,scratch,scratch
13:35:53 <Vorpal> or something like that
13:38:28 -!- yorick has quit (Quit: leaving).
13:38:51 -!- yorick has joined.
13:39:52 <Lymia> How could you design an esolang API that supports as many different esolangs as possible.
13:43:04 -!- pikhq_ has quit (Ping timeout: 246 seconds).
13:43:14 -!- pikhq has joined.
13:43:28 -!- yorick has quit (Client Quit).
13:43:46 -!- yorick has joined.
13:45:58 -!- Big_ has left.
13:46:34 <Lymia> ^ That guy tried to randomly flirt with me
13:46:48 <Lymia> May I suggest making sure he doesn't come back?
13:56:53 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:14:20 <Lymia> Guess that's why +g exists
14:16:09 -!- myndzi has joined.
14:16:28 <quintopia> but then i once tried messaging you and you freaked out. And I had no intention of flirting. So I can't help but give him the benefit of a doubt
14:21:44 <Lymia> It's quite unambiguous when they open the message with "Hey baby"
14:23:14 <quintopia> an inauspicious start, i must agree
14:24:14 <Lymia> Plus, 99% of the people I don't know messaging me, yeah.
14:24:24 -!- copumpkin has joined.
14:30:27 -!- pumpkin has joined.
14:30:57 -!- copumpkin has quit (Ping timeout: 252 seconds).
14:38:01 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
14:52:24 <quintopia> i gather you are female. i was not aware of this. must be nice to not be a douchebag.
14:56:25 -!- sebbu2 has joined.
14:56:26 -!- sebbu2 has quit (Changing host).
14:56:26 -!- sebbu2 has joined.
14:59:29 -!- sebbu has quit (Ping timeout: 260 seconds).
14:59:30 -!- sebbu2 has changed nick to sebbu.
14:59:42 <Lymia> quintopia, what is that supposed to mean?
15:06:29 -!- sebbu has quit (Ping timeout: 276 seconds).
15:25:06 -!- sebbu has joined.
15:25:06 -!- sebbu has quit (Changing host).
15:25:06 -!- sebbu has joined.
15:27:01 -!- DocHerrings has joined.
15:28:21 <DocHerrings> Almost have a working interpreter for eodermdrom, in case anyone cares.
15:31:41 -!- augur has quit (Remote host closed the connection).
15:36:09 -!- MigoMipo has quit (Read error: Connection reset by peer).
15:44:53 -!- pumpkin has changed nick to copumpkin.
15:50:46 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
15:59:05 -!- Lymia has changed nick to Cirno-chan.
16:02:19 -!- augur has joined.
16:04:22 -!- Cirno-chan has changed nick to Lymia.
16:23:24 -!- pikhq_ has joined.
16:23:54 -!- pikhq has quit (Ping timeout: 260 seconds).
16:39:47 -!- zaildar has joined.
16:39:53 -!- monqy has joined.
16:51:35 -!- zaildar has quit (Ping timeout: 250 seconds).
16:52:13 -!- augur has quit (Remote host closed the connection).
17:19:03 <quintopia> Lymia: it means that all guys are douchebags
17:19:34 <Lymia> quintopia, that's not true at all.
17:19:54 <Lymia> Though it is quite true that society seems to expect, and to some degree enforce that.......
17:20:30 -!- augur has joined.
17:20:44 <quintopia> as a female in this society, you should behave as if it were true. guilty until proven innocent as it were.
17:24:19 <Lymia> It's more fun to assume the other way.
17:28:09 -!- dell has joined.
17:30:33 <Lymia> Life isn't fun if you go around assuming all X are Y.
17:36:23 <quintopia> but i do believe in this case that at least 75% of X are Y due to previously mentioned societal pressure, therefore the fun you are referring to can only be of the "omg, i didn't expect you to be a douchebag too, you asshole!" type.
17:36:33 <Lymia> quintopia, on that note, nobody "should" X because they're female, or male, or anything.
17:37:00 <Lymia> Please don't say things like that. It makes you look like an asshole yourself.
17:37:17 <quintopia> but i am. i am a guy, and all guys are douchebags
17:37:48 <Lymia> Disproof by example is fun, eh?
17:38:10 <quintopia> and i agree that a perfect society wouldn't have the need for any assumptions along gender, racial, or economical lines
17:38:11 <Sgeo> I try not to be. Although I guess sometimes I have been. I don't try to be actively malicious though.
17:38:26 <Lymia> I don't believe most people are outright hateful or malicious.
17:39:11 <quintopia> you don't have to be malicious to be a douchebag
17:39:22 <quintopia> indeed, most douchebaggery is not malicious in origin
17:39:30 <quintopia> it's just unthinking socialization
17:39:52 <Sgeo> That's not.. really the kind of douchebaggery I've done, I think
17:39:55 <Lymia> quintopia, and that's something you can talk to people about and expect success at.
17:40:50 <quintopia> which is why it's useful also for guys in this society to internalize "all guys are douchebags, even me"
17:41:04 <quintopia> it makes it a lot easier to recognize that tendency and pressure
17:41:22 <Lymia> quintopia, how about this.
17:42:45 <Lymia> Do we have to stereotype people? Like it or not, if you keep saying that, you're not helping the problem, right?
17:43:50 <olsner> why all the serious discussion? it's not befitting of #esoteric
17:44:05 <quintopia> Is it better to consciously or subconsciously apply a stereotype? The media, whether you like it or not, encourages the latter. The only way to fight it is to label it and bring it right out in the open.
17:44:23 <quintopia> sorry olsner. nothing else was going on...
17:44:55 <Lymia> quintopia, neither.
17:45:40 <quintopia> that's not an option at the moment. it's a goal for the future
17:46:00 <Lymia> It's best to not apply a stereotype to people or yourself at all.
17:46:05 -!- dell has quit (Ping timeout: 240 seconds).
17:47:37 <quintopia> actually, it's impossible to apply a negative stereotype to yourself and still remain sane. the cognitive dissonance is too strong. trying and failing to do so gives the insight one needs to see that stereotypes are never completely accurate when applied to individuals.
17:49:05 <Lymia> I've seen more than a few people use those stereotypes as excuses for their behavior.
17:51:42 <quintopia> You mean they completely let themselves off the hook? They have no desire to improve?
17:53:02 <Lymia> See: "Boys will be boys" and any variations on that.
17:54:08 <quintopia> i've only ever seen that used by someone forgiving someone else for something
17:55:11 <Lymia> What do we stand to gain from stereotyping others?
17:55:24 <Lymia> One'd think that you'd correct negative behavior in yourself by listening to others when they call you out on it.
17:56:55 <cheater_> or maybe the world isn't a hugbox
17:57:20 <cheater_> and what you said is such an overt simplification of the human psyche that there's no way to begin describing how disconnected from reality it is
17:57:26 <quintopia> when the stereotype reflects a set of behaviors that actually do occur in the real world, a stereotype is a simple rule whereby one can protect oneself
17:58:26 <Lymia> cheater_, to whom exactly are you directing that?
17:58:56 <Lymia> If you want to be a better person, why don't you take it into consideration when somebody calls you out on something?
17:59:45 <Lymia> What are you referring to then?
18:00:40 <cheater_> your reasoning and acting based upon your own simplification of reality whereby you unknowingly give yourself a kick in the ass.
18:01:02 <quintopia> that's kind of my point though. everyone knows that it's bad to be a douchebag. if someone calls you a douchebag, how can you just say "yeah, i am, aren't i? that's just who i am. deal with it." when everything you hear is "no one likes to hang around douchebags"?
18:01:51 <cheater_> i've got no problems saying that if the person calling me out has no moral ground to call me out.
18:02:20 <Lymia> cheater_, so far you havn't made any concrete arguments other than "you're wrong"
18:02:27 <Lymia> It'd be more interesting if you did that.
18:02:53 <cheater_> i haven't, have i? that's just the way it is.
18:04:49 <cheater_> (or maybe i have, you just asserted otherwise for sake of argument)
18:05:29 <quintopia> cheater_: but would you, in saying that, actually believe it to be the truth? or would you just be saying it as a way to piss off someone you don't respect?
18:05:52 <cheater_> quintopia: i don't go out of my way to anger people.
18:06:07 <quintopia> that's not really answering the question
18:06:41 <quintopia> would you ever say "yes, i am a douchebag," accept that as truth, then do nothing about it?
18:06:42 <cheater_> i would normally not act upon an impulse to annoy someone because it is not there.
18:07:04 <cheater_> you can say that and accept it as someone's truth without accepting it as your own truth.
18:07:25 <cheater_> the world isn't a maths book, people have different opinions, you know?
18:08:12 <cheater_> if someone thinks i'm a douchebag because he e.g. thinks i should accomodate him in ways i am not morally required to and i don't, then he's free to have this opinion
18:08:29 <quintopia> Lymia: That's what's happening with your people excusing themselves with stereotypes. They aren't accepting the stereotypes as truth about themselves.
18:08:35 <cheater_> "hey, give me ten dollars" "no" "you're a douchebag" "i am, aren't i?"
18:09:58 <cheater_> the last sentence is not an attempt at annoying someone, it's just a dismissive required to cleanse your psyche of someone's judgement that you find unjust.
18:11:04 <quintopia> either way, you're not accepting and believing and internalizing that you are a douchebag
18:11:35 <cheater_> if i went silent i probably would, though
18:11:47 <quintopia> otherwise, you'd apologize and seek to change your ways, so as not to be rejected by society
18:11:49 <Lymia> cheater_, "listen to" means to take another's objection into consideration.
18:11:50 <cheater_> that's the way our psychology works
18:12:03 <cheater_> yeah, i took his objection into consideration
18:12:10 <cheater_> and i considered it to be worth a pile of dog shit
18:12:35 <cheater_> most people don't have anything interesting to say, that's a fact of life
18:16:51 <quintopia> now that one i can't agree with it
18:17:23 <quintopia> i'd rather say people are societally inhibited from saying the truly interesting things
18:18:20 <quintopia> peoplke have stories and people know things they can't talk about
18:18:46 <quintopia> it takes a long time to gain the confidence to hear the interesting things
18:19:43 <cheater_> you are setting the bar very low
18:19:46 <Lymia> I think it could be said that it's an issue of perceived cause and effect. Is it because only really befriend people who have interesting things to say, or is it that they say those things because you've befriended them.
18:20:34 <Lymia> I personally think it's the latter-- I do believe it's usually considered creepy when people sprout off in detail about their life to a stranger.
18:21:42 -!- zzo38 has joined.
18:22:08 <Sgeo> Lymia, so I'm creepy?
18:22:57 <monqy> have you ever listened to yourself talk about yourself
18:23:01 <monqy> tylenol and friends
18:25:11 <Lymia> quintopia, on the issue of stereotypes, after some thought, I think that the problem isn't just that the stereotypes exist. It's that part of the stereotype is that people are that way naturally, and it's only going to hurt you to try to change, etc.
18:26:41 <zzo38> Do you think units 1/4736286.72 inch are enough accuracy for all printers and more?
18:27:31 <Lymia> zzo38, what's standard?
18:27:46 <zzo38> Lymia: Standard what?
18:27:57 <Lymia> DPI/accuracy/whatever.
18:28:08 <Lymia> Actually, on that note, is that per square inch?
18:28:25 <zzo38> I don't know. Some printers have 600 DPI, but some are more resolution than that.
18:28:44 <Lymia> I'm quite sure that resolution implies 22432411894048.3584 DPI, unless it's per square inch.
18:29:17 <zzo38> Lymia: That is not square inch. What I mean is 1/4736286.72 inch is the smallest unit that can be represented and used in calculations, even if no printer can do this resolution.
18:30:48 <Lymia> Then it's more than enough accuracy.
18:32:19 <zzo38> It is the units used in TeX, which is an old program. FreeType does not support this much accuracy as far as I know!
18:33:19 <zzo38> (And for TeXnicard, a new program, which uses the same units)
18:33:56 <zzo38> quintopia: The reason for that number is there is 72.27 points in one inch, and 65536 scaled points in one point (that is the accuracy of the fractional calculations), now it is less strange isn't it?
18:37:49 <zzo38> But this way it makes sense, At least to me it make sense
18:38:12 <quintopia> but why are there 72.27 points in one inch?
18:39:34 <Lymia> I'm thinking that he means that there are 72.27 points in a square inch.
18:39:41 <zzo38> That is how traditional typesetting was designed; there must be some reason having to do with some things that I do not know about, but were important in old typesetting
18:39:46 <Lymia> quintopia, it's likely a unit based on the meter or something. Dunno.
18:39:50 <zzo38> Lymia: No, nothing to do with square inches
18:40:13 <Lymia> zzo38, then that implies a resolution that cannot be stored in memory sanely.
18:41:56 <zzo38> Actually it works very well. Especially since no printers have a resolution that much!
18:42:59 <quintopia> Lymia: in other words, no printer is every asked to print a different random bit at every single point
18:43:52 <quintopia> (although 5223 bits per square inch isn't so impossible)
18:44:23 <Lymia> Yeah, if 72.27 points is how it's scaled, sure.
18:44:32 <Lymia> But why is there such a strange limit.
18:44:52 <olsner> maybe you're just using the wrong inch
18:46:12 <zzo38> The limit is not seem strange to me.
18:49:18 -!- pikhq has joined.
18:49:54 -!- pikhq_ has quit (Ping timeout: 276 seconds).
19:11:20 -!- pikhq_ has joined.
19:14:21 -!- pikhq has quit (Ping timeout: 255 seconds).
19:31:54 <Sgeo> What can I do with a 5 or 6 year old laptop?
19:32:09 <Sgeo> Someone on Facebook wants to get rid of hers, meaning I could have it for free
19:32:16 <Sgeo> (It doesn't have a hard drive)
19:32:53 <zzo38> Install a hard drive and install DOS
19:33:06 <zzo38> (Or learn to invent your own operating system)
19:53:50 <Vorpal> wtf at this config file, it is like a mix of CPP and XML!
19:54:48 <Vorpal> olsner, in fact it isn't either, but the result is like that
19:55:22 <quintopia> xcppml is something the world has long needed
19:56:19 <Vorpal> quintopia, no I'm depressed. Because I have to figure out this config file, which also uses mixed indention style...
19:58:21 <Vorpal> aargh swap trashing now
19:58:58 <quintopia> because you don't have enough memory to do that
19:59:09 <Vorpal> thing is, I didn't do anything
19:59:21 -!- copumpkin has quit (Ping timeout: 255 seconds).
19:59:25 <quintopia> clearly you need more memory to do nothing
19:59:30 <quintopia> start doing something and it will stop
20:01:08 -!- copumpkin has joined.
20:01:52 <Vorpal> The names of the joysticks are:
20:01:52 <Vorpal> ThinkPad HDAPS joystick emulation
20:01:52 <Vorpal> axes: 2 buttons: 0 hats: 0
20:01:52 <Vorpal> ThinkPad HDAPS accelerometer data
20:01:52 <Vorpal> axes: 2 buttons: 0 hats: 0
20:01:53 <Vorpal> Saitek Saitek X52 Pro Flight Control System
20:01:55 <Vorpal> axes: 11 buttons: 39 hats: 0
20:02:01 <Vorpal> that is why it fucks up
20:02:13 <Vorpal> it is trying to use the accelerometer as my joystick
20:02:23 <Vorpal> now how to avoid it...
20:02:31 <olsner> no, the problem is that you have no hats
20:03:38 <quintopia> it makes sense. i've not heard of gregor complaining about such a problem
20:03:47 <quintopia> then again, he probably has no joysticks
20:31:27 -!- Phantom_Hoover has joined.
20:31:40 <lambdabot> Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them.
20:47:55 -!- calamari has joined.
20:48:33 <Phantom_Hoover> I am really disappointed that I read that Homestuck update on a school computer through a proxy without Flash.
20:50:06 <olsner> Sgeo: any news from FIS?
20:50:37 <Sgeo> Presumed to be the BANCstar people
21:11:35 -!- aloril has quit (Ping timeout: 250 seconds).
21:18:39 -!- foocraft has joined.
21:22:56 <quintopia> can someone tell me why gdocs sucks so much?
21:24:33 -!- aloril has joined.
21:39:18 -!- augur has quit (Remote host closed the connection).
21:47:02 <zzo38> Can a LLVM program work with gdb?
21:53:23 -!- calamari has quit (Quit: Leaving).
21:57:06 <zzo38> Canucks always loses as far as I know.
21:57:25 <zzo38> That is what someone told me.
22:02:13 -!- Adamfyre has joined.
22:09:49 -!- augur has joined.
22:10:28 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:18:06 -!- Adamfyre has quit (Ping timeout: 276 seconds).
22:18:18 -!- Adamfyre has joined.
22:20:57 -!- Adamfyre has quit (Client Quit).
22:30:22 <pikhq_> It is 16:30, and I am just now getting caffeine.
22:44:10 -!- pikhq_ has quit (Ping timeout: 246 seconds).
22:44:21 -!- pikhq has joined.
22:50:40 <CakeProphet> my country is too busy worrying about the dicks of politicians to mention riots in Canada much.
22:51:18 -!- sebbu2 has joined.
22:51:18 -!- sebbu2 has quit (Changing host).
22:51:18 -!- sebbu2 has joined.
22:52:20 <pikhq> Yeah, we're more phallus-obsessed than Freud ever was.
22:54:11 -!- sebbu has quit (Ping timeout: 240 seconds).
23:20:35 -!- Patashu has joined.
23:22:17 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
23:23:27 -!- augur_ has joined.
23:23:34 -!- augur has quit (Read error: Connection reset by peer).
23:26:18 -!- pikhq_ has joined.
23:28:37 -!- pikhq has quit (Ping timeout: 250 seconds).
23:32:13 -!- hagb4rd has joined.
23:41:25 -!- Lymia has quit (Ping timeout: 240 seconds).
23:47:42 -!- augur_ has changed nick to augur.
00:14:01 -!- Vorpal has quit (Ping timeout: 264 seconds).
00:14:59 -!- FireFly has quit (Quit: swatted to death).
00:23:02 -!- calamari has joined.
00:30:39 -!- calamari has left ("Leaving").
00:32:36 <Sgeo> Is it possible to make a statistical distribution (or some sort of statistical construct) that obeys Gambler's Fallacy?
00:33:45 <Sgeo> It's easier for me to vaguely invision with something discrete
00:34:37 <Sgeo> Would (1/2)^x work?
00:36:45 <Patashu> a markov chain is dependent on previous outcomes, right?
00:37:32 <Patashu> but yeah you'd scale p down after getting more 1s and up after getting more 0s
00:37:41 <Patashu> either looking at the latest streak or how many of each you've gotten since you started
00:39:12 <Sgeo> Hmm, I was thinking more of termination on failure. I kind of have death on my mind recently, and one chain of thought lead to that question
00:39:30 <Sgeo> (Someone from my graduating class died recently)
00:39:39 <Sgeo> Patashu, that is, if I get a 0, it's over
00:39:55 <Patashu> it's the 'playing slots at vegas' distribution :)
00:41:44 <Patashu> so you want something like 'flip coins and +1 for heads -1 for tails, stop if you hit 0' and you want the average length it'll go for, hmm...
00:41:47 <Patashu> I know there's a distribution for that
00:42:33 <Sgeo> Not quite what I meant, to be honest, but close, I guess
00:43:08 <Patashu> well, there are a couple of similar takes like 'at X steps, what percentage of gamblers are at 0' and 'at X steps, what's the average money of a gambler'
00:45:32 <Patashu> http://en.wikipedia.org/wiki/Gambler's_ruin relevant
00:45:49 <Sgeo> Is it correct to say that I have a 50% chance of living to see half the people in my age group die?
00:46:11 <Patashu> Depends on the distribution of deaths
00:46:56 <Sgeo> CakeProphet, hm?
00:47:04 <Patashu> Consider the median of the distribution, whatever it is
00:47:14 <Patashu> Everyone above the median will have seen 50% of the people die
00:47:40 <CakeProphet> but that doesn't imply that they had a 50% chance of seeing 50% of the people die.
00:47:57 <Patashu> yes, but no matter how you slice it, 50% will live past the deaths of the other 50%
00:48:01 <Patashu> (going to assume no simultaneous deaths)
00:48:09 -!- oerjan has joined.
00:49:03 -!- pikhq_ has quit (Ping timeout: 244 seconds).
00:49:10 -!- pikhq has joined.
00:49:29 <CakeProphet> sure, if you simplify things, that makes sense. But I would say in this scenario that not everyone has equal likelihood of survival.
00:49:45 <Patashu> If you want to model gamblers, use this: http://en.wikipedia.org/wiki/Markov_chain You want a markov chain where at 0 you always stay at 0, and at any higher number you have a p chance of going up and a p chance of going down
00:49:56 <Patashu> Well, if not everyone has the same distribution of lifespan...we need to know what distributions people are using :9
00:49:59 <Patashu> Otherwise I can't say much aboutit
00:50:31 <CakeProphet> but yeah if you consider number of equally likely favorable outcomes / number of equally likely total outcomes
00:51:05 <Sgeo> Hmm, because by being healthier than aveage, it increases the individual's chances?
00:51:45 <Patashu> If I was guaranteed to be immortal I'd always see 50% of my generation die, which robs some other sod of that distinction (since I have a 0% chance of dying)
00:51:47 <CakeProphet> humans are much more complicated than numbers and such, there are a lot of factors to consider if you want to make any kind of realistic statement about the outcome of a person's life.
00:52:07 <Patashu> Can't you model human lifespan as a normal distribution reasonably well?
00:53:03 <Patashu> my intuition from 'introduction to statistics' is 'throw a normal distribution at it'
00:53:35 <CakeProphet> Patashu: yes, that's what I was taught as well. But I doubt it's very accurate for lifespan, since that varies by environmental factors quite a bit.
00:53:48 <Patashu> what other kind of distribution is it likely to be?
00:53:55 <Sgeo> Improvements in medicine make certain causes of death less likely over time
00:54:22 <Sgeo> (Of course, that's not factoring in the possibility of antibiotics becoming ineffective)
00:54:27 <Patashu> it could be a negatively skewed normal distribution I suppose
00:54:37 <CakeProphet> I have no idea, I'm not a statistics person. :P -leaves-
00:59:37 <oerjan> <CakeProphet> why on earth does mueval give me "Exception: not a number" when I try to eval ['a'..'z']
00:59:42 <oerjan> what's the type of eval
01:01:43 <lambdabot> Control.Monad.RWS.Lazy evalRWS :: RWS r w s a -> r -> s -> (a, w)
01:01:43 <lambdabot> Control.Monad.RWS.Strict evalRWS :: RWS r w s a -> r -> s -> (a, w)
01:01:43 <lambdabot> Control.Monad.RWS.Lazy evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w)
01:02:18 <oerjan> wtf why do people leave the moment before i want to respond to them
01:02:23 -!- zzo38 has quit (Quit: I think it is improper being immortal.).
01:04:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:28:48 -!- oerjan has quit (Quit: leaving).
01:30:54 -!- F has quit (Changing host).
01:30:54 -!- F has joined.
01:34:15 -!- cheater_ has quit (Ping timeout: 240 seconds).
01:36:32 -!- copumpkin has joined.
01:43:03 -!- pikhq_ has joined.
01:44:20 -!- pikhq has quit (Ping timeout: 244 seconds).
01:53:27 -!- elliott has joined.
01:54:07 <elliott> 00:45:49: <Sgeo> Is it correct to say that I have a 50% chance of living to see half the people in my age group die?
01:54:07 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
01:54:16 <pikhq_> elliott: I thought you might like to know that today was the day of Dresden Codak's semimonthly update.
01:55:07 <elliott> pikhq_: Ha ha ha, I only follow comics which update at least once per day.
01:55:19 <elliott> (He says, noting that there was no Homestuck update today, and crying.)
01:55:31 <pikhq_> elliott: Then you don't follow SMBC? BLASPHEMER
01:56:24 <elliott> I'm on the internet, I see every SMBC without trying.
01:56:25 <Sgeo> SMBC doesn't update once a day?
01:56:49 <pikhq_> Sgeo: Oh, wait, it does. Thinko.
01:57:12 <pikhq_> elliott: Sorry, let's change that to something that actually has a non-daily schedule. :P
01:57:21 <pikhq_> elliott: Then you don't follow Dr. McNinja? BLASPHEMER
01:57:36 <Sgeo> You don't follow Bonobo Conspiracy?
01:57:55 <Sgeo> (Well, ok, there's nothing left to follow. Maybe in 5 years there'll be an update)
01:58:02 <elliott> Dr. McNinja looks like way too much initial investment for the payoff, to be perfectly honest.
01:58:39 <pikhq_> elliott: "Investment" implies you can not read it after a handful of pages.
01:59:36 <elliott> pikhq_: It implies I don't read any comic without reading the entire backlog.
01:59:43 <elliott> Unless it's Dinosaur Comics or something in which case it's totally irrelevant.
01:59:59 <pikhq_> elliott: No, I mean "You can't not finish once you start the backlog".
02:01:37 <Sgeo> pikhq_, that's true for me with most things that have backlogs
02:02:17 <pikhq_> elliott: Irish ninja doctor comic. Why aren't you reading already?
02:02:42 <elliott> Sgeo: Uhh, SBaHJ is more addicting than Homestuck.
02:14:15 -!- foocraft has joined.
02:24:25 <elliott> "As a long time unix user, I don't have to figure out file types. If I see a binary file without an extension and I don't know what it might be, it is going off my system."
02:25:29 <Sgeo> Does using file count as "not having to figure out file types"?
02:25:41 <Sgeo> Using file sounds sensible. Using extensions on UNIX less so
02:29:44 <pikhq_> Patashu: file(1) performs heuristics to tell you information about what a given file is.
02:30:12 <Patashu> it's a big ball of knowledge about every file format's headers?
02:34:25 -!- pikhq has joined.
02:34:28 -!- pikhq_ has quit (Ping timeout: 246 seconds).
02:40:37 <Patashu> :lol: this is the best trojan ever http://www.symantec.com/connect/imagebrowser/view/image/1815391/_original
02:46:30 -!- Lymia has joined.
02:46:30 -!- Lymia has quit (Changing host).
02:46:30 -!- Lymia has joined.
02:55:58 -!- Behold has quit (Remote host closed the connection).
03:01:02 -!- Adamfyre has joined.
03:06:17 -!- Adamfyre has quit (Ping timeout: 260 seconds).
03:09:24 -!- Adamfyre has joined.
03:09:31 <Sgeo> elliott, elliott
03:10:37 <Sgeo> Oh, you saw it
03:10:42 <Sgeo> Just saw your comment on Reddit
03:12:10 <Patashu> I find it hilarious that bitcoin is unencrypted by default
03:14:16 -!- Adamfyre has quit (Ping timeout: 240 seconds).
03:16:43 -!- Adamfyre has joined.
03:19:23 <Patashu> sits unencrypted on your drive
03:19:32 <Patashu> rather than e.g. behind a symmetric key algorithm that takes a password
03:19:33 <elliott> Well, what is it going to be encrypted with? Another private key? :)
03:19:50 <Patashu> there's an algorithm that takes a password and spits out a symmetric key
03:19:56 <Patashu> put it into AES-256 or whatever
03:22:04 -!- Adamfyre has quit (Ping timeout: 252 seconds).
03:28:32 -!- pikhq has quit (Ping timeout: 240 seconds).
03:28:45 -!- pikhq has joined.
03:31:48 -!- Adamfyre has joined.
03:35:53 -!- Adamfyre has quit (Ping timeout: 240 seconds).
03:37:19 <elliott> pikhq: I was thinking that, with my revised needs mechanism, "c99 needs libs ..." should actually be "c99 libs ...", since it actually has special code now, rather than being part of a "generic" mechanism.
03:37:36 <elliott> (Despite that it's actually more flexible, but yeah, it's not straight "needs" any more, it postprocesses the output from the solver to translate the result into the right flags.)
03:38:13 <elliott> "This is one of the pitfalls of Ubuntu: it uses the command make for the same program that basically every other Unix-based OS calls gmake."
03:38:50 <coppro> most Linux do that aiui
03:39:04 <elliott> coppro: When I quote things, it is because they are stupid.
03:39:33 <monqy> what's the difference
03:40:32 <pikhq> Also, it is *entirely* reasonable to install GNU make as "make".
03:40:46 <pikhq> As, as far as I'm aware, it suffices as a POSIX make.
03:41:46 <pikhq> What do you want the distro makers to do, maintain a BSD make package as well?
03:43:24 -!- Adamfyre has joined.
03:47:09 -!- ralc has quit (Quit: Leaving).
03:56:37 -!- Adamfyre has quit (Ping timeout: 264 seconds).
04:00:04 <pikhq> "Okay, I guess that's it. The last HLE code in bsnes is now gone, and every special chip uses LLE."
04:02:20 -!- Adamfyre has joined.
04:07:32 -!- Adamfyre has quit (Ping timeout: 252 seconds).
04:13:58 -!- DocHerrings has joined.
04:14:47 -!- hagb4rd has quit (Quit: hagb4rd).
04:16:24 <elliott> DocHerrings: doc, we need some herrings.
04:16:34 <DocHerrings> Anyone here any good with common lisp? I have a eodermdrome interpreter in its final stages and I just can't seem to find the problem?
04:16:50 <elliott> I've... written a few Common Lisp programs.
04:17:09 <elliott> Isn't the problem with Eodermdrome efficient implementation?
04:17:18 <DocHerrings> Hold on.. I will put it on pastebin. Beware, it's a bit if a beast.
04:17:19 <elliott> ISTR it's really slow done naively, but ais knows more than me.
04:18:06 <DocHerrings> elliott: I did it by implementing a hash mapping nodes to sets of connections. Seems to be working fine currently...
04:18:36 <elliott> How do you know? I only know of one publicly-posted Eodermdrome program, and it sounds like your implementation doesn't actually work yet :)
04:19:02 <elliott> Not doubting, just curious.
04:20:24 <DocHerrings> The fact is, the parts work. The program does not seem to. (It could be minor bugs I haven't traced yet).
04:21:02 <DocHerrings> http://pastebin.com/V7Qg0Pw9 Beware... I did not use comments. I kinda wrote it in a single session.
04:21:24 <DocHerrings> ^There you go, elliott. Good luck with it.
04:21:28 <elliott> I find the lack of empty lines more distressing :P
04:21:58 <elliott> DocHerrings: But, erm, "it doesn't work" is a bit non-specific.
04:22:07 <elliott> The program is non-trivial, so I don't even know where I'd start debugging it.
04:22:38 <DocHerrings> Well, here is the breakdown - it parses the file properly, and produced the correct graphs and mappings.
04:23:13 <DocHerrings> It also correctly detects input and all other prerequisites.
04:23:45 <elliott> But when running an actual program, ...?
04:24:06 <DocHerrings> BUT the example program fails miserably. All the code seems to be executed, but no changes to the internal graph are made
04:24:45 <elliott> DocHerrings: Bear in mind that it is completely untested...
04:25:08 <elliott> So it may be that the program is broken. It is likely, even.
04:25:23 <elliott> You might be able to pry a simpler example program out of ais523 here or on the wiki.
04:25:57 <DocHerrings> True, but by tracing the that section of code, I see something even worse - for some reason, the internal graph is not being altered - at all.
04:26:53 <elliott> DocHerrings: Perhaps you are expecting a functional operation to behave imperatively? i.e., you are transforming the graph into a new graph, but not actually _mutating_ it, and in the end just throwing it away.
04:27:01 <elliott> This is just a guess based on a cursory glance at your code, no actual evidence.
04:27:30 <DocHerrings> And I made one of my own - I simply reduced the graph to one node 'a', and then string down the alphabet, printing "Counting 1" etc. That does not work either.
04:28:11 <Sgeo> Maybe I should get back into CL
04:28:25 <DocHerrings> elliott: You will notice the gratuitous use of setf. Even if the function returns an object, as long as it is setf'ed, the changes stick.
04:28:42 <elliott> That's an odd way to put it, but sure.
04:28:58 <elliott> DocHerrings: Still, closed-nothings bugs me.
04:29:29 <elliott> you're discarding the result of a map, which means you should really use LOOP instead.
04:29:41 <elliott> Or, well, anything that isn't a map.
04:30:04 <elliott> maphash does not actually map.
04:30:09 <elliott> DocHerrings: "The consequences are unspecified if any attempt is made to add or remove an entry from the hash-table while a maphash is in progress, with two exceptions: the function can use can use setf of gethash to change the value part of the entry currently being processed, or it can use remhash to remove that entry.
04:30:13 <elliott> This doesn't affect you, right?
04:30:45 <DocHerrings> No, the only time I use maphash, a local variable is the one being changed.
04:31:54 <DocHerrings> Hmm... I am going to comment out the main loop, and execute the commands by hand. Maybe that will help.
04:32:25 <DocHerrings> And I badly need to clean and refactor this code anyways. It's a god-awful mess.
04:32:53 <elliott> I diagnose this as the obvious result of not being written in Haskell. :p
04:33:30 <DocHerrings> Funny, I have written in Haskell. Playing around with Clean now.
04:34:10 <elliott> Clean is interesting, although I'm not convinced that uniqueness types are useful enough to justify the added complexity to the type system and language.
04:34:26 <elliott> (Apart from that, of course, it's mostly a carbon copy of Haskell-98 with some weirdness.)
04:34:41 -!- kwertii has joined.
04:35:24 <pikhq> Yeah, I find that monads are a more natural abstraction to apply to sequencing IO than uniqueness typing.
04:35:31 <pikhq> Interesting idea, though.
04:35:44 <elliott> Well I don't know about that.
04:36:17 <elliott> But two different ways of modelling imperative IO semantics are... hard to compare because the end result is practically the same.
04:36:26 <pikhq> It's a heavily subjective thing.
04:36:30 <elliott> The question is whether uniqueness types are fun for anything else.
04:36:37 <DocHerrings> Ahahah, okay, now I know I need to re-do part of this.
04:37:00 <DocHerrings> Seems my state-machine/regexp code hates the letter a.
04:37:16 <elliott> I diagnose your code with wat. It is terminal.
04:38:16 <DocHerrings> Since I didn't feel like getting a regexp library involved with what was already a trainwreak, I wrote a state machine to parse the input.
04:39:14 <elliott> If your first thought for an Actual Parsing Library is dragging regexps in, then you have a problem and it's a good thing you were too lazy :P
04:40:46 -!- oerjan has joined.
04:40:55 <elliott> "It was the (if letter-is-a (break-randomly)) line."
04:41:00 <elliott> hi oerjan your eodermdrome program MIGHT be broken MIGHT
04:41:21 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
04:41:53 <DocHerrings> No, seems the code failed miserably when the match or replacement subgraph was of length 1. gotta go fix that.
04:42:00 <oerjan> i shall have to ban DocHerrings for this
04:42:39 <oerjan> FOR SULLYING MY PRISTINE PROGRAM WITH ACTUAL BUG CHECKING
04:43:08 <DocHerrings> Whoah whoa WHOAH. Slow down there! The your pristine program might still work, your majesty!
04:43:32 <oerjan> O KAY. WE'LL POSTPONE THE OFF WITH YOUR HEAD, THEN
04:44:20 <DocHerrings> elliott: this is what I get for not sleeping, okay? :p
04:45:26 <pikhq> Bah, sleep is for mortals.
04:46:21 <elliott> DocHerrings: talking to a person who operates on average 0 sleep/day
04:46:55 <pikhq> elliott: I thought you averaged higher than that, but that the mode was 0.
04:51:20 * oerjan opens http://hackage.haskell.org/package/mueval and backs away when he notices there are no haddock links
04:51:46 <elliott> its ok oerjan i will give you a hug
04:51:50 <elliott> i think CakeProphet just meant >
04:52:14 <elliott> but still it might have been in a repl or w / e
04:52:46 <lambdabot> No instance for (GHC.Num.Num GHC.Types.Char)
04:52:53 <Lymia> Insanity, go... aww
04:53:30 <Lymia> > sum $ map (\x -> x * x) [0..]
04:53:37 <oerjan> elliott: i was imagining he was trying some eval "['a'..'z']" which defaulted to Integer
04:54:29 <oerjan> Lymia: sum is indeed a strict function
04:54:45 <Lymia> Lymia is not a he.
04:55:00 <oerjan> Lymia: i was referring to CakeProphet
04:55:28 <copumpkin> well, at least we know that Lymia is not a he now
04:55:45 <copumpkin> note that this does not necessarily mean that Lymia is a she, though
04:56:12 <oerjan> yes. confer a certain soupy, faxy dragon pig
04:57:07 <elliott> hmm, sum [0..] :: LazyNat is _|_, gross
04:57:08 <oerjan> well i don't _think_ Lymia is fax etc.
04:57:25 <elliott> hasn't Lymia not being a he been established for months
04:57:35 <elliott> ("A he": best terminology?)
04:57:41 <oerjan> well i did notice it a while ago
04:57:59 <Lymia> I thought oerjan was referring to me, considering the whole "defaulted to Integer" clause.
04:58:20 <Lymia> > foldl (++) ['a'..'z']
04:58:22 <lambdabot> Overlapping instances for GHC.Show.Show
04:59:03 <Lymia> > foldl (/x -> show $ ++) ['a'..'z']
04:59:04 <lambdabot> <no location info>: parse error on input `->'
04:59:15 <Lymia> > foldl (\x -> show $ ++) ['a'..'z']
04:59:16 <lambdabot> <no location info>: parse error on input `++'
04:59:18 <oerjan> Lymia: missing argument on the first one
04:59:42 <oerjan> Lymia: foldl takes 3 args
05:00:07 <DocHerrings> Alright, problem found. Well check back in when I have everything done. Then oerjan can have proof of his pristine program.
05:00:11 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
05:00:14 <oerjan> as for the parse, sections can only have arguments of higher (or sometimes equal precedence)
05:00:27 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
05:00:51 <Lymia> > foldl (\x y -> show $ ++ x y) "" ['a'..'z']
05:00:52 <lambdabot> <no location info>: parse error on input `++'
05:00:59 <Lymia> > foldl (\x y -> show $ x ++ y) "" ['a'..'z']
05:00:59 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
05:01:12 <Lymia> > foldl (\x y -> show $ (show x) ++ (show y)) "" ['a'..'z']
05:01:12 <oerjan> what do you want the show for
05:01:33 <Lymia> > foldl (\x y -> x ++ y) "" ['a'..'z']
05:01:34 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
05:01:39 <oerjan> > foldl (\x y -> show $ (show x) ++ (show y)) "" ['a'..'z']
05:01:41 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
05:01:55 <Lymia> > foldl (\x y -> x ++ $ show y) "" ['a'..'z']
05:01:56 <lambdabot> <no location info>: parse error on input `$'
05:01:57 <oerjan> not all timeouts are for infinite looping
05:02:04 <Lymia> > foldl (\x y -> x ++ (show y)) "" ['a'..'z']
05:02:06 <lambdabot> "'a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y...
05:02:47 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
05:03:44 <copumpkin> > take 5 . map length . group . fix $ show
05:03:55 <copumpkin> > take 10 . map length . group . fix $ show
05:04:02 <elliott> > map length . group . fix $ show
05:04:12 <copumpkin> > take 10 . filter (/= 1) . map length . group . fix $ show
05:04:14 <lambdabot> [3,7,15,31,63,127,255,511,1023,2047]
05:04:30 <oerjan> copumpkin: the \ groups go as 2^n-1
05:04:52 <copumpkin> I'm mostly puzzled wtf is wrong with lambdabot
05:05:18 <oerjan> > map length . group . fix $ show
05:05:49 <oerjan> lambdabot seems to have many possible failure modes for too long computations
05:06:01 <copumpkin> yeah, but normally it'll lazily produce some of that list
05:06:13 <copumpkin> more than the first element, at least
05:06:29 <oerjan> copumpkin: not if it times out before producing a whole line, does it?
05:06:50 <copumpkin> oerjan: maybe not, but it's weird that it spat out [1 before
05:07:37 <oerjan> i mean if it reaches an exception it does spit out what came before, but i don't think it does that with timeout
05:07:43 <pikhq> "ESTNE VOLVMEN IN TOGA, AN SOLVM TIBI LIBET ME VIDERE" This is a real phrase from a (presumably phrase) book on Latin.
05:07:47 <pikhq> Meaning "Is that a scroll in your toga, or are you just happy to see me?"
05:09:07 <oerjan> oh the previous mueval version has haddock
05:09:15 <pikhq> No idea; the quote came to me by way of Omniglot.
05:09:39 <oerjan> pikhq: sounds a bit familiar
05:11:06 <oerjan> eval :: MonadInterpreter m => String -> m String
05:11:12 <pikhq> oerjan: "Is that a pistol in your pocket, or are you just glad to see me?" is an extraördinarily well-known, oft slightly mis-quoted, oft referenced quip by the actress Mae West.
05:11:28 <oerjan> pikhq: i mean the actual latin you dolt
05:12:09 <oerjan> i'm sure there's a list of several of them
05:14:16 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
05:17:27 -!- wareya has quit (Read error: Operation timed out).
05:19:38 <pikhq> "Serbia includes the Bosnian language as an elective subject in primary schools."
05:20:01 <pikhq> That would be like America including the Canadian language as an elective subject.
05:20:13 <elliott> i don't know what you mean eh
05:20:30 * oerjan beats pikhq on the head with a Nynorsk dictionary
05:20:34 -!- rodgort has quit (Read error: Operation timed out).
05:21:09 <pikhq> elliott: Serbian/Croatian/Bosnian/Montenegrin/Standard Serbo-Croatian is a pluricentric language with a multitude of names for nationalist reasons.
05:21:41 <coppro> isn't it more likely to just be classes on how to insult bosnians?
05:21:43 <pikhq> oerjan: At least Nynorsk and Bokmål *possess* differences.
05:21:44 <elliott> i'm going to go and get some syrup from a tree, or whatever it is canadians do all day, eh
05:24:46 <pikhq> oerjan: The differences between the different Serbo-Croatian "languages" are best compared to "color" vs. "colour" type spelling differences.
05:25:45 <oerjan> except for the shooting at people who say "colour"
05:25:47 <pikhq> (okay, so you *can* write "Serbian" text that a speaker of "Croatian" can't read, but that's only because Croatian only uses Latin script)
05:26:02 <pikhq> oerjan: I did say it was for nationalist reasons, did I not?
05:26:14 <pikhq> Unlike US vs. UK spelling, which is for hysterical raisins.
05:26:35 <oerjan> yes, yes. iiuc the differences where hastily introduced after the wars started...
05:28:26 <elliott> just like canadian english eh
05:29:43 <pikhq> I'm not sure it's even meaningful to say "Canadian English".
05:32:00 <oerjan> syrup from bears in snow, check
05:32:29 -!- rodgort has joined.
05:32:54 -!- rodgort has quit (Client Quit).
05:34:11 -!- rodgort has joined.
05:34:14 <CakeProphet> so I was thinking it would interesting to make a language that was both high level and low level.
05:34:36 <CakeProphet> so you can write efficient code or you can write abstract code.
05:34:59 <pikhq> CakeProphet: We call it "Haskell".
05:36:38 -!- pikhq_ has joined.
05:39:33 -!- pikhq has quit (Ping timeout: 250 seconds).
05:42:12 <CakeProphet> I could see using Python's with statement to write monadic code... but I'm not entirely sure.
05:43:07 -!- kwertii has quit (Quit: bye).
05:44:19 <Lymia> pikhq_, now all we need is Haskell with a builtin C-like language.
05:46:58 <elliott> (he says, despite thinking pikhq_'s original statement a bit rich)
05:49:25 <CakeProphet> would an interpreter in Haskell be reasonable if you're concerned with performance?
05:49:40 <pikhq_> elliott: Only mild hyperbole.
05:50:06 <elliott> CakeProphet: If you're good at Haskell, of course :-)
05:50:19 <elliott> Shiro is... faster than pyfunge :P
05:50:21 <pikhq_> Lymia: If you were mildly crazy, you could probably implement C in Template Haskell.
05:50:26 <elliott> (It was faster before I refactored the code.)
05:50:55 <elliott> CakeProphet: I mean, obviously you need to have some kind of intuition about the performance characteristics of Haskell structures and code which are very different to most languages.
05:51:00 <elliott> But yes, Haskell interpreters can be very fast.
05:51:25 <elliott> Also I feel like linking to:
05:51:26 <elliott> http://augustss.blogspot.com/2009/02/more-basic-not-that-anybody-should-care.html
05:51:28 <pikhq_> Lymia: Without doing crazy implementations of things C assumes; you could just translate pointer semantics directly.
05:51:35 <elliott> which is an embedded BASIC DSL in Haskell that uses LLVM to produce BLAAAZING fast code.
05:51:43 <elliott> You could easily do that with... a less perverse language.
05:51:52 <Lymia> elliott, Haskell.... uh....
05:51:54 <elliott> Like, one that doesn't use horrific syntactic tricks.
05:52:19 <Lymia> elliott, I thought a rough ordering of language speed goes something like this [C,C++]>[Java,C#,Haskell]->[Python,Perl,Ruby]
05:52:33 <elliott> Lymia: Languages don't have speeds.
05:52:42 <elliott> Implementations have speeds (except they don't really).
05:52:57 <pikhq_> Lymia: Languages don't have speeds, code has speeds, and implementations might affect this.
05:53:04 <elliott> Yes, this matters, because the world is not always "C is the fastest language, lol, everything else is slower".
05:53:10 <elliott> C was probably not very fast on a Lisp Machine, for instance.
05:53:42 <Lymia> s/language speed/speed of your typical implementation/
05:53:52 <elliott> On a typical Intel processor and Unix?
05:54:05 <Lymia> s/language speed/speed of your typical implementation on a typical Intel processor and Unix/
05:54:11 <pikhq_> Lymia: Implementations don't *have* speeds, they can only affect speeds.
05:54:25 <elliott> Lymia: It's possible to write Haskell code as fast as C code that performs the same task, naturally. It might be a pain -- but you can get within the same order of magnitude without too much fuss.
05:54:51 <elliott> CakeProphet: It's kind of relevant, because "C and C++ are fast" is a persistent, idiotic myth.
05:54:55 <elliott> Although I think pikhq_ is taking it a bit too far.
05:54:58 <pikhq_> Lymia: A completely moronic algorithm in C will probably get beat by a good algorithm in, say, Brainfuck.
05:55:07 <Lymia> pikhq_, of course.
05:55:20 <elliott> What we're measuring is "the same algorithm, implemented in an idiomatic-to-mildly-optimised style, compiled by an implementation with full optimisation settings"
05:55:25 <elliott> Lymia: Comparing against OCaml is probably worthwhile.
05:55:33 <Lymia> But it's useless to compare apples to grapes.
05:55:40 <elliott> Lymia: Typical OCaml code will be faster than typical Haskell code, most likely.
05:55:48 <Lymia> I should look into that language.
05:55:50 <elliott> But Haskell code can easily be as fast as typical OCaml code.
05:56:00 <elliott> Don't, it's fairly rubbish with only a few nice features.
05:56:15 * CakeProphet is planning some ridiculous language shit.
05:56:23 <elliott> The ML module system, and some of the structural typing is nice, but the toolchain and library ecosystem SUCKS SUCKS SUCKS, and the strictness is annoying.
05:56:30 <elliott> Plus the type system is fairly weak and some of the syntax is really grating.
05:56:56 <pikhq_> elliott: The issue is, of course, that this is rarely a good comparison. Some languages make it much easier to write smarter code than others, so it's not that common that you can do a comparison of the same algorithm in multiple languages to each other.
05:57:11 <elliott> pikhq_: Yeah yeah yeah it is not helpful to pedant a question to the point of unanswerability.
05:57:31 <elliott> Lymia: Anyway, my assessment is: You can get a Haskell program within the same order of magnitude or two as a C program doing the same thing without /too/ much fuss (although it'll require hand optimisation).
05:57:42 <elliott> Thankfully, most of the time you simply don't need this.
05:57:48 <elliott> Lymia: And certain types of code will be _really_ fast without any work.
05:58:00 <pikhq_> elliott: My point is that the question *is basically meaningless*, so yes, it is helpful. :P
05:58:04 <elliott> Lymia: For instance, fusion means that array-transforming and iterating operations with some of the popular libraries will be RIDICULOUSLY fast.
05:58:13 <Lymia> Not really that surprising.
05:58:17 <elliott> Automatically vectorised, parallelised, fused, etc.
05:58:56 <elliott> Lymia: And this is probably more relevant than whole-program performance: it means that you can write simple, functional compositions of combinators to do a certain, atomic task in an easy-to-write way, and it'll compile to a fast tight loop.
05:59:04 <elliott> Which, if you use it a lot, will help a ton.
05:59:21 <Lymia> Basically, "Haskell is way easier to optimize than C"
05:59:44 <elliott> Some things get automatically optimised with no work for you, and are basically the best you'll get.
05:59:48 <elliott> And strictness annotations always help.
05:59:49 <pikhq_> I dunno, it's certainly easier to microöptimize C.
05:59:55 <elliott> But C code is usually easier to microoptimise, yes.
06:00:17 <Lymia> elliott, Haskell ensures that a function call with the same parameters would have the same result, right?
06:00:34 <elliott> Lymia: It's not so much "ensures" as "there is no way to violate that from the language definition".
06:00:48 <elliott> Lymia: Exercise: Write a lambda calculus function that returns a different result given identical arguments at different times.
06:00:55 <elliott> You can't, but not because of any specific law preventing it.
06:01:05 <elliott> Lymia: Of course unsafePerformIO and unsafeCoerce and all hosts of horrible things violate this.
06:01:12 <elliott> But if you use them you better know what you're doing.
06:01:33 <Lymia> Doesn't that go for almost all features explicitly called "unsafe" in any language?
06:01:36 <elliott> Exposing such non-referentially-transparent things outside of an internal module implementation is a crime worthy of death.
06:01:40 <pikhq_> The compiler *will* assume that the function remains pure, and if you break that assumption you can keep both pieces.
06:01:44 <CakeProphet> could the FFI be used to violate that principle of Haskell?
06:01:47 <elliott> pikhq_: It's not quite that bad.
06:02:00 <elliott> Hmm, I guess unsafeCoerce is actually referentially transparent
06:02:08 <pikhq_> CakeProphet: The FFI *contains* unsafeCoerce.
06:02:11 <elliott> If you cast something in a way that lets you get at its pointer then no.
06:02:26 <elliott> CakeProphet: Yes, but if you do it you'll know you've done it.
06:03:12 <elliott> CakeProphet: And if you expose that impurity from a public module without big warning signs:
06:03:15 <elliott> TA: kiind of liike wiith regii2tered 2ex offender2 and 2chool2.
06:03:15 <elliott> TA: iif you move two a new town you have two go up two your neiighbor2 door and warn them about how 2tupiid you are.
06:03:16 <elliott> TA: and giive them a chance two hiide all theiir iinnocent technology.
06:03:16 <elliott> TA: and vandaliize your hou2e.
06:03:20 <elliott> (ANY EXCUSE TO USE THAT QUOTE)
06:03:53 <pikhq_> Lymia: One of the things that *really* helps with Haskell is that it's rather easy to write reasonable parallel code.
06:04:02 <Lymia> pikhq_, can't you automate that?
06:04:11 <elliott> not unless you're a researcher.
06:04:21 <elliott> and even then, no, not always, just no.
06:04:25 <elliott> don't even think about it. stop. stop that thinking.
06:05:39 <CakeProphet> yeah, my dual core processor is going to be able to take advantage of all that parallel code, while running other processes at the same time.
06:06:11 <pikhq_> CakeProphet: Your processors are idling 90% of the time.
06:06:31 <elliott> >implying dual core processors will even exist in consumer computers in a few years
06:06:50 <CakeProphet> now, some /algorithms/ can be sped up by parallelism, I think.
06:06:52 <elliott> "Dumb" automatic parallelisation would probably work in a N-core graph reduction machine where N is ridiculously large (like, at least sixty-four), mind you.
06:07:00 <elliott> CakeProphet: What do you even mean by that?
06:07:31 <pikhq_> And, yeah, the core count is going to go up until either we hit physical limits or we fuck up human civilization enough to stop chip manufacturing.
06:07:32 <CakeProphet> well, nevermind. it basically still relies on how many processors there are.
06:07:47 <Lymia> elliott, the standard library can be paralleled without the code being aware of it, no?
06:08:10 <elliott> Lymia: It would usually be a net loss.
06:08:21 <elliott> You don't want every map of a hundred-element list to involve bulky thread spawning code.
06:08:37 <pikhq_> Lymia: The trick is to do parallel code that is faster than sequential code, not just doing parallel code.
06:08:54 <oerjan> <elliott> You can't, but not because of any specific law preventing it. <-- you _might_ say it's because of confluence
06:08:57 <Lymia> elliott, good point.
06:09:15 <pikhq_> Even Haskell's really ubergood threading stuff doesn't make `par` free.
06:09:22 <elliott> oerjan: that's not really an explicit Law, though
06:10:33 -!- zzo38 has joined.
06:10:36 <zzo38> "This statement is either false or paradoxical."
06:11:56 <elliott> boy howdy, I sure wish the liar's paradox was still interesting
06:12:14 <Lymia> There's a easy escape clause to that.
06:12:47 <Patashu> This sentence is uninteresting.
06:13:03 <elliott> your MOM is uninteresting lmao
06:13:15 <zzo38> Epimenides of Crete says: "All Cretans are liars." But first he put all the other Cretans in a box and made an experiment like Schrodinger's Cat.
06:16:49 <zzo38> "You do not know how to prove this statement."
06:17:50 <Patashu> Isn't making a sentence that starts 'this sentence' like trying to use an object's variables before the constructor finishes?
06:18:18 <zzo38> Patashu: Maybe it is something like that.
06:18:50 -!- zzo38 has set topic: Rule #1: Ignore Rule #2. Rule #2: Ignore Rule #3. ... Rule $n$: Ignore Rule $n+1$. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:19:58 <zzo38> elliott: Can you elaborate on that please?
06:20:01 <pikhq_> The proper answer to such paradoxes is simple.
06:20:20 <zzo38> elliott: I don't know.
06:20:32 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any positive integer. ... Rule $n$: Ignore all rules $n$*x where x is any positive integer. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:20:47 <elliott> zzo38: Try. And see if you can! Else, then maybe you can not.
06:21:05 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:24:17 <Lymia> Your challenge is to figure out the end result of this rule.
06:25:58 <pikhq_> "Fuck off and die in a fire"
06:28:24 <Patashu> how does this rule system work
06:28:25 -!- zzo38 has quit (Quit: ERROR: CPU TEMPERATURE IS A NONREAL NUMBER).
06:28:38 <Patashu> do I apply a rule only once, or make sure it's always being held after each rule application?
06:28:51 <Patashu> if it's the latter then I can't ignore a rule if I'm told to follow 'em all
06:32:19 <oerjan> inconsistent ruleset is inconsistent
06:39:12 <elliott> *Main> let nine = fromInteger 9 :: Sym in runSym (nine == nine) :: Expr
06:42:13 <oerjan> elliott: erm that fromInteger is redundant
06:42:26 <elliott> *Main> runSym (fromIntegral (fromEnum (nine + nine == nine)) == nine) :: Expr
06:42:26 <elliott> Fun "(==)" [Con *** Exception: SymException (Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9])
06:44:41 <oerjan> ok that _is_ a bit scary
06:44:52 <oerjan> you are not hiding Prelude functions are you?
06:45:02 <elliott> oerjan: nope (well, catch, to use Control.Exception's)
06:45:11 <elliott> runSym :: (Show e, Typeable e, Show a, Typeable a) => e -> a
06:45:11 <elliott> runSym x = unsafePerformIO $ eval x `catch` \(SymException r) -> return r
06:45:11 <elliott> where eval x = do r <- evaluate x
06:45:34 <elliott> (if you try and use it as the wrong type it will cause a runtime exception by failing to catch the exception)
06:45:46 <elliott> oerjan: basically I'm making a _real_ damn symbolic package :D
06:45:52 <elliott> exception-oriented programming
06:46:32 <oerjan> oh right, it's not _actually_ returning anything from fromEnum
06:46:39 <elliott> *Main> runSym (fromEnum (nine + nine == nine)) :: Expr
06:46:39 <elliott> Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9]
06:46:46 <elliott> lol, I like how the fromEnum just gets ignored, yeah
06:46:54 <elliott> I guess I will not be able to support that, unfortunately
06:48:25 <oerjan> wait catch is a Prelude function?
06:48:35 <lambdabot> forall a. IO a -> (IOError -> IO a) -> IO a
06:48:45 <olsner> (sweet, finally some on-topic discussion in here!)
06:49:00 <elliott> class (Show a, Typeable a) => Sym a
06:49:03 <elliott> doesn't really work to bundle constraints
06:49:05 <oerjan> olsner: there was eodermdrome earlier
06:50:47 <elliott> oerjan: you have to define instances manually...
06:51:04 <oerjan> mumble mumble class aliases
06:53:13 <olsner> just use the preprocessor? :)
06:53:41 <oerjan> something something template haskell
06:54:06 * oerjan wonders if someone could implement class aliases _in_ template haskell
06:54:50 <oerjan> it seems eminently possible, mainly from the fact i know very little about template haskell
06:56:18 <elliott> oerjan: can i just say how scary haskell's pure exception semantics are...
06:56:25 <elliott> _|_ is like a whole RANGE of values now :<
06:57:41 <olsner> @quote awesome.majesty
06:57:41 <lambdabot> malcolm says: I don't believe you need to invoke the full awesome majesty of Template Haskell
06:58:19 <pikhq_> oerjan: Technically, you could do anything with it. Though you might just have a Haskelloid to Haskell compiler by you're done.
06:58:49 <oerjan> elliott: it's not just a RANGE, it's the POWER SET of a range
06:59:09 <elliott> oerjan: carbon dioxide, man
06:59:56 <elliott> show x = sym (Fun "show" [unsafeCoerce (runSym (unsafeCoerce x::())) :: Expr ()])
07:00:00 <oerjan> (if an expression has more than one possible exception raised inside dependent on evaluation order, then the resulting _|_ is the _set_ of them)
07:00:01 <elliott> dammit why isnt unsafeCoerce making my problems go away..........
07:00:58 <pikhq_> Patashu: unsafeCoerce :: a -> b
07:01:01 <elliott> Patashu: adults are talking plz leave
07:01:07 <elliott> pikhq_: wow way to ruin their childhood
07:01:29 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
07:01:49 <lambdabot> Source not found. Wrong! You cheating scum!
07:01:55 <pikhq_> And distinct from \x -> undefined
07:02:58 <oerjan> import GHC.Prim (unsafeCoerce#)
07:02:58 <oerjan> unsafeCoerce :: a -> b
07:02:58 <oerjan> unsafeCoerce = unsafeCoerce#
07:04:06 -!- cheater_ has joined.
07:05:27 <elliott> oerjan: whoops i exceeded the limits of the type system
07:05:41 <elliott> Patashu: this tends to happen to me
07:05:53 <oerjan> elliott, always pushing the boundaries
07:06:30 <oerjan> maybe in a very abstract way
07:06:59 <oerjan> as in, a pun on concepts, not words...
07:07:01 <Deewiant> unsafeCoerce a = let ref = unsafePerformIO (newIORef undefined) in unsafePerformIO $ writeIORef ref a >> readIORef ref
07:07:16 <elliott> At least one of the forall'd type variables mentioned by the constraint
07:07:16 <elliott> must be reachable from the type after the '=>'
07:07:20 <oerjan> Deewiant: OMG NOT THREAD SAFE THAT'S EVIL
07:08:13 <elliott> nothing else can access the ioref
07:08:52 <oerjan> actually, it _could_ be floated out, so still not thread safe
07:09:27 <oerjan> Deewiant: you also hit the monomorphism restriction
07:10:45 <oerjan> otoh there is also no guarantee that it _does_ keep just one value
07:10:59 <oerjan> Deewiant: well obviously you'll have it turned off, then
07:12:00 <oerjan> Deewiant: and you say it actually gives that type?
07:12:17 <oerjan> Deewiant: oh wait it works because there is no typeclass involved
07:12:19 <lambdabot> <no location info>: parse error on input `:'
07:12:27 <oerjan> so the MR doesn't trigger
07:13:39 <oerjan> Deewiant: still, there is no guarantee from haskell that this function does what it's intended to do... the ref could be floated out, thus thread unsafe, or it could be replicated, thus not transferring any value...
07:15:25 <oerjan> in the latter case it _would_ probably end up equivalent to \x -> undefined
07:18:04 <lambdabot> Prelude showParen :: Bool -> ShowS -> ShowS
07:18:04 <lambdabot> Text.Show showParen :: Bool -> ShowS -> ShowS
07:18:04 <lambdabot> Network.URI uriToString :: (String -> String) -> URI -> ShowS
07:18:10 <lambdabot> Not in scope: data constructor `ShowS'
07:18:27 <oerjan> elliott: what do you want?
07:19:06 <elliott> oerjan: foldr (.) id, it seems
07:19:10 <elliott> *Main> runSym (nine + nine == nine)
07:21:08 <oerjan> @hoogle [a -> a] -> a -> a
07:21:08 <lambdabot> Data.Generics.Schemes everywhere :: (a -> a) -> a -> a
07:21:09 <lambdabot> Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a
07:21:09 <lambdabot> Prelude until :: (a -> Bool) -> (a -> a) -> a -> a
07:21:52 <lambdabot> Source not found. You untyped fool!
07:21:57 <lambdabot> Data.Monoid Endo :: (a -> a) -> Endo a
07:21:57 <lambdabot> Data.Monoid appEndo :: Endo a -> a -> a
07:22:40 <oerjan> :t appEndo . mconcat . map Endo
07:23:00 <olsner> that's longer than foldr (.) id :/
07:23:06 <oerjan> now whether that folds left or right, i don't recall.
07:23:49 <lambdabot> Data.Foldable fold :: (Foldable t, Monoid m) => t m -> m
07:23:50 <lambdabot> Data.IntMap fold :: (a -> b -> b) -> b -> IntMap a -> b
07:23:50 <lambdabot> Data.IntSet fold :: (Int -> b -> b) -> b -> IntSet -> b
07:24:03 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
07:24:03 <lambdabot> Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
07:24:19 <oerjan> :t appEndo . foldMap Endo
07:24:31 <oerjan> :t appEndo . Data.Foldable.foldMap Endo
07:24:31 <lambdabot> forall a (t :: * -> *). (Data.Foldable.Foldable t) => t (a -> a) -> a -> a
07:26:32 <oerjan> > (appEndo . Data.Foldable.foldMap Endo) (repeat ('a':)) undefined
07:26:35 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
07:26:46 <oerjan> ok it folds the right way
07:27:12 <oerjan> (worst implementation of fix ever?)
07:27:33 -!- oerjan has quit (Quit: Later).
07:28:28 <elliott> *Main> runSym (max (9::Symbolic Int) (head (enumFrom 0)))
07:28:37 <elliott> olsner: i like the kind of bugs this is going to create
07:31:58 <olsner> > let fix' :: (a -> a) -> a; fix' f = (appEndo . Data.Foldable.foldMap Endo) (f:repeat' f) undefined; repeat' x = fix' (x:) in fix' ('a':)
07:32:00 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
07:35:33 <elliott> *Main> runSym (lift (lift True == lift False) == lift True)
07:35:41 -!- Sgeo has quit (Read error: Connection reset by peer).
07:36:40 -!- wareya has joined.
07:39:29 <olsner> eugh, "demonstrating the power of Racket by writing Brainfuck Compiler in it." ... since when does compiling brainfuck provide some indication of "power"?
07:41:44 <elliott> olsner: i think they mean "im going to use a bf compiler to demonstate fancy features of racket"
07:42:21 <olsner> ahaha, the article opens with "If people say that Racket is just a Scheme, they are short-selling Racket a little." ... this thing looks exactly like scheme
07:43:09 <elliott> that is actually true, though
07:43:22 <elliott> Racket is a family/environment of languages, not a language
07:43:30 <elliott> and indeed the main Racket language is very, very different from Scheme
07:43:42 <elliott> (yes, it's mostly compatible with Scheme, but idiomatic Racket looks nothing like idiomatic Scheme)
07:45:41 <olsner> aha, ok, the point is that they integrate it as a #lang translator/parser thingy for running brainfuck with Racket
07:45:58 <olsner> maybe that explains the huge amount of code they need
07:46:13 <elliott> it's not much code, really
07:46:19 <elliott> most of it is just boilerplate that is only being used to demonstrate, it seems
07:46:27 <elliott> i.e. for any language that wasn't bf, you'd actually want it :)
07:47:08 <elliott> olsner: hi person who uses C in their bloated kernel
07:47:45 <olsner> hehe, I don't use any C though
07:47:59 <elliott> i thought you were going to
07:50:09 -!- monqy has quit (Quit: hello).
07:51:39 <olsner> dunno, maybe, making linker scripts and stuff to do the right thing turned out to be more difficult and more boring than I thought... so I might not do C at all until I make an ELF loader
08:04:36 <elliott> olsner....hes got the carpenting but he doesnt realise
08:10:01 -!- elliott has quit (Ping timeout: 258 seconds).
08:22:36 -!- cheater_ has quit (*.net *.split).
08:22:37 -!- Patashu has quit (*.net *.split).
08:26:01 -!- cheater_ has joined.
08:26:01 -!- Patashu has joined.
08:29:11 -!- cheater_ has quit (*.net *.split).
08:29:11 -!- Patashu has quit (*.net *.split).
08:34:50 -!- cheater_ has joined.
08:34:51 -!- Patashu has joined.
09:25:27 -!- Vorpal has joined.
10:23:10 -!- Phantom_Hoover has joined.
10:23:36 <lambdabot> Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them.
10:25:00 -!- PatashuPikachuRe has joined.
10:27:37 -!- Patashu has quit (Ping timeout: 252 seconds).
10:33:39 -!- FireFly has joined.
10:35:31 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
10:36:28 -!- Phantom_Hoover has joined.
10:40:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
10:41:23 -!- Phantom_Hoover has joined.
10:44:14 -!- pikhq has joined.
10:44:57 -!- pikhq_ has quit (Ping timeout: 276 seconds).
10:45:09 -!- BeholdMyGlory has joined.
11:00:53 <CakeProphet> yeah, so mueval gives a not a number exception when I call fromEnum on Char..
11:21:34 -!- PatashuPikachuRe has quit (Ping timeout: 246 seconds).
11:25:10 -!- Patashu has joined.
11:38:12 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/i1txy/askscience_what_programming_language_do_you_use/
11:52:00 -!- Phantom__Hoover has joined.
11:56:38 -!- Patashu has quit (Read error: Connection reset by peer).
11:57:09 -!- Patashu has joined.
11:57:28 -!- Phantom__Hoover has quit (Quit: Leaving).
12:06:19 <augur> Phantom_Hoover: why not
12:06:52 <augur> have you SEEN the questions people ask in there?
12:13:12 <augur> honestly some of the askscience questions are so inane
12:13:38 <augur> how would an antimatter bomb have to be to kill all life on earth if it was on the edge of the observable universe
12:14:02 <augur> learn to multiply you shithead and stop asking that kind of crap here
12:14:18 <Phantom_Hoover> The vague ones and the ones which would take 10 seconds of Google are the worst.
12:14:34 <augur> well its not like you could google for this
12:14:38 <augur> but you could google for the parameters
12:14:51 <augur> and all it requires is a little knowledge to figure out
12:15:01 <augur> meanwhile i ask deep hard questions and get fuck all :(
12:15:14 <Phantom_Hoover> "Are there any negative ramifications of collecting solar power? (self.askscience)"
12:15:22 <augur> why does noone know about chaitin-kologorov complexity?
12:16:03 <augur> i dont think theres an askmath
12:30:08 <Patashu> I don't think ask math would be as popular
12:31:30 <augur> except for students who want help
12:32:19 <augur> http://www.reddit.com/r/cheatatmathhomework/
12:32:23 <augur> also i cant understand this but
12:32:39 <Patashu> 'pi is 4 in taxicab geometry' 'FUUUUUUUUUUUU'
12:32:44 <augur> /r/math's links are half to tinyurl even tho they're reddit internal
12:33:45 <Patashu> 'only numbers that you can compute exist' 'FUUUUUUUUUUUU'
12:41:29 <quintopia> the circumference of a L_1 circle is definitely 8
12:42:25 <augur> interesting that the term 2 pi r still is valid
12:42:46 <augur> i suppose its almost definitional but
12:43:20 <augur> i wonder if in principle c = 2 pi r could be the incorrect equation for some geometries
12:44:42 <quintopia> nope. pi will always be defined at the length of a unit semicircle
12:44:49 <Patashu> pi is defined to be the ratio between diameter and circumference
12:45:05 <Patashu> it's a self fulfilling prophecy
12:46:17 <quintopia> one can imagine insane geometries where the circumference of a circle does not vary linearly with the radius i bet
12:47:06 <Patashu> circle's the locus of all points equally distant from a point
12:49:04 <quintopia> what about a geometry where that describes the entirety of space
12:49:58 <quintopia> so all points are equally distant from all other points
12:50:04 <augur> quintopia: right but i mean, could it be possible that the length of a unit semi-circle is not d/c
12:50:29 <quintopia> we need to come up with something like that if it exists
12:54:58 <quintopia> (note that saying it exists is the same as saying circumference does not vary linearly with radius)
12:58:00 <augur> quintopia: in that geometry
12:58:19 <augur> but wouldnt that be true in, say, a parabolic geometry?
12:58:55 <augur> or a cylinder capped with a sphere?
12:59:19 <augur> where the circumference would increase up to a point
12:59:22 <augur> and then stay constant
12:59:32 <augur> if the circle were centered on the pole of the hemisphere
13:00:39 <augur> yes, there is a space in which circles would not have a constant pi
13:07:13 -!- MigoMipo has joined.
13:09:35 <quintopia> perhaps we should confine ourselves to geometries in which circles with different radii are distinct
13:09:46 <quintopia> that seems the more interesting case
13:19:31 <CakeProphet> In my space, pi is the rectangle function.
13:20:09 <CakeProphet> this leads to circles disappearing when they're not within a set of cycling ranges.
13:22:38 <quintopia> as a function of radius i suppose?
13:24:24 <CakeProphet> pulse functions are used in music synthesis a lot because they contain infinitely many harmonics.
13:25:03 <CakeProphet> which makes them ideal for subtractive synthesis. Applying filters to a pulse wave lets you "sculpt" different timbres.
13:25:25 <quintopia> indeed, one-bit music and one-bit symphony consist entirely of square waves
13:26:23 <CakeProphet> everything would have a constant amplitude...
13:26:47 <CakeProphet> depending on how you measure these things.
13:27:22 <quintopia> but perceived loudness is not a linear function of amplitude
13:27:30 <quintopia> in fact, it's a very complicated function
13:27:45 <CakeProphet> but it's hard to vary amplitude at all when you only have two values.
13:28:06 <quintopia> well, it's not only hard, it's impossible
13:28:15 <CakeProphet> ....well, yes.. that's what I was going for.
13:28:16 <quintopia> but perceived loudness you can play with if you're good
13:28:25 <CakeProphet> I suppose it would rely on frequencies then.
13:29:27 <CakeProphet> http://en.wikipedia.org/wiki/File:Perceived_Human_Hearing.png
13:31:48 <quintopia> tha's the average threshold for pure tones
13:32:16 <CakeProphet> I think it's an equal-loudness contour. I don't think that's the same thing as threshold.
13:32:55 <quintopia> which has a lot of equal loudness contours, including the threshold, for pure tones
13:32:59 <CakeProphet> http://en.wikipedia.org/wiki/File:Lindos1.svg
13:33:17 <CakeProphet> I assume it applies spectrally as well. But that's probably not entirely accurate.
13:33:25 <CakeProphet> meaning that it applies to the pure tones in a complex tone.
13:33:52 <quintopia> but i'm certain that perceived loudness is far more a function of timbre than frequency
13:34:14 <CakeProphet> well yes, frequencies of the spectral components, not the pitch of the note played.
13:34:43 <quintopia> which is to say, even if two sounds were equal in total amplitude, the complex one might sound louder than the pure one
13:35:12 <quintopia> *equal in summed perceived loudness over spectral components
13:35:53 <CakeProphet> I've always wanted to play around with granular synthesis. It generates some pretty rich timbres.
13:37:17 <quintopia> btw i love that little bump on the contours right at the center of the human voice frequency range
13:37:54 <CakeProphet> oh, yeah. I didn't realize that's what that was.
13:38:11 <CakeProphet> that's certainly interesting. psychoacoustics in general is interesting.
13:38:30 <CakeProphet> Most of what I know about it I learned from "Computer Music: Synthesis, Composition, and Performance"
13:38:55 <CakeProphet> a good book to learn about signal processing in relation to music.
13:39:12 <quintopia> to be sure, i think it's exactly the frequency of a baby's crying :P
13:41:08 <quintopia> most of what i know about it i learned in electronic music history and computer music composition class
13:41:24 <CakeProphet> I don't think any school I've ever been to has that.
13:41:57 <CakeProphet> I wonder what purpose the second bump serves, in the higher ranges.
13:46:40 <quintopia> it serves to make applause a painful thing to hear
13:47:18 <quintopia> actually i'm reading this upside-down
13:47:46 <quintopia> what that says is that higher frequencies are suppressed and harder to hear
13:48:13 <quintopia> and that there is a bump in the middle of the human vocal range that is harder to hear
13:49:13 <quintopia> possibly to make it easier to tune out annoying children on airplanes
13:52:17 <CakeProphet> yeah we were both reading it the wrong way
13:52:44 <CakeProphet> lower frequencies are much harder to hear that, at a certain point.
13:52:58 <CakeProphet> presumably because they're so funky fresh.
13:53:03 <augur> chaitin-kolmogorov complexity. :T
13:59:46 -!- Sgeo_ has joined.
13:59:48 -!- Sgeo has joined.
14:00:03 <quintopia> http://en.wikipedia.org/wiki/Belt_(music) anatomy is hard
14:00:09 -!- Sgeo_ has quit (Client Quit).
14:09:22 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:38:44 -!- copumpkin has joined.
14:47:14 -!- oerjan has joined.
14:51:47 <oerjan> <CakeProphet> yeah, so mueval gives a not a number exception when I call fromEnum on Char..
14:52:01 <oerjan> what command does that?
15:00:49 -!- zzo38 has joined.
15:01:10 -!- Vorpal has quit (Ping timeout: 250 seconds).
15:01:24 <zzo38> Do you know what happened stupid today?
15:01:51 <quintopia> people all over the world did tons of stupid things today
15:02:03 <quintopia> is it a newsworthy event or something that happened to you
15:02:06 <zzo38> But not what I am refering to.
15:02:19 <zzo38> I was helping someone with Yahoo! Mail.
15:02:32 <zzo38> It switched the new one there seems no way to switch back.
15:02:40 <zzo38> The new one doesn't even work properly.
15:03:36 <zzo38> But I managed to fix it by setting the general.useragent.override option on their computer temporarily and then it displayed a message "Your browser does not support Yahoo! Mail. * Switch to classic temporarily * Switch to classic permanently"
15:04:14 <zzo38> So I pushed "* Switch to classic permanently" and then removed the general.useragent.override option and that fixed it. Now all the messages are available again.
15:04:48 <zzo38> But it seems Yahoo! acting stupid trying to force everyone to use the new one
15:09:57 -!- dell has joined.
15:10:12 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:10:18 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:10:28 -!- dell has left ("Leaving").
15:11:06 <oerjan> did anything change at all?
15:11:34 <zzo38> It doesn't seem different to me than how it was before.
15:11:48 <zzo38> I don't know what that was
15:13:45 <zzo38> What was the purpose of whatever just happened?
15:15:17 <quintopia> i bet it changed something after the maximum topic length and then removed it
15:16:43 <oerjan> i don't think our topic is anywhere near the maximum
15:17:17 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
15:17:55 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:18:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:20:09 <quintopia> maybe it put a lot of spaces before whatever it changed :P
15:21:19 -!- zzo38 has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:28:15 <zzo38> The value of pi is the same regardless of the diameter of circles
16:30:24 <Phantom_Hoover> augur, that /r/askscience question about families of laws puts me in mind of Dedekind cuts for some reason.
16:32:57 <zzo38> "Haskell is way easier to optimize than C"
16:33:03 <zzo38> "Haskell is way easier to optimize than C"?
16:33:42 <zzo38> "Haskell is way easier to optimize than C"? I looked at LLVM and really it looks like the features of the LLVM make it possible to optimize in many ways (but probably some ways are not implemented yet)
16:39:17 <zzo38> When looking at LLVM it seems like there is some things missing.
16:52:56 <cheater_> zzo38, WRONG! read up on geometric defect.
16:58:04 <zzo38> What is geometric defect?
17:01:05 <Sgeo> Phantom_Hoover, what question? Link?
17:07:25 -!- monqy has joined.
17:07:41 -!- oerjan has quit (*.net *.split).
17:07:41 -!- pikhq has quit (*.net *.split).
17:07:41 -!- FireFly has quit (*.net *.split).
17:07:41 -!- cheater_ has quit (*.net *.split).
17:08:21 -!- pikhq has joined.
17:08:21 -!- FireFly has joined.
17:08:45 -!- Vorpal has joined.
17:09:04 -!- pikhq_ has joined.
17:09:08 -!- pikhq has quit (Ping timeout: 252 seconds).
17:14:03 -!- FireFly has quit (*.net *.split).
17:26:45 -!- TOGoS has joined.
17:26:50 -!- TOGoS has left.
17:27:43 -!- FireFly has joined.
17:29:07 <Phantom_Hoover> Sgeo, clicked away now; it's in his submission history, near the top.
17:33:33 <Sgeo> http://www.reddit.com/r/askscience/comments/he5fv/what_do_magnetic_field_lines_actually_represent/ whoever was replying to you deleted their comments :(
17:43:25 -!- dell has joined.
17:44:01 * Sgeo listens to all of Homestuck Vol. N albums
17:45:04 <dell> i think that if a high level language is to converted to a brainfuck code then the best method is to convert the HLL code into a bytecode(resembling asm like code) and after that the task would become easy
17:46:31 <dell> what do you think about it
17:48:24 -!- Kustas has joined.
17:48:38 <dell> i am thinking to start a project which will convert python like language code to bf
17:48:41 <Sgeo> I know that there's a C-2-BF converter
17:48:52 <Sgeo> And a weird language called bfc
17:48:54 -!- Kustas has left.
17:49:12 <Sgeo> bfc uses an intermediate bytecode language, not sure about C-2-BF
17:49:20 <Sgeo> dell, if you'll find it fun, go for it!
17:49:33 <dell> i will have to peep into the code of C-2-Bf how does it do
17:49:48 <Sgeo> I have no idea
17:50:19 <Sgeo> http://esolangs.org/wiki/C2BF
17:52:18 <dell> this will be of much help
17:54:09 <zzo38> I wonder,if, there might be some LLVM into Brainfuck compiler? I know there is a Brainfuck into LLVM compiler (it is included in the source code repository for LLVM)!
17:54:44 <dell> low level v machine
17:54:47 <zzo38> Probably it would be more difficult than making Brainfuck into LLVM
17:55:11 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:56:14 <dell> you mean llvm assembly language?
17:56:52 <zzo38> There is already a program compiling Brainfuck to LLVM.
17:57:24 <zzo38> http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/
17:57:44 <dell> brainfuck to any language is pretty easy things gets messy when its the reverse
17:57:54 <dell> i made a bf to c compiler in 10 minutes
17:58:42 <zzo38> Yes it is very easy to convert brainfuck into other codes, although doing optimiziation is a bit more difficult.
17:59:55 <zzo38> How well will LLVM optimize the code converted using the "BrainF" into LLVM?
18:01:10 -!- Phantom_Hoover has joined.
18:03:48 <pikhq_> dell: Doing it efficiently is hard.
18:04:52 <dell> not hard tooo hard
18:08:50 -!- pingveno has quit (Ping timeout: 258 seconds).
18:10:46 -!- pingveno has joined.
18:12:20 -!- azaq23 has joined.
18:14:59 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:22:49 -!- monqy has quit (Quit: hello).
18:23:08 <Sgeo> Why does Homestuck Vol. 3 put remixes right next to the originals?
18:23:35 -!- Phantom_Hoover has joined.
18:25:12 -!- dell has quit (Quit: Leaving).
18:28:00 -!- monqy has joined.
18:50:36 -!- jix has quit (Ping timeout: 260 seconds).
18:50:40 -!- jix has joined.
18:51:33 -!- iamcal has quit (Ping timeout: 246 seconds).
18:51:39 -!- iamcal has joined.
18:58:26 -!- iamcal has quit (Read error: Operation timed out).
18:58:30 -!- iamcal has joined.
19:24:33 -!- pikhq_ has quit (Ping timeout: 244 seconds).
19:24:49 -!- pikhq has joined.
19:25:14 <zzo38> How much money would you have to pay them to release the ADOM source codes? One million dollars? One billion dollars? One trillion dollars? One *ZILLION* dollars?
19:36:08 <monqy> one zillion is a lot of dollars
19:38:59 -!- cheater_ has joined.
19:41:46 -!- atrapado has joined.
20:25:14 <quintopia> http://wiki.eth-0.nl/index.php/LackRack this is wonderful
20:29:57 <quintopia> probably less in sweden (though i suppose it'd be in SKK)
20:34:27 <olsner> why would ikea take slovak money in sweden? they don't even use it in slovakia anymore
20:51:40 <quintopia> what's the designation for swedish kronur?
20:53:01 <zzo38> Play Pokemon card. The opponent manages to pick up five side cards but runs out of cards before being able to pick up the sixth side card, therefore losing.
20:59:55 -!- wareya has quit (Ping timeout: 252 seconds).
21:00:35 -!- azaq23 has quit (Quit: Leaving.).
21:04:47 -!- teuchter has quit (Ping timeout: 258 seconds).
21:10:40 <pikhq> Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to.
21:11:46 -!- TOGoS has joined.
21:11:50 -!- TOGoS has left.
21:12:16 <pikhq> *Admittedly*, given the present economic instability, it's understandable that nobody wants to dick with their currency at present.
21:14:57 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:16:12 <Lymia> zzo38, that's uncommon?
21:16:33 <Lymia> When playing Magic the Gathering, I've won more than once with very little life, or even 1 life left.
21:17:13 <Lymia> In the Pokemon TCG, such things seem even more likely with two decks around the same level facing each other.
21:18:03 -!- pikhq_ has joined.
21:19:15 -!- pikhq has quit (Ping timeout: 244 seconds).
21:20:24 <quintopia> Gregor: when did my little pony become so popular in youtube poopyness?
21:21:49 -!- wareya has joined.
21:22:36 <zzo38> Lymia: When I play it is not uncommon. Nothing to do with levels or with the deck, really. Really it is the opponent who is making bad choices. Such as, they might be unable to retreat. And if I don't attack, then they will not ever put another card up until it is too late.
21:22:52 <Lymia> I've heard that the latest My Little Pony cartoon is very very good.
21:23:23 <Lymia> Runs out of deck cards?
21:24:12 <Lymia> Usually when I see that happening, it's in Magic the Gathering, and it's quite intentionally caused.
21:24:43 <pikhq_> quintopia: Probably about the time that My Little Pony became popular amongst 20-something males.
21:24:53 <pikhq_> Man. Brazil borders France.
21:24:57 <zzo38> That is, at the beginning, you can attack and attach energies and prepare. In middle, just resist opponent and prevent them from retreating (such as by not attacking). Near the end, just do nothing. Usually the reason is due to opponent playing stupid.
21:25:17 <Lymia> zzo38, I'm not too familiar with the Pokemon TCG
21:25:19 <pikhq_> quintopia: At most like a year ago?
21:25:27 <Lymia> I know the basic idea behind the rules, but not much else.
21:25:42 <Lymia> I'd love to pull out the big pile of cards I had from who knows when and bring it to my school.
21:25:52 -!- atrapado has quit (Quit: FIN).
21:25:54 <Lymia> "Let's figure out this game, and then beat the crap out of each other in it!"
21:26:06 <pikhq_> Apparently the latest cartoon has a writer that gives a fuck, which probably is a major factor. :P
21:26:15 <Lymia> I assume Zerg Rush does not work in Pokemon
21:26:44 <zzo38> Lymia: You aren't familiar? I play both Pokemon and Magic. However, I don't know what Zerg Rush is.
21:26:45 <Lymia> Those demographics sound suspiciously like those of magical girl anime.
21:26:54 <Lymia> zzo38, Starcraft term.
21:27:09 <pikhq_> Lymia: Gaaah, that genre.
21:27:28 <zzo38> I don't know about Starcraft. What is Zerg Rush?
21:27:35 <Lymia> zzo38, what the zergs do.
21:27:51 <pikhq_> In case you can't tell, I am not a fan.
21:27:52 <Lymia> In Magic, I do believe White Weenie is quite close in execution.
21:28:00 <Lymia> pikhq_, it is quite clear.
21:28:09 <Lymia> Fans are inanimate objects, and cannot use IRC.
21:28:40 <zzo38> When I do play Pokemon TCG, I have adapted it to Limited format, as well as modifying a few of the rules for who goes first and for ties and a few other rules.
21:28:40 <pikhq_> Lymia: However, they can kill people in the Republic of Korea.
21:29:29 <Lymia> I still have more than one anime left on my list of "things to watch"
21:29:38 <zzo38> Such as, the number of cards in your deck can be any number as long as it is a multiple of ten and both players must have the same number of cards in their deck, and the number of initial side cards (also same for both players) is one tenth of your deck.
21:29:43 <Lymia> Several of these are magical girl anime. I think you wouldn't like this very much.
21:30:19 <Lymia> zzo38, dunno Pokemon that much.
21:30:31 <Lymia> I assume "mill" and "stall" are not valid strategies?
21:30:36 <zzo38> I use the old rules rather than the new ones in general, with changes.
21:30:45 <Lymia> (Well, the second might actually work)
21:31:43 <zzo38> Lymia: Mill and stall are possible in Pokemon but more difficult to do. Mill is difficult but there is one card that can help you to do it. Stall is easier but still requires some tactics and things to consider.
21:32:54 <zzo38> I also use the rule that whoever has the active card with the lower level at the beginning of the game (Clefairy Doll is treated as zero) plays first, if they are not the same level.
21:33:40 <Lymia> I prefer to use the rules as written, and respond to unfun decks with even more unfun decks.
21:34:33 <zzo38> And for coin tosses, you can do Rock-Paper-Scissors; whoever win RPS is heads (whether they want it or not, but usually you do want heads); stalemates you try again. In case of tie, if it is during an attack, the attacker loses; otherwise it is a tie, and the tie stands (no sudden deathmatch).
21:35:42 <zzo38> Lymia: I have adapted it to Limited so that it is not a Constructed game, which means that deck construction is somewhat less important (you cannot bring your own cards).
21:36:19 <Lymia> One of my friends uses Earthcraft+Squirrel Farm for infinite tokens.
21:36:29 <Lymia> It's not exactly fair.
21:36:35 <Lymia> It is funny and fun.
21:38:02 -!- pumafyre has joined.
21:38:21 <zzo38> Lymia: Why do you think no fun? I prefer Limited play rather than Constructed.
21:38:46 <zzo38> (In fact I do not own any cards, so I am unable to play Constructed anyways.)
21:39:10 <Lymia> zzo38, because you can make decks centered around completely insane ideas.
21:41:33 -!- pumafyre has quit (Client Quit).
21:42:17 -!- pumafyre has joined.
21:42:50 <zzo38> (Actually I do have a few Magic: the Gathering cards, because you get to keep the cards you draft. I would prefer if the original owner (the store) kept them; even in ante I think all cards should be returned after the match.)
21:44:33 <zzo38> (And to allow some cards such as "Double Cross" (from Unglued) but they can only affect the current match. *Nothing* you do should affect any game outside of the current match, and any cards you purchase or whatever else you do before the match also should not affect the current match.)
21:59:09 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting).
22:03:33 -!- pikhq has joined.
22:04:17 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:08:57 -!- sebbu has joined.
22:08:58 -!- sebbu has quit (Changing host).
22:08:58 -!- sebbu has joined.
22:12:08 -!- sebbu2 has quit (Ping timeout: 255 seconds).
22:14:44 -!- elliott has joined.
22:14:44 -!- elliott has quit (Changing host).
22:14:44 -!- elliott has joined.
22:17:19 <lambdabot> elliott: You have 4 new messages. '/msg lambdabot @messages' to read them.
22:17:31 <elliott> that'll teach me to type p<tab>
22:27:07 <Lymia> elliott, see, that's how you do it.
22:27:13 <Lymia> Type in the first letter, hold tab, press enter when ready.
22:28:46 -!- SimonRC has quit (Ping timeout: 260 seconds).
22:29:15 <olsner> so, the icfp programming contest has started now
22:30:06 <cheater_> olsner: wasn't there an icfp irc channel?
22:33:37 <elliott> http://www.guardian.co.uk/commentisfree/libertycentral/2011/jun/17/library-censoring-internet-hexham
22:33:43 <elliott> Hexham: exactly the same as China.
22:46:29 -!- SimonRC has joined.
22:46:59 -!- pikhq_ has joined.
22:47:14 <pikhq_> elliott: Working on implementing the changes you suggested a while back.
22:47:19 <pikhq_> Holy frak this makes things cleaner.
22:48:41 <elliott> ALL IT NEEDS NOW IS TO BE WRITTEN IN HASKELL
22:49:31 <pikhq_> elliott: Call me up when Haskell has a reasonable chance of even working on all architectures supported by Debian. :P
22:50:14 <Phantom_Hoover> Until you get a bit more north, when suddenly it becomes Scotland and it's quite pleasant.
22:50:21 -!- pikhq has quit (Ping timeout: 260 seconds).
22:58:12 -!- pumafyre has joined.
23:00:46 <elliott> how many fires in the pumas pumafyre
23:01:28 <Lymia> DId you summon me?
23:08:20 -!- elliott has quit (Remote host closed the connection).
23:08:23 -!- elliott_ has joined.
23:08:33 -!- elliott_ has quit (Client Quit).
23:08:33 <quintopia> i like that Lymia randomly hugs people hear. i feel like some of the people here don't get enough hugs
23:09:37 <quintopia> it's a typo that i saw but was too lazy to comment on figuring everyone would get the point
23:09:42 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting).
23:12:52 -!- elliott has joined.
23:19:46 <pikhq_> Bleck, I keep getting tempted to just add a custom object system to this sucker.
23:20:10 <pikhq_> And it'd be much saner to just pull in one instead.
23:20:31 <pikhq_> But I'd really prefer to not have non-trivial dependencies.
23:22:10 <quintopia> then pull it in completely and make it your own :)
23:22:35 <pikhq_> And ideally I could use a fairly small-footprint Tcl for this. I.E. one that's not going to provide the various Tcl 8.5 features I've been making extensive use of. :/
23:25:01 <pikhq_> Though, Tcl 8.5 should be fairly portable.
23:29:20 <pikhq_> Meh, I can probably rely on Tcllib.
23:30:40 -!- Patashu has joined.
23:31:05 <pikhq_> Okay, yeah, the official distribution works on WinNT, OS X, *-linux-gnu, Solaris, HP-UX, AIX, *BSD, OpenVMS, IRIX, OSF, SCO Unix, and UnixWare.
23:31:52 <pikhq_> I don't think I need to concern myself with depending on Tcl 8.5 or pure Tcl libraries.
23:33:49 -!- foocraft has joined.
23:36:38 <zzo38> How do you play "Went"? Is that similar to "Go"?
23:36:54 <zzo38> Or is just the stones similar except that it is magnetic?
23:57:38 <Sgeo> quintopia, linky?
23:59:55 <elliott> pikhq_: I wouldn't bother making a generic object system yet.
00:00:19 <pikhq_> elliott: Good design is still hard. :P
00:01:55 -!- pikhq has joined.
00:04:36 -!- pikhq_ has quit (Ping timeout: 240 seconds).
00:06:39 -!- pikhq_ has joined.
00:09:36 -!- pikhq has quit (Read error: Operation timed out).
00:22:07 -!- Phantom_Hoover has left ("Leaving").
00:22:09 -!- Phantom_Hoover has quit (Quit: Leaving).
00:36:05 <pikhq_> Is there any sane way to test for ISO C89?
00:36:12 -!- Vorpal has quit (Ping timeout: 250 seconds).
00:36:32 <pikhq_> Feh, I suppose #if __STDC__ will do well enough.
00:39:01 <Sgeo> Going to start reading the Less Wrong Quantum Mechanics sequence
00:40:11 <elliott> if you die from an overdo-
00:40:15 <elliott> wait what that wasn't even a tylenol line
00:41:05 <Sgeo> All my Tylenol lines are now in a msg to myself, and I'll /nick to Sgeo first. ais523 being bothered by it bothered me.
00:42:34 <elliott> So what you're saying is... ais523 has the power to control your messages to the channel?
00:50:34 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:06:38 -!- FireFly has quit (Quit: swatted to death).
01:24:23 <Sgeo> http://lesswrong.com/lw/or/joy_in_the_merely_real/iuj?context=1#iuj I'm not sure which is stupider, the comment or the reply
01:49:50 <zzo38> Play chess against an opponent. You are white. Assign a permanent to each opponents piece, then opponent assigns a permanent to each of your pieces. Each piece must have a different permanent assigned to it. When a piece is captured, associated permanent is discarded. At end of chess game, if it ended in checkmate, permanent assigned to losers king is discarded.
01:52:16 -!- pikhq has joined.
01:54:18 <zzo38> You can test for both __STDC__ and __STDC_VERSION__ if you want C89.
01:54:36 -!- pikhq_ has quit (Ping timeout: 240 seconds).
01:56:08 <zzo38> And if you want to avoid GNU89 then you can test for that too in some way.
01:56:37 <pikhq> zzo38: Fail. __STDC_VERSION__ was first added in C90.
01:56:58 <zzo38> pikhq: You can compare the value of __STDC_VERSION__
01:57:09 <pikhq> __STDC_VERSION__ does not exist in C89.
01:57:17 <zzo38> Then test it with #ifdef
01:57:29 <pikhq> ... Oh, wait, yes you can. The preprocessor treats undefined macros as "0".
01:58:14 <pikhq> Of course, testing for __STDC_VERSION__ won't help much when what you want is more of "at least C89" rather than "is precisely C89". :P
01:58:36 <zzo38> O, I thought you wanted to test for "is precisely C89".
01:59:18 <pikhq> At least as far as I understand, C99's additions are all undefined behavior in C89, so if you actually get caught by those then you're just doing things wrong.
01:59:49 <pikhq> And I have no desire to help people do things wrong.
01:59:55 <zzo38> No, there are some new reserved words, I think.
02:01:13 <pikhq> Oh, sure enough, C99 is not a strict superset of C89. :/
02:02:52 <pikhq> So, I should probably make a "c89" test which makes sure that what you have is precisely C89 (or C90, as its only real distinction *is* __STDC_VERSION__), and a "c" test which just tests for __STDC__. (I shall pretend K&R C does not exist)
02:04:04 <pikhq> Perhaps first I should get town to actually generate Tupfiles again, though. :P
02:07:56 -!- oerjan has joined.
02:10:47 <zzo38> OK. That can help.
02:12:02 <Lymia> http://i51.tinypic.com/350uuc5.png
02:12:16 <zzo38> And perhaps also "gnu89" to use the "gnu89" version (Clang also supports "gnu89" mode).
02:13:40 <zzo38> Lymia: What is that, anyways? What does the stuff on the screen means?
02:14:26 <oerjan> <pikhq> Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to.
02:15:23 <oerjan> afaiu they are using technicalities to delay it until they actually want to, and no one wants to push them too hard?
02:24:54 <zzo38> Some of the GNU extensions that Clang does not support are ones that I don't think they even ought to have put in gcc anyways; they like to make GNU software too large in my opinion
02:25:27 <coppro> zzo38: try -fheinous-gnu-extensions
02:29:33 <pikhq> oerjan: I was asking for "why" not "how".
02:30:04 <pikhq> oerjan: "How" is pretty obvious; "exploit loopholes and watch as the EU doesn't care enough to call them on it".
02:30:20 <zzo38> coppro: What is that?
02:30:41 <coppro> zzo38: an excellent clang flag
02:30:53 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:31:39 <zzo38> coppro: What does it do?
02:34:28 <coppro> zzo38: exactly what it says on the tin
02:34:44 <pikhq> zzo38: I think for GNU extensions I'll probably just have checks for individual GCC extensions.
02:35:05 <zzo38> pikhq: OK, do that, if it is how you want to do that.
02:36:16 -!- copumpkin has joined.
02:37:27 <pikhq> (as it's entirely feasible to use each and every GCC extension from -std=c89 or -std=c99)
02:40:09 <zzo38> Although perhaps it might be useful to have a macro called "gnu89" which tests for all the GNU extensions except the ones that are intentionally not supported in Clang.
02:42:16 <zzo38> (And "gnu99" for the similar thing)
02:48:34 <elliott> pikhq: Did you finish reimplementing MY REFORM yet? :p
02:49:01 <pikhq> elliott: I've been doing much more thinking about it than actual doing.
02:52:10 <pikhq> __attribute__ is such a misfeature.
02:52:56 <pikhq> Actually, all of GNU C's extensions are misfeatures, because they make it so damned hard to use portably.
02:53:21 <pikhq> They don't have preprocessor defines for each feature, it's all on __GNUC__.
02:54:19 <pikhq> So you can't do, say, #if __has_attribute((foo)).
02:55:30 <pikhq> Well. If it ignores unknown attributes, then if they were sane they could just make if #ifdef __attribute__...
02:56:22 <pikhq> But *no*. If any other compiler wants to actually support a single GNU C extension, they need to define __GNUC__ to make code actually use it.
02:56:43 <pikhq> And if GCC removes an extension, code breaks.
02:57:09 <pikhq> So. Fucking. Stupid.
02:58:09 <pikhq> Now, clang has the right idea. They have a preprocessor check for each and every one of their extensions.
02:58:37 <elliott> does clang even have clang-specific extensions
02:59:14 <pikhq> Well, I think it's clang or OSX GCC extensions.
02:59:21 <pikhq> monqy: How do you feel about anonymous functions?
03:00:09 <pikhq> Oh, there's also C++ function overloading in C; you need to use __attribute__((overloadable)) for it to work.
03:01:29 <pikhq> Oh, and some extra builtins.
03:02:55 <pikhq> And you can *actually test for these things* in clang.
03:04:14 <pikhq> __has_builtin, __has_feature, __has_extension, and __has_attribute. GCC really, really, really needs them.
03:04:20 <pikhq> And I need a time machine to make it happen.
03:07:44 <elliott> *Main> runSym $ product [x,y,z]
03:07:54 <elliott> *Main> runSym $ product (map succ [x,y,z])
03:07:54 <elliott> ((1 * succ (x)) * succ (y)) * succ (z)
03:08:17 <elliott> unfortunately it's not all smiles and happiness
03:08:19 <elliott> *Main> runSym $ concat (map show [x,y,z])
03:08:38 <monqy> what happened there
03:09:33 <elliott> monqy: the whole system is based on exceptions
03:09:47 <elliott> *Main> runSym $ product [x,y,z] == x+y
03:09:47 <elliott> ((1 * x) * y) * z == x + y
03:09:54 <elliott> so you can't do symbolic stuff with it, usually
03:10:06 <elliott> so instead, everything takes two arguments, runs them and catches special SymExceptions
03:10:12 <elliott> which it then extracts the value out of
03:10:17 <elliott> computes the symbolic expression result
03:10:28 <elliott> the problem is, functions which look at these arguments... trigger an exception
03:11:12 <monqy> what a lovely hack
03:11:35 <elliott> monqy: SINCERE OR NOT: a monqy special
03:13:46 <pikhq> http://www.youtube.com/watch?v=B5ZMDzh0EXQ
03:15:37 <elliott> http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html this game looks fun
03:16:47 <zzo38> I have a foot-shooting list tell me of entries I don't have (they can be esoteric programming or not)
03:17:33 <elliott> two shoot urself in the foot... become a gansgata
03:19:17 <elliott> monqy: do you want to sign up to the zepto report, it is an irc-based reports of the most and most un- zepto of the land
03:19:20 <elliott> 99 dollars per square mile
03:20:13 <elliott> monqy: the inter - net land
03:22:46 <monqy> and what's a square mile
03:23:03 -!- Kustas has joined.
03:23:22 <elliott> monqy: u dont need two know...
03:24:56 -!- Kustas has left.
03:28:38 -!- elliott_ has joined.
03:28:39 -!- elliott has quit (Read error: Connection reset by peer).
03:35:45 -!- PatashuPikachuRe has joined.
03:36:18 -!- augur has quit (Remote host closed the connection).
03:37:29 -!- Patashu has quit (Ping timeout: 276 seconds).
03:39:10 <pikhq> North Korea has... Defeated Hitler, in terms of awful concentration camps.
03:39:36 -!- PatashuPikachuRe has changed nick to Patashu.
03:39:48 <elliott_> Patashu: i told you about pokemen
03:40:48 <pikhq> They have camps where generations are punished. By which I mean "you will be here your whole life. Your children will be born here and die here. Their children will be born here and die here. And so on."
03:41:54 <Patashu> for this game: http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html what would an example strategy look like?
03:41:57 <Patashu> I've never done lambda stuff before
03:42:44 <elliott_> characterising the problem of playing the game as "lambda stuff" seems to imply to me a gap in experience too large to articulate the answer...
03:42:49 <elliott_> (not that I know what a decent strategy would be myself)
03:42:55 <elliott_> (I'd have to actually try it to know that :P)
03:43:20 <monqy> maybe you should verse yourself up in lambda stuff first
03:43:33 <elliott_> I can't believe there are programmers who don't know the lambda calculus :(
03:44:13 <zzo38> I have a foot-shooting list of "HOW TO SHOOT YOURSELF FOOT BY PROGRAMMING LANGUAGES".
03:44:35 <Patashu> I can see that if you're setting up a huge fuck-the-opponent-over function in a slot and your opponent gets it to 0 vitality then zombifies it
03:44:39 <Patashu> it'll activate and do the opposite
03:47:39 <oerjan> zzo38: such lists are _old_
03:50:05 <elliott_> http://hackage.haskell.org/packages/archive/recursion-schemes/0.5.0.1/doc/html/Data-Functor-Foldable.html here dey are
03:50:10 <oerjan> look behind the zygohistomorphic prepromorphisms
03:51:10 <zzo38> oerjan: I know such lists are old but I have some new one too and want to add some new things if you have ideas. This can include new entries for programming languages that are already on there, entries for programming languages that are not on there, or entries for programming languages that did not exist at that time. It can be esoteric programming and/or not.
03:52:24 <oerjan> haskell: your program appears to prevent you from shooting yourself in the foot, until it suddenly runs unexpectedly out of memory
03:52:32 <elliott_> hmm, it's cataNat :: NatAlgebra a -> Nat -> a, right?
03:52:38 <elliott_> where type NatAlgebra a = (a, a -> a)
03:52:50 <zzo38> Thanks. That is one now I added it
03:54:39 <elliott_> class Catamorphism a alg | a -> alg where
03:55:24 <elliott_> oerjan: hint: there are no typekinds
03:55:35 <elliott_> you supply the (type-level) _values_
03:55:46 <elliott_> so for any input number, there is only one valid (a, a -> a) pair
03:55:52 <elliott_> making this totally meaningless
03:56:34 <oerjan> no, i am just not even remembering what a catamorphism is, much less in the type system
03:56:45 <elliott_> generalised fold / induction / recursion scheme
03:57:22 <elliott_> type NatAlg a = (a, a -> a); cataNat (x,f) Z = x; cataNat alg (S n) = f (cataNat alg n)
03:58:10 -!- augur has joined.
03:59:23 * pikhq wonders why in the world Firefox sometimes causes the system to swap like crazy with 0 swap space used.
03:59:37 <pikhq> I should note that yes, it's actually swapping.
03:59:51 <pikhq> kswapd is shown to be working like crazy in iotop.
04:00:01 <elliott_> It's because Firefox sucks TRUE STORIES BY REAL PEOPLE
04:00:14 <oerjan> it's swapping into your hidden NSA disk
04:00:16 <pikhq> True, but not a good explanation.
04:01:26 <oerjan> the disk contains a satellite link to ECHELON
04:01:41 <oerjan> using top secret neutrino transmission
04:07:49 <elliott_> oerjan im starting to think that maybe you cant embed everything in a nice type system library
04:08:06 <elliott_> mostly I hate how type families arent first class :(
04:11:15 <elliott_> Nested type family application
04:11:15 <elliott_> in the type family application: Succ :$ ((Add :$ m) :$ n)
04:11:15 <elliott_> (Use -XUndecidableInstances to permit this)
04:12:23 <oerjan> what you cannot nest them?
04:12:33 <elliott_> the type family rules are some strict bullshit mon
04:12:45 <monqy> and what happens if you use -XUndecidableInstances
04:12:53 <elliott_> monqy: then..................a baby cries....
04:12:57 <elliott_> and that baby grows up to be... jesus
04:15:12 -!- oerjan has quit (Quit: Later).
04:16:22 <elliott_> type instance Map :$ f = Map' f
04:16:22 <elliott_> type instance Map' f :$ Nil = Nil
04:16:24 <elliott_> type instance Map' f :$ x :@ xs = (f :$ x) :@ (Map' f :$ xs)
04:17:51 <elliott_> Sgeo: yally is invading agora and trying to stop you preventing such evil
04:22:32 <Sgeo> That does not look like an invasion.
04:22:35 <Sgeo> But thank you.
04:25:22 <elliott_> oh god youre not actually going to object are you
04:25:30 <elliott_> i fucking hate quorum raisers who never do anything
04:26:35 <Sgeo> I should look up the quorum rules quickly
04:26:58 <elliott_> you should stop objecting to deregistrations of inactive people
04:27:30 <Sgeo> Should quorum count inactive people?
04:27:51 <elliott_> why should constantly-inactive people be players?
04:27:54 <elliott_> the mechanism is there for a reason
04:28:48 -!- foocraft has quit (Quit: So long, and thanks for all the fish!).
04:29:46 <Sgeo> Is quorum fixed at the start of voting period, or determined at end?
04:29:54 <Sgeo> Either way, I'm going to sleep now
04:32:08 <Sgeo> elliott_, *clap* *clap* *clap*
04:32:30 <elliott_> the mechanism still exists to be used, regardless of quorum rules
04:36:43 <coppro> elliott_: I would vote for a mechanism to deregister players forcibly who have been inactive for long enough
04:37:16 <elliott_> coppro: it should be without objection from people who aren't the player
04:37:29 <elliott_> if someone is trying to exploit a lull in the game to become the dictator...
04:37:38 <elliott_> people object to their deregistrations all the time
04:37:44 <elliott_> and its basically never justified
04:59:40 * pikhq gets really, really upset at the unused potential of the Super Gameboy.
05:00:59 <pikhq> Not only could you use the thing to stick SNES games on a Gameboy cartridge, you could use it to supplement the Gameboy game by drawing SNES sprites onto the screen.
05:01:20 <pikhq> There's precisely one example of either feature being used.
05:01:49 <pikhq> It's like Nintendo went "Fuck, let's design this totally awesome hardware and then NEVER USE ITS FEATURES".
05:05:28 <coppro> pikhq: lolgameboy->console devices
05:05:51 <pikhq> coppro: Yeah, but the Super Gameboy actually did it right, as far as hardware is concerned.
05:06:07 -!- yorick has quit (Ping timeout: 252 seconds).
05:06:14 <coppro> tbf I owned and enjoyed the game boy player
05:06:21 -!- elliott_ has quit (Read error: Connection reset by peer).
05:07:10 <pikhq> The Super Gameboy could have made Gameboy games look like native SNES games if the developers cared.
05:07:43 <pikhq> But no, they pretty much used it by adding a color pallete.
05:08:06 -!- yorick has joined.
05:08:35 <pikhq> Even the Pokemon games did more with it than most.
05:08:55 <coppro> also <3 Twilight Symphony
05:09:01 <pikhq> (simply by switching palletes for each area and having 3 palletes on screen in battles)
05:09:59 <pikhq> (in case you've not played Pokemon on a Super Gameboy or an emulator that emulates SGB palleting: the life bars each get their own palletes, and each Pokemon has its own pallete.)
05:10:33 <pikhq> (you can assign palletes to screen regions, with an 8x8 granularity)
05:12:20 <pikhq> Hmm. I think the Gameboy Player was *also* horribly underused...
05:13:25 <pikhq> At a minimum, the thing was capable of doing multiplayer in the normal way: with each player having their own controller.
05:14:01 <pikhq> Not to mention horribly underdesigned; it wouldn't have been hard to at *least* support SGB borders and palleting.
05:14:52 <pikhq> (by doing the same trick that Gameboy emulators do for that; watching writes to the appropriate register and emulating those two features only)
05:15:21 -!- Lymia has quit (Ping timeout: 246 seconds).
05:15:46 <pikhq> And I wouldn't be surprised if that multiplayer trick was pulled off by letting you execute PPC code.
05:16:30 <pikhq> Making it definitely underused.
05:18:20 <coppro> the best was using it for download play off of another GCN game
05:18:24 <coppro> like Crystal Chronicle
05:18:43 <pikhq> ... Wouldn't that require two Gamecubes?
05:19:21 <pikhq> Actually, with Crystal Chronicles, that'd be 1+N Gamecubes, where N is the number of players.
05:19:25 <coppro> I can't wait for the Wii U because two of my favorite GCN games were GBA-enabled ones
05:19:54 <pikhq> The Wii U only supports a single Wii U pad, BTW.
05:20:08 <pikhq> All other controllers must be Wiimotes, as far as I understand.
05:20:44 <pikhq> And it doesn't do Gamecube compatibility, which makes me kinda sad.
05:20:51 <pikhq> It wouldn't be hard to do.
05:21:10 <pikhq> The only non-trivial hardware change would be making the disc slot handle the smaller discs.
05:23:59 <coppro> they better have multiple wii u pads
05:24:08 <coppro> would be incredibly disappointed if not
05:24:21 <coppro> possibly a development restriction?
05:24:37 <pikhq> A "streaming 480p over Bluetooth" restriction.
05:25:21 -!- elliott has joined.
05:25:39 <coppro> tbh I'd be surpried if the king of multiplayer and proprietary lock-in was going to take such a weak technological restriction at face value
05:25:42 <elliott> i always feel like overcomplicated software is deliberately antagonising me
05:26:23 <pikhq> coppro: I think they're using Bluetooth primarily as a cost-cutting measure.
05:26:45 <elliott> 05:24:37: <pikhq> A "streaming 480p over Bluetooth" restriction.
05:26:47 <pikhq> Remember, though they love doing proprietary tech, the one thing they love more is making cheap hardware.
05:26:48 <elliott> pikhq: hmm, I suspect terrible compression
05:27:02 <elliott> it's inadequate even for low-end headphones
05:27:29 <pikhq> Also, I'm not *sure* it's Bluetooth, I'm just guessing based on what I already know to be in the hardware.
05:27:49 <pikhq> (the Wii U *must* have Bluetooth, since that's what Wiimotes use)
05:29:19 <elliott> "Important: Many numerical values in the pattern editor are in hexadecimal notation, not decimal
05:29:19 <elliott> notation. If you would like to know more about HEX, please refer to the “About HEX” topic later in this
05:29:20 <pikhq> elliott: Bluetooth "High Speed", which is barely used, gets you 24 Mbps. Which is at least *adequate*.
05:29:22 <elliott> i think renoise was designed by asking
05:29:34 <elliott> "what are the most pointless, unintuitive elements of the tracker aesthetic?"
05:29:41 <elliott> and maximising them in a new piece of software
05:33:36 <coppro> pikhq: someone should bring a sniffer to a game conference
05:33:52 <elliott> oh, renoise does samples in the stupidest way possible
05:33:59 <elliott> you assign a sample to a particular note value
05:34:19 <elliott> "Many values input into Renoise's pattern editor are hexadecimal (HEX). Because many beginners
05:34:19 <elliott> have problems with this fundamental concept, we will address that here.
05:34:20 <elliott> Most people are familiar with decimal because most people have 10 fingers. Instead, let's imagine we
05:34:22 <elliott> have 16 fingers - which, conveniently enough, comes in very handy for many musical concepts ;-)"
05:34:24 <elliott> oh my god are you actually going to try and teach me hex
05:34:37 <pikhq> elliott: THAT IS AWFUL
05:34:43 <Patashu> so you have to type everything in hexadecimal
05:34:48 <elliott> I JUST WANT TO MAKE SOME SICK BEATS STOP DOING HORRIBLE THINGS TO ME
05:35:10 <elliott> WHY ARE THE PAN AND DELAY COLUMNS IN HEX
05:35:19 <elliott> THAT IS THE MOST ARBITRARILY THING EVER
05:35:28 <elliott> FUCK THIS SHIT IM CLOSING RENOISE
05:35:29 <Patashu> let's take a human being who's immersed in decimal for their entire lifetime
05:35:50 <elliott> im just going to buy a casio sk1 and swear off all other sound-producing devices
05:35:56 <pikhq> If entering things in hex is an actually helpful UI feature, then they could just accept 0xFF-type syntax.
05:36:13 <elliott> you just don't understand pikhq... it's LEET
05:36:16 <pikhq> Rather than doing such a UI sin.
05:36:31 <elliott> pikhq: it's like a tracker, but modern, except not modern, you see
05:36:44 <elliott> http://www.renoise.com/files/screenshots/overview-261.png ;; this actually makes it look less horrific to use than it is
05:37:02 <elliott> what is it with audio software and being a steaming pile of shit
05:37:09 <elliott> its like the two concepts are intimately linked
05:37:12 <pikhq> elliott: What platform is that running on?
05:37:23 <elliott> pikhq: windows, but it looks mostly the same pretty much everywhere :P
05:37:28 <pikhq> If you name one I'm familiar with I will stab people.
05:37:34 <pikhq> Fuck, I'm stabbing people.
05:37:37 <elliott> i can even forgive the non-nativeness
05:37:38 <coppro> I've lost my supar-awesome keyboard shortcut :(
05:37:40 <elliott> i don't even give a shit about that
05:37:56 <elliott> its using actual knobs in a computer UI
05:37:59 <pikhq> It looks like it has decided to commit every UI sin.
05:38:00 <elliott> WHY WOULD YOU EVER DO THAT
05:38:15 <elliott> THEY HAVE THE WONDERFUL SIDE-EFFECT OF NOT MAKING ME WANT TO KILL YOUR FAMILY
05:38:26 <elliott> seriously, designing audio software to look like audio hardware is
05:39:20 <pikhq> http://homepage.mac.com/bradster/iarchitect/realcd.htm
05:39:32 <elliott> that doesn't count as audio software :P
05:40:10 <elliott> guys, gimme one reason not to NIH all audio production software
05:40:17 <elliott> it is literally all the worst
05:40:27 <elliott> if other software is a steaming pile of shit
05:40:31 <pikhq> You will be forced to also NIH all audio handling APIs.
05:40:38 <elliott> audio software collapsed under its weight and formed a black hole ten billion years ago
05:40:45 <elliott> zzo38: you make me smile with your words
05:40:46 <pikhq> Even the *best* ones are very undocumented.
05:40:51 <elliott> i want to make an entire song with just SoX now
05:41:18 <pikhq> And ffmpeg's developers need to learn a thing or two about libraries.
05:41:24 <elliott> hmm, I remember Reason not being quite an entire steaming pile of crap last time I used it
05:41:28 <elliott> despite trying to look like audio hardware
05:41:30 <zzo38> Yes, SoX can make music, too. Both equal-temperament and just-intonation.
05:41:40 <pikhq> Namely, "FUCK YOU I DON'T WANT TO HAVE A FULL COPY OF YOUR SOURCE CODE IN MY SOURCE CODE. FUCK YOU FUCK YOU FUCK YOU."
05:41:51 <elliott> (i'm basically trying all the audio software that exists ever so I can complain about how much of a steaming pile of crap it is)
05:42:03 <pikhq> "INSTALL MOTHERFUCKING LIBRARIES IF YOU EXPECT OTHER PEOPLE TO USE IT YOU ANTI-DEVELOPER COCKS"
05:44:37 <elliott> oh, i think Ableton Live's only sin that I remember was having knob controls
05:45:18 <pikhq> Still. Why would you ever want knob controls on a fucking computer?
05:45:33 <elliott> well... they're smaller than a slider i guess
05:45:36 <pikhq> My mouse moves in straight lines with ease. It does not go in circles easily.
05:45:46 <elliott> pikhq: oh, you can control them with straight lines usually
05:45:55 <elliott> its just that on a widescreen up and down arent very natural directions
05:45:59 <elliott> and its reflected very weirdly in the knob spinning
05:46:08 <elliott> i agree that the ones you actually have to go in a circle with
05:46:31 <pikhq> Also nice about a slider: they present bigger targets.
05:46:38 <pikhq> You don't want small targets.
05:47:01 <elliott> pikhq: see with *elliottmusicsoftware*, such a continuous selector of a range is an abstract object that can be represented however the user wants them to be, on a default + case-by-case basis
05:47:05 <pikhq> You don't want freakishly big ones either, but it should not be a painstaking exercise to click on your thing.
05:49:48 <elliott> pikhq: personally, my preferred replacement for knobs would be, visually, a circle with a coloured ring around the edge (knob-style :P) showing the current value, perhaps with the numerical value in the centre; but when you click it, it'd turn into a slider, with the current value of the slider aligned to the position of the cursor
05:49:56 <elliott> (horizontal slider usually)
05:50:33 <pikhq> elliott: With that, my only complaint would be non-nativenes.
05:51:00 <elliott> pikhq: yeah, but let's face it, "native" UIs don't exactly have a wealth of useful controls for things of this scale
05:51:27 <elliott> I mean, a piece of audio software completely following some HIG and using no non-native controls would ... probably not fit on any screen because of how huge everything would be
05:52:25 <pikhq> Well, yeah, I'm not going to complain much about it being non-native if it's working around OS deficiencies.
05:52:34 <pikhq> If it at least *looks* like it belongs there.
05:52:44 <pikhq> And is usable, of course.
05:52:53 <pikhq> If it's not usable then I reserve the right to beat you to death.
05:53:14 <elliott> I don't even care if all the controls look completely different, to be honest; in audio software, I'd say the situation is kind of opposite of a normal GUI app
05:53:22 <elliott> In that you have shitloads of controls that you don't want to stand out
05:55:07 <pikhq> Of course, the most important thing is to make it so people can use the software without wanting to stab the developers.
05:55:13 <pikhq> And audio software fails at this.
05:55:30 <pikhq> Things like "looking native" is a nicety on top of that.
05:56:03 <elliott> lmao, reason demo disables saving
05:57:50 <elliott> yeah it does suffer from total try-to-look-like-hardware-itis
06:00:25 -!- Kustas has joined.
06:01:26 <zzo38> The non-GUI audio software work better from what I can tell.
06:01:42 <elliott> pikhq: http://i.imgur.com/GsdRl.png goifjgoidfg it hurts
06:01:49 <elliott> ok its actually not that bad apart from the visual noise
06:01:58 <elliott> also half the interface doesn't look like hardware at all
06:03:07 <Gregor> elliott: Is that a VST? :P
06:03:10 <pikhq> Do these people know *why* physical UIs look like that?
06:03:18 <zzo38> Of course if it looks like hardware, it should be for a good reason, such as, it emulates hardware and acts like it! Otherwise it is a bad reason and it ought not to be looks like hardware it is bad thing to do that
06:03:23 <elliott> Gregor: I think Reason's interface is like...
06:03:29 <Gregor> All VSTs are "designed" by retards.
06:03:31 <elliott> Gregor: One half VSTs and mixers and the like
06:03:41 <pikhq> zzo38: The thing is, hardware UIs are not intended for use with a pointer device.
06:03:42 <elliott> Gregor: But that's a global mixer thing so I don't think it's strictly a VST.
06:03:51 <pikhq> zzo38: They are meant for manipulation with actual human hands.
06:04:09 <elliott> Gregor: But here's the best part:
06:04:17 <pikhq> Completely different design considerations at hand here.
06:04:40 <elliott> (One second, screenshotting :P)
06:05:05 <elliott> Gregor: http://i.imgur.com/UlX2Q.png
06:05:11 <elliott> THANK YOU, REASON, FOR SIMULATING AN ACTUAL DECK
06:05:17 <elliott> I WOULD BE TOTALLY LOST WITHOUT THIS HELPFUL BACKGROUND IMAGE
06:05:39 <elliott> I SURE HOPE THE THREE LINES OF CODE AND THE THIRTY MINUTES IN PHOTOSHOP IT TOOK TO DO THAT WERE WORTH IT
06:06:00 <pikhq> THE WHITESPACE GOD THE WHITESPACE
06:06:20 <zzo38> pikhq: Yes; true; but in a few (not all) cases, it might be useful to emulate a hardware and have it displayed on the computer screen. Not in all cases, though. (For emulating GameBoy it is not very useful, but in some cases it might.) (Also, you do not need to display the parts that have nothing to do with the emulation)
06:06:23 <pikhq> elliott: By "white" I mean "empty rack slots"
06:06:31 <elliott> pikhq: That's scrolled down to the bottom :P
06:06:43 <pikhq> elliott: SUCH A STUPID FEATURE
06:07:21 <elliott> YESSS IT COMES WITH A COWBELL INSTRUMENT
06:07:28 <zzo38> Why is there even a scrollbar? There is nothing there what is the use of that please
06:07:36 <elliott> zzo38: um there are more instruments above
06:09:04 <zzo38> There may be but then why is there a space with nothing that it scroll to? Doesn't usually the scroll bar should only scroll the length of what is there?
06:09:16 <elliott> zzo38: Ask the Reason developers :P
06:09:58 <elliott> Gah, why is it even split vertically, it should be horizontal.
06:12:02 <zzo38> I don't know. SoX works fine, use that for audio.
06:13:51 -!- Kustas has quit (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.17/2009122204]).
06:15:57 <zzo38> Although I think some features ought to be combined ImageMagick with SoX. (At least it is possible to pipe ImageMagick to SoX (or vice versa), though.)
06:16:13 <elliott> oh my god it just kicked me out because i spent twenty minutes messing around
06:18:01 <pikhq> zzo38: ImageMagick to SoX? Why would you do that?
06:18:12 <pikhq> (no, really. I am highly curious what use case that could have.)
06:18:25 <zzo38> I can find songwriting useful using MML (music macro language) based programs, such as PPMCK (I have made some improvements and bugfixes to PPMCK actually, including tail recursion)
06:19:27 <elliott> dammit, now I've started mentally designing elliottmusicsoftware :(
06:19:29 <zzo38> pikhq: Due to lack of effects in one program or the other. Represent the audio as a ...x1 grayscale image. And then use the various effects (some are useless for audio, some are OK for audio, and -fx is very useful for audio)
06:19:38 <zzo38> elliott: Can you write it down?
06:20:18 <zzo38> elliott: No, on a text file in your computer and then sent to sprunge
06:21:10 <zzo38> Then write it on paper and then put on a wood table and then take the picture and ensure the focus is good enough to read it and then ask someone else to type it into the computer for you.
06:23:06 -!- Kustas has joined.
06:23:36 <pikhq> And be sure to then uuencode and repeat the process.
06:26:39 <zzo38> pikhq: Other cases are for making Fourier transform, and many of the effects in ImageMagick are useful for audio, some of which SoX already has similar things. To me at least it would make sense to combine it in one program
06:30:12 <pikhq> Sounds like you're wanting a linear algebra program.
06:32:16 <elliott> pikhq: whoops, my audio software design just pulled in an entire lisp
06:34:16 <pikhq> elliott: Now it just needs to do mail.
06:34:54 <elliott> pikhq: write some network code to do IMAP, plug it into a text-to-speech object, voila!
06:35:41 <zzo38> The alpha channel can also have some uses for doing fading effects and stuff. Many effects in ImageMagick are already useful for audio, but just add a few more such as -echo and so on and then it should be very useful for audio. Stereo files can be represented by having like RED=LEFT GREEN=RIGHT for example.
06:36:41 <zzo38> While -density can be used for sample rate (where 1 second = 1 inch)
06:36:43 <elliott> come to think of it, I seem to have invented something that can implement Max/MSP as just a certain kind of object
06:37:35 <pikhq> zzo38: Like I said, you seem to want a linear algebra system.
06:38:15 <pikhq> Which is much like an audio or image or video manipulation system, but generalised.
06:38:27 <zzo38> pikhq: Maybe something like that.
06:40:50 <zzo38> elliott: It just seems convenient units to use due to the way the program already work
06:42:18 <zzo38> s/cenimetres/centimetres/
06:43:31 <monqy> specify digital images in terms of metres every day
06:44:25 <zzo38> What I might like to have for audio and music making program is something like METAFONT.
06:44:57 <pikhq> monqy: An "inch" is either 2.54 centimeters or 100/3937 meters. (latter definition exceptionally unused)
06:45:59 <zzo38> METAFONT is already one of the best program for font making, and I think a similar thing could be made working with musics somehow.
06:46:01 <pikhq> ("international inch" and "survey inch", respectively)
06:46:44 <monqy> right but I don't see how inches/metres are useful for digital imaging, aside from translation to/from physical images, unless that's what the command or whatever is for
06:46:58 <pikhq> monqy: He was proposing to use ImageMagick for audio manipulation.
06:47:17 <zzo38> monqy: The -density command in ImageMagick is used when you want to specify what resolution is used for printing this image.
06:49:38 <pikhq> *sigh* US customary units.
06:52:21 <zzo38> DVI units are specified in fractions of decimicrons, allowing for finer resolution than any printer has, as far as I know.
06:55:03 <pikhq> Quick, how many miles per gallon is a league per barony-gill?
06:55:16 <pikhq> (yes, that is a valid unit. League per barony-gill.)
06:56:35 <elliott> wow, (a = b) = c is valid in C++
06:57:21 <pikhq> Hmm. Doesn't (a = b) result in an lvalue in C?
06:58:09 <monqy> what does (a = b) mean as an lvalue?
06:58:25 <pikhq> monqy: Presumably, same thing as a.
06:58:29 <pikhq> Anything else would be mad.
06:58:46 <monqy> anything at all would be mad
06:59:07 -!- Kustas has changed nick to derrik.
06:59:24 <elliott> then decrement aassoijdioajd by c
06:59:48 <monqy> I've always wanted to decrement aassoijdioajd by c
07:00:04 <monqy> in the same statement as incrementing a by b
07:01:37 <elliott> http://i.imgur.com/uBZOi.png WHY WOULD YOU EVEN DO THIS YOU ARE MAKING ME TURN OFF THE NO-SIDEBAR MODE YOU EXPLICITLY TURNED ON JUST SO I CAN GET TO THE FUCKING APPLICATIONS FOLDER AT LEAST PUT AN ALIAS TO IT IN THE DISK IMAGE GOD DAMN
07:02:26 <monqy> what kind of gimmicky installation mechanism is that
07:02:38 <elliott> monqy: its called standard os x installation
07:02:41 <monqy> or is it user friendly
07:02:46 <elliott> you download a disk image which contains a filesystem
07:02:58 <elliott> you copy the application files to your applications folder
07:03:03 <elliott> you unmount ("eject") the file system
07:03:07 <elliott> and then drag the disk image to your trash
07:03:12 <elliott> its ridiculous and terrible
07:03:38 <pikhq> And you can unmount it by dragging the filesystem to your trash.
07:03:47 <elliott> Ableton's free 30-day license enables the "Save" and "Export" functions, so you can experience making music with no holds barred. To activate your free license, enter your e-mail address below.
07:04:06 <pikhq> And it's still better than Windows installation.
07:04:20 <elliott> but hey, apparently ableton integrates with Max?
07:04:31 <elliott> big orgy of audio applications
07:05:05 <elliott> Max is the only well-designed audio application, in fact it's one of the best-designed programs I've used, but unfortunately I am too crappy to make nice sounds with it :(
07:07:43 <zzo38> I think some sort of METAFONT-like program would be good to make a music
07:12:23 <elliott> "Customize Live's color scheme and display size in the Look/Feel Preferences."
07:12:27 <elliott> pikhq: monqy: im thinking green on pink
07:12:59 <monqy> don't forget the yellow
07:13:27 <pikhq> elliott: How Gregorian.
07:28:29 <zzo38> "pad" in SoX is similar to "-border" in ImageMagick. "norm" is probably like "-auto-level". "reverse" is like "-flop".
07:29:22 <elliott> pikhq: help I accidentally invented the best everything
07:40:48 <elliott> pikhq: You know, it's not true that _all_ audio APIs are terrible or undocumented...
07:41:01 <elliott> pikhq: I bet Core Audio is quite nice.
07:41:59 <zzo38> Is it allowed in LLVM for a PHI node to return a label value? If so, can you then use that label in a branch instruction or other instruction?
07:43:22 <zzo38> (Including other PHI nodes)
07:44:58 -!- monqy has quit (Quit: hello).
07:54:20 <zzo38> Is coppro on and available?
07:55:08 <elliott> i.e. two hours ago it seems :)
08:05:41 -!- zzo38 has quit (Remote host closed the connection).
08:09:03 -!- derrik has left.
08:21:49 -!- Phantom_Hoover has joined.
08:32:50 <elliott> pikhq: Hmm... what's actually wrong with PortAudio?
08:33:37 <Gregor> PortAudio has backends for everything[1].
08:33:41 <Gregor> [1] everything important
08:33:54 <elliott> Gregor: I'm talking API, latency, etc. wise :P
08:34:41 <Gregor> I've only used PortMIDI, but if that's anything to go by, its API is "dump some bits here lulz"
08:35:24 <elliott> Gregor: As far as I can tell, my options are exactly twofold: Core Audio, which is reportedly excellent and should basically give me no actual _problems_, but which would restrict me to running things on an OS I don't use day-to-day (although considering Linux's terrible audio situation I probably would anyway), and which also apparently has a rather... horrific API; not in that it's /bad/, but in that it's ... you know ... flexible;
08:35:24 <elliott> and PortAudio, which would probably be less of a pain and which would be more portable but... might be bad inexplicably????
08:35:28 <elliott> Wow that was a long sentence.
08:35:31 <elliott> That... that was one sentence. Wow.
08:36:22 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
08:36:27 <Gregor> Y'know, Linux's audio situation has improved enormously over the last few <time period>s.
08:36:42 <elliott> Gregor: You realise that the last few time periods have seen the RISE TO UBIQUITY OF PULSEAUDIO?
08:36:51 <Gregor> No Pulse on my system.
08:37:05 <Gregor> The ALSA mixing frontend is pretty much ubiquitous.
08:37:17 <elliott> Gregor: Doesn't matter, the average Linux audio situation has got WAY worse over any recent time period.
08:37:40 <elliott> Even Ubuntu Studio which is fucking designed for multimedia uses Pulse.
08:37:50 <Gregor> In what sense is Pulse ubiquitous? I don't think I've ever seen it installed on any system.
08:37:54 <elliott> Phantom_Hoover: I don't actually know of any recent developments ignoring PA.
08:38:03 <elliott> Gregor: OK, first: See: any Ubuntu system.
08:38:15 <Gregor> OK, Ubuntu is shit, this is established truthiness.
08:38:27 <elliott> Gregor: It's also utterly ubiquitous, come on.
08:38:30 <elliott> Gregor: Then, see any Fedora installation.
08:38:49 <elliott> Gregor: Wait, it's Poettering.
08:38:52 <elliott> Yeah, no chance Fedora is not using it.
08:39:13 <elliott> (Fedora is a distribution system for the GNOME project and Poettering Insanity Industries' latest products.)
08:40:13 <elliott> Gregor: Anyway, if you deny that "Ubuntu + every Ubuntu derivative + Fedora + Mandriva (I checked lol)" constitutes "ubiquitous", you're most definitely on crack.
08:40:33 <elliott> "PulseAudio is used in recent versions of several major linux distributions such as Fedora, Ubuntu, Mandriva, Linux Mint, openSUSE, and OpenWRT."
08:40:45 <elliott> Gregor: DEBIAN IS NOT UBIQUITOUS >_<
08:40:54 <Gregor> Debian: The distribution that is literally always correct in every decision.
08:41:06 <elliott> Phantom_Hoover: break things
08:41:26 <Gregor> Phantom_Hoover: Make your audio system slow, broken, wildly incompatible and very difficult to work with.
08:41:33 <elliott> Phantom_Hoover: You can't do per-application volume control without PA.
08:41:40 <elliott> Which is very useful, but this is more a deficiency of dmix than a pro of PA.
08:41:45 <elliott> Phantom_Hoover: No, that's one thing.
08:41:53 <elliott> HERP DERP ONE USER-FACING FEATURE = THE ENTIRE PRODUCT
08:42:06 <Gregor> It's a feature no one has ever used and no UI makes easy :P
08:42:14 <elliott> Gregor: Plenty of people use it
08:42:17 <Phantom_Hoover> elliott, I got "break things" and "break things" and one feature.
08:42:20 <elliott> And GNOME has a simple UI for it.
08:42:29 <elliott> Phantom_Hoover: You realise IRC is not your personal pro-con enumeration service.
08:42:52 <Phantom_Hoover> elliott, nor did I expect it; it's simply that I have no idea what it does.
08:43:15 <elliott> Phantom_Hoover: Basically, mixes audio.
08:43:37 <Gregor> Really the biggest problem with Pulse is that it became popular at the exact same time that it became irrelevant.
08:43:59 <elliott> Gregor: Anyway, ALSA can still be painful.
08:44:30 <elliott> OSS is far superior but its detachment from the kernel and its being under the complete control of a corporation which has done objectively Evil things prevents me from seriously considering it.
08:44:48 <elliott> Gregor: What if every Linux distribution switched entirely to JACK tomorrow X-D
08:46:41 <elliott> Gregor: I know exactly two things about JACK: Using it is a fucking pain, and everybody who does serious audio work on Linux appears to use it exclusively :P
08:47:04 <elliott> "In my opinion, JACK is notable, if only because it's almost impossible to do pro audio work in Linux without it." -- see, proved by Wikipedia talk page.
08:47:23 <Gregor> What JACK provides, as far as I can tell, is extremely precise inter-application audio timing.
08:47:37 <elliott> Gregor: It makes da latency disapear.
08:47:46 <elliott> (The third thing I know about JACK !)
08:47:54 <Gregor> Well, yeah, it has low latency, but that's not really the point ....
08:53:07 -!- Lymia has joined.
09:01:40 <elliott> pikhq: Oops I've designed the PERFECT SOFTWARE.
09:58:37 -!- choochter has joined.
10:06:18 -!- Vorpal has joined.
10:08:23 -!- sebbu2 has joined.
10:08:24 -!- sebbu2 has quit (Changing host).
10:08:24 -!- sebbu2 has joined.
10:11:07 -!- sebbu has quit (Ping timeout: 240 seconds).
10:49:14 <elliott> "A computer can not connect to itself and share its screen." --Apple, fascist
10:49:15 <elliott> "A computer can not connect to itself and share its screen." --Apple, fascists
10:49:30 -!- choochter has quit (Ping timeout: 255 seconds).
10:53:43 -!- Lymia has quit (Ping timeout: 250 seconds).
10:53:46 <Vorpal> <elliott> "A computer can not connect to itself and share its screen." --Apple, fascists <-- wait, what?
10:54:00 <Vorpal> what were you trying to do?
10:54:24 <Vorpal> elliott, oh, I guess linux allows that but with useless results
10:54:44 <Vorpal> well some vnc clients anyway
10:54:49 <olsner> or with useful results, if the screen is not on the computer you're connecting to
10:54:57 <olsner> it's a pretty useful thing to do really
10:55:04 <Vorpal> olsner, well duh, but it said "itself"
10:55:08 <elliott> olsner: you could just VNC _directly_
10:55:10 <olsner> except if you happen to think "oh, connect to localhost? lol!"
10:55:12 <elliott> Vorpal: you don't understand
10:55:20 <olsner> (when writing the vnc client)
10:55:32 <Vorpal> elliott, oh ssh tunnel?
10:55:36 <elliott> olsner: anyway, os x doesn't support any such x forwarding or the like, so it's irrelevant :D
10:55:43 <elliott> an ssh tunnel might work i guess
10:55:54 <olsner> ssh tunnelling is usually what I do when vnc:ing to localhost
10:56:17 <Vorpal> I only used vnc once I think
10:57:37 <elliott> Gregor: Actually PortAudio's API is not quite "gimme some bits", it's fairly weird (but I understand common for high-performance audio frameworks)
10:58:04 <elliott> You basically have a callback function that is in charge of reading from input and writing to output and also it can't block much I think or shit will happen
10:58:35 <elliott> Before we begin, it's important to realize that the callback is a delicate place. This is because some systems perform the callback in a special thread, or interrupt handler, and it is rarely treated the same as the rest of your code. In addition, if you want your audio to reach the speakers on time, you'll need to make sure whatever code you run in the callback runs quickly. What is safe or not safe will vary from platform to platfor
10:58:35 <elliott> m, but as a rule of thumb, don't do anything like allocating or freeing memory, reading or writing files, printf(), or anything else that might take an unbounded amount of time or rely on the OS or require a context switch. Ed: is this still true?: Also do not call any PortAudio functions in the callback except for Pa_StreamTime() and Pa_GetCPULoad().
10:59:38 <elliott> so basically... your callback should just read from your external buffer system :D
11:00:58 -!- azaq23 has joined.
11:00:59 <olsner> "<olsner> nice" <-- that should say "neat", obviously
11:04:59 -!- FireFly has joined.
11:05:23 <Vorpal> elliott, but buffer introduces delay!
11:05:59 <Vorpal> sure for some stuff that is okay, but not for other things
11:06:31 <quintopia> http://www.amazon.com/Bytecc-DisplayPort-male-female-Adaptor/dp/B002V3UCV6/ref=sr_1_fkmr0_3?ie=UTF8&qid=1308394187&sr=8-3-fkmr0
11:07:02 <Vorpal> quintopia, if they lack a VGA connector and need to hook up to a projector?
11:07:29 <Vorpal> quintopia, next question
11:07:34 <elliott> Vorpal: everything is buffered
11:07:35 <quintopia> oh, i was thinking it was VGA to VGA
11:07:40 <quintopia> i don't even know what displayport is
11:07:44 <Vorpal> elliott, yes but how large is the buffer?
11:07:48 <Vorpal> quintopia, the connector my laptop has
11:08:21 <Vorpal> elliott, anyway, with a dedicated circuit it might not be buffered
11:08:37 <Vorpal> unless you run on a DSP
11:08:57 <Vorpal> quintopia, displayport is better than HDMI btw
11:10:14 <quintopia> Vorpal: next question is where to get a vga monocular head-mounted display, preferably with optical see-through, at less than astronomical prices
11:10:34 <Vorpal> quintopia, ask Gregor for that
11:10:46 <Vorpal> quintopia, he messes around with wearable computing
11:13:22 <Vorpal> quintopia, http://en.wikipedia.org/wiki/HDMI#Relationship_with_DisplayPort
11:16:22 -!- foocraft has joined.
11:19:59 <quintopia> nevermind. i know what gregor would say: rip out half of a myvu crystal
11:20:14 <quintopia> http://www.linux.com/community/blogs/how-a-wearable-computer-should-be.html he got a mention here
11:27:27 <elliott> Sgeo: Guess what didn't not just not not update.
11:32:42 <CakeProphet> !perl print ('sleep','dont')[int(rand(2))]
11:32:44 <EgoBot> syntax error at /tmp/input.5097 line 1, near ")["
11:32:55 <CakeProphet> !perl print (('sleep','dont')[int(rand(2))])
11:35:42 -!- Lymia has joined.
11:45:32 -!- hiato has joined.
12:38:35 -!- foocraft has quit (Ping timeout: 250 seconds).
12:42:34 -!- elliott has quit (Remote host closed the connection).
12:44:42 -!- pikhq has quit (Ping timeout: 255 seconds).
12:44:43 -!- pikhq_ has joined.
12:44:51 -!- elliott has joined.
13:03:52 -!- WillMac has joined.
13:04:41 -!- WillMac has changed nick to Donato.
13:05:11 -!- Donato has changed nick to Guest6869.
13:05:37 <elliott> Guest6869: your many identities cannot hide the TRUTH
13:05:52 -!- foocraft has joined.
13:07:07 -!- Guest6869 has changed nick to Donat0.
13:20:00 -!- BeholdMyGlory has joined.
13:49:07 <elliott> "I have come up with a new system of ridding the term "architect" from the information technology industry's repertoire. Considering it's illegal for someone to call themselves an architect without a license (in the construction industry anyways), these guys are breaking the law. They also do not do what we do and the term should be used exclusively to discuss the design and implementation of constructing a building."
13:54:31 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
13:56:27 <elliott> Phantom_Hoover: wow just wow
13:57:02 <elliott> other quality quote "An algorithm will never create a building that people love."
13:58:11 -!- doxin has joined.
14:02:30 <doxin> how can this bf snippet possibly lead to an infinite loop: [->+>+<<] ?
14:05:59 <doxin> Phantom_Hoover: yes, but thats not even needed here, the first cell starts at 33, shouldn't the loop terminate after looping 33 times?
14:07:06 <doxin> then why doesn't it?
14:09:26 <Phantom_Hoover> It puts me in mind of the fat pony from Hark, a Vagrant.
14:11:07 <doxin> Phantom_Hoover: found the problem
14:54:48 <olsner> ridding the term "architect" from the information technology industry's repertoire <3
14:55:33 * Gregor 's new title is Software Architectural Engineer.
14:56:37 <Gregor> Naw ... Software Systems Architect
14:57:23 <olsner> but then you're not even working on software, but systems of software?
15:09:17 -!- copumpkin has quit (Ping timeout: 244 seconds).
15:09:28 -!- copumpkin has joined.
15:21:25 -!- derrik has joined.
15:24:47 -!- doxin has left.
15:31:18 -!- ais523 has joined.
15:33:42 -!- SimonRC has quit (Ping timeout: 260 seconds).
15:36:51 -!- elliott has quit (Ping timeout: 258 seconds).
15:39:27 -!- monqy has joined.
15:51:08 -!- SimonRC has joined.
16:02:04 -!- azaq23 has quit (Quit: Leaving.).
16:07:21 -!- choochter has joined.
16:10:36 <Phantom_Hoover> What is it with the personality cult surrounding Tesla.
16:11:02 -!- SimonRC has quit (Ping timeout: 260 seconds).
16:11:04 <Phantom_Hoover> People honestly seem to think that he single-handedly beat the huge scientific progress we've made since.
16:17:39 -!- Donat0 has quit (Ping timeout: 264 seconds).
16:18:00 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
16:30:31 -!- Phantom_Hoover has joined.
16:35:03 -!- pikhq has joined.
16:35:03 -!- pikhq_ has quit (Ping timeout: 244 seconds).
16:40:43 -!- MigoMipo has joined.
16:45:45 -!- derrik has quit (Quit: left).
16:51:10 -!- Tritonio has joined.
17:10:12 -!- Sgeo has quit (Ping timeout: 255 seconds).
17:21:34 -!- SimonRC has joined.
17:24:48 -!- zzo38 has joined.
17:30:57 -!- Tritonio has quit (Read error: Connection reset by peer).
17:31:52 <quintopia> Phantom_Hoover: you clearly don't understand the true awesome of Tesla
17:32:15 <Phantom_Hoover> quintopia, you mean... pipping everyone else to the post on things?
17:32:36 <quintopia> this is a strange idiom. from whence did it come?
17:34:28 -!- augur has quit (Remote host closed the connection).
17:40:57 <olsner> hmm: "Population of Sweden: 9,354,462, number of registered Minecraft users: 9,404,180"
17:46:58 <quintopia> are you suggesting that there should be a minecraft exchange program so tha eventually the entire population of sweden is players?
17:50:13 -!- Sgeo has joined.
18:22:43 <zzo38> I have in foot-shooting file many things, incluidng some multiple entries for one programming language. Including:
18:22:51 <zzo38> * Shell scripts: aim -t `self --display foot` | xargs gun --shootat
18:23:27 <zzo38> * Pascal: The compiler won't let you shoot yourself in the foot.
18:24:00 <zzo38> * Linux: You shoot yourself in the foot with a Gnu.
18:24:29 <zzo38> * Haskell: You spend several hours creating a new copy of the Universe which is identical to the existing one except your foot has a hole in it.
18:25:41 <zzo38> Now I want to add in LLVM and INTERCAL and Befunge but I don't know what to type.
18:31:14 -!- augur has joined.
18:32:15 <Deewiant> Befunge: You shoot straight up into the sky. The bullet instantaneously travels around the universe before hitting your foot from below.
18:32:28 <quintopia> INTERCAL: The compiler won't let you shoot yourself in the foot unless you use a crossbow andask really nicely
18:34:35 <zzo38> OK, I added both those things.
18:35:25 <Phantom_Hoover> Brainfuck: you get a lot of little bits of metal and have to build a gun with it.
18:36:24 <ais523> gah, I think I missed the start of the ICFP contest again
18:36:58 <quintopia> alternately: Brainfuck: you fire the gun. an atom of bullet disappears and lodges in your foot. repeat until original bullet is gone.
18:37:06 <zzo38> Phantom_Hoover: OK, I added that one as well.
18:37:31 <zzo38> quintopia: I added that too. Thanks.
18:37:43 <ais523> it seems to be some sort of competitive game based on combinator calculus
18:57:52 <olsner> quintopia: can't you just get it on wikipedia?
18:58:17 <quintopia> but someone did it in another channel, so nvm
19:12:55 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
19:22:47 -!- Phantom_Hoover has joined.
20:22:04 -!- pikhq_ has joined.
20:25:57 -!- pikhq has quit (Ping timeout: 260 seconds).
20:36:42 -!- CakeProphet has quit (Ping timeout: 240 seconds).
20:37:24 -!- MigoMipo has quit (Read error: Connection reset by peer).
20:38:38 -!- CakeProphet has joined.
20:38:39 -!- CakeProphet has quit (Changing host).
20:38:39 -!- CakeProphet has joined.
20:44:51 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
20:45:51 -!- CakeProphet has quit (Ping timeout: 264 seconds).
20:47:14 -!- CakeProphet has joined.
20:47:15 -!- CakeProphet has quit (Changing host).
20:47:15 -!- CakeProphet has joined.
20:48:58 <pikhq_> ais523: Say, I'm noticing some issues with C-INTERCAL's build system.
20:49:04 <pikhq_> First and foremost: CFLAGS="$CFLAGS -lrt"
20:50:02 <pikhq_> True, but more importantly: that will put -lrt *before* any object files in the link line.
20:50:19 <pikhq_> Hence, the linker may very well decide to not actually use -lrt, since its symbols are unneeded.
20:50:38 <pikhq_> It should go in LIBS, and be prepended.
20:50:40 <ais523> I thought linkers didn't require topological sorts of their inputs nowadays
20:51:16 <pikhq_> GNU ld doesn't without -Wl,--as-needed.
20:53:11 <pikhq_> A POSIX-compliant c99 may, however, require this.
20:54:43 <pikhq_> Also, you seem to rely on POSIX facilities without defining _POSIX_C_SOURCE. Seeing as you're pedantic enough to use pax, I thought you might be pedantic enough to do that, too. :P
20:55:30 <ais523> good point, it's normally defined by the compiler but I can't rely on "normally"
20:56:35 <Vorpal> <pikhq_> GNU ld doesn't without -Wl,--as-needed. <-- most distros uses -Wl,--as-needed nowdays where possible
20:56:43 <Vorpal> saves on having to rebuild stuff
20:56:53 <pikhq_> Saves on package dependencies, too.
20:57:09 <pikhq_> Though it wouldn't be necessary if it weren't for libtool and misusage of pkg-config.
20:57:12 <Vorpal> pikhq_, btw that Pathscale compiler going open source, what license was it?
20:57:32 -!- Phantom_Hoover has joined.
20:57:43 <Vorpal> pikhq_, how does it differ from their other compilers?
20:57:59 <pikhq_> Vorpal: Latest version!
20:58:30 <Vorpal> http://www.pathscale.com/ekopath-compiler-suite <-- this page fails so hard on unless I maximise the browser
20:59:10 <Vorpal> what I can't find the FOSS variant there
21:03:43 <pikhq_> Have they seriously not linked to the source yet? WTF.
21:04:07 <pikhq_> ais523: Oh, and you don't use HAVE_STRTOL; either you should add a work-around for it or you should not test for strtol
21:04:31 <ais523> originally that file was autogenerated, and the autogenerator made a few mistakes
21:04:34 <ais523> that must be one I missed
21:04:37 <pikhq_> Also, no idea why I'm nitpicking. :P
21:04:41 <ais523> thanks for the bug reports
21:04:47 <ais523> I like being nitpicked wrt that
21:05:11 <pikhq_> I figured you wouldn't mind, especially on a project that I know you're being pedantically correct about.
21:05:17 <pikhq_> I'm just not sure why I started doing so. :P
21:05:50 <ais523> pikhq_: note that I'm being pedantically correct about it because no other language is
21:05:56 <ais523> in order to make INTERCAL more unique
21:08:02 <pikhq_> Otherwise, you seem to have *overdone* the autoconf setup, but eh. You at least use autoconf correctly.
21:08:38 <pikhq_> And I'm willing to bet that it builds literally everywhere with a C89 compiler.
21:09:09 <ais523> pikhq_: I was toying with building it with a 16-bit C compiler=
21:09:12 <zzo38> What does -Wl,--as-needed means?
21:09:15 <ais523> I don't think it worked too well
21:09:49 <pikhq_> zzo38: Only link against needed libraries.
21:10:01 <pikhq_> ais523: 8086 C compilers don't generally handle compliant source too well.
21:10:07 <cheater_> ais523, are there any 8-bit c compilers?
21:10:23 <ais523> cheater_: almost certainly, but I don't have access to one
21:10:34 <ais523> although note that 8-bit C compilers still set int=16 bits if compliant
21:11:45 <zzo38> It doesn't seem 4-bit or 7-bit computers are compliant with C, to me.
21:11:51 <zzo38> But I don't know for sure.
21:12:14 <pikhq_> cheater_: char must be at least 8 bits, and all other types must have a size that is an integer multiple of char.
21:12:30 -!- CakeProphet has quit (Ping timeout: 244 seconds).
21:13:12 <zzo38> And a char must be one byte, also, I think. Am I wrong?
21:13:18 <pikhq_> cheater_: C standard says so.
21:13:38 <Sgeo> Hmm, is OFFSystem/Offload as safe as it claims?
21:13:38 <lambdabot> Sgeo: You have 3 new messages. '/msg lambdabot @messages' to read them.
21:14:08 <cheater_> well then presumably if there's no real reason, someone COULD make a char less than 8 bits and get away with it
21:14:16 -!- CakeProphet has joined.
21:14:17 -!- CakeProphet has quit (Changing host).
21:14:17 -!- CakeProphet has joined.
21:14:18 <pikhq_> It saays "CHAR_BIT is the number of bits for the smallest object that is not a bit-field. CHAR_BIT must be at least 8."
21:14:58 <pikhq_> (this is according to C99+TC1+TC2+TC3, dated 2007, but undoubtedly exists in previous standards)
21:16:03 <pikhq_> Also, sizeof(foo) gets you a size_t which is the size of foo, in terms of the size of a char.
21:16:08 <zzo38> pikhq_: Therefore it must be one byte isn't it? So computers with less than 8-bit in one byte is not compatible with C. Computer that is not based on binary, I think also not compatible with C. (Although in both cases probably is compatible with Pascal, though.)
21:16:22 <pikhq_> zzo38: No, it can be more than 8 bits.
21:16:48 <pikhq_> zzo38: char could be 9 bits, 32 bits, 2^32 bits, or whatever else.
21:16:50 <zzo38> pikhq_: Yes it can be more than 8 bits, some computers have 1 byte more than 8 bits
21:16:53 <pikhq_> zzo38: Just so long as it's 8 or larger.
21:17:17 <pikhq_> zzo38: You could have a 2-byte char on x86.
21:18:08 <olsner> or how about 1-byte chars with 16-bit bytes :)
21:18:12 <zzo38> pikhq_: That doesn't seem proper to me to have 2-byte char on x86 (except possibly for some kind of emulation)
21:18:14 <pikhq_> cheater_: Also, SHRT_MAX and INT_MAX must be at least 2^15-1, LONG_MAX 2^31-1, and LLONG_MAX 2^64-1.
21:18:36 <pikhq_> zzo38: It would be perverse, but it could be that way in a conforming C implementation.
21:19:29 <zzo38> pikhq_: Are you sure it could be that way in a conforming C implementation? It doesn't seem correct to me because you get wrong address calculation
21:19:52 <pikhq_> zzo38: There is no requirement that C pointers correspond to real hardware addresses.
21:20:11 <pikhq_> Though they must be castable to an intptr_t.
21:20:26 <pikhq_> There is no requirement that that cast be a trivial mapping.
21:21:18 <pikhq_> There is, indeed, no *requirement* that a C implementation has any simple mapping to hardware functionality.
21:22:07 <zzo38> O, then I suppose it could work. It still wouldn't seem sensible to me, though, except for the purpose of making emulation of something that requires that way.
21:22:18 <pikhq_> I'm not saying it would be sensible.
21:22:21 <pikhq_> I'm saying it could be done.
21:22:32 <pikhq_> Completely different thing.
21:22:37 <zzo38> OK it could be done I guess.
21:22:46 <zzo38> Yes I can see how it can be done.
21:23:25 <zzo38> In this case then you could do it with computer with bytes less than 8-bits too but you would have to do something improper like this, to allow it to work.
21:23:29 <olsner> at least there were back when there were lisp machines
21:23:37 <pikhq_> cheater_: Pretty sure it was actually done.
21:23:52 <ais523> olsner: 1-byte char, 32-bit byte is common on DSPs
21:23:52 <pikhq_> zzo38: True. It would be perverse and nasty, but doable.
21:24:08 <ais523> because they can't easily address less than a 32-bit block
21:24:17 <ais523> and they have char = short = int = long
21:24:43 <zzo38> Also C is not very well for computer that is not based on binary.
21:24:55 <pikhq_> Heck, it's even possible to have char=short=int=long=long long.
21:25:08 <ais523> pikhq_: but who uses 64-bit+ char?
21:25:16 <pikhq_> ais523: Someone who is crazy.
21:25:22 <ais523> zzo38: I think C89 actually insists that computers emulate binary if they don't use it internaly
21:25:40 <olsner> jeez, the point is what is legal and what can be done, not what makes sense :)
21:26:13 <pikhq_> ais523: C99 seems to as well.
21:26:22 -!- CakeProphet has quit (Read error: Operation timed out).
21:26:26 <ais523> pikhq_: that doesn't surprise me
21:26:30 <zzo38> ais523: Yes but it still would not work very well you could get a lot of problems in many cases.
21:26:33 <ais523> no reason why they'd remove that insistence...
21:26:56 <pikhq_> It also mandates either sign and magnitude, two's complement, or one's complement signed integer arithmetic.
21:27:42 <Vorpal> pikhq_, oh it seems they put the code on git, but yeah where is the link to either source or binary download hm
21:28:19 <olsner> pikhq_: I think that's new for C99, except for unsigned numbers that were always defined to work as-if they were two's complement
21:28:20 <zzo38> Many C programs can assume that all sizes have a maximum something like $2^x-1$ and that signed addition/subtraction works the same way as unsigned
21:29:07 <olsner> eh, I mean modulo 2^n for unsigned numbers, two's complement doesn't make sense in that context
21:29:56 <zzo38> Yes and modulo 2^n for unsigned numbers many C programs might assume that and fail to work correctly on computer that do not have that.
21:30:28 <olsner> if the computer doesn't have that, C requires it to emulate it for unsigned numbers
21:30:29 <Vorpal> <ais523> pikhq_: but who uses 64-bit+ char? <-- dsp possibly?
21:30:38 <pikhq_> I think it actually is valid to assume that the integer types are powers of two.
21:30:57 <ais523> 9-bit ints died out in practical use ages ago
21:31:09 <ais523> and I don't think a non-power-of-2 size other than 9 has ever been seriously used
21:31:19 <pikhq_> As it does mandate a binary representation for them with value bits, padding bits, and a sign bit.
21:31:20 <zzo38> Yes of course you can make the C program compiled into the machine code for some other machine which is then emulated, if it is necessary to do so.
21:31:51 <pikhq_> ais523: I'm referring to them being able to store numbers that are one shy of a power of 9.
21:32:00 <pikhq_> 9-bit char would satisfy that.
21:49:02 <augur> Phantom_Hoover: science!
21:50:03 <Phantom_Hoover> augur, I thought your speciality was effectively the maths bits of linguistics.
21:50:39 -!- choochter has quit (Ping timeout: 264 seconds).
21:51:43 <augur> something like that
22:03:56 <Vorpal> pikhq_, ekopath just let me down: "warning: C99 inline functions are not supported; using GNU89"
22:09:30 <pikhq_> solvers({c c99}) apparently does not exist.
22:09:46 <pikhq_> However, solvers({c c99}) exists.
22:10:31 <olsner> pikhq_: I would suspect that there is some kind of bug at play
22:11:34 -!- quintopia has quit (Remote host closed the connection).
22:19:50 <zzo38> Vorpal: What is ekopath and what are you trying to do?
22:20:20 <olsner> ekopath is a compiler that was recently made free and posted on reddit
22:26:46 <zzo38> Can Checkout be used for audio and for graphics?
22:27:37 <ais523> zzo38: "yes", in the same sense that machine code can be
22:28:23 -!- quintopia has joined.
22:28:42 <zzo38> ais523: Not quite what I meant. I mean, is it reasonable to make it used in a GPU with some units used for audio, some for graphics, and some for other calculations.
22:29:13 <ais523> zzo38: I don't know, I'm not an expert on these kinds of things
22:29:22 <ais523> note that Checkout is classified as an esolang not a regular lang for a reason...
22:29:27 <ais523> you're better off using CUDA or something, I expect
22:34:03 <zzo38> ais523: However I want to use one that has Free software/open source, and with low-level access
22:34:19 <ais523> well, Checkout doesn't have any implementations at all
22:34:24 <ais523> so it wouldn't be very useful in that respect
22:34:44 <ais523> try looking at OpenCL, that's open source
22:34:55 <olsner> "the whole reason main goes into the djungle with the monkey is that the monkey should become main in the djungle, since main doesn't even exist in the djungle"
22:38:31 <zzo38> I mean I want to use one requiring no proprietary drivers, no specific kinds of operating systems or motherboards, etc. Such as, having the freely available and usable document for the machine code of the GPU and how to access it.
22:38:48 <ais523> zzo38: it'll be hard enough even to find a GPU like that
22:40:52 -!- fizzie has quit (Ping timeout: 244 seconds).
22:41:27 <olsner> (that was part of a question on how to implement coroutines (or something) in C, that started with "can I do malloc on a function pointer? I want to copy the stack to the heap so I can context switch within a struct")
22:52:27 -!- fizzie has joined.
22:55:37 <Gregor> My flight is delayed two hours, but at least it's the /last/ leg that's delayed :P
22:56:27 <pikhq_> For $185,000, you too can have a TLD.
22:56:42 <pikhq_> Fuck you, ICANN. Fuck you.
22:57:08 -!- Patashu has joined.
22:57:17 <ais523> Gregor: IRCing from the airport?
22:58:25 -!- copumpkin has quit (Ping timeout: 244 seconds).
22:58:55 -!- copumpkin has joined.
23:01:29 <zzo38> I don't need any GPU driver, I don't want a GPU driver, what I want is the freely available and usable documentation for accessing it directly.
23:03:34 <pikhq_> Hmm. A sufficiently large company could buy a TLD, start using it exclusively, and then turn off caching and thereby *bring down DNS*.
23:04:08 <ais523> pikhq_: why would turning off caching do that? people not trying to visit their website wouldn't notice, right?
23:04:14 <zzo38> There is a document about "R600-Family Instruction Set Architecture". How well should that work?
23:04:17 <ais523> so all they'd do would be effectively to indirectly DOS themselves?
23:04:35 <pikhq_> ais523: The resolution would first go to the root server.
23:04:59 <pikhq_> The root servers are not set up to be very beefy, because all they answer for is the TLDs.
23:05:06 <ais523> wouldn't the root server cache the TLD's location, though, regardless of the TLD's wishes?
23:05:17 <ais523> they'd be insane not to
23:05:31 <pikhq_> Presently, they pay attention to the requested caching time.
23:06:27 <pikhq_> Erm. Actually. The root server can't cache anything; it's servers calling to the root server that does the caching.
23:06:48 <pikhq_> You only cache results from your own DNS queries, and the root server does not make any.
23:19:46 <Lymia> If they did that, the root servers would have to do something about it.
23:21:00 <pikhq_> Lymia: Yes, but in the short term DNS would be t3h fucked.
23:21:05 -!- foocraft has quit (Ping timeout: 258 seconds).
23:21:09 -!- foocraft_ has joined.
23:21:22 <Lymia> And that's how $COMPANY killed the internet.
23:22:04 <pikhq_> The DNS root servers are a point of relative weakness for the Internet. Stressing them is a bad idea.
23:23:29 <coppro> The root servers periodically are given updates to the root zone
23:23:36 <coppro> I don't know if it's done manually or automatically
23:24:14 <Gregor> So, how many will Microsoft own by next year?
23:24:28 <Gregor> I'm thinking "microsoft" and "windows", maybe '
23:24:29 <pikhq_> coppro: Not going to be practical for much longer.
23:24:51 <pikhq_> At present, the root zone doesn't change often.
23:24:55 <Gregor> lulz open.office -> MICROSOFT OFFICE DURPADURPADOO
23:25:01 <pikhq_> Soon, the root zone could potentially change every hour.
23:25:32 <Gregor> For the time being it looks like there's a shitload of bureaucracy between initial signup and activation of a new TLD.
23:25:36 <Gregor> So "every hour" is a bit silly.
23:26:06 <pikhq_> Gregor: Still, compared with how much it changes now?
23:26:44 <Gregor> Honestly I can't imagine it increasing to more often than once every several months in the immediate future.
23:26:52 <Gregor> I doubt that the actual /updates/ will be a problem.
23:27:22 <pikhq_> It's still a fucking terrible idea.
23:32:05 <pikhq_> Not to mention that that's a freaking global namespace.
23:32:17 <pikhq_> There's very, very few things that are deserving of that.
23:32:49 <pikhq_> Heck, I'm only willing to excuse the .com, .org, etc. TLDs for being due to hysterical raisins.
23:32:53 <Gregor> Such as museum, cooperatives, the aerospace industry, and the US military.
23:33:18 <pikhq_> .museum is stupid. .coop is stupid. .aero is stupid.
23:33:37 <pikhq_> .nato was removed in '96.
23:34:35 <pikhq_> Just about everything should be a ccTLD.
23:34:46 <Gregor> What's so great about countries?
23:34:51 <Gregor> Why do they deserve that namespace?
23:35:06 <pikhq_> Well, *something* needs to be at the top of the namespace.
23:35:27 <pikhq_> And countries are a somewhat natural top-level for an international hierarchy.
23:35:49 <Gregor> It's not an international hierarchy, it's an extranational hierarchy.
23:36:16 <pikhq_> True, true. So. What hierarchy actually makes sense?
23:36:42 <Gregor> None; but that's my point, so long as it doesn't become the lulsy state of "highest bidder = top level", it's fine, if a bit chaotic.
23:36:59 <Gregor> Of course, since it IS in that lulsy state, whoops
23:37:51 <pikhq_> I'd argue that something like ccTLDs as the primary form of organization makes *more* sense than a general mish-mash. But ultimately, that doesn't matter.
23:38:02 <pikhq_> Because nobody's proposing that we make a TLD organisation that makes sense.
23:38:24 <pikhq_> They're just proposing "highest bidder = top level".
23:40:06 <pikhq_> Fuck ICANN, and fuck the US for insisting on holding onto control over DNS.
23:40:35 <pikhq_> (remember, ICANN controls the registries because the US Department of Commerce says so!)
23:41:35 * Gregor luls at people who take things too seriously :P
23:42:05 <Gregor> pikhq_: RELAAAAAAAAAAX
23:42:18 <Gregor> It's all irrelevant trivium.
23:44:19 <Gregor> Paid TLDs are not the beginning of the collapse of modern civilization; or at least, if they are, they're only a part of greater things well beyond our control. Relax and enjoy the ride, stop fretting about silly decisions by silly people.
23:45:01 <ais523> there are more worrying things to be concerned with
23:45:23 <pikhq_> I'm more upset at the idea that these silly people can make decisions affecting, well, everyone.
23:45:51 <pikhq_> When they seem to be too silly to make decisions affecting themselves.
23:46:17 <Gregor> Bahaha, they delayed my flight again.
23:46:44 <pikhq_> Gregor: Where are you stuck at, anyways?
23:47:45 <pikhq_> Ah, so you're waiting on an ultralong flight, then. "Fun".
23:48:06 <Gregor> Well, it's the last flight in my trip, so it kinda doesn't matter that much for me.
23:48:25 <pikhq_> True, it's not like you're going to be missing any flights.
23:48:53 -!- zzo38 has quit (Quit: Push all function of computer).
23:58:21 -!- newsham has joined.
00:00:40 <ais523> no, I missed the start
00:00:48 <ais523> which is a shame, as I have a paper accepted for this year's ICFP
00:01:00 <ais523> and it'd be great to win the contest too
00:01:42 <ais523> the ICFP contest could really do with being advertised more /before/ it starts...
00:03:56 <ais523> I suppose I could help out and try to win that way
00:04:04 <ais523> but I'm really out of the loop as to how this year's challenge works
00:04:05 <newsham> i've been toying with the idea alittle but havent written a player
00:04:31 <ais523> at least it's properly functional this year, it often isn't
00:04:44 <newsham> well kinda.. impurely functional ;-)
00:13:18 -!- olsner has quit (Quit: Leaving).
00:32:21 -!- evincar has joined.
01:11:33 -!- FireFly has quit (Quit: swatted to death).
01:13:19 <Gregor> From scenic Pittsburgh!
01:14:54 <Gregor> The pilot is coming from a flight from Atlanta which had to do an emergency landing due to a health emergency.
01:15:22 <Gregor> Presumably he is the only pilot working for Delta capable of flying a plane to Paris.
01:15:51 <Gregor> (OK, OK, to be fair you can't just shuffle pilots around randomly, that puts them thousands of miles out of their way :P )
01:16:23 <pikhq_> Clearly, we need Google to also automate flight.
01:16:51 <Gregor> Flights are already automatable, but the FAA says no :P
01:17:04 <pikhq_> Oh, yeah, and get a bridge across the Bering Strait.
01:17:34 <Gregor> And a bridge from Nova Scotia to Portugal.
01:17:52 <pikhq_> Well, it's actually not-crazy to do a bridge across the Bering Strait.
01:18:12 <pikhq_> Well, actually, 3 bridges.
01:18:39 <pikhq_> Two 25 mile bridges and one 2 mile bridge.
01:19:09 <pikhq_> Though longer than any other current bridge, it's not actually completely nuts.
01:19:33 <pikhq_> It helps that the Bering Strait is very shallow.
01:19:54 <pikhq_> (average depth of ~100 feet)
01:20:36 <pikhq_> Estimated cost, $105 billion.
01:20:51 <pikhq_> Absurd, yes. Doable, also yes.
01:21:27 <pikhq_> Actually, it'd probably be a very heavily used shipping lane.
01:21:47 <Gregor> The amount of /surrounding/ infrastructure required to make that feasible is staggering.
01:22:09 <pikhq_> And that's the actual problem. There's no roads or railroads on either side.
01:22:10 <Gregor> Neither Alaska nor Siberia are known for their roads.
01:22:21 <pikhq_> Though Russia's fixing that.
01:22:36 <pikhq_> (they actually want this to happen.)
01:24:26 <Gregor> Too bad they sold us Alaska!
01:24:32 <Gregor> And we don't care about giving it any infrastructure!
01:24:55 <pikhq_> Well, we could probably sell it back.
01:25:05 <pikhq_> On the condition they keep Palin.
01:26:01 <pikhq_> Hmm. It'd be much easier to hook up the infrastructure on the US side.
01:26:25 <pikhq_> A mere 500 miles, rather than 2,000.
01:26:54 <pikhq_> (yes, that's how much road would be needed on the Russian side)
01:28:24 <pikhq_> Possible downsides: cheap Chinese crap would be more so.
01:29:20 <Gregor> As well as the 500 miles of road, you'd have to build 20 McDonaldses, and the infrastructure to get people to their minimum-wage jobs at said McDonaldses.
01:30:39 <pikhq_> Yeah, but private companies would line up to do that if they knew there was a major highway being built.
01:32:11 <Gregor> A major highway that's a major risk. We don't trust them Ruskies.
01:33:00 <Gregor> I'm just being a jerk here, of course :P
02:21:42 -!- Vorpal has quit (Read error: Operation timed out).
02:23:56 -!- CakeProphet has joined.
02:23:56 -!- CakeProphet has quit (Changing host).
02:23:57 -!- CakeProphet has joined.
02:35:39 -!- CakeProphet has quit (Ping timeout: 246 seconds).
02:45:56 -!- Sgeo has quit (Read error: Connection reset by peer).
02:46:32 -!- Sgeo has joined.
02:47:42 -!- CakeProphet has joined.
02:47:42 -!- CakeProphet has quit (Changing host).
02:47:43 -!- CakeProphet has joined.
02:48:02 -!- CakeProphet has quit (Client Quit).
03:12:34 -!- pingveno has quit (Ping timeout: 276 seconds).
03:14:01 -!- pingveno has joined.
03:47:24 -!- pikhq has joined.
03:50:02 -!- pikhq_ has quit (Ping timeout: 240 seconds).
04:23:50 -!- CakeProphet has joined.
04:23:51 -!- CakeProphet has quit (Changing host).
04:23:51 -!- CakeProphet has joined.
04:55:09 <cheater_> quick survey: who here has made a website that joined a webring, and was it a personal website?
05:17:22 -!- CakeProphet has quit (Ping timeout: 260 seconds).
05:23:40 -!- evincar has quit (Ping timeout: 264 seconds).
05:30:25 -!- ptaav has joined.
05:37:13 -!- evincar has joined.
05:56:59 -!- evincar has left.
06:11:02 -!- wareya_ has joined.
06:13:59 -!- wareya has quit (Ping timeout: 244 seconds).
06:49:52 -!- pikhq has quit (Ping timeout: 240 seconds).
06:49:55 -!- pikhq_ has joined.
06:50:43 -!- derrik has joined.
06:51:11 -!- derrik has left.
07:28:18 -!- choochter has joined.
07:59:31 -!- monqy has quit (Quit: hello).
08:08:52 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
09:10:38 -!- Phantom_Hoover has joined.
10:07:17 -!- sebbu has joined.
10:07:17 -!- sebbu has quit (Changing host).
10:07:17 -!- sebbu has joined.
10:09:03 -!- sebbu2 has quit (Ping timeout: 260 seconds).
10:45:50 <quintopia> cheater_: me, yes. when i was like 13.
10:57:12 <Phantom_Hoover> http://en.wikipedia.org/wiki/Operation_Uphold_Democracy
10:57:23 <Phantom_Hoover> Oh come on guys it's like you're not even trying with the propaganda.
11:01:50 <quintopia> who needs to try when you can swing the UNSC?
11:05:58 -!- olsner has joined.
11:07:09 <ais523> ooh, Debian's CLC-INTERCAL maintainer just claimed C-INTERCAL too
11:07:13 <ais523> so it's unorphaned again
12:19:49 -!- pikhq_ has quit (Ping timeout: 240 seconds).
12:19:53 -!- pikhq has joined.
12:24:22 -!- MigoMipo has joined.
12:52:50 -!- _foocraft has joined.
12:52:51 -!- FireFly has joined.
12:54:36 -!- foocraft_ has quit (Ping timeout: 260 seconds).
13:05:06 -!- pikhq_ has joined.
13:05:06 -!- pikhq has quit (Ping timeout: 260 seconds).
13:59:29 -!- cheater_ has quit (Ping timeout: 240 seconds).
14:15:41 -!- Vorpal has joined.
14:40:25 -!- cheater_ has joined.
14:51:19 -!- cheater_ has quit (Ping timeout: 240 seconds).
15:12:12 -!- ais523 has quit (Remote host closed the connection).
15:19:01 -!- perlmonkey has joined.
15:19:42 -!- cheater_ has joined.
15:20:49 -!- pikhq has joined.
15:21:04 -!- pikhq_ has quit (Ping timeout: 250 seconds).
15:42:02 -!- oerjan has joined.
15:57:34 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
16:04:10 -!- nooga has joined.
16:09:53 -!- impomatic has joined.
16:18:54 -!- monqy has joined.
16:28:07 <Sgeo> perlmonkey is from the distant future: the year 2000
16:28:27 * oerjan thinks the turing test has some grade slippage
16:28:32 <Sgeo> Well, hmm, that would have wroked beetter i perlmonkey was a bot really
16:30:23 <oerjan> ...i don't think that's in line with turing's intentions
16:30:53 <oerjan> ...until someone starts making biological androids
16:34:54 <Phantom_Hoover> We are greatly wise, and are familiar with every form of dicking around known to man.
16:35:28 * perlmonkey is trying to enhance cognitive ability
16:35:44 <monqy> is lymia a big whatever girls have
16:36:18 <oerjan> monqy: that's a very rude word you know
16:37:19 * perlmonkey is pursuing the line of reasoning that eating raw foods can improve cognitive function
16:37:45 <Phantom_Hoover> perlmonkey, well, it certainly makes you think about what you'd rather be eating.
16:38:25 <oerjan> `addquote * perlmonkey is pursuing the line of reasoning that eating raw foods can improve cognitive function <Phantom_Hoover> perlmonkey, well, it certainly makes you think about what you'd rather be eating.
16:38:26 <pikhq> perlmonkey: Does there exist empirical evidence for the claim?
16:38:28 <HackEgo> 458) * perlmonkey is pursuing the line of reasoning that eating raw foods can improve cognitive function <Phantom_Hoover> perlmonkey, well, it certainly makes you think about what you'd rather be eating.
16:39:23 <perlmonkey> pikhq: that is what I would like to know, but i have seen convincing evidence that eating raw foods can dramatically improve health and wellbeing
16:39:51 <Sgeo> What sort of evidence?
16:40:19 <pikhq> Strange, considering that with a very large amount of foods, cooking serves to make nutrients more readily obtained.
16:40:35 <perlmonkey> i saw an experiment once on a random group of adults, some with health problems and some healthy, all were given raw foods only for 2 weeks under supervision
16:41:19 <pikhq> Any controls on that?
16:42:10 <pikhq> Comparing with a test of the null hypothesis. In this case, this would be comparing against a test of people on a normal diet
16:42:30 <coppro> Comparing against people on a diet identical except that it is cooked
16:42:43 <pikhq> coppro: Okay, actually that would be a much better test.
16:42:44 <perlmonkey> no i think the test was to see what effect the diet change would have on this group of people
16:42:50 <coppro> To determine if the effect is the cooking, or the fact that certain foods are rarely eaten raw
16:42:57 <perlmonkey> not whether raw diet was effective over normal diet
16:43:07 <coppro> pikhq: actually, do one better; run three groups :)
16:43:40 <pikhq> coppro: Ah, yes. That's a good point. Lets you know if the change is a higher quantity of cooked foods or merely the change in foods, if any.
16:43:45 <pikhq> perlmonkey: Then it's a useless study.
16:43:46 <coppro> but, say, chicken is very rarely consumed raw. It can also be quite unhealthy.
16:44:21 <perlmonkey> the experiment was not so much concerned with trying to prove a raw diet is superior or provides any health benefits, although that was obviously expected and hoped in the findings, but the experiment was more about how the individuals coped on that diet and how they felt, how they performed
16:44:53 <perlmonkey> i wouldn't say it was useless and it wasn't a clinical study, just a social experiment
16:45:01 <pikhq> perlmonkey: See? Useless. The findings tell us nothing, except perhaps "a raw food diet won't kill you".
16:45:31 <pikhq> Which I don't think was very controversial.
16:45:31 <perlmonkey> well since you didn't watch the experiment or know the outcome out of it, that's rather an opinionated assumption
16:46:08 <pikhq> The experiment *as described* simply is not a good one.
16:46:20 -!- perlmonkey has left.
16:46:29 <pikhq> *Aaah*, ignorance.
16:47:48 <coppro> freshly cooked scientific method
16:51:22 <oerjan> bah obviously it's a proper experiment unless the subjects and experimenters don't _know_ who is eating cooked or raw food. double blind all the way!
16:51:50 <pikhq> oerjan: I was omitting that simply because double blind seemed impractical in this scenario.
16:51:51 <oerjan> also ilari should have been here
16:52:56 <coppro> double blind is definitely ideal
16:52:58 <coppro> but I agree with pikhq
16:53:26 <oerjan> also there was hopefully a good proportion of fungi *cackles evilly*
16:54:56 <oerjan> ideally the experimenters should not even know which result they want
16:55:33 <coppro> if I were running this experiment, I have no obvious concsious bias
17:11:01 -!- impomatic has left.
17:15:41 -!- augur has quit (Read error: Connection reset by peer).
17:17:32 -!- augur has joined.
17:21:47 -!- zzo38 has joined.
17:33:38 -!- derrik has joined.
17:34:02 -!- derrik has left.
17:35:29 -!- pikhq has quit (Ping timeout: 240 seconds).
17:35:36 -!- pikhq has joined.
17:41:47 -!- CakeProphet has joined.
17:41:47 -!- CakeProphet has quit (Changing host).
17:41:47 -!- CakeProphet has joined.
17:43:20 -!- MigoMipo has quit (Ping timeout: 260 seconds).
17:57:02 -!- MigoMipo has joined.
18:18:23 -!- teuchter has joined.
18:18:23 -!- choochter has quit (Read error: Connection reset by peer).
18:18:53 <HackEgo> ` \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ fuck \ google \ imdb \ json \ k \ karma \ marco \ minifind \ paste \ pastenquotes \ pastequotes \ penis \ ping \ prefixes \ quine \ quote \ quotes \ rec \ roll \ runasperl \ runfor \ rungcc \ sayhi \ strfile \ swedish
18:46:05 -!- teuchter has quit (Ping timeout: 255 seconds).
18:49:09 -!- hiato has quit (Ping timeout: 240 seconds).
18:49:43 -!- hiato has joined.
19:03:34 -!- azaq23 has joined.
19:15:05 -!- KingOfKarlsruhe has joined.
19:28:18 -!- augur has quit (Read error: Connection reset by peer).
19:28:25 -!- augur has joined.
19:33:39 -!- augur_ has joined.
19:34:15 -!- augur has quit (Read error: Connection reset by peer).
19:36:32 -!- augur_ has quit (Read error: Connection reset by peer).
19:36:48 -!- augur has joined.
19:38:49 -!- augur has quit (Read error: Connection reset by peer).
19:38:54 -!- augur has joined.
19:40:48 -!- augur has quit (Read error: Connection reset by peer).
19:41:01 -!- augur has joined.
19:43:42 -!- augur has quit (Read error: Connection reset by peer).
19:44:00 -!- augur has joined.
19:48:05 -!- augur has quit (Read error: Connection reset by peer).
19:48:12 -!- augur has joined.
19:49:57 -!- pikhq has quit (Ping timeout: 240 seconds).
19:50:16 -!- pikhq has joined.
19:52:32 <zzo38> There is one thing in ImageMagick useful that SoX doesn't have, which is being able to put operations inside of ( ... ) to operate on a stack. It would be useful though.
20:25:06 -!- Sgeo_ has joined.
20:26:04 -!- Sgeo_ has quit (Client Quit).
20:29:57 -!- augur has quit (Read error: Connection reset by peer).
20:30:17 -!- augur has joined.
20:39:11 <zzo38> I have found something that seems to be wrong with SoX. The "synth" effect takes parameters "-j" and "-n", it says "-j" goes first but actually "-n" must go first if you use them together.
20:44:18 -!- sebbu has quit (Read error: Connection reset by peer).
20:45:05 -!- sebbu has joined.
20:45:06 -!- sebbu has quit (Changing host).
20:45:06 -!- sebbu has joined.
20:50:13 -!- augur_ has joined.
20:50:16 -!- augur has quit (Read error: Connection reset by peer).
20:51:51 <micahjohnston> is anyone interested in helping design a programming language?
20:54:09 -!- augur_ has quit (Read error: Connection reset by peer).
20:54:27 -!- augur has joined.
20:55:16 <zzo38> micahjohnston: Give examples. More information please.
20:57:25 <micahjohnston> zzo38: but all the values are extended across time
20:58:43 <micahjohnston> instead of thinking of functions as a sequence of instructions, think about them as circuits or networks of pipes through which values flow
21:00:29 <Sgeo> micahjohnston, when elliott's here, I think he might want to talk abot this
21:00:48 <Sgeo> @tell elliott talk to micahjohnston, e's interested in making a reactive languae
21:01:17 <micahjohnston> I have a channel set up, ##tempus, for talking about it
21:06:36 -!- augur has quit (Read error: Connection reset by peer).
21:06:56 -!- augur has joined.
21:07:49 <oerjan> you can always expect some reaction from elliott
21:09:23 <oerjan> myndzi: you have an error there
21:10:55 <monqy> well it seems to go fine that way at least
21:11:31 <oerjan> seems it's broken for initial \
21:14:26 -!- _foocraft has quit (Ping timeout: 252 seconds).
21:14:45 <oerjan> only \ with a single space in front, so far
21:16:24 <oerjan> ok any one with a single space, maybe
21:26:02 <copumpkin> needs to be aware of my proportional font
21:26:52 <oerjan> um i'm testing a bug in it, if you are proportional then you probably cannot see that
21:31:39 <pikhq> I think GCC wins an award for worst build system.
21:32:29 <pikhq> NO, LIBGCC. YOU SHOULD NOT LOOK IN /usr/lib. YOU ARE CROSS COMPILING. WHY WOULD THE CROSS LINKER UNDERSTAND THE NATIVE LIBRARIES. FUCK YOU FUCK YOU FUCK YOU.
21:33:58 <olsner> ALSO, DISENGAGE CAPS LOCK :)
21:35:31 <zzo38> This is one display hack: http://sprunge.us/QOMP
21:36:23 <pikhq> No, GCC is deserving.
21:36:51 -!- oerjan has quit (Quit: Good night).
21:44:47 -!- pikhq_ has joined.
21:45:50 -!- pikhq has quit (Ping timeout: 258 seconds).
21:46:32 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
21:59:09 -!- augur has quit (Remote host closed the connection).
22:04:29 -!- fizzie has quit (Ping timeout: 264 seconds).
22:08:28 -!- sebbu2 has joined.
22:08:28 -!- sebbu2 has quit (Changing host).
22:08:28 -!- sebbu2 has joined.
22:10:42 -!- Phantom_Hoover has left ("Leaving").
22:10:45 -!- Phantom_Hoover has quit (Quit: Leaving).
22:10:56 -!- sebbu has quit (Ping timeout: 246 seconds).
22:12:32 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:15:39 -!- fizzie has joined.
22:23:21 -!- pikhq has joined.
22:26:24 -!- pikhq_ has quit (Ping timeout: 260 seconds).
22:27:30 <pikhq> So. It is a royal pain to get x86_64-unknown-linux-musl-gcc.
22:27:44 <pikhq> It is a 1 line patch to binutils and a 2 line patch to pcc to do the same.
22:27:56 <pikhq> gcc, worst compiler ever?
22:28:33 <pikhq> (1 line to make config.sub accept that, for binutils and pcc. 1 line to point pcc to the dynamic linker.)
22:36:31 <pikhq> Okay, okay, so I could just make it generate x86_64-pc-linux-gnu-gcc and edit the spec file a bit, but it's the principle of the thing!
22:51:32 -!- sebbu2 has changed nick to sebbu.
22:56:04 <zzo38> What are the just musical intervals 11/8 and 13/8 called?
23:03:52 -!- augur has joined.
23:21:26 <tswett> zzo38: Wikipedia says "lesser undecimal tritone" and "tridecimal neutral sixth", respectively.
23:25:36 <Sgeo> What's the idea that all mathematical structures that could house consciousness do?
23:29:49 <zzo38> tswett: Thanks I have found those now. (Actually soon after I asked I managed to find them, although I could not find them before).
23:30:16 <zzo38> Now I have all the intervals 8 to 16.
23:41:16 -!- foocraft has joined.
00:03:52 <olsner> Sgeo: that'd be the idea that all mathematical structures that could house consciousness do
00:06:41 <olsner> http://mathworld.wolfram.com/TuppersSelf-ReferentialFormula.html :D
00:07:14 <Sgeo> Something something balloon Microsot something
00:08:40 <olsner> something something indeed!
00:11:58 -!- Patashu has joined.
00:13:57 <Gregor> Bonjour from actual Paris
00:24:04 <zzo38> One card SCYTHER Lv23 has the translation "You can't use this attack during your opponent's next turn." That is certainly not the correct translation of the text.
00:26:37 -!- FireFly has quit (Quit: swatted to death).
01:03:48 -!- cheater_ has quit (Quit: Ex-Chat).
01:04:16 -!- cheater_ has joined.
01:35:33 -!- Vorpal has quit (Ping timeout: 250 seconds).
01:50:27 -!- Lymia has quit (Quit: Bai~).
01:51:57 -!- augur has quit (Remote host closed the connection).
02:45:09 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:45:34 -!- elliott has joined.
02:58:39 <elliott> https://support.mtgox.com/entries/20208066-huge-bitcoin-sell-off-due-to-a-compromised-account-rollback fun
02:58:39 <lambdabot> elliott: You have 3 new messages. '/msg lambdabot @messages' to read them.
02:59:24 -!- augur has joined.
03:25:44 <Patashu> in the interview they said they don't want to implement bcrypt or ssl certificates
03:29:51 <elliott> bitcoin seems fairly sound to me, i've no opinion on mtgox though
03:30:04 * pikhq is not quite sure why he started this
03:30:43 <pikhq> elliott: Getting sabotage to a) build with a toolchain that proudly calls itself *-linux-musl b) uses the dynamic linker that was pushed to musl's git last night.
03:31:05 <elliott> oh it is working now? great
03:31:23 <pikhq> I suspect I'm going to hit a bug sometime, but yes, it works.
03:31:43 <pikhq> Well, I may have already. Perl's miniperl segfaulted.
03:32:09 <pikhq> But I'm just forcing that to link with -static so I can move on.
03:32:23 <pikhq> At a minimum, I know that gcc and its immediate dependencies pretty much works.
03:32:39 <pikhq> (modulo stage0, which I have still statically linked, for reasons of sanity)
03:34:00 <elliott> pikhq: don't dynlink everything :(
03:34:10 <pikhq> elliott: I'm dynlinking everything *simply to test that it works*.
03:35:07 <pikhq> If it weren't for that this would be a much easier task. :P
03:35:23 <pikhq> Just grab a sabotage install and munge the gcc spec file, rebuild musl, tada.
03:36:05 -!- azaq23 has quit (Ping timeout: 246 seconds).
03:36:23 -!- azaq23 has joined.
03:37:35 <elliott> pikhq: Where _is_ the gcc spec file in the source tree, btw?
03:40:02 <pikhq> elliott: It doesn't exist.
03:40:23 <pikhq> It's generated by gcc itself during install.
03:40:34 <pikhq> The configuration for what goes *into* it is in various header files.
03:41:10 <elliott> pikhq: Vaguely human-editable header files?
03:49:52 -!- augur has quit (Remote host closed the connection).
03:52:20 -!- elliott_ has joined.
03:52:21 -!- elliott has quit (Read error: Connection reset by peer).
04:02:05 -!- augur has joined.
04:04:06 -!- elliott_ has quit (Remote host closed the connection).
04:04:46 -!- elliott has joined.
04:04:47 -!- elliott has quit (Changing host).
04:04:47 -!- elliott has joined.
04:07:45 <Sgeo> o.O at xkcd stupidity
04:08:21 -!- elliott has quit (Remote host closed the connection).
04:08:49 -!- elliott has joined.
04:10:22 -!- Wamanuz2 has quit (Remote host closed the connection).
04:11:41 <zzo38> If you have a DVD storing only Ogg video stream of Theora or Dirac in standard definition NTSC or PAL, including audio, but no menus or subtitles or filesystem etc, how much would fit on one DVD?
04:12:03 <pikhq> About as much as would fit on a normal DVD, TBH.
04:12:21 <pikhq> Theora's not notably better than MPEG-2, and menus, subtitles, etc. are fairly minimal overhead.
04:13:12 -!- Wamanuz has joined.
04:15:03 <zzo38> How well for Dirac?
04:18:01 <pikhq> Dirac has no good encoder ATM.
04:51:20 -!- Wamanuz has quit (Read error: Connection reset by peer).
04:52:17 -!- Wamanuz has joined.
04:54:06 -!- pikhq_ has joined.
04:55:23 -!- pikhq has quit (Ping timeout: 255 seconds).
05:00:03 -!- Wamanuz has quit (Read error: Connection reset by peer).
05:00:19 -!- Wamanuz has joined.
05:49:22 <pikhq_> So, I feel confident in saying "fuck Perl".
05:55:19 <zzo38> What is the difference in quality if the filesizes are kept the same?
05:55:25 -!- elliott has quit (Ping timeout: 240 seconds).
05:57:15 <pikhq_> I think it's a *slight* improvement?
06:01:22 <zzo38> OK. What format for audio is used in DVD standard for DVD video? Because, there is audio, too.
06:02:02 <zzo38> You also have to compare NTSC with PAL, Theora with Dirac, stereo with surround, etc.
06:04:41 <pikhq_> The valid audio formats are PCM (up to 6 channels, 24-bit, 48/96 kHz), AC-3 (48 kHz, up to 6 channels), DTS (up to 7 channels, 48/96 kHz), MP2 (up to 8 channels, 48 kHz).
06:05:43 <pikhq_> All of these options are, well, not noticably better than Theora. I think Theora's better, but with the bitrates used the distinction is negligible.
06:06:23 <zzo38> Theora doesn't do audio.
06:07:17 <pikhq_> I get the feeling you're wondering "what's the best way of putting NTSC or PAL video on a DVD-ROM disc?".
06:07:43 <pikhq_> Which is, of course, x264 and FLAC.
06:09:27 <zzo38> No, it has to be a free encoding. It can be put on the other side of the disc if necessary.
06:11:31 <pikhq_> Deewiant: I'm presuming a best-case scenario where you have the unencoded source video.
06:12:01 <pikhq_> With such a scenario, it seems most reasonable to minimise any possible quality losses, while making it fit on your target medium.
06:12:12 <pikhq_> *Ideally*, the x264 encoding can also be lossless.
06:13:47 <Deewiant> Does the audio take up so little space anyway that compressing it lossily wouldn't translate to noticeably higher-quality video with no discernible difference in the audio?
06:14:44 <pikhq_> Actually, it's more that x264 is so flipping good that you will have gobs of free space if you have it encode to visual transparency.
06:15:45 <pikhq_> Seriously, I can fit a *season* of a show onto a single disc without a significant loss in quality.
06:16:37 <pikhq_> (reference: my encoding of Star Trek: TNG.)
06:17:00 <Deewiant> Is that from a 1080p source? :-P
06:18:22 <pikhq_> No such source exists; TNG was filmed on video and special effects were done in 480i, making it actually a royal *pain* to do anything right to it at all.
06:19:04 <pikhq_> Anyways, the discussion was "NTSC or PAL video". :P
06:19:19 -!- oerjan has joined.
06:23:22 <pikhq_> newsham: Digitised, 720x480i30, pixel aspect ratio 10:11.
06:23:56 <pikhq_> (and YCbCr colorspace)
06:48:00 <oerjan> if today's xkcd made sense in munroe's own mind, does that mean he needs to be locked up?
06:48:42 <newsham> you read it, what does that say?
06:48:56 <zzo38> Is it possible to use something like holographic RFID to allow a DVD to store more data? [Disclaimer: This idea is licensed unter the GPL (actually I think this kind of licensing is not possible)]
06:49:24 <zzo38> oerjan: Probably not.
06:49:54 <newsham> oerjan: looks like maybe kidney thieves?
06:50:26 <oerjan> well it may be an _allusion_ to kidney thieves. it still doesn't make sense.
06:50:29 <pikhq_> zzo38: More feasibly, use a smaller laser.
06:50:55 <zzo38> pikhq_: I am talking about something else; a format which does not require changing the drives at all.
06:51:53 -!- sebbu has quit (Ping timeout: 264 seconds).
06:52:11 <zzo38> I do not know if it is even possible or probable
06:52:28 <zzo38> It is just some strange idea I made up
06:55:35 <zzo38> Of course it is probably not useful I just want to think of how it could be done.
06:55:35 -!- choochter has joined.
06:55:56 -!- augur has quit (Read error: Connection reset by peer).
06:56:04 -!- augur has joined.
06:57:58 <zzo38> Note that the Bluray licensing requires you to include DRM on the disc even if you do not use it (except for recordable discs) (at least, this is what I have read) therefore you have to pay a licensing fee for AACS even if it is not used.
07:00:23 <pikhq_> Yeah, fuck the right bastards.
07:00:56 <zzo38> Can you elaborate on that?
07:01:18 <pikhq_> Very general statement. Fuck licensing groups.
07:01:47 <pikhq_> All they do is act as a leech on everything.
07:02:41 -!- sebbu has joined.
07:07:26 <zzo38> Do you know if there is a way to switch Linux out of UTF-8 mode?
07:09:12 -!- Slereah_ has joined.
07:10:59 -!- Slereah has quit (Ping timeout: 246 seconds).
07:15:20 -!- zzo38 has quit (Quit: zzo38).
07:27:11 -!- monqy has quit (Quit: hello).
07:53:48 -!- azaq23 has quit (Quit: Leaving.).
07:55:24 -!- pikhq_ has quit (Ping timeout: 240 seconds).
07:55:38 -!- pikhq has joined.
08:12:14 -!- Tritonio has joined.
09:03:04 -!- ptaav has left.
09:35:00 -!- hiato has quit (Quit: "nothing so gives the illusion of intelligence as personal association with large sums").
09:50:48 -!- MigoMipo has joined.
10:03:46 -!- aloril has quit (Ping timeout: 250 seconds).
10:11:18 -!- oerjan has quit (Quit: leaving).
10:17:42 -!- aloril has joined.
10:21:43 -!- FireFly has joined.
10:24:17 -!- Vorpal has joined.
11:03:15 <Vorpal> pikhq, https://github.com/pathscale/envytools/blob/dda561414f8f3e767d0a35521d2c2ab5eed7c21d/README <-- what the
11:03:37 <Vorpal> pikhq, btw a lot more open-sourced than when I last checked 2 days ago
11:05:29 <Gregor> Hypersexualized animals are trying to sell me Orangina and I'm afraid D-8
11:07:03 <Vorpal> pikhq, oh they have two things, https://github.com/pathscale and https://github.com/path64
11:07:55 -!- dell_ has joined.
11:08:00 -!- dell_ has quit (Client Quit).
11:10:51 <Gregor> Vorpal: I think I was pretty clear *shrugs*
11:11:48 <Vorpal> Gregor, *googles Orangina*
11:19:07 <Vorpal> Gregor, I see. It would never be allowed in Sweden. There are strict laws about sexualised ads.
11:23:06 <Vorpal> Gregor, basically I think an ad for a sexual toy would be allowed to be sexualised, same for underwear ads, but not for something completely unrelated to sex.
11:23:17 <Vorpal> iirc that is how it goes basically
11:24:00 <Gregor> You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D
11:24:12 <Vorpal> Gregor, no I said there were "strict laws"
11:24:20 <Vorpal> Gregor, also I never seen dildo ads
11:24:28 <Vorpal> I just said they would be allowed likely
11:25:11 <Gregor> I'm just trolololin' here :P
11:26:06 <Vorpal> Gregor, I think the Orangina ads would be disallowed due to laws about sexist advertising for a start.
11:53:50 <CakeProphet> actually I think sex toy ads would have to be more covert than underwear ads.
11:54:40 <CakeProphet> well, maybe not. I think it would be similar to a phone sex line commercial. Where the purpose isn't explicitly mentioned.
12:07:02 <CakeProphet> thank you for allowing me to use your brains as regular expression computers.
12:12:50 -!- Vorpal has quit (Ping timeout: 240 seconds).
12:42:07 -!- CakeProphet has quit (Ping timeout: 252 seconds).
13:04:00 -!- Tritonio has quit (Quit: Leaving).
13:22:13 -!- foocraft has quit (Quit: So long, and thanks for all the fish!).
13:33:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:38:16 * Sgeo finds the original VX thread
13:39:35 -!- wareya_ has quit (Read error: Connection reset by peer).
13:40:30 -!- wareya has joined.
13:40:40 <Sgeo> http://www.reddit.com/r/AskReddit/comments/ewbee/my_vx_module_has_at_least_a_43_delta_guys_i_think/
13:50:13 <quintopia> that thread is where the concept was invented?
13:50:27 <Gregor> http://codu.org/tmp/ponder1-2011-06-20.ogg Thoughts?
13:51:09 <quintopia> my thoughts are that you never answer my question gregor
13:52:01 <Gregor> Of course I don't, I'm moving from city to city without persistent connection :P
13:52:48 <quintopia> well, i just want to know if you still have a functional other-half of a myvu crystal
13:53:15 <Gregor> Nope, the other half is not recoverable.
13:53:58 <quintopia> is that a necessary consequence of disassembling or just the way you did it
13:54:58 <Gregor> Mmm ... pretty necessary. There are two many components that plug into both, and had to be ripped in half :P
13:56:03 <Gregor> Besides, ultimately the control box (that converts the analog input into the necessary outputs) outputs to both, and I had to just cut the cable there.
13:56:19 <Gregor> You could probably desolder, but you'd still be short a control box.
13:56:20 <quintopia> so there's only one display signal that gets split to both projectors?
13:56:31 -!- Lymia has joined.
13:56:45 <Gregor> I'm quite sure that the physical device is capable of displaying two signals, but yes, the control box it ships with can only handle one.
13:57:33 <quintopia> what is the input to the control box? vga?
14:00:06 -!- copumpkin has joined.
14:00:06 -!- copumpkin has quit (Changing host).
14:00:06 -!- copumpkin has joined.
14:00:33 <quintopia> durn. that vga-video adapter i got doesn't actually work. fucker cost me like 25 bucks too.
14:00:49 -!- Lymia has quit (Client Quit).
14:04:03 <Gregor> If it costs less than $150, it won't work :P
14:08:47 <quintopia> everyone online said it worked fine once you figured out how to use it
14:09:01 <quintopia> it didn't take me much figuring, itws just defective
14:09:51 <quintopia> anyway just bid on a pair of crystals. current bid is $66
14:11:25 -!- BeholdMyGlory has joined.
14:52:17 -!- augur has quit (Remote host closed the connection).
14:52:33 -!- choochter has quit (Ping timeout: 255 seconds).
14:59:57 -!- dell_ has joined.
15:02:16 -!- Phantom_Hoover has joined.
15:03:01 -!- dell_ has quit (Client Quit).
15:07:29 -!- derrik has joined.
15:08:44 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:08:45 <Phantom_Hoover> I wonder if I could have any lambdabot messages today.
15:08:45 <lambdabot> Phantom_Hoover: You have 3 new messages. '/msg lambdabot @messages' to read them.
15:09:14 -!- derrik has left.
15:17:18 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
15:18:31 -!- Phantom_Hoover has joined.
15:35:45 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
15:37:21 -!- Phantom_Hoover has joined.
15:39:13 -!- copumpkin has quit (Ping timeout: 252 seconds).
15:40:28 -!- copumpkin has joined.
15:40:29 -!- copumpkin has quit (Changing host).
15:40:29 -!- copumpkin has joined.
15:47:19 <Sgeo> <3 hard-boiled eggs
15:53:09 -!- Vorpal has joined.
16:11:37 <Sgeo> That wasn't a perverted sense of the word "eggs". I'm not ripping out someone's ovaries
16:12:43 <Phantom_Hoover> Sgeo, you have pushed the number of .s to beyond anything expressible to the human mind.
16:12:59 <Phantom_Hoover> I suppose this is just more of your sick blood fetish.
16:13:15 <Phantom_Hoover> OH MY GOD NOW I KNOW WHY YOU ONLY SKIMMED MOST OF HIVEBENT
16:13:34 <Phantom_Hoover> I DON'T EVEN WANT TO THINK WHAT YOU'VE BEEN DOING LATELY
16:18:47 -!- oerjan has joined.
16:21:40 <oerjan> fizzie removed it during that spate when someone complained that the bots didn't prevent raw ctcp
16:21:50 <oerjan> and has not bothered to fix it
16:22:25 <quintopia> i'm slow to notice things i suppose
16:25:12 <Sgeo> What was the autoban channel?
16:26:21 <oerjan> well something that could be used to trigger a bug in a prehistoric client
16:26:42 <oerjan> DCC with too long line or something...
16:27:30 <oerjan> you didn't notice when Gregor temporarily removed his bots and then installed the zero-width space prefix?
16:28:01 <oerjan> well it was weeks, perhaps months ago.
16:28:27 <oerjan> !underload (<CTCP>ACTION no longer works<CTCP>)S
16:28:29 <EgoBot> .ACTION no longer works.
16:29:09 <oerjan> hm that seems like more than the prefix
16:29:44 <oerjan> !haskell putStr $ toEnum 1 : "ACTION hm..." ++ [toEnum 1]
16:33:56 -!- TOGoS has joined.
16:34:22 <oerjan> Sgeo: #verybadattitude or something
16:34:47 <Sgeo> ##verybadattitude
16:34:49 <Phantom_Hoover> oerjan, so wait, all the bots were fixed in case someone with an ancient client came along and someone else crashed them?
16:35:31 <oerjan> well something like that. and a freenode admin stayed lurking on the channel for weeks...
16:36:16 <Phantom_Hoover> So we lost fungot to prevent an exploit which is still manifestly possible?
16:36:50 <oerjan> what do you mean "still manifestly possible"?
16:37:03 <oerjan> (except in private to Gregor)
16:38:13 <oerjan> also all of this was discussed to death back then.
16:44:17 <Vorpal> what? is fungot not coming back?
16:44:49 <Vorpal> I just can't believe it
16:45:10 <Vorpal> for a start it would be a tiny change to make fungot insert such a space at the start
16:45:54 <oerjan> well we could just ban fizzie until he fixes it. oh wait...
16:45:57 -!- TOGoS has left.
16:46:19 <Vorpal> oerjan, anyway, why didn't we ignore that person who complained about it, it seems silly
16:52:55 <oerjan> Vorpal: "and a freenode admin stayed lurking on the channel for weeks..."
16:53:21 <oerjan> it wasn't our decision to make.
16:53:36 <oerjan> in fact i wasn't really involved at all...
16:54:12 <oerjan> hm, actually i made the mistake of telling fizzie about it
16:54:49 <oerjan> if i hadn't, nobody might have pointed out fungot had the same "problem"
16:55:45 <oerjan> but i didn't expect him to take fungot off and _never bloody fix it_
17:25:29 -!- pikhq_ has joined.
17:25:33 -!- pikhq has quit (Ping timeout: 252 seconds).
17:41:08 -!- pikhq_ has quit (Ping timeout: 244 seconds).
17:41:12 -!- pikhq has joined.
17:42:06 -!- augur has joined.
17:43:11 -!- augur has quit (Remote host closed the connection).
18:02:24 <Phantom_Hoover> http://rationalwikiwiki.org/wiki/Talk:I_thought_this_was_supposed_to_be_RATIONAL_wiki#Disagree
18:04:01 <Phantom_Hoover> Note that a) this person is reasonable and civil and b) they are a nutcase cultist promoter of their own religion who disbelieves in the scientific method.
18:04:36 -!- monqy has joined.
18:06:45 <Vorpal> <oerjan> chill with chilli <-- should be named "hoti" or something
18:07:28 <pikhq> Phantom_Hoover: If you disbelieve in the scientific method, you are probably not dealing in rationality.
18:07:48 <Phantom_Hoover> pikhq, I am considering that post purely in isolation.
18:07:53 <oerjan> Vorpal: fun fact: mexicans put chili in ice cream
18:08:12 <Phantom_Hoover> There is nothing wrong with it whatsoever, and it makes several valid points about RW.
18:08:40 <pikhq> Vorpal: It fucking works.
18:08:52 <Vorpal> pikhq, chilli in ice cream? Hm okay.
18:09:28 * pikhq sighs at *_unlocked
18:10:03 <pikhq> It's like the normal stdio operations, but they don't lock anything.
18:10:49 <pikhq> Yes, it is the single most utterly pointless set of functions ever.
18:11:24 -!- augur has joined.
18:11:36 <pikhq> It is either a hardly relevant microöptimisation, or fundamentally wrong, depending.
18:11:40 <pikhq> Phantom_Hoover: For multithreading.
18:11:59 <pikhq> Phantom_Hoover: You wouldn't want multiple threads to mutate the same FILE simultaneously.
18:12:26 <oerjan> !haskell Control.Concurrent.forkIO.putStr`mapM_`words"Always lock everything!"
18:13:10 <pikhq> oerjan: Of course, there's no guarantee that the IO will happen in any sane sequence.
18:13:20 <oerjan> !haskell import Control.Concurrent(forkIO);main=putStr`mapM_`words"Always lock everything!"
18:13:39 <pikhq> Just a guarantee that the IO action will not completely fuck up everything.
18:13:45 <oerjan> !haskell import Control.Concurrent(forkIO);main=forkIO.putStr`mapM_`words"Always lock everything!"
18:14:08 <pikhq> glibc has functions without this guarantee.
18:14:13 <lambdabot> The operator `L..' [infixr 9] of a section
18:14:38 <pikhq> Even though, if this is *somehow* a relevant optimisation, what you actually want is to ignore stdio anyways.
18:14:41 <olsner> oerjan: what are you trying to do? :)
18:15:09 <oerjan> !haskell import Control.Concurrent(forkIO);main=mapM_(forkIO.putStr)$words"Always lock everything!"
18:15:35 <oerjan> i suppose the main thread quit
18:16:15 <lambdabot> Control.Concurrent.QSem waitQSem :: QSem -> IO ()
18:16:15 <lambdabot> Control.Concurrent.QSemN waitQSemN :: QSemN -> Int -> IO ()
18:16:15 <lambdabot> System.IO hWaitForInput :: Handle -> Int -> IO Bool
18:17:16 <pikhq> Could wait on an mvar?
18:18:33 <oerjan> that sort of defeats the purpose of a quick one-liner :P
18:21:23 <lambdabot> Control.Concurrent forkIO :: IO () -> IO ThreadId
18:21:37 <oerjan> @hoogle ThreadId -> IO ()
18:21:38 <lambdabot> Control.Concurrent killThread :: ThreadId -> IO ()
18:21:38 <lambdabot> Control.OldException throwDynTo :: Typeable exception => ThreadId -> exception -> IO ()
18:21:38 <lambdabot> Control.Concurrent throwTo :: Exception e => ThreadId -> e -> IO ()
18:27:03 <nooga> FSKJPFS>FG>FX>XF>F>XF>F>F>X>FF>>X>XXX
18:28:17 <nooga> sorry, i was randomly hitting the keyboard
18:28:50 <olsner> not *that* randomly, that's only a handful of different letters
18:37:18 -!- Tritonio has joined.
18:45:06 <newsham> probably some top secret esoteric language function he isnt ready to discuss
18:57:32 -!- nooga has quit (Quit: Lost terminal).
18:58:53 -!- Vorpal has quit (Read error: Operation timed out).
18:59:33 -!- augur has quit (Remote host closed the connection).
19:06:52 -!- Vorpal has joined.
19:18:31 <oerjan> there is no eric. eric is an illusion.
19:21:45 -!- esot_eric has joined.
19:22:31 <esot_eric> I am also ... Lord High Commander of the Armada.
19:22:39 <pikhq> Looks like Gregor to me.
19:22:51 <oerjan> the esots are heretics! burn him!
19:22:56 <pikhq> (srsly, who else has a copy of RawIRC?)
19:23:11 <pikhq> ... Actually, I might.
19:23:57 <oerjan> Das stimmt überhaupt nicht!
19:25:26 <oerjan> ...i am starting to wonder if Phantom_Hoover has had a recent bout of amnesia :P
19:25:27 <esot_eric> Sorry, ich spreche kein Katalanisch.
19:25:56 <Phantom_Hoover> oerjan, my internet connection was gone for a day or two.
19:26:09 <pikhq> Phantom_Hoover: A very lightweight IRC client.
19:26:17 * olsner fails to think of something funny in german
19:26:20 <oerjan> Phantom_Hoover: these are not recent events.
19:26:31 <pikhq> It does syntax coloring and automatically responds to PINGs!
19:26:43 -!- esot_eric has quit (Quit: Power to ze Erics!).
19:29:47 <oerjan> olsner: well as the swedish girl said to her german boyfriend in bed: "Snälla du!". "Aber ich kann nicht schneller!"
19:31:00 <oerjan> Phantom_Hoover: well swedish snälla sounds pretty close to german schneller, obviously
19:31:39 <oerjan> one meaning kind, the other meaning faster
19:32:48 <oerjan> so, approximately "You're so kind!" "But I can't do it faster!"
19:33:36 * oerjan throws the dissected frog into the garbage
19:34:43 <olsner> hmm, more like "Please!", possibly implied "please [hold back]"
19:35:26 <olsner> but it's not really clear what "snälla du!" is supposed to mean
19:35:32 <oerjan> ah, bit of a false friend perhaps
19:35:57 <olsner> snäll does mean kind, but you wouldn't use it like that
19:36:48 <oerjan> obviously it's a norwegian joke
19:37:27 <olsner> oerjan: ... it's not the fart that kills, it's the smäll
19:38:17 <olsner> I've heard that's from the infamously-bad-at-english norwegian rally driver
19:38:43 <olsner> (fart = speed, smäll = bang)
19:40:17 -!- Tritonio has quit (Quit: Leaving).
19:40:19 <oerjan> heck, google suggests it with just "it's not the " as clue
19:41:14 <Phantom_Hoover> oerjan, consider that Google customises things like that whether you want it to or not.
19:42:10 * oerjan still misses the define: prefix
19:46:50 <olsner> I would still like to find the original version of that quote
19:49:15 <oerjan> "Denne setningen har eksistert i maaange år, og jeg vil nok tro at den også ble oppdiktet lenge før Solberg sin periode."
19:53:11 <oerjan> i seem to have similar trouble confirming a notorious "pigs in your decks" phrase
19:53:43 <oerjan> of course that one is _supposed_ to be decades old
19:55:53 <olsner> the pigs in the decks would be referring to spiked tires?
19:56:04 <olsner> in swedish that'd be dub decks
19:56:18 -!- sebbu2 has joined.
19:56:18 -!- sebbu2 has quit (Changing host).
19:56:18 -!- sebbu2 has joined.
19:59:00 -!- sebbu has quit (Disconnected by services).
19:59:03 -!- sebbu2 has changed nick to sebbu.
19:59:19 -!- CakeProphet has joined.
20:06:04 -!- pikhq_ has joined.
20:06:12 -!- pikhq has quit (Ping timeout: 250 seconds).
20:16:35 -!- zzo38 has joined.
20:20:21 <CakeProphet> okay so I have most of the basics for my regexp stuff
20:24:48 -!- pikhq has joined.
20:25:55 -!- pikhq_ has quit (Ping timeout: 260 seconds).
20:28:20 <CakeProphet> I was going to write it in Haskell. Is that good enough?
20:29:18 <Phantom_Hoover> But you can *extract* it to your stupid logically inconsistent language!
20:29:34 -!- azaq23 has joined.
20:30:37 <Phantom_Hoover> Because then if anyone comes up to you with a bug report you can say "it's logic's problem, not mine" and then ride away on a motorbike into the sunset.
20:33:00 <CakeProphet> as far as syntax, I was thinking about changing * and *? to *! and *, respectively.
20:34:30 <CakeProphet> because... well, mainly because I like that better. But also I believe the Kleene star is actually *?, so it makes sense to write it as * instead.
20:35:19 <oerjan> the kleene star is "actually" completely oblivious to the distinction between greedy and non-greedy matching
20:37:09 <oerjan> because that's not an issue when _defining_ a regular language
20:38:11 <CakeProphet> I've always seen it used as the minimum possible number of repetitions.
20:38:25 <CakeProphet> granted I haven't seen much of it in math classes.
20:43:52 <Phantom_Hoover> Wait, Simon Peyton-Jones said the next Haskell would be strict?
21:00:00 <Phantom_Hoover> As in, if they made it again knowing what they know now, it would be strict.
21:03:26 <Vorpal> Phantom_Hoover, what, really?
21:03:47 <Vorpal> [1..] and so on would no longer work
21:04:10 <Vorpal> well it could be special cased to work as a generator
21:04:13 <Phantom_Hoover> Has elliott's sleep schedule just slipped into full vampire/
21:04:15 <Vorpal> but that seems awkward
21:24:36 <Phantom_Hoover> Guys, I need you to name something really, really gay.
21:29:37 <Sgeo> Hmm? Like Sebastian, as in Sin with Sebastian?
21:30:20 <Sgeo> Or um, what's his name?
21:30:55 <Sgeo> Also, I do want an explanation
21:33:14 -!- adamfyre has joined.
21:36:05 <Vorpal> Phantom_Hoover, what about "gay-o-matic"?
21:36:17 <Vorpal> <Phantom_Hoover> Guys, I need you to name something really, really gay.
21:36:43 <Vorpal> Phantom_Hoover, oh something really gay that already exists?
21:36:57 <Vorpal> or do you need a new name?
21:37:07 <Phantom_Hoover> Vorpal, for the purposes of humourous comparison, yes.
21:37:28 <Vorpal> Phantom_Hoover, which sense of the word gay do you need
21:37:44 <Vorpal> Phantom_Hoover, the old sense or the homosexual sense
21:37:49 <Vorpal> Phantom_Hoover, if the latter: Batman
21:38:01 <Sgeo> Phantom_Hoover, listen to Samwell
21:38:05 <Phantom_Hoover> Vorpal, it is done. You are too late also that is not the old sense of the word gay how is that
21:38:09 <Sgeo> Samwell's more famous song
21:38:24 <Vorpal> Phantom_Hoover, the old sense would be "happy"
21:38:55 * oerjan learns that Phantom_Hoover does not understand the word "latter"
21:39:45 <oerjan> now a _sensitive_ prick, that would be gay
21:39:46 <Vorpal> oerjan, oh that explains the confusion
21:40:04 <Vorpal> well Phantom_Hoover not knowing "latter" that is
21:41:42 <oerjan> perhaps Phantom_Hoover doesn't have amnesia. perhaps he's just a very confused time traveler.
21:43:00 <Sgeo> "This Downloader uses Pando Media Booster to download Global Agenda Free Agent. When you use this Downloader, you install Pando Media Booster and participate in a secure, closed peer-to-peer network where you receive pieces of the download package from a Content Delivery Network (CDN) as well as other active users (peers). In addition you send pieces of the download package installer to other peers participating in the secure peer-to-peer net
21:43:00 <Sgeo> work. No other files can be shared on your computer via Pando Media Booster and your computer is never used as a relay nor for transient storage of content you did not wish to download. More information about Pando Media Booster and how to manage it can be found at http://pandonetworks.com/pmb-faq"
21:43:08 <Sgeo> So basically, bittorrent
21:43:31 <Sgeo> Wait, this is the .... installer for the bittorrent client...
21:45:38 <Vorpal> Sgeo, googling suggest it is almost but not quite the same... -_-
21:50:32 -!- Phantom_Hoover has quit (*.net *.split).
21:50:33 -!- lambdabot has quit (*.net *.split).
21:54:58 -!- adamfyre has quit (Quit: AndroidIrc Disconnecting).
21:55:33 <Sgeo> Hmm, what's the difference? (My browser's acting up)
21:56:03 <Vorpal> Sgeo, fix your browser
21:56:19 <Vorpal> anyway normal bittorrent client apparently doesn't quite work
21:57:53 -!- Phantom_Hoover has joined.
22:07:20 -!- Sgeo_ has joined.
22:07:56 -!- Phantom_Hoover has left ("Leaving").
22:07:58 -!- Phantom_Hoover has quit (Quit: Leaving).
22:09:42 -!- Sgeo has quit (Ping timeout: 250 seconds).
22:12:22 -!- Sgeo has joined.
22:14:03 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
22:20:29 -!- lambdabot has joined.
22:21:49 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:26:45 -!- oerjan has quit (Quit: Good night).
22:27:22 -!- Sgeo_ has joined.
22:29:09 -!- Sgeo has quit (Ping timeout: 252 seconds).
22:51:17 -!- Slereah_ has quit.
22:55:09 -!- elliott has joined.
23:07:51 <elliott> there's no more homes to be stuck in now.
23:07:51 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
23:07:55 <elliott> you've deprived an orphan.
23:19:47 <newsham> copumpkin: havent been ircing as much lately..
23:19:52 <newsham> dont worry, i'm slowly sliding back into it
23:19:59 <copumpkin> newsham: I see you're involved in bitcoin, too
23:20:10 <newsham> not too much.. goofed with it a little
23:20:22 <newsham> invested $100, cashed out $600 recently, have lots more left.
23:20:32 <copumpkin> roconnor made a pretty good implementation in pure haskell
23:20:46 <newsham> neat! i bet it has less vulns than the official one! ;-)
23:21:02 <copumpkin> soon we'll hear about "omg someone haxed my client and stoled my coinz"
23:22:14 <elliott> if only I was a time traveller, I'd be rich off bitcoins
23:27:45 <pikhq> Eh, if you're going to be a time traveller, use the stock market. Better possible returns.
23:27:57 <pikhq> (get in on Google's IPO)
00:00:28 -!- FireFly has quit (Quit: swatted to death).
00:12:36 -!- Sgeo has joined.
00:14:30 -!- Sgeo_ has quit (Ping timeout: 250 seconds).
00:17:39 -!- Sgeo_ has joined.
00:19:16 -!- Sgeo has quit (Ping timeout: 250 seconds).
00:27:30 -!- Sgeo has joined.
00:29:12 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
00:32:13 -!- Lymia has joined.
00:34:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:15:16 -!- Vorpal has quit (Ping timeout: 252 seconds).
01:26:17 -!- pikhq_ has joined.
01:26:20 -!- pikhq has quit (Ping timeout: 260 seconds).
01:39:00 -!- pikhq has joined.
01:41:45 -!- pikhq_ has quit (Ping timeout: 276 seconds).
02:02:59 -!- Wamanuz2 has joined.
02:04:56 -!- augur has joined.
02:09:04 -!- elliott has quit (*.net *.split).
02:09:04 -!- Wamanuz has quit (*.net *.split).
02:09:05 -!- variable has quit (*.net *.split).
02:09:31 <pikhq> So, apparently Intel thinks it can have exaflop computing by 2020.
02:10:02 <pikhq> It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation.
02:11:35 <Sgeo> So from there we'd just need to scan in a brain?
02:12:01 <Sgeo> If I die around then, I volunteer
02:12:25 <Lymia> You don't get to be an AI brain with free internet access direct to brain.
02:13:07 <pikhq> Sgeo: Actually, there's a decent chance we will have done so by then.
02:14:26 <Sgeo> Lymia, well, better than being dead. I suspect that if they're just starting brain scans then, it's only going to be one or two people.
02:15:29 <Lymia> Think the US would move to pass laws to make AIs legal persons?
02:15:49 <pikhq> Lymia: I suspect the law would be moot not long after.
02:16:08 <pikhq> This would be an intelligence with the ability to improve itself.
02:16:35 <Sgeo> pikhq, a scanned in brain?
02:16:35 <Lymia> pikhq, hey, if you build it from a dead human, it /might/ avoid killing off the human race.
02:17:03 <pikhq> Lymia: Nonono, I mean "intelligence with the ability to improve itself" → singularity
02:17:14 <Sgeo> I guess a scanned-in brain might have ... actually, it would probably be slower than a human
02:17:36 <pikhq> Sgeo: And be modifiable with ease.
02:17:38 <Lymia> Sgeo, but it would get faster with faster computers.
02:17:51 <pikhq> Or with faster simulation.
02:17:57 <Sgeo> pikhq, if we know how to scan brains in but not how to modify them...
02:18:25 <pikhq> Sgeo: If we have a brain simulation in digital form, *it is data*.
02:18:29 <pikhq> Hence, we can modify it.
02:18:40 <Lymia> pikhq, but are likely to screw up...
02:18:46 <Sgeo> pikhq, doesn't mean we know the correct way to modify it.
02:18:54 <pikhq> Sgeo: No, but we can learn.
02:19:06 <Sgeo> It's like looking at a C program and trying to modify it without knowing the slightest thing about programming.
02:19:11 <Sgeo> Better yet, looking at machine code.
02:19:25 <pikhq> Yes, but the point is, *we would be capable of experimenting*.
02:19:34 <Lymia> I'd rather be the first strong AI than the first scanned brain.
02:19:35 <pikhq> Which we can't realistically do right now.
02:19:45 <Sgeo> pikhq, hmm, true.
02:19:52 <Sgeo> But what are the ethics of experimentation?
02:20:03 <Sgeo> Mightn't it be cruel to the simulated person?
02:20:39 <zzo38> Perhaps it is better not to avoid killing off the human race (eventually)
02:21:14 <zzo38> Best way is invent the programming language doing these kind of things you are trying to do.
02:21:16 <pikhq> I'm actually presuming the first experimentation would be to try and perfect a high-level neuron or neocortical column simulation... And be able to compare functionality given real data.
02:21:45 <Sgeo> pikhq, for faster simulation speeds?
02:21:47 <pikhq> Suddenly, order of magnitude or more on the brain's performance.
02:23:41 <pikhq> And this brain could improve itself with the suddenly freed up computer time. Perhaps by doubling the size of its neocortex.
02:24:12 <zzo38> You are going to run out of energy!!!!!
02:24:29 <Sgeo> pikhq, all the more reason it should be MY brain >:D
02:24:38 <Sgeo> You don't trust me as God?
02:24:42 <zzo38> Sgeo: *You* are going to run out of energy!!!!!
02:25:04 <pikhq> zzo38: Come now, all I've suggested so far is something that could reasonably happen in, oh, 15 years.
02:25:33 <pikhq> No need for absurdly large quantities of energy, just a much faster computer than exists now.
02:25:53 <pikhq> One which companies are claiming they can have in 10 years.
02:25:57 <Sgeo> I should transfer to neuroscience
02:26:01 <Sgeo> So I'm somewhat prepared
02:26:45 <Sgeo> If the singularity is based off a human, that human will have cognitive biases :/
02:26:59 <Sgeo> Although if the human can tear those biases out, that would be awesome
02:27:01 <pikhq> Could happen sooner if Blue Brain's neocortical column simulation is actually good, and they succeed in getting the neocortex mapped.
02:27:29 <monqy> do babies have good brains
02:27:58 <zzo38> Sgeo: See? Now everything will be biased. Make unhumans and then it will still be biased but all will be equally small bias instead of being too much bias for you by being too world-centered.
02:28:18 <Sgeo> A baby who wants its mommy and is capable of destroying the world to find her.. may not be such a great idea...
02:28:34 <zzo38> You cannot avoid being biased but you can try to improve anyways
02:30:43 <Lymia> Sgeo, an AI that can rewrite itself would be...
02:30:57 <Lymia> Well, if it works....
02:31:07 <zzo38> Well, it is experiment I suppose you can try
02:31:15 -!- pikhq has quit (Quit: Reconnecting).
02:31:31 <Sgeo> zzo38, yes, let's try destroying the world..
02:31:53 <Sgeo> What's the worst that can happen that's outside expected results?
02:32:07 <zzo38> Sgeo: The worst that can happen depends on a lot of things.
02:32:25 <zzo38> If you just write a computer program then the worst that can happen is to get the incorrect answer output.
02:32:36 <zzo38> (Or a useless answer, even if correct)
02:32:54 <zzo38> And you might waste energy if you try too hard.
02:32:58 <zzo38> So don't try too hard.
02:33:07 <monqy> if you hook it up to a gun and stand in front of the gun
02:33:37 <Lymia> Sgeo, the world not being destroyed?
02:34:03 <zzo38> monqy: Then you have to put it in a box to make the Schrodinger's Cat experiment, but with a person who enters the box to be suicide instead of a cat.
02:34:50 <monqy> someone should try quantum suicide sometime
02:35:06 <zzo38> And then if someone exits, the experiment failed. If someone doesn't exit, the experiment also failed. If you see no people, but monsters, you almost succeeded. If you see a computer printout, then you have succeeded for sure.
02:35:35 <zzo38> monqy: I have thought about that very long time ago even and my answer to that is the same as it was before: There is no way to get results from such an experiment.
02:36:04 <monqy> what if the subject is a (terminally ill or suicidal) cat
02:36:06 -!- pikhq has joined.
02:36:14 <Sgeo> zzo38, the person who entered would see the result...
02:36:38 <Lymia> Sgeo, here's a question.
02:36:51 <zzo38> Do the mathematics and figure it out.
02:37:17 <Lymia> If in the world you live in, a piece of $HIGHLY_RADIOACTIVE_MATERIAL has failed to decay for 10 hours due to a quantum suicide experiment, what do you conclude?
02:38:19 <Sgeo> Lymia, good point, but what if there's no person inside, and I see the same thing?
02:38:37 <zzo38> Lymia: Good question. I think the only thing to conclude is that if you were dead that you could not conclude, therefore do the mathematics the same thing and probability and so on, you should get the same answer regardless.
02:39:23 <Sgeo> I think if I was terminally ill, and not going to interfere with cryonics, then I'd want to try the quantum suicide experiment
02:40:04 <zzo38> Sgeo: Try if you want to. It is not my fault whether you do so or not.
02:40:18 <Sgeo> If cryonics is wrong, and MWI is true, then I'd wake up in the living world
02:40:29 <Sgeo> And would know that cryonics fails, and be sad
02:40:39 <Sgeo> Many-worlds interpretation
02:41:23 <Sgeo> I'd also want to make sure it completely kills me without destroying my brain
02:41:29 <Sgeo> I have no idea how to accomplish this.
02:41:40 <zzo38> I think many-worlds interpretation is just one way of seeing it. There are also other ways to see it. Only the mathematics is true not any of interpretations.
02:42:21 <Lymia> zzo38, you can never prove the many-worlds interpretation.
02:42:22 <monqy> quantum guillotine
02:42:30 <Lymia> You can be very very very sure that it exists form a subjective viewpoint.
02:42:43 <zzo38> However the interpretations can still work but results in nothing of experiment so it is more philosophical.
02:43:19 <zzo38> Lymia: I know that you cannot prove it. It is my point! That doesn't make it untrue, but that doesn't make it true either.
02:43:45 <Sgeo> If Robin Hanson's right about small probability worlds disintegrating, then MWI could be true yet quantum suicide be a failure
02:43:50 <Sgeo> Unless I'm misunderstanding him
02:45:50 <zzo38> Then it would be a different kind of MWI. However I think speaking of those kinds of things isn't really very meaningful. Disintegrating? No, simply it is "less existence" relative to high probability ones. It is a new kind of relativity, rather than spacetime, is relative by point of quantum observer.
02:47:21 <Lymia> Here's a question.
02:47:38 <Lymia> Assuming MWI, why do events exist with probabilities that are not 1/x, where x is an integer.
02:48:09 <zzo38> Lymia: Because some possible universes agree in many things with others.
02:48:16 <Sgeo> I think in MWI worlds are a bit more fluid than "1 world or 2 worlds"
02:48:20 <zzo38> Also, because you did not understand MWI.
02:48:39 <zzo38> MWI is not really multiple worlds. It is like all uncountable possibilities.
02:49:32 <zzo38> Learn the mathematics dealing with quantum physics and quantum cosmology and then see how it is the case.
02:53:13 -!- rabc has joined.
02:53:43 -!- rabc has left ("Leaving").
02:53:47 <zzo38> Therefore the probability does not even have to be rational.
02:57:38 <Sgeo> But it is a question why the probabity is squared instead of absolute value, isn't it?
02:58:14 <zzo38> The name "many worlds interpretation" is somewhat misleading, I think.
02:58:52 <zzo38> It is not a LITERAL "many worlds" it is a bit different.
03:12:18 -!- CakeProphet has quit (Ping timeout: 276 seconds).
03:14:00 -!- CakeProphet has joined.
03:14:01 -!- CakeProphet has quit (Changing host).
03:14:01 -!- CakeProphet has joined.
03:18:52 -!- copumpkin has joined.
03:18:52 -!- copumpkin has quit (Changing host).
03:18:52 -!- copumpkin has joined.
03:30:37 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:34:05 -!- azaq231 has joined.
03:35:42 -!- azaq23 has quit (Ping timeout: 264 seconds).
03:48:51 -!- elliott has joined.
03:56:30 <elliott> 02:09:31: <pikhq> So, apparently Intel thinks it can have exaflop computing by 2020.
03:56:30 <elliott> 02:10:02: <pikhq> It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation.
03:56:30 <elliott> 02:11:35: <Sgeo> So from there we'd just need to scan in a brain?
03:56:30 <elliott> 02:12:01: <Sgeo> If I die around then, I volunteer
03:56:33 <elliott> Sgeo: I'll arrange your death.
03:57:08 <elliott> 02:19:25: <pikhq> Yes, but the point is, *we would be capable of experimenting*.
03:57:16 <elliott> pikhq: yes modifying sentient, intelligent brains at random and simulating the results
03:57:22 <elliott> that sounds productive and also extremely ethical
03:57:37 <elliott> we'd pick it up in no time, just after the first thousand or so horrific traumas
03:57:38 <pikhq> elliott: Modifying small portions thereof.
03:57:53 <elliott> i don't imagine the brain is organised in such a way to make modification of it easy
03:58:06 <elliott> it's ridiculous to expect it to be modular at the small scale like a designed computer program is
03:58:18 <elliott> 02:19:52: <Sgeo> But what are the ethics of experimentation?
03:58:18 <elliott> 02:20:03: <Sgeo> Mightn't it be cruel to the simulated person?
03:58:20 <pikhq> Why the hell would we randomly change parts and test the whole brain at once? Seems like a pointless waste of computer power.
03:58:29 <pikhq> Not to mention ethical issues.
03:58:40 <elliott> pikhq: btw a hard takeoff with a modified human brain sounds insane to me
03:58:48 <elliott> We're as far from rational as you can get :)
03:59:03 <elliott> also, how do you propose simulating only part of a brain
03:59:21 -!- kjafshlkjh23 has joined.
03:59:32 <elliott> 02:26:59: <Sgeo> Although if the human can tear those biases out, that would be awesome
03:59:32 <elliott> yeah you just have to find the bias lobe and pull it out.
03:59:37 <elliott> then we become perfect bayesian rationalists.
04:00:05 <pikhq> elliott: Actually, y'know what? That whole line of thought was stupid.
04:00:16 <elliott> yes i'm feeling sorry for your past selves reading this log :(
04:00:25 <Sgeo> NO NO NO YOU STUPID VIDEO GRAVITY IS NOT A RUBBER SHEET
04:00:36 <elliott> 02:36:04: <monqy> what if the subject is a (terminally ill or suicidal) cat
04:00:45 <elliott> 02:36:23: <Sgeo> suicidal cat?
04:00:45 <elliott> 02:36:28: <monqy> suicidal cat.
04:01:04 <elliott> 02:38:37: <zzo38> Lymia: Good question. I think the only thing to conclude is that if you were dead that you could not conclude, therefore do the mathematics the same thing and probability and so on, you should get the same answer regardless.
04:01:05 <elliott> good question, not necessarily good answer
04:01:18 <pikhq> No real reason we would want to do a whole-brain emulation from raw physics simulation. Though we probably *could* in 10 years, that wouldn't actually help us that much in and of itself.
04:01:25 <elliott> 02:40:18: <Sgeo> If cryonics is wrong, and MWI is true, then I'd wake up in the living world
04:01:25 <elliott> MWI doesn't imply quantum immortality, dude
04:01:40 <elliott> also "if cryonics is wrong" what is the relevance of cryonics here
04:01:44 <elliott> well that makes no sense at all
04:01:53 <elliott> quantum immortality is a bad deal even if it's true
04:02:02 <pikhq> What we'd want is a better understanding of how the brain works, and WBE doesn't help that too much.
04:02:13 <elliott> how do you think your human body will handle being seven thousand years old, Sgeo?
04:02:16 <Sgeo> elliott, not if the choice is "completely dead" vs "completely alive and fine" which the experiment ould be
04:02:28 <elliott> Sgeo: that's not quantum immortality
04:02:34 <elliott> quantum immortality is just equating observers with sentiences
04:02:46 <pikhq> Well. If a more high-level simulation could be done, it might be helpful.
04:03:10 <elliott> 02:41:23: <Sgeo> I'd also want to make sure it completely kills me without destroying my brain
04:03:10 <elliott> 02:41:29: <Sgeo> I have no idea how to accomplish this.
04:03:10 <elliott> that's sort of a contradiction
04:03:15 <elliott> ugh im just going to ignore sgeos lines
04:03:18 <elliott> 02:42:22: <monqy> quantum guillotine
04:03:18 <pikhq> Say, if the brain actually has *some* level of higher structure, such that improvement of a digital simulation would be apparent.
04:03:45 <pikhq> Some level of simulable higher structure, I should specify.
04:03:50 <Sgeo> elliott, I just wanted cryonics to still be an option
04:04:13 <pikhq> (perhaps if clusters of neocortical columns could be considered to be black boxes?)
04:04:23 <Sgeo> So either I'd learn quantum suicide's result of MWI being true, or cryonics works, or I'm dead.
04:05:05 <elliott> Sgeo: I can't think of a situation where quantum suicide wouldn't immediately lead to a degenerate situation
04:05:20 <elliott> i.e., yes, still sentient, but beyond that...
04:05:41 <pikhq> Well. One obvious thing we could find out from successfully doing whole-brain emulation. Strong AI is computable.
04:06:16 <Sgeo> Well, forgetting the cryonics stuff, throw an equivalent amount of antimatter in at 99/100 probability, leave alone 1/100
04:06:20 <pikhq> (not that that is *too* controversial; it seems pretty unlikely that there's an oracle sitting in there. :P)
04:06:40 <Sgeo> I think 1/100 is higher than surviving antimatter in a degenerate way
04:07:22 <elliott> 07:07:26: <zzo38> Do you know if there is a way to switch Linux out of UTF-8 mode?
04:08:07 <elliott> `addquote <Gregor> You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D
04:08:10 <HackEgo> 459) <Gregor> You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D
04:08:26 <Sgeo> This video called "How gravity really works" better not betray me
04:08:54 <elliott> Sgeo: you could, you know, try and learn the mathematics behind it if you want to know how it _really_ works, rather than learning a metaphor which will never be the actual workings of gravity.
04:09:12 <monqy> how everything really works
04:10:10 <elliott> 15:47:19: <Sgeo> <3 hard-boiled eggs
04:10:10 <elliott> 16:09:29: <Phantom_Hoover> ...
04:10:10 <elliott> 16:11:37: <Sgeo> That wasn't a perverted sense of the word "eggs". I'm not ripping out someone's ovaries
04:10:23 <pikhq> elliott: That wouldn't let him know how it _really_ works; that is presently an open question. He could, however, learn our best understanding of it thus far. :P
04:10:35 <pikhq> Sgeo: How much physics would you say you know?
04:10:36 -!- bacaw has joined.
04:10:37 <elliott> pikhq: well for that he'd have to learn intelligent falling
04:10:40 <elliott> sgeo knows lots of metaphors
04:10:45 <monqy> he could be indoctrinated into a gravity-cult
04:10:45 <elliott> or at least wants to know lots of metaphors
04:10:58 <monqy> or whatever the word is
04:11:02 <elliott> i don't know if he's expressed any interest in any sort of actual actually-mathematical-you-know physics
04:11:30 <monqy> who needs actually mathematical you know physics when you know how it really works
04:11:37 <pikhq> elliott: So, the physics-that's-actually-difficult. :P
04:11:49 <elliott> maybe Sgeo could get a phd in pop science
04:12:21 <elliott> 16:46:19: <Vorpal> oerjan, anyway, why didn't we ignore that person who complained about it, it seems silly
04:12:29 <elliott> hard to ignore a moron who likes whining to staff.
04:12:46 <pikhq> (I'm not a physicist, but I've taken a year of it in college. Which is at least enough to get to the point that you can be not-completely-ignorant.)
04:13:18 <pikhq> Oh, right, Sgeo's got a horrendously unrigorous collegiate experience.
04:13:38 <Sgeo> I liked reading books when I was a kid, and looking stuff up online now
04:13:48 <monqy> rigour rigour rigour
04:14:13 <elliott> Sgeo: by books you mean pop science books right
04:14:27 <elliott> Einstein's Very Own "Relativity -- Now With More Mathematics!"
04:14:30 <Sgeo> I once vaguely, not in detail, understood that mass in a nucleus is .. it gets smaller as you go towards iron or something?
04:14:35 <elliott> by Albert "Genius" Einstein
04:14:58 <Sgeo> elliott, Einstein did write what one might call a pop science book.
04:15:17 <elliott> is it as good as calculus the easy way
04:15:29 <monqy> as if it ever wasn't
04:15:29 <Sgeo> pikhq, ok, what did I get wrong?
04:15:57 <pikhq> Sgeo: As you go up the periodic table of elements, the mass in the nucleus generally goes up.
04:16:09 <Sgeo> pikhq, oh, I misphrased that
04:16:18 <Sgeo> As in.. the amount of mass in a nucleon
04:16:25 <Sgeo> Or.. something...
04:16:31 <Sgeo> Iron is special in some way, at least
04:16:58 <pikhq> Sgeo: As each number you go up, the proton count goes up by one, and the neutron count is likely to go up by some amount (it's not as clean as "goes up by one", for complex reasons).
04:17:26 <elliott> 21:03:26: <Vorpal> Phantom_Hoover, what, really?
04:17:26 <elliott> 21:03:47: <Vorpal> [1..] and so on would no longer work
04:17:36 <pikhq> You're just about linearly increasing the mass whilst stepping through.
04:17:37 <Sgeo> pikhq, yes, but the mass of 52 protons+neutrons in a nucleus != mass of 52 individual protons + neutrons alone
04:17:42 <elliott> yeah, what use is a language if it can't evaluate [1..] in the standard product list type???
04:17:46 <elliott> YOU'D HAVE TO DEFINE STREAMS EVEN
04:17:55 <elliott> 21:24:36: <Phantom_Hoover> Guys, I need you to name something really, really gay.
04:17:55 <elliott> 21:24:42: <Phantom_Hoover> No time to explain. Just do it.
04:18:08 <Lymia> elliott, Phantom_Hoover
04:18:17 <elliott> Lymia: yes hes a gay vampire
04:18:31 <elliott> 21:37:28: <Vorpal> Phantom_Hoover, which sense of the word gay do you need
04:18:31 <elliott> 21:37:44: <Vorpal> Phantom_Hoover, the old sense or the homosexual sense
04:18:31 <elliott> 21:37:49: <Vorpal> Phantom_Hoover, if the latter: Batman
04:18:35 * Sgeo does a bit of googling
04:18:54 * Lymia notes Sgeo down as "wtf"
04:19:14 <elliott> Lymia: it took you this long?
04:19:29 <monqy> I have sgeo down as "sgeo"
04:19:36 <elliott> monqy: pretty much this exactly
04:19:54 <Sgeo> pikhq, what are some single-isotope elementss?
04:20:30 <pikhq> Aside from perverse edge-cases where we've only observed a handful of atoms?
04:21:03 <Sgeo> http://en.wikipedia.org/wiki/Mononuclidic_element still loading
04:21:37 -!- kjafshlkjh23 has quit (Quit: asdf).
04:21:54 * Sgeo looks at the table, and notes that the isotopic masses aren't integers.
04:22:14 <pikhq> *That's including electrons you dolt*.
04:22:32 <elliott> pikhq: why are you hurting yourself like this
04:22:59 <pikhq> ... Wait, there's ones with masses less than the sum of proton and neutron. Guess there's something I don't grok happening.
04:24:46 <Sgeo> pikhq, where does the energy from fusion come from?
04:26:10 <pikhq> Ah, 1 proton-mass is slightly less than 1 u is slightly less than 1 neutron-mass.
04:27:11 <pikhq> So of course the sum of proton-mass units and neutron-mass units is not going to be an integer expressed in u.
04:27:30 <pikhq> But merely be an approximation thereof.
04:30:16 <pikhq> Sgeo: The energy from fusion comes from the binding energy needed to bind two individual nuclei being greater than the energy needed to bind their constituents into a single nucleus.
04:30:55 <pikhq> And before you ask, the energy from *fission* comes from a mass-to-energy conversion during the fission process.
04:32:41 <Sgeo> What is the mass of He4, and what is the mass of C12?
04:33:05 <Sgeo> n/m the hold on
04:33:07 <pikhq> C12 is precisely 12u, by definition. :P
04:33:37 <pikhq> (1u is defined as 1/12 the mass of C12)
04:33:47 <Sgeo> By your proton < u < neutron, it makes sense that protons and neutrons balance out, right?
04:33:58 <Sgeo> Oh, wait, electrons
04:34:14 <pikhq> Sgeo: If there were equal quantities of each. There aren't usually.
04:34:28 <Sgeo> There are equal quantities of each in C12 and in He4
04:35:58 <Sgeo> If the explanation for He4 mass > 4 had to do with electrons influencing the value of u, then you'd expect um... you'd still expect He4 to have an integer mass, I think.
04:38:14 <Sgeo> Yeah, because if you assuming what I think you're still assuming, then 12u = 6p+6n+6e, so /3 -> 4u = 2p + 2n + 2e
04:38:26 <pikhq> The mass of He-4 is, BTW, 4.002602u. The mass of 1 electron being... 1,822.8884845^-1 u. *Okay*, then something I don't grok is definitely happening!
04:40:01 <Sgeo> Let's see if I can find what I'm looking for on Wikipedia
04:41:53 <Sgeo> Found it, not on Wikipedia
04:42:13 <Sgeo> http://www2.slac.stanford.edu/vvc/faqs/faq1.html
04:42:38 <Sgeo> ". Each nucleus has a mass which is a little less than the sum of the masses of the protons and neutrons that it contains."
04:43:15 <Sgeo> I think I read the right pop sci books...
04:43:51 <pikhq> I think you should take actual science courses, personally.
04:44:20 <pikhq> That you are less wrong than I on this issue is irrelevant. :P
04:46:52 <pikhq> Also, the only pop science book I've really read is Hawking's "The Universe in a Nutshell". Which doesn't even touch on the physics of atoms.
04:47:23 <Sgeo> I think where I learned this from was some Isaac Asimov book
04:47:47 <Sgeo> Isaac Asimov was pretty much my primary pop sci author as a kid
04:48:05 <pikhq> I can't say I blame you. Asimov is awesome.
04:48:30 <Sgeo> Um, except for some book on quantum physics that had pretty colors.
04:49:11 <pikhq> Which probably didn't do the subject justice, even from a pop sci perspective.
04:53:32 <Sgeo> (No, not really)
04:55:32 <elliott> pikhq: What's the standard penalty for an online music store charging more for lossless?
04:56:09 <elliott> (OK, {standard reward for actually OFFERING lossless + standard penalty for charging more for lossless} is obviously still a large positive number because of how rare that is, but still.)
04:58:21 <Sgeo> Am I still in the wtf column?
04:58:45 <elliott> Lymia: i think you better take him out or youll hurt his feelings
05:20:52 -!- Lymia has quit (Read error: Connection reset by peer).
05:21:50 -!- zzo38 has quit (Quit: *** OH MY GOD YOU'VE GONE BLIND ***).
05:22:25 <pikhq> elliott: BitTorrent.
05:25:59 <pikhq> Okay, fine, fine. 1st level of hell.
05:29:27 -!- aloril has quit (Ping timeout: 250 seconds).
05:30:29 <elliott> don't you think that's rather unfair
05:33:13 -!- IronEagle has joined.
05:33:57 -!- Nuck has joined.
05:34:21 -!- Nuck has left.
05:35:57 <IronEagle> so, who here programs in brainfuck
05:36:14 <pikhq> Most of us have, I think.
05:37:20 -!- Lymia has joined.
05:40:14 <elliott> IronEagle: what's brainfuck??
05:41:09 <elliott> hahaha oh wow "Esoteric programming languages were designed to test of the boundaries of computer programming language design, but now they are more commonly used for educational purposes."
05:41:10 <elliott> http://itunes.apple.com/gb/app/esolang/id442156004?mt=8
05:41:13 <elliott> monqy rate the zeptoness of this
05:41:32 <monqy> brainfuck, _the_ esoteric language
05:42:00 <elliott> i wonder who was last educated with an esolang
05:42:15 <elliott> http://www.davenicholas.me.uk/blog/view_post/31/esolang-esoteric-programming-for-iphone oh this is going to be embarrassing to read
05:42:21 <elliott> "esolang is free and always will be"
05:42:26 <elliott> why, i'd totally pay for a bf interp on my phone
05:42:43 <elliott> monqy: I have limited the app to 256 memory locations and a max byte size of 256 to keep the foot print down. I may choose to increase this size in the future.
05:42:52 <elliott> hmm, wonder IronEagle isn't this guy, he might get offended :<
05:43:16 <monqy> so is esolang just a brainfuck interpreter or what
05:43:24 -!- aloril has joined.
05:43:25 <elliott> "How to c++ mysql mac osx" this guy is a good blog
05:43:32 <elliott> i've always wanted to know how to c++ mysql mac osx
05:44:05 <monqy> Augmented Reality on Android
05:44:55 <monqy> is augmented reality comparable to virtual worlds
05:44:57 <monqy> in terms of amazing
05:45:43 <Sgeo> monqy, more useful maybe, more fun, no.
05:45:48 <elliott> us making fun of yet another brainfuck impl that's on the apple store :P
05:45:49 <Sgeo> if I understand what you mean
05:46:06 <elliott> monqy: im really tempted to make the implementations section of the brainfuck esolang wiki page hidden by default since it's so polluted, discuss
05:46:54 <IronEagle> elliott: hey, I regularly explore that area.
05:47:12 <monqy> checking pollution now wow that's a lot
05:47:13 <elliott> its just a bunch of people writing their very first bf interpreter in five minutes then putting a link up
05:47:28 <elliott> maybe we need a separate implementations article considering how huge it is
05:47:29 <IronEagle> elliott: any excuse to say the word fuck
05:47:37 <monqy> everything brainfuck-related ever is just a mess
05:47:44 <elliott> oh maybe i should read out the implementations section
05:47:47 <elliott> like as an avant garde thing
05:47:51 <elliott> should i do that, or sleep
05:48:38 <monqy> "Brainfuck Culture" page containing derivatives, implementations, discussion, fandom
05:48:40 <pikhq> There's very few implementations of Brainfuck deserving of mention.
05:48:43 <monqy> or category who cares
05:48:57 <elliott> monqy: #REDIRECT [[Category:Shameful]]
05:49:09 <pikhq> You could probably just omit all the non-optimising ones and cut that list to 1/4th the size.
05:49:18 <elliott> ok im going to do this im going to read out the implementations section of the brainfuck article
05:49:24 <elliott> can you all handle my squeaky voice for this
05:49:28 <monqy> self-interpreters are pretty nifty
05:49:33 <Sgeo> pikhq, is things like considering +++++ together optimizing
05:49:38 <elliott> how do you pronounce Müller
05:49:46 <Sgeo> In that case, my crappy thing written in Haskell that no longer exists counts.
05:50:07 <pikhq> Sgeo: If we don't count RLE, then we'd make that list be like 10 long.
05:50:12 <elliott> http://esolangs.org/wiki/Brainfuck#Implementations
05:50:53 <Sgeo> Wasn't referring to BF-RLE
05:50:54 -!- elliott has quit (Read error: Connection reset by peer).
05:51:04 -!- elliott has joined.
05:51:26 <elliott> you guys dont think im serious about this dramatic reading thing do you
05:53:32 <IronEagle> elliott: I spy with my little eye a brainfuck compiler made in assembly
05:58:39 <IronEagle> elliott: I have a language idea. brainfuck+ruby+assembly
05:58:58 <monqy> is it a good language idea
05:59:02 <monqy> what is the language idea
05:59:36 <elliott> the dramatic reading is six minutes long
06:00:49 <monqy> IronEagle: my mother would make a godawful esoteric language
06:01:57 <IronEagle> .actually... why isn't there an esoteric language called 'Yo-Mamma'
06:02:03 <elliott> monqy: the beat of this reading is SICK
06:02:24 <monqy> IronEagle: maybe because it is an awful idea and it would be awful
06:03:02 <monqy> intercal is brilliant
06:03:08 <monqy> hey IronEagle have you ever heard of something called
06:03:52 <elliott> monqy: have you ever heard "esolang a brainfuck interpreter for iphone written in objective c" turned into a beat
06:04:06 <monqy> no, I must say I haven't
06:04:25 <monqy> http://esolangs.org/wiki/FURscript
06:04:45 -!- pikhq_ has joined.
06:06:09 -!- pikhq has quit (Ping timeout: 246 seconds).
06:06:21 <elliott> ok now to read the optimising implementations section
06:06:33 <elliott> on top of my "esolang a brainfuck interpreter for iphone written in objective c"
06:06:39 <elliott> IronEagle: I BELIEVE THAT WAS MY IDEA
06:06:43 <elliott> or slereah's, i forget who's
06:07:06 <IronEagle> "Broken Angel is working on a simple compiler in Visual Basic. Einsidler does not approve of the idea. "
06:07:14 <IronEagle> anything in visual basic is a bad idea
06:07:46 <pikhq_> https://github.com/pikhq/haskell-bfc/blob/fe9942d452d99df34a1d0687be89f9f5afedfa0b/main.hs Your compiler must be at least this good. :P
06:07:48 <monqy> Optimizing BF interpreter is a very fast C interpreter, fastest in its class.
06:08:26 <pikhq_> monqy: Probably the fastest interpreter is a hacked-up fusion of esotope and tcc.
06:09:12 <IronEagle> monqy: especally with that YASM brainfuck compiler down a little further
06:10:01 <monqy> optimizing bf interpreter's author must be shaking in his proverbial boots
06:12:44 <IronEagle> what I don't get is, what the hell is optimizing compiled brainfuck going to do? is there a BF project large enough that it doesn't take under 1 second to finish
06:13:01 <elliott> see mandelbrot.b, lostkng.b startup time
06:13:12 <elliott> monqy: oh my god it's amazing
06:13:19 <pikhq_> Well, with my compiler mandelbrot.b takes like a quarter of a second.
06:13:23 <monqy> I'd remix it if I could (but I can't)
06:13:33 <pikhq_> And esotope-bfc does half that.
06:13:57 <elliott> monqy: i'll just remix it myself UNDER A PSEUDONYM
06:13:59 <IronEagle> so, who here programs in whitespace?
06:14:25 <pikhq_> (yes, I really did pull off "only half as bad as esotope" with that thing)
06:17:36 <pikhq_> elliott: Say, what would you consider to be, say, the top 5 Brainfuck compilers, as far as optimisation goes?
06:17:47 <elliott> esotope, esotope, esotope, esotope, esotope
06:18:01 <pikhq_> Esotope is not 5 compilers.
06:18:30 <elliott> but i meant just the bf one
06:18:36 <elliott> monqy: uploading are you READY
06:18:45 <pikhq_> Okay, esotope-bfc is not 5 compilers.
06:19:30 <elliott> monqy: at some points i just get floored and repeat a sentence over and over because i can't believe it
06:19:44 <elliott> spoiler: "Does not correctly handle nested loops." is such a point
06:19:54 <elliott> (following "A Brainfuck interpreter with debugging capabilities. Also Brainfuck to PHP/Javascript/Omgrofl converter.")
06:20:09 <monqy> how does a brainfuck implementation not handle nested loops
06:20:36 <elliott> I really like how I pronounced "byte (!)"
06:20:41 <pikhq_> I have by *mistake*...
06:20:45 <elliott> it's like a parrot yelling "byte"
06:20:54 <pikhq_> That was one stupid parser bug.
06:21:16 <monqy> im reading the omgrofl spec
06:21:23 <elliott> this is twenty megabytes btw but i think its worth it
06:21:27 <elliott> you have to experience this lossless really
06:22:16 <monqy> admittedly I've never understood thematic languages
06:22:33 <monqy> (except when they're amazing)
06:22:42 <monqy> ((omgrofl is not amazing))
06:25:09 <monqy> im fantasizing about it
06:25:30 <elliott> monqy: if you're hoping for like
06:25:38 <elliott> shakespearean exclamations of the list
06:25:44 <elliott> then i tried that but unfortunately my voice is too cringeworthy to deal with it
06:25:54 <elliott> im like Sgeo except not as bad and also i know when its bad
06:26:02 * pikhq_ wonders why neither of the two C-to-Brainfuck compilers decided to use PCC.
06:26:03 <elliott> think of it as avant-garde instead
06:26:10 <elliott> monqy: http://www.mediafire.com/?2kf3id40u613db5
06:26:12 <monqy> good thing I like avant-garde
06:26:13 <elliott> sry for the shitty upload site
06:26:30 <elliott> monqy: i should send this to brian eno he'd totally remix it
06:27:02 <elliott> i like how the various "lol you got a new IM/highlight on IRC" noises pop in at various points
06:27:07 <elliott> its totally ambient background
06:28:20 <monqy> caught up with the beat
06:28:40 <monqy> wondering how to dance to this
06:28:46 <elliott> what do you mean caught up with the beat
06:28:48 <elliott> its totally in free time yo
06:28:52 <elliott> apart from the esolang iphone bit
06:28:54 <pikhq_> Your voice is funny and British.
06:29:01 <elliott> pikhq_: i don't normally sound like this
06:29:04 <elliott> i was trying to sound toneless
06:29:09 <monqy> I caught up with part of the beat then fell behind again
06:29:28 <pikhq_> elliott: Your voice is funny and British.
06:30:18 <elliott> that cough thing after the first "does not correctly handle nested loops" is me not believing it
06:30:36 <monqy> does not correctly nested loops
06:30:45 <pikhq_> Recursion, people. Not that hard.
06:33:42 <monqy> oh god are you reading the esolang site
06:34:00 <elliott> that was... what that was, yes
06:34:10 <monqy> it took me a second
06:34:13 <elliott> oh wait you mean the app store page
06:34:51 <elliott> this is my finest work btw
06:35:08 <elliott> monqy: should i read the furscript or esme page next
06:35:23 <elliott> if I do esme ill sing the stuff in code blocks
06:35:38 <monqy> how would you even pronounce the stuff in code blocks
06:35:48 <elliott> thats for me to know and you to wonder whether you want to find out
06:35:56 -!- newsham has quit (Read error: Connection reset by peer).
06:36:18 <elliott> monqy: i'm also up for [[Snack]]
06:36:23 <elliott> and Graue's angry rant at Stux
06:36:31 <elliott> http://esolangs.org/wiki/User_talk:Stux
06:36:36 <monqy> ooh I've never seen that
06:37:43 <monqy> I am imagining this as an opera and I cannot stop
06:38:10 <elliott> monqy: i will totally do that
06:38:21 <elliott> just the original comment or should I include Stux's reply
06:38:40 <monqy> I was doing it for the reply too
06:39:41 <monqy> the Hi! section is amazing too
06:42:44 <monqy> oh look someone put esolang on the wikipedia brainfuck page
06:43:05 <monqy> under external links but there
06:43:12 <elliott> monqy: im going to do Esme
06:43:44 <monqy> I've never understood esme
06:44:47 -!- azaq231 has quit (Quit: Leaving.).
06:45:42 -!- IronEagle has left.
06:48:41 <monqy> so the guy who put esolang there doesn't have a wikipedia account but did edit the List of female bodybuilders and douted the validity of the statement "The Eternaut has become one of the most influential comics series of the 20th century"
06:49:08 <monqy> doubted not douted what
06:49:30 <elliott> i tried to make it sound as awkward as the language itself
06:49:37 <elliott> also I dunno how to pronounce Esme lol
06:49:50 <monqy> I was thinking like "esme" but I dunno
06:50:32 <pikhq_> monqy: I'd certainly doubt the validity of that claim.
06:50:44 <pikhq_> I mean, I haven't even heard of "the Eternaut".
06:51:16 <elliott> http://en.wikipedia.org/wiki/El_Eternauta
06:51:50 <pikhq_> Seem quite obscure, though.
06:51:56 <monqy> yes I think that's it
06:52:12 <pikhq_> And has to compete with a large number of influential comics...
06:52:52 <elliott> http://www.mediafire.com/?019mn3890e9kwwj
06:52:55 <pikhq_> Considering that nearly all of them were made in the 20th century, saying "one of the most influential comics of the 20th century" is a ballsy claim.
06:52:59 <elliott> it has legit singing of the code block parts though monq
06:53:00 <elliott> it has legit singing of the code block parts though monqy
06:53:54 <pikhq_> I mean, shit, that's got to compete against motherfucking Little Nemo.
06:54:36 <pikhq_> Or Osamu Tezuka, inventor of modern manga.
06:55:19 <pikhq_> (you may know him for such things as "large eyes" and "long-form narratives")
06:55:28 <elliott> monqy: i accidentally started singing the stub line :(
06:56:03 <monqy> I like how the page has been accessed ~6,862 times
06:56:10 <monqy> the esme page that is
06:56:12 <elliott> oh no, has veebeewiki gone down?
06:56:19 <elliott> http://www.festipedia.org.uk/wiki/User_talk:Dagoth_Ur,_Mad_God
06:56:28 <pikhq_> Also, *Superman* was in the 20th century...
06:56:29 <elliott> monqy: the inventor of esme like
06:56:32 <elliott> terrorised the owner of this random wiki
06:56:41 <elliott> by trying to make him switch to his nonexistent veebeewiki software
06:56:45 <monqy> dagoth ur, mad god.....:(
06:56:46 <elliott> As I have pointed out on Wiki talk:About, you may NOT move Festipedia to MediaWiki and you may NOT unilaterally alter the hosting arrangements for this wiki. This is an FR Heritage Group project. All decisions about the hosting arrangements for this wiki will be made by the Heritage Group Committee and no-one else. Please stop this IMMEDIATELY --Peter Harrison (talk) 18:54, 20 June 2008 (UTC)
06:56:46 <pikhq_> AKA "the defining work of US comics".
06:56:55 <elliott> I didn't mean to do that. Why I needed FestWiki? For a private wiki called V.F.D.. Dagoth Ur, Mad God (Talk contribs E-mail) 00:53, 21 June 2008 (UTC)
06:58:40 <elliott> monqy: im going to sing [[Talk:Esme]] over the premade backing tracks offered by this "Magic GarageBand" functionality
06:59:15 <monqy> magic garageband? didn't microsoft try something like that too?
06:59:21 <monqy> I remember it being hilarious but that's all
06:59:37 <pikhq_> Hasn't GarageBand had that for a while now?
07:00:12 <elliott> predefined backing tracks?
07:00:16 <elliott> and a predefined song structure?
07:00:17 <monqy> http://www.youtube.com/watch?v=3oGFogwcx-E
07:00:30 <monqy> the most amazing thing
07:00:32 <elliott> monqy: yeah songsmith is amazing but this isnt the same thing
07:00:43 <elliott> i have to have watched like fifty videos of putting popular songs through that thing
07:02:40 <monqy> is magic garageband at least amazing
07:03:32 <elliott> monqy: damn i didnt leave enough time to actually read it out i was too busy doing cheesy backing vocals first
07:03:37 * elliott listens to this trainwreck
07:03:39 <pikhq_> I get the feeling Songsmith works best because people tend to do fairly bland song structures by default.
07:03:51 <elliott> monqy: its done effects to my voice
07:03:52 <elliott> so it sounds like a guitar
07:05:39 <elliott> monqy: yeah im just going to upload this as it is
07:05:49 <monqy> i wish my voice was a guitar
07:06:14 <pikhq_> Well, you could get a talk box.
07:06:21 <elliott> monqy: its called Talk Esme Baby by the way
07:06:37 <elliott> apparently the drum track is called "Hard Working"
07:07:58 <elliott> monqy: uploading be very scared
07:10:18 <elliott> pikhq_ should be scared too i expect him to listen to this amazing work of art
07:11:14 <elliott> pikhq_: monqy: http://www.mediafire.com/?oz8yd7s17bgv2zp
07:13:58 <monqy> I like how I didn't understand a word
07:14:14 <elliott> monqy: well the talk page only starts like
07:14:17 <elliott> three quarters of the way through
07:14:22 <elliott> did you catch "i can't do it, i can't do it" at the end
07:14:27 <elliott> as i realise i have a url and a reply to go and 0 seconds lefr
07:15:04 <monqy> I got sort of a icadoih/icadoih
07:17:52 -!- monqy has quit (Quit: hello).
07:18:01 <elliott> oh man he leaves jsut as i stumble upon the best idea
07:32:39 -!- oerjan has joined.
07:33:26 <elliott> oerjan i read out the implementations section of the brainfuck article
07:33:58 <elliott> CLEARLY YOU WANT TO LISTEN TO THEM
07:34:07 -!- MigoMipo has joined.
07:34:07 <elliott> oh wait they're flacs. MY ONE WEAKNESS
07:42:46 <olsner> get a flac jacket to protect you from all those flacs
07:43:49 <elliott> "Did it work? You bet your sweet ILAsm it worked:" --oh my fucking god jeff atwood actually just said this, best coding horror "article" yet
07:54:03 -!- elliott has quit (Remote host closed the connection).
07:55:54 -!- elliott has joined.
08:11:17 -!- choochter has joined.
08:35:04 -!- choochter has quit (Ping timeout: 263 seconds).
08:46:04 <elliott> oh hey oerjan can i bug you about... some thoughts i had for... a ring programming language :<
09:09:09 <oerjan> it's probably going to just go around in circles, though
09:10:35 <elliott> oerjan: I was basically thinking that you could have + be parallel evaluation like has been thought here before, but the problem is that you need inverses; my idea was that every instruction in the language could be dependent on some "global" state or channel of data or whatever
09:10:48 <elliott> So you can send _any_ program into an infinite loop by simply tweaking the global data appropriately
09:11:03 <elliott> So -a becomes a sort of "hostile program" to a, using the definition of the instructions to simply send any loop it enters into an infinite one, etc.
09:11:15 <elliott> This has the fun consequence that even a simple output instruction has to be able to enter an infinite loop based on some global data
09:11:41 <elliott> Also to do a+b = b+a while still having output I was thinking you'd just do all output via bits, and output zero before one always
09:12:04 <oerjan> elliott: so 0 is an infinite loop? you know that 0+a = a is also an axiom?
09:12:22 <elliott> oerjan: whichever program terminates first (= fewest reduction steps) wins
09:12:25 <elliott> and the whole evaluation stops
09:12:41 <elliott> oerjan: but of course, you can't have a+a = a unless a=0...
09:12:52 <elliott> oerjan: if a does output, then obviously intermingling the output fixes this
09:13:01 <elliott> but I don't know how you would make a pure function fail to add to itself
09:13:13 <elliott> so I guess every operation has to try and detect itself running and mess with the global data I mentioned
09:13:14 <oerjan> um "whichever program terminates first wins" looks like it could break with _three_ programs
09:13:19 <elliott> this is a really ugly way of thinking about it of course
09:13:49 <oerjan> hm except parts with a and -a obviously must interact somehow
09:14:06 <elliott> well, in a+(b+c), all three programs would run simultaneously
09:14:06 <oerjan> elliott: but i mean if you add a, b, c where a is shortest run
09:14:12 <elliott> because it'd step a, and step (b+c), which would step b, and step c
09:14:28 <elliott> basically you do it with small-step reduction in mind, or at least i did
09:16:11 <elliott> oerjan: = (a+b)+b'... admittedly, a's evaluation will get fucked up
09:16:19 <elliott> but b and b' will cancel each other out. unless a stops them.
09:16:32 <elliott> it has to be equal to a ofc
09:16:51 <oerjan> i guess it's not _obviously_ impossible
09:17:37 <elliott> why is haskell's type system so weeeeeak
09:18:08 <elliott> oerjan: oh I suspect proving it impossible would be a very deep and difficult result, not that i'm an expert of any kind :)
09:19:05 <elliott> oerjan: cpressey's page which lead me onto thinking about this made the point that a ring seems much harder to do than a group because it gets you fairly close to a euclidean domain, and computing gcd on programs seems intuitively like something that should be "impossible"
09:19:21 <elliott> "I suspect that the underlying reason that getting a ring language is hard (at least when you insist on sticking to "intuitive" operations) is because a ring is starting to approach a structure (a Euclidean domain) in which you can perform the Euclidean algorithm and obtain greatest common denominators. Now, if you could perform that algorithm on programs, you'd be able to decompose every program into "prime subprograms". This sounds intuitively
09:19:21 <elliott> a little too powerful — you'd be able to find programs which are in some sense optimal! I'm not certain this would actually *violate* established undecidability results like Rice's theorem, but it certainly sounds like it's edging up against them."
09:19:54 <oerjan> there are many rings which are _not_ euclidean domains though
09:20:23 <elliott> oerjan: but it's still getting closer :D
09:20:34 <elliott> aVec :: forall n. (Nat n) => n -> Vec n ()
09:20:35 <elliott> aVec (S n) = Cons () (aVec n)
09:20:42 <elliott> Couldn't match type `Z' with `S n0'
09:20:42 <elliott> In an equation for `aVec': aVec Z = Nil
09:20:44 <coppro> bank of canada decided to import australian plastic money
09:20:57 <elliott> coppro: your long national nightmare is finally over
09:21:07 <oerjan> elliott: because Z is not a successor. hth.
09:21:10 <coppro> elliott: actually, it's worse right now, I'm in the USA
09:21:14 <elliott> oerjan: THAT MAKES NO SENSE
09:21:20 <coppro> where the solution to counterfeiting problems is "add more ink"
09:21:28 <coppro> eventually all US bills will just be solid green
09:21:31 <elliott> the best kind of money is edible
09:22:10 <elliott> `addquote <coppro> elliott: actually, it's worse right now, I'm in the USA <coppro> where the solution to counterfeiting problems is "add more ink" <coppro> eventually all US bills will just be solid green
09:22:14 <HackEgo> 460) <coppro> elliott: actually, it's worse right now, I'm in the USA <coppro> where the solution to counterfeiting problems is "add more ink" <coppro> eventually all US bills will just be solid green
09:22:32 <elliott> oerjan: no but seriously how do i do this kind of recursion :(
09:23:13 <elliott> coppro: stfu noob, youve never lost a friend in the battlefield of the typesystem
09:23:19 <elliott> i've used every extension :(
09:23:33 <elliott> class (Nat n) => AVec n where aVec :: Vec n ()
09:23:33 <elliott> instance AVec Z where aVec = Nil
09:23:33 <elliott> instance (AVec n) => AVec (S n) where aVec = Cons () aVec
09:24:20 <elliott> "This (rigid, skolem) type variable" --GHC
09:24:52 <coppro> clearly all programming should be done in differential graph theory
09:25:06 <oerjan> i guess i carry some responsibility since skolem was norwegian
09:25:11 <elliott> Ticket #4499 (closed bug: fixed)
09:25:11 <elliott> Last modified 7 months ago
09:25:11 <elliott> "skolem type variable" is bad for usability (and beginners)
09:25:34 <elliott> heh, (rigid, skolem) was the fix
09:25:46 <elliott> class (Nat n) => AVec n where aVec :: n -> Vec n ()
09:25:46 <elliott> instance AVec Z where aVec Z = Nil
09:25:46 <elliott> instance (AVec n) => AVec (S n) where aVec (S n) = () `Cons` aVec n
09:25:54 <elliott> (forall r. (Nat r) => r -> a)
09:26:03 <elliott> withNat :: (forall r. (Nat r) => r -> a) -> Int -> a
09:26:03 <elliott> withNat _ n | n < 0 = error "intNat: negative argument"
09:26:03 <elliott> withNat f n = withNat (f . S) (n-1)
09:26:08 <elliott> why is typeclasses like wtf :(
09:26:11 <HackEgo> 131) <fungot> alise: why internet is like wtf
09:26:19 <elliott> [asterisk]why typeclasses is like wtf :(
09:27:18 <oerjan> `run echo '#!/bin/sh' >bin/wtf
09:27:39 <elliott> {-# LANGUAGE RankNTypes, GADTs, FlexibleInstances, UndecidableInstances, IncoherentInstances #-}
09:27:44 <oerjan> `run echo 'echo "$1 is like wtf"' >>bin/wtf
09:27:45 <elliott> straight up gangsta every day
09:28:03 <elliott> instance AVec Z where aVec Z = Nil
09:28:03 <elliott> instance (AVec n) => AVec (S n) where aVec (S n) = () `Cons` aVec n
09:28:03 <elliott> instance (Nat n) => AVec n
09:28:11 <elliott> it just won't see the last instance
09:28:48 <elliott> *** Exception: /home/elliott/Code/gentuple/gentuple.hs:32:10-26: No instance nor default method for class operation Main.aVec
09:30:59 <elliott> oerjan: what is the name for those (forall r. (Blah r) => r -> a) -> ConcreteType -> a things btw?
09:31:00 <oerjan> `run sed -i 's/"/"why /' bin/wtf
09:31:06 <HackEgo> why type classes is like wtf
09:31:13 <elliott> they're a way to turn runtime input into types, sort of
09:31:18 * oerjan might be getting the hang of this
09:33:02 <oerjan> hm they're to a type class like foldr is for lists, you mean?
09:33:28 <elliott> they're for type-level values
09:33:47 <elliott> its so boring that ive literally forgotten how to type it
09:33:57 <elliott> oh hm my idea is almost working
09:34:05 <elliott> aha, more gadts are helpin
09:37:29 <elliott> Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (
09:37:29 <elliott> Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () (Cons () Nil)))))))
09:37:33 <elliott> )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
09:41:36 -!- SimonRC has quit (Ping timeout: 260 seconds).
09:41:43 -!- SimonRC has joined.
09:44:34 <elliott> oerjan: argh, I can't eliminate the runtime values
09:56:26 <elliott> the comments on this blog post are great, im trying to find a post calling bitcoin a ponzi scheme that doesn't use "nerd" as a putdown of anyone who supports bitcoin
09:56:30 <elliott> (there are no such comments)
09:56:56 <elliott> "Sorry, but any “currency” that flucuates in value by a factor of 20 within weeks, and was created by a pseudonymous person who may or may not be Japanese, and whose primary exchange does not have a physical address, is a joke. It Bitcoins were backed in gold, and could be traded on existing commodity markets that are run by adults, totally different story.
09:56:56 <elliott> Basically if you buy a currency that is not liquid or backed by a commodity that can be traded on real markets (versus a toy market operated by World of Warcraft types), you’re a moron, and deserve to lose your shirt."
09:57:08 <elliott> sometimes i think the best way to determine the quality of something is to see how stupid everyone who dislikes it is
10:10:35 -!- oerjan has quit (Quit: Later).
10:14:33 -!- Vorpal has joined.
10:33:00 -!- Tritonio has joined.
10:37:39 -!- Tritonio has quit (Client Quit).
10:40:51 -!- Slereah has joined.
10:55:45 -!- aloril has quit (Ping timeout: 250 seconds).
10:56:14 -!- ais523_ has joined.
10:57:30 <ais523_> hmm, I spent most of yesterday working on an esolang
10:57:40 <ais523_> but it really needs an interp for me to be sure I have the semantics right
10:57:50 <ais523_> the difficulty is not making them work, but making them intuitive
10:57:56 <elliott> ais523_: you should have spent it doing something productive, like making an avant-garde reading of our brainfuck article's implementations list
10:58:10 -!- Patashu has joined.
10:58:14 <ais523_> were you trying to scare off a troll?
10:58:26 <elliott> no, we just noticed how ridiculously large and terrible it is
10:59:04 <ais523_> well, there are a lot of BF impls out there
10:59:12 <elliott> then it quickly degenerated into me trying to narrate [[Talk:Esme]] over one of GarageBand's terrible premade backing songs and running out of time
10:59:22 <elliott> and then it applied a guitar effect to my voice because it was accidentally a guitar track
11:01:16 <ais523_> good thing I wasn't here at the time, then
11:02:02 <ais523_> meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary
11:02:06 <ais523_> so far, it has found four digits
11:02:14 <ais523_> I hope it will find the fifth some time this week
11:02:24 <elliott> (-ee digits was the continuation)
11:02:33 <ais523_> then I'll probably shut it down
11:02:34 <elliott> ais523_: esolang? vhdl? :-P
11:02:44 <elliott> `addquote <ais523_> meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary <ais523_> so far, it has found four digits <ais523_> I hope it will find the fifth some time this week
11:02:45 <HackEgo> 461) <ais523_> meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary <ais523_> so far, it has found four digits <ais523_> I hope it will find the fifth some time this week
11:02:58 <ais523_> it's a haskell program translated to an algol dialect, then compiled to vhdl, then the resulting hardware is being simulated
11:03:15 <ais523_> the program is one that would be expected to translate pretty badly to hardware, it uses lazy lists and recursion a lot
11:03:20 <elliott> how fast would it be on an irl vhdl
11:03:34 <ais523_> rather faster, it managed something like 5 or 6 digits in a few seconds
11:03:54 <ais523_> because if two digits in a row were the same, the only way to notice was that an LED turned off for one clock cycle
11:03:57 <ais523_> which is a few nanoseconds long
11:04:11 <elliott> ais523_: if you wrote a pi calculator idiomatically, how fast would the fpga do it?
11:04:18 <elliott> that is, in your hypothetical functional hardware lang
11:04:40 <ais523_> I imagine it would be pretty fast if it used iteration and memoization of intermediate results
11:04:45 <elliott> what's the efficient method of looping with your stuff?
11:04:59 <elliott> ais523_: iteration = tail recursion
11:05:12 <ais523_> yes, but that's a special case of iteration
11:05:18 <ais523_> to be precise, tail recursion on commands
11:05:22 <ais523_> rather than on arbitrary functions
11:05:58 <elliott> so does your compiler actually take bona-fide non-idealisedconcurrent algol?
11:06:24 <ais523_> we're trying to create a practical language based on the mathematical one by unidealising it again
11:06:35 <ais523_> but it isn't massively similar to any of the officially numbered versions of algol
11:06:42 <elliott> third question, why didn't you make it not look like algol and do the world a favour :P
11:07:07 <ais523_> although it isn't indentation-sensitive
11:07:10 <elliott> what does the pi program look like?
11:07:16 <elliott> or are you not at liberty to disclose that information :)
11:08:15 <ais523_> hmm, I wonder if the original Haskell is online somewhere?
11:08:34 -!- aloril has joined.
11:08:52 <elliott> ais523_: i'm more interested in seeing what the dialect actually looks like
11:09:49 <ais523_> well, to start with, it has everything-is-an-expression; it only has three nonterminals in its BNF, for expressions, types, and comma-separated lists of expressions
11:09:58 <ais523_> *comma-separated lists of identifiers
11:10:15 <ais523_> together with precedence rules
11:10:26 <ais523_> so you don't have to put parens absolutely everywhere
11:11:05 <ais523_> here's an example: \a.(new x := a; x := !x + 5; !x)
11:11:24 <ais523_> which is a function that takes an argument, stores it in a variable, adds 5 to the variable, then returns the value of the variable
11:11:36 <ais523_> \a.(new x := a in x := !x + 5; !x)
11:11:44 <ais523_> in rather than ; because it's scoped
11:13:22 -!- ais523_ has changed nick to ais523.
11:13:26 -!- ais523 has changed nick to ais523_.
11:14:24 <elliott> ais523_: thanks; now I know how your language works without you having to get fired for revealing your trade-secret pi calculation program :D
11:14:50 <ais523_> the pi program is annoyingly repetitive
11:14:58 <ais523_> because at the moment, you can't use the same function both inside and outside a recursive scope
11:16:05 <ais523_> that's technically correct given how the compiler works, but rather non-obvious
11:16:17 <ais523_> and sufficiently annoying that it's probably better just to let the user be wrong and silently correct them
11:30:44 <ais523_> hmm, Oracle vs. Google is being amusing
11:31:01 <ais523_> Google pointed out that Oracle's expert's estimation of damages assumed that the only reason that people bought Android phones was to view Google's adverts
11:31:11 <ais523_> which is an interesting theory, at least
11:31:17 -!- Phantom_Hoover has joined.
11:31:31 <Phantom_Hoover> Oh look elliott is here to feast upon the blood of the living.
11:31:32 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
11:35:18 -!- Lymia has quit (Quit: bbl).
11:36:21 <Phantom_Hoover> 04:16:18: <Sgeo> As in.. the amount of mass in a nucleon
11:37:11 <Phantom_Hoover> 04:22:14: <pikhq> *That's including electrons you dolt*.
11:39:22 <lambdabot> Data.Typeable typeOf3 :: Typeable3 t => t a b c -> TypeRep
11:39:22 <lambdabot> Data.Typeable typeOf2Default :: (Typeable3 t, Typeable a) => t a b c -> TypeRep
11:41:27 <ais523_> you want functions that take the first/second/third element of a triple?
11:41:34 <ais523_> it's simple enough to write them yourselves
11:41:50 <ais523_> in fact, on average it's faster to write a quick utility function by hand than to see if it's in the standard library
11:44:28 <elliott> ais523_: I know, I was just trying to "golf" something
11:44:38 <elliott> also, that last line is really worrying, Hoogle exists for a reason
11:44:42 <elliott> you can find what you want instantaneously
11:44:48 <elliott> also, the Prelude is so tiny that not having it memorised is a crime
11:44:51 <ais523_> you have to type the query
11:45:06 <ais523_> (\l. match (a,_,_) with l -> a)
11:45:12 <ais523_> isn't much longer than the query you typed
11:45:18 <elliott> yep, that's certainly a bit of code that isn't valid haskell
11:45:20 <ais523_> although that's a crazy mix of Haskell and OCaml syntax
11:45:26 <elliott> hey ais523_, I never indent my code, it takes more keypresses
11:45:28 <Phantom_Hoover> http://www.davenicholas.me.uk/blog/view_post/31/esolang-esoteric-programming-for-iphone
11:45:31 <ais523_> I need linguistic decontamination wrt those two
11:45:40 <ais523_> and actually, I use Emacs, not indenting takes longer
11:45:42 <elliott> Phantom_Hoover: why are you pasting that link, you just found it from here
11:45:46 <Phantom_Hoover> Hmm, doesn't this violate Apple's terms of whatever the word is.
11:45:46 <elliott> Phantom_Hoover: listen to my dramatic readings btw
11:46:05 <ais523_> isn't the Haskell just (\(a,_,_).a)?
11:46:05 <lambdabot> cannot mix `.' [infixr 9] and `fmap' [infixl 9] in the same infix expression
11:46:22 <ais523_> so I'm mixing it with maths too
11:46:28 <ais523_> (OCaml is fun a -> a for lambdas)
11:46:37 <elliott> > nubBy isSpace "abc def q"
11:46:37 <lambdabot> Couldn't match expected type `GHC.Types.Char -> GHC.Bool.Bool'
11:46:41 <lambdabot> forall a. (a -> a -> Bool) -> [a] -> [a]
11:46:54 <elliott> ?hoogle (a -> Bool) -> ((a,a) -> Bool)
11:46:54 <lambdabot> Data.Graph.Inductive.Query.Monad orP :: (a -> Bool) -> (b -> Bool) -> (a, b) -> Bool
11:46:58 <elliott> ?hoogle (a -> b) -> ((a,a) -> b)
11:46:59 <lambdabot> Data.Graph.Inductive.Query.Monad orP :: (a -> Bool) -> (b -> Bool) -> (a, b) -> Bool
11:47:29 <elliott> :t uncurry (curry and . isSpace &&& isSpace)
11:47:29 <lambdabot> Couldn't match expected type `(a, b)'
11:47:30 <lambdabot> In the first argument of `curry', namely `and'
11:47:37 <elliott> :t uncurry ((curry and .) . (isSpace &&& isSpace))
11:47:37 <lambdabot> Couldn't match expected type `(a, b)'
11:47:38 <lambdabot> In the first argument of `curry', namely `and'
11:47:43 <elliott> :t curry ((uncurry and .) . (isSpace &&& isSpace))
11:47:44 <lambdabot> Couldn't match expected type `b -> c' against inferred type `Bool'
11:47:44 <lambdabot> In the first argument of `uncurry', namely `and'
11:47:44 <lambdabot> In the first argument of `(.)', namely `uncurry and'
11:47:49 <elliott> :t curry (uncurry and . (isSpace &&& isSpace))
11:47:50 <lambdabot> Couldn't match expected type `b -> c' against inferred type `Bool'
11:47:50 <lambdabot> In the first argument of `uncurry', namely `and'
11:47:50 <lambdabot> In the first argument of `(.)', namely `uncurry and'
11:47:53 <elliott> :t uncurry and . (isSpace &&& isSpace
11:47:54 <elliott> :t uncurry and . (isSpace &&& isSpace)
11:47:54 <lambdabot> parse error (possibly incorrect indentation)
11:47:55 <lambdabot> Couldn't match expected type `b -> c' against inferred type `Bool'
11:47:55 <lambdabot> In the first argument of `uncurry', namely `and'
11:47:55 <lambdabot> In the first argument of `(.)', namely `uncurry and'
11:48:08 <elliott> :t curry (uncurry (&&) . (isSpace &&& isSpace))
11:48:09 <lambdabot> Couldn't match expected type `(a, b)' against inferred type `Char'
11:48:09 <lambdabot> In the first argument of `(&&&)', namely `isSpace'
11:48:09 <lambdabot> In the second argument of `(.)', namely `(isSpace &&& isSpace)'
11:48:21 <elliott> :t uncurry (&&) . (isSpace &&& isSpace)
11:49:03 <elliott> ?hoogle (a -> b) -> (c -> b) -> ((a,c) -> (b,b))
11:49:03 <lambdabot> Data.Graph.Inductive.Query.Monad (><) :: (a -> b) -> (c -> d) -> (a, c) -> (b, d)
11:49:09 <elliott> it's one of the arrow functions
11:49:15 -!- FireFly has joined.
11:49:59 <elliott> :t curry (uncurry (&&) . isSpace *** isSpace)
11:50:00 <lambdabot> Couldn't match expected type `(Bool, Bool)'
11:50:00 <lambdabot> In the second argument of `(.)', namely `isSpace'
11:50:05 <elliott> :t curry (uncurry (&&) . (isSpace *** isSpace))
11:50:09 <elliott> ?unpl curry (uncurry (&&) . (isSpace *** isSpace))
11:50:09 <lambdabot> curry (\ c -> uncurry (&&) ((isSpace *** isSpace) c))
11:50:13 <elliott> ?pl curry (uncurry (&&) . (isSpace *** isSpace))
11:50:14 <lambdabot> curry (uncurry (&&) . (isSpace *** isSpace))
11:50:28 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
11:50:40 <lambdabot> forall t t1 t2. (t -> t1 -> t2) -> (t -> t1) -> t -> t2
11:50:56 <elliott> (a -> b -> c) -> (a -> b) -> a -> c
11:54:38 -!- choochter has joined.
11:56:31 <Deewiant> ?ty curry $ uncurry (&&) . join (***) isSpace
11:57:04 <elliott> > nubBy (curry $ uncurry (&&) . join (***) isSpace)
11:57:05 <lambdabot> Overlapping instances for GHC.Show.Show
11:57:10 <elliott> > nubBy (curry $ uncurry (&&) . join (***) isSpace) "arcs \n opq"
11:57:22 <elliott> > nubBy (curry $ uncurry (&&) . join (***) isSpace) "arcs \n opq q"
11:57:55 <lambdabot> forall (a :: * -> * -> *) b c b' c'. (Arrow a) => a b c -> a b' c' -> a (b, b') (c, c')
11:59:08 <CakeProphet> elliott: so when does homestuck usually update?
12:00:00 <elliott> CakeProphet: it used to average five pages a day but now it's more like four per every two days since entering the Scratch fastforwarding, and a week's hiatus has just started
12:00:09 <elliott> but... every day, usually.
12:00:15 <elliott> unless there's a Flash coming. obviously.
12:00:26 <CakeProphet> that's a pretty good turnover for a webcomic.
12:00:40 <elliott> what did you expect with almost four thousand pages in two years?
12:01:36 <elliott> it's shown in several panels :)
12:02:10 <CakeProphet> I'm just got off workand such, so I'm kind of tired.
12:02:27 -!- BeholdMyGlory has joined.
12:02:44 <CakeProphet> also, that is why there had been less CakeProphet as of late. I'm sure everyone is terribly disappointed.
12:03:25 <CakeProphet> (that didn't stop being a thing or anything)
12:04:15 <elliott> <elliott> ?pl \f x -> join (fmap f x)
12:05:13 <CakeProphet> okay so (***) is like a fork in a pipeway?
12:06:58 <CakeProphet> it seems the tuples would get somewhat annoying to deal with.
12:09:01 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
12:09:22 -!- BeholdMyGlory has joined.
12:09:33 <elliott> Window manager warning: Received a _NET_WM_MOVERESIZE message for 0x34e0f1e (Iteratee I); these messages lack timestamps and therefore suck.
12:11:22 <ais523_> hmm, so far this program has pi at approximately 4
12:11:28 <ais523_> I'm expecting a fifth digit of -1 to revise the estimate to 3
12:11:55 <ais523_> (using 1, 0, -1 as binary digits allows you to express arbitrary computable reals without worrying about edge cases)
12:12:00 <CakeProphet> nice, then it would have single digit precision,
12:12:54 <CakeProphet> the circumfrence of all of my circles are TRIPLE their diameter.
12:13:07 <CakeProphet> Sounds more exciting right? That means customers will dig it.
12:14:04 <ais523_> that's actually possible in slightly curved space, isn't it?
12:14:26 <CakeProphet> dude I don't know. I am going to go ahead and assume that question is not directed at me.
12:14:58 <CakeProphet> Anything non-absurd is probably possible in some space.
12:15:24 <ais523_> it was rhetorical at the world in general
12:15:31 <ais523_> especially as I don't know either, but it seems plausible
12:17:29 -!- choochter has quit (Quit: lang may yer lum reek..).
12:18:22 <CakeProphet> I assume you're micro-optimizing the byte count of the source file, yes?
12:19:00 <elliott> CakeProphet: no, using haskell
12:19:13 <elliott> Stack space overflow: current size 8388608 bytes.
12:19:13 <elliott> Use `+RTS -Ksize -RTS' to increase it.
12:19:40 <Phantom_Hoover> <ais523_> that's actually possible in slightly curved space, isn't it?
12:19:45 <elliott> now, i could take this opportunity to learn how to fix space leaks and apply the stuff from ezyang's articles
12:19:48 <elliott> i could try stuffat random
12:22:43 <elliott> hmm, why do I have a stack leak??
12:22:54 <elliott> that's the one thing i shouldn't have
12:23:26 <lambdabot> Haskell pastebin: http://hpaste.org/
12:24:19 <elliott> i realise it actually counts incorrectly, im just getting used to enumerator first :P
12:26:47 <ais523_> why ? rather than @, btw? is @ on shift-2 for you?
12:27:13 <elliott> yep but actually alt+q works, i just got used to ? before i realised
12:27:18 <elliott> Deewiant: hes talking to me i think maybe
12:27:24 <Deewiant> @ used to be on altgr-2 for me
12:28:26 <ais523_> you press 2 and get @, and have to press shift-@ to get 2, or do I misunderstand you?
12:28:32 <ais523_> also, I was talking to elliott by mistake
12:28:41 <elliott> ais523_: i do use ?, though, since the Accident :)
12:28:43 <ais523_> and wow, that's a funky setup
12:29:05 <ais523_> good to hear answers from both of you, anyway, especially as they're interesting answers
12:29:07 <elliott> if you type in punctuation-heavy proglangs all day
12:29:18 <ais523_> what if the languages are also number-heavy?
12:29:24 <elliott> i like to swap () and [] on my keyboard
12:29:25 <ais523_> I tend to use numbers quite a lot when programming
12:29:27 <elliott> ( and ) are in such a stupid place
12:29:34 <elliott> and [] are at such a convenient place
12:29:35 <Deewiant> I type in punctuation-heavy natural languages as well :-P
12:30:02 <ais523_> I'm used to using random public computers, so I'm used to the standard qwerty layout, and don't even rebind caps lock
12:30:11 <elliott> oh i havent actually done it
12:30:12 <ais523_> for fear I'll get into the habit of actually pressing that key when it means caps lock
12:30:13 -!- aloril has quit (Ping timeout: 250 seconds).
12:30:18 <Deewiant> I use ()! more often than numbers probably no matter what language I'm using, natural or programming
12:30:36 <ais523_> Deewiant: that looks like Underload to me
12:31:01 <ais523_> hmm, I do have some rebindings in Emacs
12:31:18 <ais523_> I permanently rebound C-x M-q to fill-region-as-paragraph yesterday
12:31:28 <ais523_> but that's because a) it's really useful, and b) it doesn't have a keybinding by default
12:31:37 <ais523_> and that one is quite easy to remember, because M-q is fill-region
12:31:46 <Deewiant> Normally I wouldn't've there but that one was for you
12:31:49 <elliott> ais523_: how does that differ from m-q?
12:32:01 <Deewiant> Anyway, numbers are pretty rare :-P
12:32:13 <ais523_> elliott: it treats the region boundaries as paragraph boundaries
12:32:28 <ais523_> so it'll, say, delete double-newline inside the region, or not rewrap past the start or end of the region
12:32:40 <ais523_> which is useful if you're rewrapping something that doesn't fit into Emacs' usual definition of a paragraph
12:42:24 -!- elliott_ has joined.
12:43:22 -!- elliott has quit (Remote host closed the connection).
12:43:33 -!- aloril has joined.
12:44:42 <elliott_> did Deewiant fix my stack leak while i was away
12:44:57 <Deewiant> Nah, I don't know about iteratees
12:45:02 <ais523_> anyway, I fought down the urge to call the esolang elliottcraft, even though it would have been hilarious
12:45:12 <elliott_> ais523_: I approve of this idea, please reconsider
12:45:21 <elliott_> and now I have to read the context
12:45:33 <ais523_> CUBE is a pretty good name too, though, because it's based on RUBE, just 3D
12:45:51 <ais523_> and with far fewer primitives, as 3D gives you more options
12:46:01 <ais523_> it came out of that conversation we had about what was wrong with Minecraft
12:46:10 <ais523_> and I thought that a decent replacement would need an esolang to back it
12:46:26 <elliott_> "WARNING: due to the current encoding of iteratees in this library, careless use of the yield primitive may violate the monad laws. To prevent this, always make sure that an iteratee never yields extra data unless it has received at least one input element."
12:46:55 <ais523_> so it's a case of, build things yourself slowly one cube at a time, or create an infernal esolang machine to build them for you
12:47:09 <ais523_> a little like Dwarf Fortress in that way, I suppose, except you have cubes rather than dwarves
12:47:25 <ais523_> I'm pretty sure it's TC, anyway
12:47:25 <elliott_> sry dude you've been massively preempted
12:47:39 <ais523_> more than one impl of this would be fine
12:47:50 <ais523_> although I need to actually relearn 3D graphics to implement it properly
12:47:52 <elliott_> except you maybe don't plan to go to the point where venturing _anywhere_ alone is pretty much instantly fatal :)
12:47:57 <ais523_> (that is, language = impl of the concept, impl of the language = something else)
12:48:02 <elliott_> ais523_: oh, oklopol's is two dimensional
12:48:07 <ais523_> elliott_: no, in fact dying would be kind-of hard
12:48:14 <elliott_> ais523_: you could do a Dwarf Fortress-style clusterfuck hybrid UI
12:48:39 <ais523_> I think you'd have to either deliberately crush yourself, or have someone who knew what they were attacking suddenly send a huge load of nested conveyors at you
12:49:11 <ais523_> it was great when I realised you could put a mobile conveyor belt on the top of another conveyor belt and exceed what would otherwise have been the speed of light
12:50:40 <ais523_> other things, too, like if you have just the one inertia cube (= cube that can't be pushed and doesn't fall) to stand on and the entirety of the rest of the world is empty
12:50:52 <ais523_> then assuming you have some method of creating a small finite number of cubes, you can bootstrap a universe from there
12:51:12 <ais523_> I think, at least, I still haven't worked out a viable method of creating a plane from scratch
12:51:20 <ais523_> it seems possible, I just keep running into details
12:51:27 <ais523_> especially as I'm trying to do all this in my head
12:51:31 <elliott_> in minecraft, without falling blocks like sand it's impossible to lower yourself down more than N blocks without taking damage
12:51:35 <elliott_> I think that's what we worked out, anyway
12:51:41 <elliott_> if all terrain is more than N blocks below you
12:51:44 <elliott_> and you have no falling blocks
12:51:47 <elliott_> and only like half a heart of health
12:51:50 <elliott_> there is no way to get down without dying
12:51:57 <ais523_> I'm not sure if falls would be fatal in this
12:52:03 <ais523_> I don't think I'll have a health bar, just alive/dead
12:52:13 <ais523_> that is if there's a player at all, the world can exist just fine without one
12:52:22 <ais523_> (death would come only by being crushed)
12:53:12 <elliott_> bleh, I'm using a strict fold _specifically_ here, how on earth can there be a stack overflow?
12:53:22 <elliott_> maybe the enumerator library just sucks, i'll try iteratee again
13:00:07 -!- Lymia has joined.
13:03:10 <ais523_> anyway, oklopol's version seems interesting, I should look at it
13:05:12 <elliott_> oh, wait, I think I know why I have a stack overflow
13:06:31 <elliott_> OK, I get different /results/ to GNU wc
13:06:54 <ais523_> can you be faster while getting the same results?
13:07:05 <elliott_> Deewiant: My fold accumulator was (l,w,c)
13:07:12 <elliott_> Changing it to (!l,!w,!c) makes it go swimmingly
13:07:19 <elliott_> where go :: (Int,Int,Int) -> Word8 -> (Int,Int,Int)
13:07:19 <elliott_> go (!l,!w,!c) 32 = (l, w+1, c+1)
13:07:19 <elliott_> go (!l,!w,!c) 10 = (l+1, w+1, c+1)
13:07:21 <Deewiant> I thought about that but for some reason thought + was strict
13:07:58 <elliott_> ais523_: It's just a matter of skipping over consecutive whitespace when counting words
13:08:06 <elliott_> Deewiant: I consider "a b" to have three words
13:08:16 <elliott_> The file is totally invalid utf-anything, anyway
13:08:28 <Deewiant> I'm sure that LC_ALL=C will speed it up though
13:08:30 <ais523_> elliott_: I think Deewiant's saying that GNU wc may be trying to do multibyte and slowing down as a result
13:08:53 <elliott_> OK, now GNU just takes 0m0.726s
13:09:12 <elliott_> Also my code is shorter than GNU wc's :P
13:09:54 <elliott_> I'm gonna see whether iteratee or enumerator is faster at this now :P
13:10:24 <elliott_> Deewiant: ais523_: If you're curious, this is the code: http://sprunge.us/FMMF
13:10:43 <elliott_> If slightly broken for now :-)
13:10:49 <ais523_> if I'm not curious, is it still the code?
13:10:56 <Deewiant> Oh, except using a different iteratee?
13:10:57 <elliott_> Deewiant: I pasted an old, broken version
13:11:04 <elliott_> Which also had a massive stack leak
13:11:19 <elliott_> ais523_: You'll have to look at it to find out.
13:11:46 <ais523_> elliott_: no, that would defeat the point of the experiment
13:11:54 <ais523_> unless I wasn't curious at the time
13:12:03 <elliott_> ais523_: Just look at it REALLY passively.
13:12:04 <ais523_> but it'd be hard to look at it without being curious about it
13:12:08 <ais523_> unless someone paid me, or something
13:12:35 <ais523_> (note: without knowing what a deal /is/, accepting it can be a bad idea...)
13:16:19 <elliott_> As I expected, enumerator is consistently just a bit slower
13:16:27 <elliott_> I suspect because it uses lists for chunks rather than ByteStrings
13:16:31 <elliott_> ais523_: served me fine in Agora
13:16:56 <ais523_> I'm not sure if I think so...
13:17:15 <ais523_> part of the issue is that Agora's legal system was (and is) relatively spineless
13:17:20 <elliott_> ais523_: Hey, I'm consistently a player more often than Wooble and tswett
13:17:58 <ais523_> what do you think of Pavitra's ambiguous registration attempt, btw?
13:18:13 <elliott_> But yeah, you're right, I don't even know how you'd go about getting exiled; I'm honestly surprised everyone's just forgiven Yally, since he kept up his violation spree even /after/ his point was made
13:18:30 <elliott_> ais523_: I think the silly overly-accepting definition of registration makes it way too ambiguous to judge without being a mind-reader
13:18:35 <elliott_> I suspect he's not a player because he wanted there to be ambiguity
13:18:43 <elliott_> If it was another action, I might actually have to think about it
13:19:08 <ais523_> I tried to argue once that attempting an ambiguous registration was itself evidence that you wanted to be a player, but I think I got appealed and overruled on that one
13:19:27 <elliott_> Maybe people expressing a general liking of Agora on the lists and participating regularly should count as wanting to be a player
13:19:35 <elliott_> You clearly want to participate, and have no objection to the game
13:19:59 <elliott_> oh no, oleg already did a benchmarked wc with iteratees
13:20:22 <ais523_> and, being oleg, it is necessarily better than any other wc anyone can ever right?
13:20:36 <elliott_> probably, he sure seems to have paid a lot of attention to it
13:20:45 <elliott_> ugh he does it really elegantly
13:20:50 <ais523_> note: for some reason, my typing-out-of-habit converts sounds to key sequences, not words to key sequences
13:20:52 <elliott_> he does line-counting and char-counting and word-counting completely separately
13:21:04 <elliott_> because iteratees let you do that while still only processing the input stream once
13:23:12 <Deewiant> You might be able to speed it up by putting them together manually
13:23:30 <elliott_> Deewiant: I'll try and replicate his program first with a modern iteratee library
13:23:43 <elliott_> Since nobody actually uses his AFAIK :P
13:23:48 <elliott_> Does anyone actually use Oleg code directly? :-)
13:27:35 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:31:31 -!- cheater_ has quit (Ping timeout: 264 seconds).
13:33:56 <elliott_> egh, how do you even combine two...
13:56:55 -!- copumpkin has joined.
13:56:56 -!- copumpkin has quit (Changing host).
13:56:56 -!- copumpkin has joined.
13:59:48 <elliott_> copumpkin how do iteratees work i need the two minute version
14:00:03 <elliott_> how do i run two iteratees in parallel with the iteratee package :D
14:00:10 <elliott_> can't find it in the documentation :(
14:00:11 <copumpkin> beats me, I don't know the packages for them
14:00:13 <elliott_> i am close to giving up, on everything
14:02:01 <elliott_> eneeCheckIfDone :: (Monad m, NullPoint elo) => ((Stream eli -> Iteratee eli m a) -> Iteratee elo m (Iteratee eli m a)) -> Enumeratee elo eli m a
14:09:10 -!- ais523_ has quit (Quit: Page closed).
14:24:29 <elliott_> im bringing out the big boys, wc on one gig file
14:26:28 <elliott_> wc takes fourteen seconds, even with LC_ALL=C
14:28:27 <lambdabot> forall a. (a -> a -> Bool) -> [a] -> [[a]]
14:28:34 <elliott_> > groupBy (not . isSpace) "abc def quux"
14:28:34 <lambdabot> Couldn't match expected type `a -> GHC.Bool.Bool'
14:28:52 <elliott_> > groupBy (\a b -> not (isSpace a) && isSpace b) "abc def quux"
14:28:53 <lambdabot> ["a","b","c ","d","e","f ","q","u","u","x"]
14:28:59 <elliott_> > groupBy (\a b -> isSpace a && isSpace b) "abc def quux"
14:29:00 <lambdabot> ["a","b","c"," ","d","e","f"," ","q","u","u","x"]
14:29:04 <elliott_> > groupBy (\a b -> not (isSpace a && isSpace b)) "abc def quux"
14:47:17 <Lymia> elliott_, your Haskell wc was faster than the C one?
14:47:56 <elliott_> Lymia: yes, although it's not quite fair:
14:48:10 <elliott_> - I don't actually count words properly (but I did something _as expensive_ as doing it properly :))
14:48:24 <elliott_> Although I suppose the only extra feature wc has is... multibyte support
14:48:28 <elliott_> And I turned that off with LC_ALL
14:48:45 <elliott_> Lymia: So yeah, ha ha ha, I beat GNU with twenty lines of Haskell.
14:48:56 <elliott_> ...and a bunch of good libraries.
14:49:57 <Lymia> How much run-time overhead is there to Haskell code vs C code anyways?
14:50:12 <elliott_> ask a question that makes sense and perhaps you will receive an answer :)
14:54:07 <Lymia> What does sense mean?
15:00:20 <Patashu> it depends what you're using to run the haskell code
15:00:55 <Patashu> also, isn't there that special cpu that's designed to speed up haskell
15:00:59 <Patashu> the reducertron or something
15:01:43 <elliott_> it doesn't actually run haskell
15:01:46 <elliott_> just a subset graph reduction language
15:01:58 <elliott_> but yeah it reduces purely functional programs super fast
15:03:08 <Patashu> haskell -> reduceron compiler gogogo
15:04:00 <elliott_> ghc core is pretty close sort of
15:05:15 -!- hiato has joined.
15:08:22 <hiato> greetings elliott_
15:10:00 <hiato> salutations, Lymia
15:10:15 <hiato> is today a particularly good day Lymia ?
15:10:53 -!- variable has joined.
15:12:10 -!- MigoMipo has quit (Read error: Connection reset by peer).
15:35:14 -!- myndzi has quit (Ping timeout: 258 seconds).
15:38:34 <elliott_> WHAT OTHER PROGRAMS _ARE_ THERE
15:38:57 -!- IronEagle has joined.
15:40:33 <elliott_> @Mehrdad Even if Haskell has a procedural language for IO there is a big difference between Haskell and Scheme. Say that you write [putStrLn "ABCDE", putStrLn "12345"] in Haskell. This will not do any IO. It's a list of two IO computations, but they have to "get in contact" with main to actually execute. So IO values really do behave like any other values in Haskell, except that main is special. – augustss 2 days ago
15:40:33 <elliott_> @sdcvvc: Thanks for the link, looking at it right now. @augustss: I don't see how the fact that everything is delayed makes Haskell purely functional... if you delay it, it's still going to happen, but it's just later than when you think. How does that make any difference? – Mehrdad yesterday
15:43:51 -!- monqy has joined.
15:50:16 -!- Lymia has quit (Ping timeout: 260 seconds).
15:50:47 -!- Lymia has joined.
15:56:14 -!- DocHerrings has joined.
16:00:17 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
16:00:18 <DocHerrings> Okay, Eodermdrome Interpreter v2.0 complete
16:01:16 <DocHerrings> Anyone want to help me debug? I promise it looks better - I even used comments! ;) http://pastebin.com/WudDDi4Y
16:04:23 <elliott_> i am rather tired so i do not know how much help I will be :)
16:04:33 <elliott_> (defun graph-transform (subgraph sclosed replacement rclosed)
16:04:36 <elliott_> doesn't defun have implicit progn
16:05:15 <DocHerrings> And yes, sorry. To many if statements and etc mean I reflexively use progn to be safe.
16:05:36 <elliott_> "sorry"? i was just curious :)
16:05:41 <elliott_> and by much better, does it run the example or not? :D
16:05:52 <elliott_> ais was here earlier, you just missed him :(
16:06:32 <elliott_> if oerjan's program doesn't i suspect it's simply broken, the program that is
16:07:37 <DocHerrings> Well, it does work... now I just have to make it a bit less deterministic. As it is, rules are checked in-order.
16:09:13 -!- myndzi has joined.
16:13:03 -!- IronEagle has quit (Read error: Connection reset by peer).
16:13:11 -!- IronEagle has joined.
16:13:45 <elliott_> DocHerrings: you might want to permute the rules or similar rather than using icky unreliable random numbers :)
16:14:17 <DocHerrings> That's what I was thinking. Maybe scramble the rule table every 5 iterations?
16:15:48 <DocHerrings> elliott_ : I think I know why orjan's program does not work. I think he forgot the closed node degree rule.
16:16:29 <elliott_> DocHerrings: i'd scramble it every iteration, more fun
16:18:00 <Phantom_Hoover> DocHerrings, wait, you wrote an Eodermdrome interpreter?
16:18:46 <DocHerrings> Sorry. We can compare notes/implementations some day.
16:20:24 <DocHerrings> I honestly can't imagine a better way to implement it than I did, so it would be interesting to see some other method.
16:21:32 <elliott_> i hope DocHerrings realises all this hostility is false :D
16:21:48 <DocHerrings> Hold on, oerjan's code might be correct. I made one assumption that I meant to ask ais about.
16:22:18 <Phantom_Hoover> Also I was totally going to use Haskell to do it so my implementation is better even though it doesn't and probably won't exist.
16:23:34 <DocHerrings> Is it ironic that someone beat me to implementing my own language?
16:24:58 <IronEagle> DocHerrings: no, but it is funny as all hell.
16:25:46 <DocHerrings> I blame python for making it to easy. And it seems the Arborealis bug died out already.
16:26:01 <Phantom_Hoover> IronEagle, sorry, you realise that Eodermdrome wasn't implemented for quite a few years.
16:26:02 <Sgeo> What would happen if the FURscript person came here?
16:26:37 <Phantom_Hoover> Sgeo, we would all be nice to him in a clearly sarcastic way.
16:27:21 <Sgeo> IronEagle, http://esolangs.org/wiki/FURscript whoever made this
16:27:31 <IronEagle> what do you all hate about FURscript?
16:28:22 <IronEagle> elliot_: it doesn't seem that bad. it's bad, but its not THAT bad.
16:28:45 <elliott_> [DRVFREE="DIRECTORY"] CHECKS THE SPACE OF THE DRIVE (MB'S)
16:28:45 <elliott_> [DIRFORMAT="DIRECTORY","BYPASSSECURITY?"] FORMATS A DRIVE AND ASKS WHETHER TO BYPASS ALL RESTRICTIONS
16:28:51 <elliott_> [SYSDIAG] CHECKS THE OS VERSION
16:29:06 <elliott_> this is a random string of words where some commands have : and others a space and others = and it has no control flow
16:29:19 <elliott_> it defines "procedures" but not what a procedure is, how it's named, anything
16:29:29 <DocHerrings> And the caps... well, that is just par for course in hell.
16:29:40 <elliott_> it's amazing really, it betrays a complete lack of understanding of... any possible concept of programming
16:29:56 <Sgeo> It's like HQ9+ except the author thinks it's usable
16:30:11 <IronEagle> elliott_: well, it does seem to be only a concept. It doesn't say that the compiler that will implement it can't have variables
16:30:33 <Sgeo> Ooh! Variables as an implementation-defined feature
16:31:03 <elliott_> all I'm saying is, if the articles in [[Category:Shameful]] don't set off major alarm bells in your head, you _might_ be reading them wrong
16:31:18 <elliott_> apart from Esme, Esme shouldn't set off alarm bells, it's just the best language.
16:31:20 <Sgeo> I just created an awesome awesome language.
16:31:27 <elliott_> Sgeo: is it everything is implementation defined
16:31:38 <elliott_> i can do literally everything with it
16:32:52 <IronEagle> elliot_: I just see potential. there is a language created to be the hardest to understand, WHY NOT a language meant to be the most hated language?
16:33:09 <elliott_> IronEagle: but the guy who made it is, according to the source who dumped it there, completely serious and sincere about it
16:33:13 <elliott_> and doesn't even think it's an esoteric language
16:33:20 <elliott_> The person who designed this language was 100% serious about it and the vb6 compiler, but I think he got as far as a text box and a copyright notice before going back to programming his graphics calculator. --Einsidler 10:44, 24 Nov 2006 (UTC)
16:33:29 <DocHerrings> I thought that was Malbore's nitch anyways...
16:33:36 <elliott_> Phantom_Hoover: I'll add an Esme interpreter to EgoBot.
16:33:42 <Sgeo> Hey, I liked programming my graphics calculator!
16:33:58 <elliott_> !veebeewiki\esmerelda BootStrapInstall:E S M E; \E\S\M\e\I\n\s\t\al\l
16:34:23 <elliott_> Phantom_Hoover: Please go to http://www.vfd.org/esmeralda-cgi-bin/egobot.pl to use it.
16:34:45 <Sgeo> Sounds vaguely PESOIX related, which is PSOX related...
16:34:55 <Sgeo> The creator of Esme is a blasphemer!
16:35:28 <Sgeo> http://esolangs.org/wiki/Esme
16:35:35 <Sgeo> "The VeeBeeWiki wiki software needs Esme and Perl to run. The software also needs EsmeCSS: and EsoShell: namespaces."
16:35:54 <elliott_> IronEagle: we're still talking aren't we?
16:36:20 <elliott_> Phantom_Hoover: ive been sending you /msgs
16:36:24 -!- IronEagle has quit (Read error: Operation timed out).
16:36:29 <Phantom_Hoover> If I haven't responded, it probably means I didn't have anything to say.
16:36:48 <elliott_> Phantom_Hoover: inside i am crying
16:36:54 <Phantom_Hoover> Or that my goddamn connection went down but it's been pretty good for the last couple of days.
16:37:15 <elliott_> i just said "HELLO CAN YOU HEAR ME" did you get that
16:37:18 <elliott_> if so your connection is not down
16:37:24 <DocHerrings> The shameful category really needs to exist.
16:37:39 -!- aloril has quit (Ping timeout: 250 seconds).
16:38:19 <elliott_> DocHerrings: If we create the page, the Great Summoning will occur, and Graue will reap our souls from the deep.
16:39:11 <DocHerrings> elliott_: then we will save it for the great Ending, when FURscript becomes popular.
16:39:25 <elliott_> maybe ironeagle created furscript and we hurt their feelings :(
16:39:53 <Phantom_Hoover> elliott_, I have had one or two congenial emails from graue; may I brave his terrible wrath?
16:40:05 <elliott_> STUX TRIED AND WE NEVER HEARD FROM HIM AGAIN
16:40:18 <DocHerrings> Nope, because even ironeagle admitted that it was a hateful language, elliott_
16:41:41 <DocHerrings> Oh, and I am terrified to admit that oerjan's program is almost certainty wrong.
16:42:22 * Phantom_Hoover casts himself in front of DocHerrings to take the blow.
16:42:37 <DocHerrings> NNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
16:43:23 <DocHerrings> Would it make it worse if I fix the program?
16:44:13 <elliott_> That would be thinking yourself as good as oerjan.
16:44:49 <DocHerrings> elliott_ : GASP, that's impossible! Best not to anger him then.
16:47:05 <DocHerrings> Well, here is the assumption that has me stumped: Are all connections unique?
16:47:59 <elliott_> you cannot possibly hope to answer such questions without oerjan's phd
16:48:07 <DocHerrings> To put it graphically, is 'ab' the same as 'aba'?
16:49:12 <DocHerrings> The problem is, no matter what I assume, oerjan's program still terminates after the first match.
16:50:08 -!- aloril has joined.
16:55:01 <DocHerrings> Well, oerjan's program does not work in either case, and I did make that assumption.
16:56:38 <Phantom_Hoover> Come to think of it, I'm sceptical of oerjan's init structure.
16:57:23 <Phantom_Hoover> I parse miewehit as (m-i-e-w) (e-h) (i-t)m which isn't how he does it.
16:57:30 <Sgeo> <insert snarky and inappropriate comment here>
17:19:41 <Sgeo> Dear Global Agenda updater: Please stop guessing time based on percentage and the assumption you're downloading the entire game again.
17:20:17 <Sgeo> That was a fasst 9 hours
17:21:59 -!- oerjan has joined.
17:24:54 <DocHerrings> Okay, I will admit, my bad. I missed a very important tidbit in the specs.
17:27:04 <DocHerrings> How the heck am I going to implement this? The shape if of the graph is what matters, nothing else.
17:27:54 <Phantom_Hoover> I should've looked at your code, I could have saved you hours.
17:28:22 <DocHerrings> Yes, I was. But I was calculating it strictly. I had all nodes being unique.
17:29:48 <oerjan> DocHerrings: um the nodes in a given rule are distinct, if that's what you mean
17:30:57 <oerjan> they certainly should be distinct. they're just not necessarily the same from each application of a rule to the next.
17:31:48 <DocHerrings> Well, all that needs to be changed is the subgraph matching portion. Not too bad.
17:32:13 <oerjan> oh wait, are you still confused about whether aba == ab
17:32:36 <Phantom_Hoover> DocHerrings, sorry, let me get this straight: were you matching nodes by label to detect subgraphs?
17:32:38 <Phantom_Hoover> DocHerrings, erm, what are you labelling created closed nodes as?
17:32:46 <oerjan> different occurences of the same letter in a rule are identical nodes, of course
17:33:02 <oerjan> *occurrences, er lemme look that up
17:33:53 <DocHerrings> Phantom_Hoover: The nodes were identified internally by letter, making this implementation essentially a 'strict' eodermdrome.
17:34:21 <Phantom_Hoover> oerjan, yeah, but it looks like he stores the whole graph as (label,label) where label is a character.
17:34:25 <Phantom_Hoover> DocHerrings, you mean there can't be more than 26 nodes?
17:35:32 <DocHerrings> Phantom_Hoover: well, this explains two things, one: the implementation felt too easy, and two: I was puzzled how a limited system could be turing complete.
17:36:18 <Phantom_Hoover> DocHerrings, FWIW, your label system is salvageable with some modifications.
17:36:58 <DocHerrings> Phantom_Hoover: Yes, I am aware. The set up is sound, just the graph re-writing system needs work.
17:37:53 <elliott_> when all is said and done maybe i'll write THE BEST haskell eoderm
17:39:05 <DocHerrings> Okay, so all the parts of graph-transform need to be changed, as well as subgraphp. That should be the entirety of the problem.
17:40:04 -!- copumpkin has quit (Ping timeout: 276 seconds).
17:41:50 <Phantom_Hoover> DocHerrings, your subgraph detection code looks too short to be implementing proper isomorphism detection.
17:42:25 <elliott_> "It needs to be more complicated!"
17:43:41 <DocHerrings> The beauty of my system (when I thought it worked) is that it was simple. Now it's going to get very complicated.
17:45:13 <Phantom_Hoover> DocHerrings, there is some comfort to be found in the fact that the parser is extremely simple.
17:45:58 -!- copumpkin has joined.
17:45:59 -!- copumpkin has quit (Changing host).
17:45:59 -!- copumpkin has joined.
17:47:36 <Phantom_Hoover> Hmm, what's a good way of representing graphs in Haskell to start with?
17:48:08 <elliott_> and also HANDS OFF MY LANGUAGE
17:48:18 <DocHerrings> Whelp, I guess I will log off now. I leave my code to whoever wants it http://pastebin.com/WudDDi4Y . If you have an idea, go at it. I will work on it in the interim.
17:48:33 <Phantom_Hoover> elliott_, I was not-writing an Eodermdrome interpreter before it was cool.
17:48:44 <quintopia> oh, eodermdrome is grasp's tarpit. got it.
17:49:20 <oerjan> terrible misspelling of ais523 you've got there
17:49:39 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
17:49:47 <elliott_> oerjan: can i just say that your program is pretty
17:50:13 <oerjan> i spent some time substituting letters at the end
17:52:49 <quintopia> Phantom_Hoover: it looks like the primary operation is the subgraph transformation. this would make it grasp without the ability to define your own initial graph or classes of graphs.
17:53:38 <Phantom_Hoover> It's like saying the primary operation of Lazy K is combinator substitution.
17:54:44 <quintopia> what happens when when a command happens? a subgraph gets transformed. program execution consists of repeatedly transforming subgraphs (in arbitrary order). i'm not seeing what you're hung up on
17:55:00 <Phantom_Hoover> quintopia, it's essentially the imperative/declarative difference.
17:55:47 <elliott_> Phantom_Hoover: oerjan: http://www.mediafire.com/?kpprnmm3wiyqdpp
17:56:27 <quintopia> nevertheless, it looks like implementing eodermdrome in grasp would be more trivial than in any other language
17:56:52 <elliott_> Phantom_Hoover: You record it, then, with your superior knowledge of Gaelic pronunciation or whatever.
17:57:02 <elliott_> oerjan: sure hope you're listening :<
17:58:08 <Phantom_Hoover> For one thing, 'miewehit' should be pronounced 'mee-ay-way-heet', not 'my-ewit".
17:58:23 <elliott_> Phantom_Hoover: Recording or shut up.
17:58:33 <elliott_> You're just racist against my accent.
18:07:19 -!- Wamanuz2 has quit (Remote host closed the connection).
18:07:46 -!- Wamanuz2 has joined.
18:13:40 <oerjan> <elliott> :t curry (uncurry (&&) . (isSpace *** isSpace))
18:16:22 <oerjan> elliott_: also, were you trying to combine multiple spaces to one?
18:16:54 <lambdabot> forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c
18:16:59 <oerjan> because i'm guessing you didn't just want to keep the first one
18:17:18 <oerjan> > unwords . words $ "<elliott> :t curry (uncurry (&&) . (isSpace *** isSpace))
18:17:19 <lambdabot> lexical error in string/character literal at end o...
18:17:36 <oerjan> > unwords . words $ "arcs \n opq q"
18:18:00 <elliott_> <oerjan> elliott_: also, were you trying to combine multiple spaces to one?
18:18:00 <lambdabot> words s = case dropWhile isSpace s of
18:18:00 <lambdabot> s' -> w : words s'' where (w, s'') = break isSpace s'
18:18:52 <oerjan> well i wouldn't be _sure_ that unwords . words is slower...
18:18:52 <elliott_> oerjan: after i managed to have it run over a one gibibyte file in four seconds with constant memory usage -- seconds better than gnu wc even with multibyte explicitly disabled -- I decided I was done :)
18:18:59 <elliott_> no, as in, I wasn't using String
18:19:08 <elliott_> and I was working on partial blocks of data
18:19:09 <Phantom_Hoover> 04:17:09: <elliott> Isn't the problem with Eodermdrome efficient implementation?
18:19:26 <elliott_> oerjan: but anyway, I never quite got my word counting right, but what I was doing was approximately as expensive, so I consider it a Haskell victory anyway
18:19:33 <Phantom_Hoover> It shouldn't be too inefficient if you use the optimising trick Ullman's algorithm supposedly has.
18:19:38 <elliott_> oerjan: (the real success is Oleg's for inventing the iteratees I used)
18:19:52 <elliott_> (and actually he optimised wc before me, although he just zipped together byte/word/line counters rather than doing it manually)
18:20:00 <elliott_> (admittedly, with iteratees, it's hard to discern the difference)
18:20:00 <Phantom_Hoover> i.e. for known H it takes polynomial time to calculate if H is a subgraph of G.
18:21:46 <oerjan> Phantom_Hoover: well it's pretty obvious that's polynomial, that doesn't mean it's efficient :P
18:22:24 <oerjan> so hopefully ullman's algorithm does something cleverer
18:22:43 <oerjan> Phantom_Hoover: from the polynomial degree being something like the subgraph size?
18:23:21 <pikhq_> elliott_: I'd imagine that making wc efficient wouldn't be hard, especially compared to GNU wc, which undoubtedly has many GNU pessimizations.
18:23:35 <elliott_> pikhq_: indeed, but getting it short _and_ pretty is another thing entirely
18:23:36 <pikhq_> Also, C string handling is a bitch and a half.
18:24:34 <elliott_> any serious wc has to be streaming anyway
18:25:48 <elliott_> pikhq_: http://sprunge.us/VFNY
18:25:55 <elliott_> faster than gnu wc, and ridiculously short and readable
18:25:55 <pikhq_> Yeah, at a bare minimum it's going to have to load up a buffer and count chars, ' ' and '/n'. Already you're losing, as far as simplicity goes.
18:26:01 <elliott_> OK yes it counts spaces, not words
18:26:10 <elliott_> but when I did have something that did something wrong, but just as expensive as, counting words, it was just as fast
18:26:19 <elliott_> but yeah, look at that code, it's so pretty :D
18:26:57 <pikhq_> http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/wc.c For comparison.
18:27:19 <elliott_> pikhq_: i'm actually really tempted to write one that does multibyte too
18:27:29 <elliott_> and just have it as fast as possible while still looking really pretty in haskell
18:27:55 <elliott_> pikhq_: oh, and that thing literally has constant memory usage
18:27:59 <elliott_> as in, it doesn't even go up, down, up, down
18:28:09 <elliott_> it uses effectively 0 memory on top of the one meg ghc overhead, throughout the whole run
18:29:13 <elliott_> pikhq_: i assumed wc would like, almost as fast
18:29:22 <elliott_> but it's the difference between basically instant and a noticeable pause, heh
18:29:29 <elliott_> pikhq_: oh wait, that's unfair
18:30:02 <elliott_> pikhq_: ok, with LC_ALL=C, mine is only about twenty to thirty milliseconds faster. consistently.
18:30:11 <elliott_> i wonder how much of that is RTS startup.
18:31:02 <pikhq_> The default output for GNU wc shouldn't depend on locale.
18:31:10 <elliott_> pikhq_: it uses different algorithms
18:31:19 <elliott_> but it runs like ten to a hundred times faster if you use LC_ALL=C
18:31:26 <pikhq_> Seeing as its default is *byte*, word and newline counts.
18:31:36 <elliott_> pikhq_: yep, but it does it anyway
18:31:48 <pikhq_> You're fucking kidding me.
18:32:07 <elliott_> pikhq_: difference between point two seven seconds and point zero seven seconds
18:32:21 -!- ttm_ has quit (Ping timeout: 246 seconds).
18:32:24 <elliott_> difference between fourteen and, like, six seconds on a gigabyte file
18:32:34 <elliott_> $ time ./wcgood ~/.VirtualBox/HardDisks/Windows\ 7.vdi
18:32:40 <pikhq_> Counting words depends on locale.
18:32:44 <elliott_> yeah this thing pretty much scales perfectly
18:32:52 -!- ttm_ has joined.
18:33:14 <elliott_> pikhq_: does it? i mean, does gnu wc know that?
18:33:22 <elliott_> jesus christ this code is hideous
18:33:37 <pikhq_> One of the few things GNU stuff does right is localisation.
18:33:47 <elliott_> because you can encode a space differently?
18:33:53 <elliott_> they don't seem to do anything particularly smart
18:34:03 <elliott_> does iswspace do anything locale-specific?
18:34:09 <elliott_> or is it literally just isspace for wchars
18:34:16 <elliott_> pikhq_: well that's stupid, there's no way it should take that much time
18:34:20 <elliott_> pikhq_: decoding utfeight is trivial
18:34:29 <elliott_> pikhq_: anyway, the files im using are invalid utf
18:34:30 <pikhq_> All the is* stuff is locale-specific.
18:34:35 <elliott_> so it'd be weird if it tried to decode them and then just... silently failed
18:34:39 <Phantom_Hoover> "<elliott_> but it's the difference between basically instant and a noticeable pause, heh"
18:34:45 <Phantom_Hoover> " The behavior of iswspace() depends on the LC_CTYPE category of the cur‐
18:34:59 <elliott_> Phantom_Hoover: I realise the results are different, see above.
18:35:09 <elliott_> pikhq_: real0m46.428s real1m44.228s
18:35:32 <pikhq_> To do it right on a Unicode locale, you need to perform a database lookup.
18:35:57 <elliott_> pikhq_: the thing with words is that its so much harder to do than line counting
18:36:04 <elliott_> pikhq_: with line counting, you just check the ten bytes in each block
18:36:10 <elliott_> with words, you have to handle the ends
18:36:19 <elliott_> and pass on info about whether the end was space or a not
18:38:07 <elliott_> pikhq_: btw -m slows down gnu wc massively with a locale
18:38:13 <elliott_> like, even more than just having a locale and calling it normally
18:38:59 <pikhq_> Yes, it then has to perform a glyph count, which is non-trivial.
18:39:29 <pikhq_> What with combining characters.
18:40:30 <elliott_> pikhq_: I think I'll put off doing chars for now :P
18:40:35 <lambdabot> Data.Maybe catMaybes :: [Maybe a] -> [a]
18:40:35 <lambdabot> Data.Maybe maybeToList :: Maybe a -> [a]
18:40:35 <lambdabot> Prelude sequence :: Monad m => [m a] -> m [a]
18:41:41 <pikhq_> elliott_: Well, at the very least you'll have the advantage of Haskell's handling of it sucking less. :P
18:47:50 <elliott_> oerjan: how does $ interact with >> again
18:48:57 <oerjan> $ has lowest precedence
18:49:16 <lambdabot> The operator `GHC.Base.>>' [infixl 1] of a section
18:51:24 <oerjan> > const >> f $ a :: Expr
18:52:34 <oerjan> > return >> f $ a :: Expr
18:52:35 <lambdabot> Ambiguous type variable `m' in the constraint:
18:53:12 <elliott_> ?pl I.zip it countWords >>= \(r,n) -> r { wcWords = n }
18:53:12 <lambdabot> expecting variable, "(", operator, ">>", ">>=", "=<<", ">>>", "^>>", "^<<" or end of input
18:53:21 <oerjan> how is that ambiguous, return is a function
18:53:23 <elliott_> ?pl I.zip it countWords >>= \(r,n) -> ifuckinghateyouass r
18:53:23 <lambdabot> ifuckinghateyouass . fst =<< I.zip it countWords
18:53:39 <elliott_> ?pl (\(r,n) -> ifuckinghateyouass r) `fmap` I.zip it countWords
18:53:40 <lambdabot> (ifuckinghateyouass . fst) `fmap` I.zip it countWords
18:54:11 <monqy> I got it confused with something else I guess
18:54:24 <monqy> probably a mixture of <$> and <**>
18:54:32 <oerjan> @hoogle f a -> (a -> b) -> f b
18:54:33 <lambdabot> Prelude fmap :: Functor f => (a -> b) -> f a -> f b
18:54:33 <lambdabot> Control.Applicative (<$>) :: Functor f => (a -> b) -> f a -> f b
18:54:33 <lambdabot> Control.Monad fmap :: Functor f => (a -> b) -> f a -> f b
18:54:35 <elliott_> oerjan: why do haskell records suck so much :(
18:55:58 -!- TOGoS has joined.
18:56:04 -!- TOGoS has left.
18:56:14 <lambdabot> forall b c (a :: * -> * -> *) d. (Arrow a) => (b -> c) -> a c d -> a b d
18:56:25 * Sgeo tries to imagine a GoL-like CA with conservation of mass
18:56:31 <lambdabot> forall c d (a :: * -> * -> *) b. (Arrow a) => (c -> d) -> a b c -> a b d
18:56:38 <elliott_> never mind I will just use fc-labels
18:57:08 <Sgeo> Here's a thought: 23/3 like usual, except a cell is only born if exactly 1 cell next to it would die, and visa versa (cell only dies if one cell next to it would be born)
18:57:22 <Sgeo> Are there unresolvable situations?
18:57:26 <Sgeo> Also, speed of light increases
18:57:46 <oerjan> Sgeo: i'm uncertain that would give a finite neighborhood
18:58:23 <Sgeo> Well, by would, I think I mean would under the 23/3 rule... but stil, yeah, hmm
18:58:45 <oerjan> in that case, i don't think it would actually preserve mass
18:59:39 <oerjan> because you could have 1 cell next to one that would be born/die, while _that_ cell has two neighbors that would die/be born (including your first one)
19:01:10 <elliott_> pikhq_: http://sprunge.us/YVON
19:01:10 <Sgeo> If there's two neighbors that would whatever, then nothing happens... but then, that gives an infinite neighborhood
19:01:14 <elliott_> pikhq_: i'm overengineering this good
19:01:42 <oerjan> exactly, my intuition says you would get a cascade of checking
19:03:18 <Sgeo> How else could conservation of mass be implemented? Or conservation of energy? Basically, I'm just trying to imagine a universe where there's resources for hypothetical life to compete for >.>
19:03:44 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
19:04:01 <Sgeo> Mass sounds easier to implement
19:04:12 -!- Wamanuz2 has joined.
19:04:53 <oerjan> i recall once wondering if rule 110 had a conserved quantity, but i got stuck
19:05:49 <lambdabot> Data.Generics.Schemes everywhere :: (a -> a) -> a -> a
19:05:49 <lambdabot> Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a
19:05:50 <lambdabot> Prelude until :: (a -> Bool) -> (a -> a) -> a -> a
19:06:42 <oerjan> didn't we agree it should be foldr (.) id last time?
19:06:52 <elliott_> does it make a difference for a finite list?
19:07:00 <elliott_> my operations are commutative, though
19:07:04 <elliott_> where opt field ctr = \it -> uncurry (setL field . Just) `fmap` I.zip it ctr
19:07:12 <elliott_> they're basically adding things to my result vector
19:07:45 <oerjan> elliott_: well maybe not really, but foldr preserves easy access to the outermost function which in haskell is applied first...
19:09:32 <oerjan> :t foldr (<<<) (arr id)
19:09:33 <lambdabot> forall (cat :: * -> * -> *) a. (Arrow cat) => [cat a a] -> cat a a
19:13:17 <Phantom_Hoover> <Sgeo> Here's a thought: 23/3 like usual, except a cell is only born if exactly 1 cell next to it would die, and visa versa (cell only dies if one cell next to it would be born)
19:13:44 <Phantom_Hoover> We speculated about this months ago and came to no conclusion.
19:14:13 <Phantom_Hoover> Then I read that paper on physical systems in CAs and discovered that it's trivial with the Margolus neighbourhood.
19:14:26 <Sgeo> I don't remember taking part in the discussion
19:14:41 <oerjan> maybe something similar to day and night would be easier, since that already has a sort of balance between on and off cells
19:18:13 <elliott_> oerjan: why isn't there a foldr' :D
19:18:15 <lambdabot> Data.ByteString foldr' :: (Word8 -> a -> a) -> a -> ByteString -> a
19:18:15 <lambdabot> Data.Foldable foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b
19:18:15 <lambdabot> Data.ByteString.Char8 foldr' :: (Char -> a -> a) -> a -> ByteString -> a
19:18:19 <elliott_> oh there is... just not in Data.List
19:20:29 <elliott_> oerjan: pikhq_: guess what's eighty-six lines already and can't even count bytes yet
19:23:51 -!- IronEagle has joined.
19:24:15 -!- cheater_ has joined.
19:24:33 <IronEagle> OK, I left when I killed the chat. as I was asking, what is wrong with a language being made to be the most hated?
19:25:28 <Phantom_Hoover> IronEagle, that's so utterly circular you could use it to measure pi.
19:25:58 <elliott_> you just didn't see our messages or something
19:26:04 <Phantom_Hoover> It's a language made to be most hated; by definition, *everything that could possibly be wrong with it, is.*
19:26:13 <oerjan> it's not dead, it's just resting
19:26:21 <elliott_> pikhq_: oerjan: http://sprunge.us/KeUQ hey look i... made it actually pretty?
19:26:23 <monqy> start with a brainfuck derivative
19:26:36 <pikhq_> GAH Brainfuck derivatives.
19:27:16 <Phantom_Hoover> Unfortunately I will have to brickbrain you before you can go any further. This is good, keep it up!
19:27:29 <IronEagle> elliott_: oh, sorry. But the way I see it, there is nothing wrong with having the perfect 'what not to do' example for people designing languages
19:27:31 <monqy> somehow make it even less original
19:27:42 <monqy> IronEagle: brainfuck derivative: don't do this
19:28:01 <pikhq_> IronEagle: The issue is we have too many of those.
19:28:19 <Phantom_Hoover> monqy, in all fairness, there are a couple of good ones, but they tend to be far removed from your standard BF derivative.
19:28:36 <IronEagle> monqy: are you kidding me? I'd do those just to be allowed to use the word fuck more often.
19:28:45 <monqy> IronEagle: how old are you
19:29:02 <Phantom_Hoover> IronEagle, http://esolangs.org/wiki/User:Phantom_Hoover
19:29:16 <IronEagle> monqy: I won't tell you unless you tell me yours.
19:29:20 <elliott_> fuck fuck fuck fuck fuckity fuck
19:29:31 <monqy> IronEagle: it was a rhetorical question
19:29:52 <elliott_> IronEagle: are you older than me
19:29:55 <oerjan> clearly IronEagle is 93
19:30:11 <Phantom_Hoover> BF + some more instructions is an infuriatingly common design.
19:30:19 <monqy> BF with renamed instructions
19:30:33 <elliott_> oerjan: its slower at counting characters than my older one, im going to profile it
19:30:46 <pikhq_> Notable changes in semantics are very, very uncommon.
19:31:09 -!- cheater_ has quit (Ping timeout: 244 seconds).
19:32:09 <elliott_> where go n (I.Chunk xs) = I.liftI $ go (n + B.length xs)
19:32:11 <elliott_> go n s@(I.EOF _) = I.idone n s
19:32:11 <pikhq_> Probably building up a thunk.
19:32:13 <elliott_> oerjan: does that look sufficiently strict to you?
19:32:18 <elliott_> pikhq_: yeah but i avoided all this last time...
19:32:27 <elliott_> option :: (WC :-> Maybe Int) -> Counter -> WCOption
19:32:27 <elliott_> option field ctr = \it -> uncurry (setL field . Just) `fmap` I.zip ctr it
19:32:58 <Phantom_Hoover> Hmm, can we make a page on the wiki called "Making an esolang: what not to do"?
19:32:59 <elliott_> option Main 468 0 66.5 68.4 68.0 69.3
19:32:59 <elliott_> countBytes Main 479 413864 1.5 0.9 1.5 0.9
19:33:01 <oerjan> elliott_: my brain is not properly on today
19:33:06 <elliott_> spending most of the time and allocation in option you say?
19:33:09 <elliott_> I do believe I have found my bug
19:33:52 <elliott_> oerjan: not even enough to make one teeny weeny function slightly more strict? :P
19:35:46 <elliott_> IronEagle: are you an eagle irl
19:36:45 <monqy> he probably killed the chat again
19:37:19 <oerjan> elliott_: well i now do notice it's not strict in n, if that matters
19:37:48 <elliott_> oerjan: that is very important because it's going to grow to beellions and beellions
19:37:50 <oerjan> how could it be, you are never testing n in go
19:38:31 <Phantom_Hoover> This is essentially a textbook example of what not to do with an esolang.
19:39:26 <elliott_> monqy: are you going to take IronEagle up on his ageswap
19:39:53 <oerjan> elliott_: perhaps that fmap is also building thunks of what to apply
19:40:15 <elliott_> oerjan: I think it is, but there's a finite, fixed (less than five) number of times it'll be composed onto itself
19:40:21 <elliott_> so I think the insidiousness is actually in the lhs, the uncurry thing
19:40:30 <elliott_> IronEagle: yeah, monqy tells you his age, you tell him yours
19:40:43 <Phantom_Hoover> IronEagle, you both meet in an inconspicuous location with a briefcase.
19:44:30 -!- esowiki has joined.
19:44:51 -!- esowiki has joined.
19:45:12 -!- esowiki has joined.
19:45:34 -!- esowiki has joined.
19:45:55 -!- esowiki has joined.
19:46:16 -!- esowiki has joined.
19:46:37 -!- esowiki has joined.
19:46:58 -!- esowiki has joined.
19:47:19 -!- esowiki has joined.
19:47:40 -!- esowiki has joined.
19:47:40 -!- glogbot has joined.
19:47:43 -!- HackEgo has joined.
19:48:53 -!- Gregor has joined.
19:49:19 -!- Gregor has changed nick to Guest13856.
19:49:35 <HackEgo> /tmp/hackenv.26795/bin/wtf
19:49:49 <HackEgo> #!/bin/sh \ echo "why $1 is like wtf"
19:50:05 <HackEgo> 131) <fungot> alise: why internet is like wtf
19:50:21 <elliott_> i could never give poor fungot a straight answer.
19:51:30 -!- zzo38 has joined.
20:00:53 <oerjan> !haskell :t \f -> uncurry (f . Just)
20:00:56 <EgoBot> \f -> uncurry (f . Just) :: (Maybe a -> b -> c) -> (a, b) -> c
20:01:19 <elliott_> oerjan: i think that whole option architecture may be elegant but flawed
20:01:31 <elliott_> I think it builds up a shitload of loops that just zip and zip and zip and process it and uh
20:01:38 <elliott_> Wait no that happens at the end
20:01:47 <elliott_> Maybe it's inlining countBytes into the option call
20:01:50 <elliott_> And thus measuring incorrectly
20:02:13 <elliott_> option :: (WC :-> Maybe Int) -> Counter -> WCOption
20:02:13 <elliott_> option field ctr = \(!it) -> do (!a,!b) <- I.zip ctr it; return $! setL field (Just a) b
20:02:19 <elliott_> No way that is taking up the entirety of my time and space.
20:03:04 -!- lambdabot has joined.
20:03:39 <oerjan> !vixen Are you female?
20:03:46 <oerjan> @vixen Are you female?
20:04:17 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
20:04:23 <elliott_> oerjan: no no no. he is the _evil_ part of lambdabot.
20:08:33 <lambdabot> i'll hafta plead the fifth on that one.
20:17:03 -!- IronEagle has left.
20:17:33 <quintopia> @vixen a simple yes or no will suffice
20:20:04 <lambdabot> i think you know the answer to that one, silly
20:20:23 <oerjan> @vixen Do you ever give a straight answer?
20:26:27 <elliott_> oerjan: ok, it is _definitely_ the function chain thing that's causing the leak
20:27:20 <elliott_> I seem to leak just by running the constant thingies
20:32:33 -!- blancnoir has quit (Quit: leaving).
20:41:24 <elliott_> oerjan: the space leak has reached "fucking inexplicable" level
20:41:35 <elliott_> sometimes I think laziness isn't worth it
20:42:13 <monqy> that's what I was going to say
20:42:30 <Robdgreat> the ULTIMATE in instant gratification
20:43:12 <elliott_> Phantom_Hoover: nah, it's basically a mechanical process to find out what i need to strictify :D
20:45:09 -!- cheater_ has joined.
20:52:43 -!- elliott_ has quit (Remote host closed the connection).
20:53:10 -!- elliott has joined.
20:53:12 <Phantom_Hoover> http://www.reddit.com/r/IAmA/comments/i5csn/iama_male_that_plans_to_raise_my_testosterone/
20:54:26 <elliott> see i thought from the title they were actually serious or whatever and was preparing myself for cringe
20:54:44 <monqy> I agree with elliott
20:57:05 <Phantom_Hoover> elliott, there's another thing saying that not masturbating for a week increases testosterone levels by 45.7%.
20:57:29 <monqy> this is just the worst
20:57:43 <elliott> Phantom_Hoover: cool, so it's actually not any less stupid than it looks at all?
20:58:02 <elliott> monqy: let's turn to the top ten items of the main page, perhaps there is something to redeem reddit there
20:58:04 <elliott> If homosexuality is genetic, wouldn't it have bred itself out of the population over the last few thousand years? (self.AskReddit)
20:58:44 <elliott> "Tay-Sachs is a genetic disease that usually kills its victims at a very young age, long before they are able to reproduce. It has not been bred out of the population because it is a recessive trait. Recessive traits, even if they affect reproduction, aren't completely removed from a population because of heterozygosity.
20:58:45 <elliott> Furthermore, homosexuals can, and often do, reproduce to pass on their dna. Think of historical times when women had little choice, lesbian or not."
20:58:55 <elliott> THEM HOMOSEXUALS JUST KEEP BREEDIN' WHETHER THEY WANT TO OR NOT
21:00:32 <Phantom_Hoover> "I found out that I am truly an Atheist. It was a hard lesson."
21:01:14 -!- kwertii has joined.
21:01:37 <Phantom_Hoover> A weight with the sun reflecting off it, with "Message from the gods" as the title.
21:02:12 <elliott> <Phantom_Hoover> "I found out that I am truly an Atheist. It was a hard lesson."
21:02:19 <Phantom_Hoover> A highly original comparison between a floppy disk and a micro SD card
21:02:24 <elliott> monqy: reddit used to be serious
21:02:47 <monqy> is there a serious reddit, or at least a reddit that is nonserious in a good way
21:03:00 <Phantom_Hoover> Aaaand... a very slightly witty "most interesting man in the world" meme.
21:03:10 <monqy> where by reddit I mean reddit equivalent
21:03:26 <elliott> monqy: i'm scared that there is
21:03:32 <elliott> monqy: i'm afraid that it might be slashdot
21:04:27 <elliott> "I think that kid might have the gay." http://www.reddit.com/r/pics/comments/i5fdo/i_wouldnt_want_to_mess_up_his_perfect_cheekbones/ quality comments
21:04:58 <elliott> "This isn't Chuck Norris' Dad, clearly."
21:05:27 <monqy> GIMME_DOWNVOTES -15 points 1 hour ago
21:05:32 <elliott> monqy where do you go to get not terrible links to things don't say this channel
21:06:02 <monqy> is that a trick question
21:07:03 <monqy> I typically only get terrible links, actually :(
21:08:07 <Phantom_Hoover> The links are a bit better, and you get an air of unbearable elitism!
21:08:17 <elliott> thanks but i get enough of that talking to you for five minutes
21:08:46 <Phantom_Hoover> Only a clearly inferior person would say something like that.
21:15:00 <elliott> "Last week I had a heart attack. As I sat in the emergency room gasping for breath the question of religion came up. I answered without thinking "atheist". The admissions nurse grinned, and told me that that was the first time in 20 years anyone had given that answer."
21:15:03 <elliott> monqy: this is going to be good post
21:15:12 <pikhq_> Y'know, reddit would be vastly improved by two features: tags, and the ability to ignore tags.
21:15:25 <elliott> pikhq_: people have been demanding tags since two thousand and five dude
21:15:27 <pikhq_> *Specifically*, the ability to ignore the tag "meme".
21:15:40 <elliott> like anyone would tag things "meme"
21:15:55 <pikhq_> Ah, right, this relies on people being intelligent.
21:15:55 <elliott> 19-year-old suspected of being mastermind behind computer hacking group LulzSec arrested in UK (content.met.police.uk)
21:16:03 <pikhq_> And memes get upvoted.
21:16:06 <elliott> pikhq_: no, it relies on them being motivated and also agreeing with you on tags
21:16:40 <pikhq_> How's about we just murder most of humanity?
21:17:26 <Phantom_Hoover> elliott, hey, that game with the coloured pegs is called Mastermind.
21:17:52 <pikhq_> Phantom_Hoover: Yes, but that leaves them still extant.
21:18:01 <elliott> Phantom_Hoover: you got that from the top comment
21:18:42 <oerjan> pikhq_: well given that these are presumably the _stupid_ people you want to send, chances are it's only time before someone opens the airlock
21:19:45 <elliott> no its the good people who go to amrs
21:20:01 <pikhq_> oerjan: "GOD TOLD ME THERE'S AIR OUT DERE"
21:20:16 <Phantom_Hoover> pikhq_, you vastly underestimate the scope of stupidity.
21:20:32 <oerjan> pikhq_: "DARWIN TOLD ME HE'S GOT AN AWARD FOR YOU"
21:30:56 -!- pikhq_ has quit (Ping timeout: 264 seconds).
21:34:42 <zzo38> Mr. _______ told you to make "59 eye 1 Mewtwo" deck.
21:35:49 -!- pikhq has joined.
21:41:57 <zzo38> Do you know how to make "59 eye 1 Mewtwo" deck?
21:55:36 <zzo38> SlashNET has some feature where it will display to me any time anyone uses the NS GHOST command (regardless of target)
21:58:41 -!- esowiki has joined.
21:59:18 -!- esowiki has joined.
21:59:59 -!- esowiki has joined.
21:59:59 -!- glogbot has joined.
22:05:18 <Phantom_Hoover> YouTube suggests "the devil went down to george" before "the devil went down to georgia".
22:06:23 <oerjan> someone really has it in for george
22:07:35 <Phantom_Hoover> The devil went down to George and said "hey, George, can I borrow a couple of your souls?" George lent him some, but the devil never gave them back.
22:07:51 <Phantom_Hoover> The rest of the song is about George trying to get the police to take him seriously.
22:08:58 -!- sebbu2 has joined.
22:08:58 -!- sebbu2 has quit (Changing host).
22:08:58 -!- sebbu2 has joined.
22:09:46 <Phantom_Hoover> 02:10:02: <pikhq> It is estimated that that would suffice for a whole-brain simulation from a low-level physics simulation.
22:10:03 <Phantom_Hoover> We don't know how a single neuron works, let alone how they interact.
22:11:09 -!- elliott has left ("Leaving").
22:11:18 -!- elliott has joined.
22:11:45 -!- sebbu has quit (Ping timeout: 240 seconds).
22:11:46 -!- sebbu2 has changed nick to sebbu.
22:11:47 <Phantom_Hoover> And I'm pretty sure they can't be abstracted significantly from the atomic level.
22:12:19 <elliott> wouldn't it be awesome if neurons were just super simple
22:13:23 <Phantom_Hoover> 02:25:33: <pikhq> No need for absurdly large quantities of energy, just a much faster computer than exists now.
22:13:35 <Phantom_Hoover> And, y'know, a precise understanding of how the brain works.
22:13:40 <elliott> Phantom_Hoover: so you don't think it's tractable to simulate neurons with pretty much anything but a direct recreation of a neuron, right?
22:14:17 <Phantom_Hoover> Biochemistry is an extremely complex thing, and you can't just pretend it isn't there and hope that nothing goes wrong.
22:14:27 <elliott> it always strikes me as trying to emulate a ridiculously parallel computer with a sequential one
22:14:31 <elliott> which will just NEver Work
22:15:54 <Phantom_Hoover> I mean, I only have idle speculation, but... there's no reason the brain is likely to be easy to optimise.
22:16:11 <zzo38> You can try but I don't know how well it is going to work
22:16:19 <elliott> Phantom_Hoover: the brain is actually compiled, god actually writes this like
22:16:24 <elliott> five hundred times bigger, modularly organised network
22:16:31 <elliott> and compiles it down to a superoptimised tight network
22:17:16 <oerjan> through fax? no wonder e's a little unstable
22:17:32 <elliott> oerjan: you know, e could be watching this channel right now.
22:17:43 <oerjan> AYEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
22:20:12 <zzo38> Calling "God" a "person" is what causes you to come up with these things. Better is to describe other way. Such as, "e could be watching this channel right now" would be irrelevant; "god actually writes this like five hundred times bigger..." nonsense and clearly untrue...
22:21:08 <elliott> oerjan: make the pain stop
22:22:16 <zzo38> Maybe you mean "paint"?
22:23:42 <elliott> oerjan: between this and a space leak
22:25:28 <oerjan> elliott: so basically you've been _very_ wicked in a previous life
22:26:46 <Phantom_Hoover> Surpassed only in wickedness by the wicked witches of the west and east.
22:27:19 <Phantom_Hoover> So wait, are you the wicked witch of the west or east?
22:28:56 <elliott> `addquote <Phantom_Hoover> The wickedest man of all. <Phantom_Hoover> Surpassed only in wickedness by the wicked witches of the west and east. <copumpkin> you talking about me again? <Phantom_Hoover> Yes. <copumpkin> k
22:28:57 <HackEgo> 462) <Phantom_Hoover> The wickedest man of all. <Phantom_Hoover> Surpassed only in wickedness by the wicked witches of the west and east. <copumpkin> you talking about me again? <Phantom_Hoover> Yes. <copumpkin> k
22:35:08 -!- Vorpal has quit (Ping timeout: 264 seconds).
22:35:59 -!- Phantom_Hoover has quit (Quit: Leaving).
22:38:32 <elliott> oerjan: heap profiles are not always helpful: http://i.imgur.com/bILdj.png
22:39:11 <monqy> so what's (474)option/ds_d2IT/proces...
22:39:47 <elliott> monqy: i suspect it is processOpts and option merged together by some kind of optimisation
22:39:54 <elliott> i have a feeling that countBytes has got merged in too, though
22:40:02 <elliott> meaning that the figures are rather unhelpful for tracking down the space leak
22:40:19 <monqy> perhaps compile without optimisation while tracking down the space leak, or would that unhelp too
22:40:38 <elliott> monqy: i think it'd unhelp because all the clever stuff ghc is doing to the code would not happen
22:40:43 <elliott> i'll try it if i can't track this leak down, though
22:40:56 <oerjan> -hc is the profile which doesn't require turning on profiling while compiling, isn't it?
22:41:00 <elliott> aha, a type breakdown is a bit more helpful
22:41:08 <elliott> oerjan: um i don't know, I thought I did
22:41:21 <elliott> ok so Stream is taking up the most well that's out of my hands
22:45:06 <elliott> I guess I'll have to sovle it tomorrow
22:48:04 <zzo38> How many people intentionally try to go to jail?
22:48:58 <quintopia> usually only former convicts who can't cope with the real world
22:49:51 <elliott> or people who would actually have better living conditions in prison, i suspect
22:50:49 <quintopia> i will accept much worse living conditions than prison to have my freedom
22:52:14 <zzo38> How good are you at Pokemon Card?
22:52:58 <elliott> quintopia: yeah, but you'd also stock up on gold if society collapsed, and also I doubt you've ever experienced _truly_ horrific living conditions, so I wasn't exactly using you as a benchmark
22:53:43 <zzo38> Did you know that ... Imakuni? wants you to play him as a basic pokemon but you can't
22:54:06 <quintopia> elliott: i'm not crazy, and my imagination is better than you give credit to.
22:54:34 <elliott> i didn't say you were crazy, and i never mentioned your imagination; you're the one assuming you'd be a good benchmark here
22:56:45 <quintopia> did i? i'm claiming that i am, yes, pretty typical. i know some people value security more than me, and others value freedom more than me. perhaps i'm a bit closer to the freedom end of the spectrum than average.
22:57:30 <elliott> there is no way i can communicate what i was trying to to you
22:57:41 -!- pikhq_ has joined.
22:57:50 -!- pikhq has quit (Ping timeout: 244 seconds).
22:59:33 <quintopia> zzo38: i'm not really into pokemon
23:00:28 <elliott> was that an xkcd reference
23:00:34 <elliott> @LulzSec lol U should Use the word "legitimate"more refrainly as ALL that FRAUD like ALL COURTS, THEIR "LAWS"..i.e STATUTES=ACTS of DECEIT
23:00:52 <monqy> /about what is this
23:00:59 <monqy> oh a lulzsec quote I've heard of them
23:01:07 <elliott> thats someone addressing them
23:01:29 <monqy> (i don't use twitter)
23:01:42 <elliott> "Stop fearing three-letter agencies, friends. They're humans with slightly more paper and fancier uniforms; they are just like you and me. :)"
23:01:42 <monqy> what is that guy trying to say
23:01:52 <elliott> --lulz security, rational people??
23:02:05 <monqy> and what's that babaou thing
23:02:24 <elliott> replying to "Ryan Cleary is not part of LulzSec; we house one of our many legitimate chatrooms on his IRC server, but that's it."
23:02:34 <elliott> i guess you shouldn't say legitimate because governments aren't legitimate? god knows
23:02:41 <elliott> http://twitter.com/#!/babaus2
23:02:42 <elliott> ..born..curious....gone ..furious.. Women = Beauty, Body, Brain..;-)...hmm.. Men = Mental, Midgets, Male...lol..
23:02:48 <elliott> i think we've found ourselves an intellectual guys
23:03:00 <elliott> tempted to do a dramatic reading of that line
23:03:39 <elliott> there is a twitter account called PhilosophyQuotz
23:03:49 <elliott> was PhilosophyQuotes taken, and if so, why was that their second choice
23:04:02 <elliott> http://twitter.com/#!/PhilosophyQuotz
23:04:06 <elliott> gangsta philosophy of the streets
23:04:30 <monqy> Philosophy quotes and quotes by philosophers.
23:04:47 <elliott> they might just quote like
23:04:57 <elliott> if he says something about philosophy
23:05:04 <monqy> http://twitter.com/#!/PhilosophyQuotes hmm
23:07:19 <elliott> "People secretly want all video game characters to be planes."
23:07:53 <zzo38> Maybe some people do.
23:08:13 <elliott> #esoteric -- come for the esolangs, stay for the zzo38
23:09:04 <monqy> is this plane fetishism, a joke, or just nonsense
23:09:07 <zzo38> And then you need to add ", leave for the ________" something too.
23:09:19 <elliott> monqy: everything is nonsense, i make sure to remove all the context i can when quoting
23:09:23 <elliott> #esoteric -- come for the esolangs, stay for the zzo38, leave for the zzo38
23:09:42 <monqy> does that mean leave because zzo38 is here or leave to follow zzo38 home
23:09:44 -!- zzo38 has set topic: #esoteric -- come for the esolangs, stay for the zzo38, leave for the zzo38 | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
23:12:01 <oerjan> it's just the plane truth
23:20:36 -!- onca has joined.
23:20:52 <elliott> onca: came here for the esolangs?
23:21:17 <zzo38> I have idea something that I would like to see in LLVM, is to have commands to deal with activation records and stack, such as one to mark the return stack, one to copy the return stack to the mark, and one to restore from the copy (any number of times until the mark and/or copy becomes invalid)
23:21:28 -!- azaq23 has joined.
23:21:34 <zzo38> As well possibly things that directly activate data stored in activations records somehow
23:22:05 <elliott> doesn't it have something for that though?
23:23:51 <onca> elliott, what's a esolang and how many do I need?
23:24:06 <zzo38> onca: Look at wiki and then you decide.
23:24:51 <onca> there's a poor chap in the # that is speaking to me in espainol and I was looking through channels for something with the -es or -sp in the title and stumbled on to this chan.
23:25:14 <elliott> oh here let me copy our wiki im lazy
23:25:18 <elliott> Welcome to the esoteric programming languages wiki! This wiki is dedicated to the fostering and documentation of programming languages designed to be unique, difficult to program in, or just plain weird. Here's how you can explore this wiki.
23:25:18 <elliott> An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use.
23:25:32 <elliott> we're very good at toying with newbies until they disappear
23:25:45 <elliott> we'd be happy to take on a patient gratis right oerjan
23:27:14 <Lymia> I disagree with that definition.
23:27:53 <elliott> how many times have you done the whole perl is an esolang stick i recall like at least three other times
23:28:02 <elliott> surely its getting old no matter how funny it was originally
23:28:57 <onca> that would include all programming languages.
23:29:08 <onca> should I start the bidding on ada?
23:29:19 <elliott> bidding? erm yes definitely sure.
23:29:36 <zzo38> onca: Why do you need bidding?
23:30:08 <onca> I dont need bidding.
23:30:15 <onca> just trying to liquidate
23:30:35 <onca> everything must go.
23:30:43 <elliott> im glad this channel doesnt have a really explicitly obvious name itd like halve our day to day irc funtimes
23:31:15 <onca> orange you glad I didn't say bananas?
23:31:35 <zzo38> Everything of what?
23:31:44 <oerjan> no, we like the occasional banana scheme
23:31:50 <monqy> I prefer bananas over oranges, myself
23:32:34 <oerjan> by the power of something
23:34:52 <elliott> goodnight, tomorrow i shall write best wc
23:36:09 <zzo38> You could have: i8* .mark() i8* .save(i8*) void .continue(i8*) void .discardmark(i8*) void .discardsave(i8*) Now you can make something similar to call/cc possibly
23:37:07 <oerjan> um you can do that with setjmp can't you, surely llvm supports that?
23:37:25 <zzo38> Yes it does support setjmp and longjmp
23:38:13 <zzo38> But I am not sure if it does what I am saying
23:39:09 -!- elliott has quit (Ping timeout: 252 seconds).
23:39:38 <zzo38> Simply restoring the stack pointer and frame pointer is not enough in some cases
23:41:24 <pikhq_> oerjan: The only usage of setjmp and longjmp that's not undefined is jumping up the stack.
23:43:31 -!- onca has quit (Quit: Leaving.).
23:45:54 -!- oerjan has quit (Quit: Good night).
23:55:09 <zzo38> This new way might help a lot of things
23:59:28 <Sgeo> Shut up and take my monkey!
23:59:48 -!- augur has quit (Remote host closed the connection).
00:00:27 <Sgeo> Paypal deals with monkeys now?
00:03:58 -!- Wamanuz2 has quit (Ping timeout: 244 seconds).
00:04:14 -!- fizzie has quit (Ping timeout: 276 seconds).
00:04:52 -!- aloril has quit (Ping timeout: 250 seconds).
00:04:59 <zzo38> Do you know whether or not a PHI node in LLVM is allowed to return label type values and if those values can be used later?
00:05:29 -!- Wamanuz2 has joined.
00:11:57 -!- Lymia has changed nick to Lymee.
00:13:30 -!- Wamanuz2 has quit (Remote host closed the connection).
00:13:57 -!- Wamanuz2 has joined.
00:14:35 -!- fizzie has joined.
00:17:41 -!- Patashu has joined.
00:24:23 -!- augur has joined.
00:28:30 -!- aloril has joined.
00:47:26 -!- FireFly has quit (Quit: swatted to death).
00:50:11 -!- F has quit (Ping timeout: 276 seconds).
00:57:15 -!- F has joined.
01:10:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:18:01 -!- kwertii has quit (Quit: bye).
01:18:48 -!- Slereah has quit.
01:38:56 -!- CakeProphet has quit (Ping timeout: 276 seconds).
01:40:13 <zzo38> Once my grandfather said he would call the president and tell him to remove the words "I don't want" from the dictionary.
01:43:00 -!- copumpkin has joined.
01:43:00 -!- copumpkin has quit (Changing host).
01:43:00 -!- copumpkin has joined.
01:44:34 -!- CakeProphet has joined.
01:44:34 -!- CakeProphet has quit (Changing host).
01:44:34 -!- CakeProphet has joined.
01:55:29 -!- DocHerrings has joined.
02:00:15 <zzo38> Tell me if you would like to have access to TeXnicard_Extra repository.
02:04:29 -!- Guest13856 has changed nick to Gregor.
02:04:59 -!- Gregor has changed nick to Guest10869.
02:05:48 <zzo38> Guest10869: Wrong number please
02:07:58 -!- azaq23 has quit (Read error: Operation timed out).
02:09:47 -!- azaq23 has joined.
02:09:49 -!- azaq23 has quit (Changing host).
02:09:49 -!- azaq23 has joined.
02:12:02 -!- azaq23 has quit (Client Quit).
02:17:16 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
02:25:22 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:12:09 <zzo38> Are you going to have Qu'ran for dinner?
03:12:52 <pikhq_> I'm afraid that Qu'ran is probably not that good-tasting.
03:17:02 <pikhq_> Still, I'd rather not eat a book of bullshit.
03:17:44 <coppro> `addquote < pikhq_> I'm afraid that Qu'ran is probably not that good-tasting. < coppro> pikhq_: edible paper < pikhq_> Still, I'd rather not eat a book of bullshit.
03:17:45 <HackEgo> 463) < pikhq_> I'm afraid that Qu'ran is probably not that good-tasting. < coppro> pikhq_: edible paper < pikhq_> Still, I'd rather not eat a book of bullshit.
03:20:27 <coppro> guy comes in with a probability (die rolling) question
03:20:33 <coppro> I ask "How would you approach the problem?"
03:21:06 <monqy> was it least a good problem
03:21:35 <coppro> If you roll a six-sided die three times, what are the odds that the results are not all different
03:22:02 <pikhq_> Hmm. Annoying, but not hard.
03:24:34 <pikhq_> Yeah, certainly not the sort of problem people do because they're curious.
03:25:14 <pikhq_> (arguably the worst part of homework for math: it's problems that are fundamentally boring.)
03:26:27 -!- azaq23 has joined.
03:30:08 <coppro> he just asked (and, after a prod, solved) another one; this time the chances that two dice are the same and there is at least one six
03:37:15 <zzo38> I think support of these units for measurements on paper should be sufficient: pt (point) bp (desktop publishing point) in (inch) cm (centimetre) mm (millimetre) em (em width -- font specific) ex (ex height -- font specific)
03:37:48 <zzo38> I don't think other are needed but you can tell me if you believe otherwise.
03:37:55 <pikhq_> That seems entirely sufficient.
03:38:27 <zzo38> Actually I probably don't need centimetres if you can use millimetres instead. Do you think should be removed or not?
03:40:51 <coppro> You should just use metres and accept all SI prefixes
03:43:22 -!- azaq23 has quit (Ping timeout: 240 seconds).
03:43:53 <zzo38> coppro: I doubt that is necessary or important. It would also clash with the other units and complicate the programming. Maybe in other programs it would be useful though.
03:54:02 -!- azaq23 has joined.
04:03:01 * Sgeo learns about Fredkin gates
04:25:47 -!- augur has quit (Remote host closed the connection).
04:57:16 -!- Guest10869 has changed nick to Gregor.
04:58:01 <Sgeo> If complex numbers weren't invented, how difficult would it be to work them out from the understanding of quantum mechanics?
04:59:20 <pikhq_> I'm pretty sure that complex numbers would by necessity have been described *much* earlier.
05:00:09 <pikhq_> Given that you absolutely need an understanding thereof for understanding certain classes of differential equations.
05:00:19 <pikhq_> Guess what's used extensively in classical mechanics?
05:01:43 -!- augur has joined.
05:25:43 -!- Sgeo_ has joined.
05:27:48 -!- Sgeo has quit (Ping timeout: 250 seconds).
05:46:10 -!- Sgeo_ has changed nick to Sgeo.
06:16:53 -!- newsham has joined.
06:39:47 -!- Slereah has joined.
06:46:36 -!- evincar has joined.
06:47:20 <evincar> How's life in the esoteric world?
06:55:37 -!- evincar has quit (Quit: ChatZilla 0.9.87 [Firefox 3.6.17/20110422054610]).
06:56:21 <Lymee> Let's make a page calling Haskell a wimpmode of Unlambda
07:00:29 -!- monqy has quit (Quit: hello).
07:05:14 -!- zzo38 has quit (Remote host closed the connection).
07:34:45 <Patashu> unlambda is a wimpmode of subtle cough
08:05:09 -!- oerjan has joined.
08:27:04 -!- sodras has joined.
08:39:24 <cheater_> Patashu, wtf is "subtle cough"?
08:44:45 <Patashu> http://www.esolangs.org/wiki/Subtle_cough
09:13:30 <Lymee> I went and made a basic optimizing Brainfuck->C compiler in Scala.
09:14:02 <Lymee> It might benefit from code to recognize balanced loops and handle them specially.
09:16:42 -!- Wamanuz3 has joined.
09:19:35 -!- Wamanuz2 has quit (Ping timeout: 246 seconds).
09:22:06 -!- sodras has quit (Ping timeout: 252 seconds).
09:22:24 -!- Vorpal has joined.
09:41:41 -!- choochter has joined.
10:32:40 -!- newsham has quit (Quit: gone).
10:45:49 -!- oerjan has quit (Quit: leaving).
11:11:50 -!- FireFly has joined.
11:18:17 -!- Vorpal has quit (Ping timeout: 260 seconds).
11:25:20 -!- Slereah has quit (Ping timeout: 252 seconds).
11:59:52 -!- azaq23 has quit (Quit: Leaving.).
12:02:12 -!- Phantom_Hoover has joined.
12:05:12 -!- Vorpal has joined.
12:09:39 -!- Wamanuz3 has quit (Remote host closed the connection).
12:10:46 -!- Wamanuz3 has joined.
12:34:32 -!- CakeProphet has quit (Ping timeout: 260 seconds).
12:35:30 -!- CakeProphet has joined.
12:35:31 -!- CakeProphet has quit (Changing host).
12:35:31 -!- CakeProphet has joined.
12:42:24 <Lymee> I'm writing an Brainfuck->C compiler for fum
12:42:37 <Lymee> I'm getting a lot of this:
12:42:57 <Lymee> Guess it's time to write code to turn stuff like this into something less painful, eh...
12:45:04 <lambdabot> Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them.
12:45:16 <Lymee> Phantom_Hoover, fun is fun.
12:49:32 <CakeProphet> http://en.wikipedia.org/wiki/Dangling_else
12:53:35 -!- MigoMipo has joined.
12:54:22 <Lymee> Phantom_Hoover, and don't tell me I can't beat esotope.
12:54:26 <Lymee> I will try, damnit.
12:55:24 <Lymee> Phantom_Hoover, i will.
12:57:03 -!- Wamanuz3 has quit (Ping timeout: 252 seconds).
12:58:26 -!- Wamanuz3 has joined.
13:01:11 <Phantom_Hoover> OK, I have some weird rock version of The Bonnie Banks of Loch Lomond stuck in my head.
13:19:47 <Vorpal> <Lymee> Phantom_Hoover, and don't tell me I can't beat esotope. <-- of course it can be done, but it won't be easy
13:20:27 <Vorpal> Phantom_Hoover, *ouch*
13:20:59 <Phantom_Hoover> Vorpal, what are you talking about, it's an awesome weird rock version of The Bonnie Banks of Loch Lomond.
13:23:21 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/i61gh/say_a_ship_with_humans_on_it_makes_it_to_the_edge/
13:23:35 <Phantom_Hoover> This is possibly the single stupidest question I have seen on AskScience.
13:27:19 <Patashu> It's actually not very well understood
13:27:46 <Patashu> People talk about the universe expanding
13:27:49 <Patashu> Often relating it to a balloon
13:27:54 <Patashu> So you could think 'the universe has an edge then'
13:27:57 <Patashu> and then try to think about it and ?_?
13:28:17 <Patashu> I think I'm a bit confused about it myself. Is it true that the universe is shaped as the 3D surface of a 4D sphere equivalent?
13:28:29 <Patashu> So if you travel in any direction you travel the 3D equivalent of a great circle
13:28:59 <Vorpal> yeah I think I heard about that one too
13:29:08 <Vorpal> of course, no one knows for sure yet.
13:29:38 <Phantom_Hoover> ISTR someone looking at the CMB and suggesting that the data was consistent with the universe being a Poincare dodecahedron, but I think it was also refuted or at least too uncertain.
13:30:24 <Patashu> If you aren't experienced in thinking about 4 dimensional shapes
13:30:27 <Patashu> you WILL think there's an edge
13:30:32 <Patashu> or that the universe is infinitely large (not true)
13:31:23 <Vorpal> Patashu, think of something like the game astroids where iirc if you go across one edge you appear on the other.
13:31:39 <Patashu> That's because I've thought about it before
13:32:23 <Vorpal> I wonder what it would be like to see in more than 3 dimensions
13:32:50 <Vorpal> Phantom_Hoover, yes, it isn't an exact parallel.
13:33:18 <Vorpal> Phantom_Hoover, however, it illustrates the general concept
13:34:05 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:34:23 <Vorpal> Phantom_Hoover, what curvature does the Poincare dodecahedron have?
13:35:20 <Phantom_Hoover> Vorpal, I'm guessing it's positive, since it's similar to the sphere.
13:41:50 -!- BeholdMyGlory has joined.
13:42:38 * Phantom_Hoover notes that his understanding of special relativity has collapsed.
13:43:43 <Vorpal> Phantom_Hoover, oh? It is easy, twins age at different rates when one travels at high speed. The end.
13:43:53 <Vorpal> (actually: accelerates)
13:51:46 <quintopia> Stockholm has a sea fortress called Suomenlina, and in Iceland there is a restaurant called Cafe Summalinna, I think in a town of the same name. Do any of the scandinavians here know if these words are related?
13:52:06 <Vorpal> quintopia, Stockholm has a sea fortress called Suomenlina, <-- sure? That sounds Finnish to me
13:52:34 <Vorpal> quintopia, big difference
13:52:40 <quintopia> but i'm almost positive it's stockholm
13:52:46 <Vorpal> yeah it is Helsinki says google
13:52:58 <Vorpal> quintopia, for a start it is a different language family
13:53:00 <quintopia> i rode too many ferries to remember where they came from and where they went
13:53:40 <Vorpal> quintopia, besides it seems to be spelled Suomenlinna
13:53:47 <quintopia> sure the families are different, but helsinki used to be in sweden, so maybe they got some loan words?
13:54:04 <quintopia> Vorpal: which makes it even closer to the spelling summalinna
13:55:23 <Vorpal> quintopia, however it is the wrong language group if it is in Finland and Iceland. One is a germanic language, the other is a finnic language
13:56:10 -!- copumpkin has joined.
13:56:32 <quintopia> apparently it means "visitor" in finnish?
13:56:51 <Vorpal> I'm from Sweden, not Finland
13:57:32 <quintopia> all the road signs in helsinki are in both swedish and finnish. it wouldn't be hard for you to get around :P
13:57:54 <Vorpal> quintopia, doesn't mean I speak Finnish :P
13:58:34 <quintopia> but google does, and it says "visitor"
13:58:37 <Vorpal> quintopia, anyway that is a rather different dialect of Swedish spoken over there. Some words would be different certainly.
13:58:53 <Vorpal> quintopia, google thinks cm = inches when I translated a page :P
13:59:10 <Vorpal> without converting the value
13:59:45 <Deewiant> quintopia: "Suomenlinna" = "Finland's castle"
13:59:46 <quintopia> i don't use it to translate pages. it sucks at that
13:59:55 <Vorpal> fizzie, hi see the mc channel
14:00:27 <Vorpal> quintopia, it seems to suck at tanslating words too
14:00:38 <Vorpal> quintopia, anyway I doubt the Icelandic one is related
14:00:49 <Vorpal> quintopia, since Deewiant spoke about what it meant in Finnish
14:01:49 -!- Wamanuz4 has joined.
14:01:55 -!- Wamanuz3 has quit (Read error: Connection reset by peer).
14:02:56 <fizzie> AFAIK them Icelandickers try to avoid loanwords quite much.
14:08:14 <Phantom_Hoover> I mean c'mon, English borrowed everyone else's words and suddenly they don't want them back?
14:08:30 <Vorpal> Phantom_Hoover, I guess it is an attempt at retaining the identity of the language, since it is small, it won't be as easy as for English
14:08:45 <Vorpal> Iceland has a tiny population
14:10:46 <Phantom_Hoover> Wait, Kylie is derived from an Australian Aboriginal word?
14:10:56 -!- Wamanuz5 has joined.
14:11:04 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
14:18:44 * Sgeo only 4 days later sees the stunt elliott tried to pull on me in Agora
14:23:30 -!- Wamanuz5 has quit (Remote host closed the connection).
14:24:29 -!- Wamanuz5 has joined.
14:29:53 <Sgeo> Someone tried to degregister me and some other people by objection. I objected
14:29:59 -!- Wamanuz5 has quit (Read error: Connection reset by peer).
14:30:04 -!- Wamanuz has joined.
14:30:55 <Sgeo> Shortly afterwards, elliott complained about this, but while doing so, repeated the original intent, exactly as it appeared in the original emaill.... so that in Gmail, and perhaps some other clients, it looked like elliott was just quoting what appeared in a previous email.
14:31:34 <Sgeo> Hmm, now I'm wondering what would have happened if tswett didn't notice. Would have been an interesting CFJ
14:34:25 <Sgeo> If someone doesn't think to click "Show quoted text" then it wouldn't be noticed that elliott was actually taking an action, rather than just referring to a previous message
14:39:13 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
14:39:19 -!- SimonRC has quit (Ping timeout: 260 seconds).
14:46:34 -!- Elizacat has joined.
15:01:08 -!- SimonRC has joined.
15:05:42 -!- SimonRC has quit (Ping timeout: 252 seconds).
15:06:52 -!- SimonRC has joined.
15:17:04 * Phantom_Hoover notes that they really turned up the sex for the 6th series of Futurama
15:18:44 <Phantom_Hoover> Also, they changed the layout of Zoidberg's internal organs.
15:24:54 <Vorpal> Phantom_Hoover, why would they do the latter
15:34:14 <Vorpal> I just discovered the sport "Extreme Ironing". WTF but awesome.
15:35:57 -!- monqy has joined.
15:52:39 -!- Wamanuz has quit (Remote host closed the connection).
15:53:12 -!- Wamanuz has joined.
15:58:12 -!- Lymee has quit (Ping timeout: 252 seconds).
15:59:39 -!- Lymee has joined.
16:13:09 -!- Wamanuz has quit (Read error: Operation timed out).
16:18:47 -!- Wamanuz has joined.
16:23:57 -!- Slereah has joined.
16:32:36 -!- Wamanuz has quit (Ping timeout: 252 seconds).
16:32:40 -!- Wamanuz2 has joined.
16:36:08 -!- zzo38 has joined.
16:42:20 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
16:43:30 -!- newsham has joined.
16:43:43 -!- Wamanuz2 has joined.
16:49:42 -!- Wamanuz3 has joined.
16:50:27 -!- Wamanuz2 has quit (Ping timeout: 244 seconds).
16:50:30 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
16:56:38 -!- Wamanuz3 has quit (Read error: Connection reset by peer).
16:56:41 -!- Tritonio has joined.
16:57:37 -!- Wamanuz3 has joined.
17:09:42 -!- oerjan has joined.
17:15:53 -!- Wamanuz3 has quit (Ping timeout: 250 seconds).
17:16:34 <oerjan> `translatefromto en fi Does this work any longer?
17:16:51 -!- Tritonio_GR has joined.
17:16:55 <oerjan> `translatefromto fi en suomenlinna
17:17:01 <oerjan> `translatefromto fi en suomen linna
17:17:35 -!- Wamanuz4 has joined.
17:17:44 <oerjan> quintopia: ^ Pretty conclusive i'd say
17:18:01 <oerjan> `translatefromto is en summalinna
17:18:28 <oerjan> `translatefromto is en tölva
17:18:46 <oerjan> `translatefromto is en summa linna
17:19:21 <oerjan> i think -ina or -inna is a possible definite article, though
17:19:44 -!- Tritonio has quit (Ping timeout: 240 seconds).
17:20:05 <oerjan> but summal doesn't sound very icelandic to me
17:20:07 <zzo38> Has the present king of France stopped robbing banks?
17:20:48 <quintopia> нйеееееееееееееееееееееееееееееееееееееееееееееееееееееет
17:22:15 <oerjan> i cannot find any trace of this icelandic thing you refer to
17:24:23 <oerjan> in fact the top hit i get for summalinna is someone misspelling the other one :P
17:26:18 <fizzie> In quotes, that's the only hit I get for "Summalinna".
17:26:34 -!- Wamanuz4 has quit (Ping timeout: 252 seconds).
17:28:10 <oerjan> quintopia: there's a swedish café smulan, if that helps :P
17:28:57 <oerjan> (if it's anything like norwegian, smulan = the crumb)
17:31:03 <oerjan> quintopia: do you have any idea where you heard about this icelandic cafe?
17:31:35 <oerjan> and you're sure it was iceland
17:32:38 <quintopia> in the journal it's spelled summalina
17:33:46 <oerjan> and where in iceland was this?
17:34:22 -!- TOGoS has joined.
17:34:25 -!- TOGoS has left.
17:34:52 <oerjan> that exact word gives only 8 google hits
17:36:37 <quintopia> the village had "fjörður" at the end of course
17:38:16 <oerjan> i guess it's a too tiny village then...
17:39:26 <quintopia> they had an internet connection i think, but i don't think they had a website :P
17:40:39 <quintopia> If i had to guess, i'd say it was Reyðarfjörður. that sounds right and looks to be in the right place.
17:43:41 <quintopia> it's on the Faskrúðsfjörður wikipedia page :P
17:44:04 <oerjan> `translatefromto is en sumarlína
17:44:08 <oerjan> `translatefromto is en sumar lína
17:47:34 <oerjan> `translatefromto is en sumarinn
17:47:44 <oerjan> `translatefromto is en sumarin
17:48:05 <oerjan> `translatefromto is en lína
17:48:39 <oerjan> so, i am guessing the first part is summer
17:48:50 -!- pikhq_ has quit (Ping timeout: 244 seconds).
17:48:50 -!- pikhq has joined.
17:49:16 <Deewiant> (geometry) a line, a straight line syn.
17:54:44 <oerjan> oh it's actually a woman's name http://is.wikipedia.org/wiki/Sumarl%C3%ADna
17:55:54 <oerjan> that page should make all clear *cackles madly*
17:57:49 <oerjan> oh wait there may be only two people called that (since 1950, anyway) :P
18:06:28 <oerjan> oh Lína is a female name, the term "mannanöfn" confused me
18:06:52 <oerjan> to a norwegian it looks like it means "men's name", but it actually just means "human name"
18:07:09 <oerjan> so Sumarlína is a simple compound, i guess
18:07:39 <quintopia> icelandic is the least changed from old norse. back then "man" meant "human"
18:09:02 <oerjan> yes, but curiously it seems not to _also_ mean just "male human"
18:10:50 <oerjan> unlike in norwegian, where "mann" means male, these days mostly unambiguously
18:10:57 <HackEgo> 34) <zzo38> I am not on the moon.
18:11:23 <oerjan> tswett: IT WOULD HAVE EXPLAINED SO MUCH
18:15:48 <oerjan> ok wiktionary seems to indicate it sometimes still means "man", or "husband"
18:17:58 <quintopia> oerjan: in old english, i think man was human, where husman was man and wyfman was woman, or somethign like that
18:23:07 <EgoBot> Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor hello id jethro kraut lperl lsh map num ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg
18:23:31 <EgoBot> haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print
18:25:12 <oerjan> !haskell import System.Random; main = randomRIO (0,1) >>= print
18:25:29 <lambdabot> dice <expr>. Throw random dice. <expr> is of the form 3d6+2.
18:26:32 <oerjan> i wonder wth ghc doesn't use defaulting to make that Integer...
18:26:47 <lambdabot> unexpected "*": expecting digit, "+" or end
18:27:35 <oerjan> ?? ?run (?dice 4d7)*3+1
18:27:36 <lambdabot> <no location info>: parse error on input `=>'
18:29:21 <quintopia> oerjan: speaking of Lína being a female name, the swedish version of that name is the name of the most famous woman in computing history :P
18:29:56 <oerjan> i thought lina was the swedish version
18:31:08 <oerjan> well obviously there are several versions, but i assume lina is the closest one
18:32:24 <quintopia> she's also the centerfold of the most popular issue in Playboy history
18:32:54 <newsham> what do you want 4d7*3+1 to be?
18:33:01 <oerjan> "It is a picture of Lena Söderberg, a Swedish model, shot by photographer Dwight Hooker."
18:33:40 <Deewiant> I'd still argue that Ada's more popular :-P
18:34:04 <oerjan> Deewiant: you'd think. and Grace.
18:35:09 <oerjan> newsham: mostly, i'd want it to be a number you could feed on into @run
18:36:16 <quintopia> Deewiant, oerjan: you underestimate the male sex drive :P
18:36:43 <quintopia> fucking lady byron. i think she was probably a nutcase
18:41:53 <lambdabot> run <expr>. You have Haskell, 3 seconds and no IO. Go nuts!
18:42:30 <newsham> oerjan: ?. ?run and ?dice ?
18:44:35 -!- NihilistDandy has joined.
18:46:56 <oerjan> newsham: ?? works slightly different than ?.
18:47:22 <oerjan> newsham: my point was the result of @dice is not a plain number
18:48:55 <oerjan> @@ @run (read . last . words $ @read @dice 4d7)*3+1
18:48:56 <lambdabot> Plugin `compose' failed with: Prelude.read: no parse
18:48:58 <newsham> make an "unDice" function :)
18:49:14 <lambdabot> Plugin `dummy' failed with: Prelude.read: no parse
18:49:26 <oerjan> @show maybe this was it
18:49:34 <oerjan> @@ @run (read . last . words $ @show @dice 4d7)*3+1
18:49:35 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
18:50:37 <oerjan> @@ @run last . words $ @show @dice 4d7
18:51:15 <oerjan> @@ @run (last . words $ @show @dice 4d7)
18:51:16 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
18:51:31 <oerjan> @@ @run (last . words $ (@show @dice 4d7))
18:51:37 <oerjan> @@ @run (last . words $ (@show @dice 4d7))*3+1
18:51:38 <lambdabot> No instance for (GHC.Num.Num GHC.Base.String)
18:51:47 <oerjan> @@ @run (read . last . words $ (@show @dice 4d7))*3+1
18:52:07 <newsham> lambdabot is looking more and more like an esoteric language
18:52:11 <oerjan> newsham: anyway you can see how much simpler that would have been if @dice just printed the number :P
18:52:25 <newsham> oerjan: submit a patch! ;-)
18:53:19 <newsham> also ?let undice = read . last . words . @show or something like so?
18:54:03 <newsham> ok, without the @show, but with the rest, still makes it simpler
18:59:48 -!- adamfyre has joined.
19:00:10 <oerjan> is adamfyre a burning man
19:03:04 <oerjan> well stop playing with gasoline!
19:07:32 -!- adamfyre has quit (Quit: AndroidIrc Disconnecting).
19:08:26 <oerjan> just a man on a qwest, passing by
19:18:51 -!- Phantom_Hoover has joined.
19:25:44 -!- Deewiant has quit (Quit: Viivan loppu.).
19:26:10 -!- Deewiant has joined.
19:29:04 * pikhq wonders at ldd /bin/ls
19:29:14 <pikhq> Does ls really need libdl?
19:34:43 <newsham> ls --with-gnu-emacs-dynamic-module-option=my.so
19:34:55 <pikhq> Ah, probably being pulled in through libacl and libselinux.
19:35:02 <pikhq> I'm very curious about libpthread still.
19:46:50 <newsham> http://code.google.com/p/unix-jun72/source/browse/trunk/src/cmd/ls.s
19:50:42 <Deewiant> That's almost 10x less lines of asm than there are lines of C in GNU ls
19:54:20 <newsham> jsrr5,questf; < nonexistent\n\0>;
19:54:56 <newsham> sometimes args are put inline in the code
19:55:05 <newsham> the caller adjusts the return addr
20:20:59 <olsner> Phantom_Hoover: it's like perl
20:27:40 <olsner> newsham: javascript:alert(/whatever/) just displays /whatever/
20:31:06 <oerjan> !perl print q doesthiswork? ;
20:31:07 <EgoBot> Can't find string terminator "d" anywhere before EOF at /tmp/input.5883 line 1.
20:31:30 <oerjan> hmph pesky space exception
20:32:08 <oerjan> !perl print q_but this then?_;
20:32:08 <EgoBot> syntax error at /tmp/input.5986 line 1, near "_;"
20:32:30 <oerjan> !perl print q _but this then?_ ;
20:32:34 <olsner> wow, perl has syntax errors?
20:33:02 <olsner> and here I thought every byte sequence would be a valid perl program
20:33:21 <olsner> or: what weird dialect of perl is this bot using?
20:33:38 <oerjan> and chixqsomething relies on it, too!
20:33:49 <EgoBot> Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor hello id jethro kraut lperl lsh map num ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg
20:33:52 -!- pikhq has quit (Ping timeout: 252 seconds).
20:34:00 -!- pikhq has joined.
20:34:13 <olsner> !svedeesh my hovercraft is full of eels
20:34:14 <EgoBot> my hooffercrefffft is fuull oouffff iels
20:34:15 <oerjan> !chiqrsx9p xThis should compile as perl, dammit!
20:34:16 <EgoBot> Unquoted string "l" may clash with future reserved word at (eval 1) line 1, <STDIN> line 1.
20:34:57 <olsner> so everything else was fine, but a stray 'l' will kill you? nice one
20:35:19 <oerjan> !chiqrsx9p xThis should compile as perl, dammit!
20:35:38 <newsham> olsner: true. almost string like though
20:35:38 <oerjan> !echo did that kill you?
20:35:54 <newsham> whats the way to convert it to string.. something like /foo/.src?
20:36:24 <newsham> i think its non portable :(
20:36:40 <oerjan> olsner: technically that was a warning not an error, i think
20:37:03 <olsner> I think that must have been its string conversion that I saw, presumably opera stringifies regexps as /etc/
20:40:22 <olsner> oerjan: ... syntax error is a warning?
20:40:49 <oerjan> olsner: i mean that unquoted string thing
20:40:49 <olsner> or did you refer to the chiqrsx9p message?
20:51:15 -!- choochter has quit (Ping timeout: 255 seconds).
21:05:33 * Phantom_Hoover reads the list of ideas, notes that someone thinks that #!s use your path.
21:06:14 <Phantom_Hoover> (Wait, does it? It's handled in the kernel, so I assume it isn't poking through the env, but...)
21:06:15 <olsner> they can! if you make the #! use something that uses your path that is
21:06:46 <olsner> e.g. /usr/bin/env foo is a common idiom, which I have no idea what it *really* does
21:07:26 -!- pikhq_ has joined.
21:07:27 <Phantom_Hoover> It also allows control over the precise nature of the environment.
21:08:08 <olsner> but what it does when given no options is to look up foo in the path, as opposed to putting #!foo directly which wouldn't?
21:08:54 -!- pikhq has quit (Ping timeout: 240 seconds).
21:09:19 <Phantom_Hoover> #!<foo> tells execve to execute <foo> <file>, and I really really doubt execve even *can* look at the environment.
21:10:00 <olsner> hmm, the environment for a process does exist in the kernel, doesn't it?
21:10:28 <Phantom_Hoover> zsh: ./foo: bad interpreter: sh: no such file or directory
21:10:56 <olsner> but it would be iffy for the kernel to rely on the environment variable called "PATH" to have a special meaning
21:11:34 -!- variable has quit (Remote host closed the connection).
21:12:11 <olsner> the kernel should run #! files through /sbin/hashbang, and then that could be like a link to bash or whatever
21:12:30 <Phantom_Hoover> If it's not an absolute pathname, it's just interpreted relative to the current directory.
21:13:19 <olsner> hmm, so what if foo starts with #!foo?
21:15:32 <olsner> hmm, "zsh: ...", you may be invoking shell magic rather than kernel magic here
21:24:17 <pikhq_> olsner: You actually could do that.
21:24:52 <pikhq_> olsner: Linux has the ability to execute arbitrary interpreters for files, based on magic or filename.
21:25:08 <olsner> Phantom_Hoover: you know, like how files without any #! will run fine from shells
21:25:35 <Phantom_Hoover> olsner, that'll just be zsh recovering from execve errors.
21:26:01 <pikhq_> Yeah, that's probably a perror(errno, "zsh")
21:26:37 <olsner> Phantom_Hoover: in bash, a file foo containing #!foo will just do nothing and return successfully
21:27:27 <pikhq_> Indeed, there's no real reason for shebang handling to be in Linux anymore. Just make /sbin/shebang the handler for the magic "#!".
21:27:48 <pikhq_> (or, if you don't want to do any actual work, /usr/bin/perl)
21:28:33 <olsner> you mean because perl will interpret hashbangs? or because it will accept any byte sequence?
21:28:50 <pikhq_> Perl interprets shebang.
21:30:03 <olsner> nice, I should start calling my shell scripts .pl with a bash hashbang and pretend that I think it's perl code
21:30:50 <olsner> I mean, that will work on windows, so I would pretend that I only test my perl scripts on windows
21:31:20 <olsner> which will be hard considering I don't have any running windows systems ... crap, my evil plans suck :(
21:31:50 <pikhq_> I'm pretty sure the only reason for it is so that passing arguments to perl from the shebang works even if you do 'perl foo.pl'.
21:34:24 <zzo38> Today I won a game of Magic: the Gathering even though I had negative 40 life points (my opponent had positive 23).
21:35:35 <pikhq_> Managed to pull off a "you cannot lose the game" trick?
21:36:14 <zzo38> Not quite. I managed to pull off a "state based effects stop working until end of turn" trick.
21:37:02 <zzo38> Positive 23 was his score at the end of the game
21:39:01 -!- cheater_ has quit (Ping timeout: 240 seconds).
21:40:10 <pikhq_> ... *State based effects* stop working. That's an astounding feat.
21:40:56 <zzo38> The imperfect deck split probably helped me to win.
21:41:12 <olsner> yes, always the imperfect splitting of the deck
21:41:35 <olsner> but however imperfect it may have been, it must have been pretty good if it made you win?
21:42:22 <zzo38> We did not construct the deck. There is a deck of many cards, nine of which I made up myself, mixed up and split, then half is given to each player (without knowing which is which). So both of us had some of these made up cards (the others are very old cards).
21:42:54 <zzo38> Probably a card played by my opponent helped me to win.
21:43:16 <zzo38> In combination with a card I played.
21:43:47 <pikhq_> I don't think there's actually a way to stop state-based effects.
21:44:10 <pikhq_> And it would break rather a lot of stuff, considering what the state-based effects *are*.
21:44:32 <pikhq_> e.g. "Tokens not on the battlefield cease to exist".
21:47:46 <zzo38> Another strange thing? One of my creatures had seven -1/-1 counters (which I put on myself).......
21:48:24 <pikhq_> Seriously, *how the hell did you pull off no state-based effects*.
21:48:37 <pikhq_> And why didn't you use it to break things further?
21:49:16 <pikhq_> Tokens in the library! Sorceries on the battlefield!
21:49:50 <zzo38> pikhq_: I don't think sorceries on the battlefield is related to state-based effects.
21:50:09 <pikhq_> A spell not on the stack ceases to exist as a state-based effect.
21:50:10 <zzo38> The rule was, last I checked: "Instant or sorcery trying to come into play instead remains where it is"
21:50:46 <pikhq_> Sorry, that's a *copy* of a spell.
21:51:03 <pikhq_> Still would let you put things on the battlefield that shouldn't be.
21:51:29 <zzo38> One of the made-up cards (my opponent made up some cards too; both of us agreed to each other cards and then the cards were mixed with others and split at random between us (neither of us constructed a deck))
21:57:05 -!- azaq23 has joined.
21:58:47 <zzo38> In fact I had an idea make up a card (not used in this game) was a creature card with phasing and "when this card comes into play, it becomes an instant in addition to its other types"
21:59:39 <zzo38> As far as I can tell, this would result in the card remaining phased out for the rest of the game.
22:01:41 <zzo38> Once in an actual tournament my opponent disagreed with me about the rules. I was correct and the judge confirmed it, so the opponent decided to concede because they didn't like that rule.
22:02:33 -!- Phantom_Hoover has quit (Quit: Leaving).
22:03:03 <zzo38> (At the same time, the tournament organizer failed to compute the scores correctly (by failing to post that score) and scored me in second place (I should have been first).) (Also, that was the only time in a tournament where I didn't score last place.)
22:03:59 <zzo38> Actually there was one tournament where I failed to score any placing because as it turned out there was not enough time to start the game.
22:07:50 <zzo38> Some people say the new rules are simplified. I say they are only more klugy. I say all editions of Magic: the Gaterhing are klugy and they always are adding klugy rules, especially the rules having to do with planeswalkers are also klugy.
22:08:04 <oerjan> <pikhq_> I'm pretty sure the only reason for it is so that passing arguments to perl from the shebang works even if you do 'perl foo.pl'. <-- iirc it's also because shebangs are (at least in some os'es) restricted to a single option argument
22:09:05 -!- sebbu2 has joined.
22:09:05 -!- sebbu2 has quit (Changing host).
22:09:05 -!- sebbu2 has joined.
22:11:53 -!- sebbu has quit (Ping timeout: 240 seconds).
22:25:48 <pikhq_> zzo38: Less kludgey than just about every other game's rules, though.
22:26:20 <pikhq_> Simply by merit of being well-defined.
22:27:40 -!- oerjan has quit (Quit: This thing needs a reboot).
22:30:46 -!- variable has joined.
22:31:53 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:33:51 <coppro> I know of no way by which the rule zzo38 quoted can actually come into to play
22:35:23 <zzo38> pikhq_: Yes, the rules are well defined but __________
22:35:52 <coppro> ah, the dreaded underscore problem
22:35:54 <zzo38> coppro: That is why I invented such a card.
22:36:47 <zzo38> Perhaps it would make more sense a copy of a spell entering play becomes a token.
22:36:53 <coppro> also, the rules for phasing have changed
22:37:05 <pikhq_> zzo38: The Un* cards do not work at present.
22:37:26 <coppro> phasing is now a status on permanents
22:37:31 <coppro> phased-out things do not leave the battlefield
22:37:34 <pikhq_> The rules for phasing are actually sane now.
22:38:09 <pikhq_> They're still a bit... Large, but mortals can understand them.
22:38:17 <coppro> pikhq_: I maintain they're printable
22:38:30 <zzo38> coppro: Well at the time that I posted that of my idea it worked the other way.
22:38:33 <pikhq_> Yes. Just barely, but it has become printable.
22:39:17 <zzo38> Still, I prefered most of the rules the way they were before, although some things I would change are things that no edition of the rules has at all
22:39:45 <pikhq_> At the very least, they can be explained succinctly now. "When cards phase in, you throw a tarp over them. When they phase out, you take the tarp off."
22:39:52 <coppro> what rules do you not like the modern versions of them?
22:40:15 <zzo38> I think the rules are beyond repair and have been that way forever.
22:40:28 <zzo38> pikhq_: That is one change I don't like that they remove mana burn
22:40:47 <pikhq_> zzo38: The rules for Magic have been entirely rewritten from scratch a few times.
22:40:48 <zzo38> However, I would remove the rule that auras that are also creatures are removed from play.
22:41:21 <pikhq_> Probably the most notable instance of this is 6th edition.
22:41:29 <zzo38> pikhq_: They are beyond repair no matter if you rewrite them from scratch today when taking this into account! You would also have to make an entirely new game with new cards and everything else new too.
22:41:41 <coppro> They're quite far from beyond repair
22:41:50 <pikhq_> Where literally *all the mechanics changed*.
22:42:10 <coppro> They deal with nearly every situation
22:42:13 <pikhq_> (y'know the stack? 6th edition.)
22:42:21 <coppro> Usually, though not always, in a sane and intuitive manner
22:42:25 <zzo38> Sixth edition certainly did fix many things but still many things are broke
22:42:41 <coppro> There are a few things that are and will forever remain horribly complex
22:42:56 <zzo38> Banding and suspend are not my concerns.
22:43:27 <coppro> mana burn was a fine rule, but it was not necessary
22:43:48 <pikhq_> I'm upset about mana burn being gone simply because it was a very flavorful thing.
22:43:48 <zzo38> Things such as combat, even. And damage, and various other things. (Including the one I mentioned about auras being creatures)
22:44:00 <pikhq_> But, yeah, certainly not necessary.
22:44:26 <zzo38> Nothing to do with flavorful but I think mana burn is a useful rule to exist in the game.
22:44:34 <coppro> the auras being creatures rule is one that exists for sanity
22:44:46 <coppro> In my experience, mana burn was just a nuisance
22:44:55 <zzo38> I also would have change much of the rules having to do with card types...... and more..... even planeswalkers......
22:44:59 <coppro> The only time it made a significant difference was when it was abused
22:45:37 <zzo38> coppro: Yes, I agree about tribal. I would have had subtypes work entirely differently, instead
22:45:52 <coppro> I still don't understand why it wouldn't have worked as a supertype :/
22:46:04 <pikhq_> Supertypes can't have subtypes.
22:46:07 <zzo38> coppro: I do understand why it wouldn't have worked as a supertype.
22:46:15 <zzo38> Yes, what pikhq_ said
22:46:55 <coppro> pikhq_: It's a minor change to allow tribal to grant creature types
22:47:07 <pikhq_> Though it seems to me that subtypes necessarily being attached to types is a bit of a bug.
22:47:09 <zzo38> :You think the auras being creatures rule is one that exists for sanity? I disagree with the rule anyways.
22:47:25 <pikhq_> Not sure how best to handle it, though. :/
22:47:28 <zzo38> pikhq_: Yes, subtypes should be attached to nothing, in my opinion
22:47:42 -!- Wamanuz4 has joined.
22:48:05 <pikhq_> coppro: Actually, to do truly minimal changing to things, tribal could have been a keyword.
22:48:32 <coppro> ability-affecting stuff would mess with that
22:48:53 <coppro> zzo38: Subtypes should not be attached to nothing
22:48:56 <pikhq_> Though then it wouldn't be in the type line, and OH DEAR GOD THEY ACTUALLY PUBLISHED ABILITY AFFECTING STUFF SOON AFTER
22:49:21 <coppro> There are a number of cards that rely on noncreature subtypes being impossible to duplicate
22:49:33 <coppro> see the Shrines, Urzatron...
22:49:53 <coppro> heh, that's a good one
22:49:56 <zzo38> coppro: Those kind of things are partially what I mean by beyond repair, but there are other things too
22:49:58 <coppro> Urza's being a land type
22:50:07 <coppro> zzo38: hardly beyond repair
22:50:16 <coppro> beyond repair implies they don't work
22:50:20 <zzo38> Then I have used the wrong word.
22:50:24 <coppro> the rules for magic work quite fine
22:50:32 <coppro> overly complicated? perhaps
22:50:34 <pikhq_> They just have to deal with a lot of edge cases.
22:52:15 <zzo38> pikhq_: That is the stupid part.
22:53:17 <pikhq_> The only way to deal with that *would*, in fact, be to junk all previous cards.
22:54:08 <zzo38> pikhq_: That would be, to, make an entirely new game too.
22:54:44 <pikhq_> Yes, it would inherently be a different game.
22:54:48 -!- oerjan has joined.
22:57:16 <coppro> As a Commander player, I've very glad for the exceptions for corner cases
22:58:30 <zzo38> Commander player? What does that mean?
23:01:59 -!- Wamanuz4 has quit (Remote host closed the connection).
23:05:15 -!- Wamanuz4 has joined.
23:09:51 -!- Wamanuz4 has quit (Ping timeout: 255 seconds).
23:13:39 -!- Wamanuz4 has joined.
23:15:20 <newsham> /sbin/hashbang is called /usr/bin/env.
23:15:45 <pikhq_> newsham: env does not parse #!
23:17:06 <coppro> zzo38: I play commander
23:18:13 -!- Wamanuz4 has quit (Ping timeout: 252 seconds).
23:18:40 -!- Wamanuz4 has joined.
23:23:30 -!- Wamanuz4 has quit (Ping timeout: 276 seconds).
23:23:40 -!- Wamanuz4 has joined.
23:29:24 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
23:43:08 * Sgeo ponders reversible CAs
23:44:05 * oerjan sAC elbisrever srednop
23:44:52 <quintopia> isnt there one that has really interesting patterns already?
23:45:01 -!- Vorpal has quit (Ping timeout: 250 seconds).
23:48:41 <oerjan> well there's the rule 30 1d automaton
23:49:11 <oerjan> i don't think that's _globally_ reversible
23:50:04 * Sgeo isn't sure of the difference, and just imagines that reversible CAs have conserved quantities that can be competed over.
23:51:15 -!- Wamanuz4 has joined.
23:51:45 <oerjan> well i'm not even sure that's the right terminology
23:52:17 <oerjan> > showIntAtBase 2 intToDigit 30 ""
23:52:57 <oerjan> the infinite tapes ...000... and ...111... both map to ...000...
23:53:39 <oerjan> but changing any _bounded_ area will give a different result
23:55:18 -!- Wamanuz4 has quit (Read error: Connection reset by peer).
23:56:04 <oerjan> Sgeo: anyway, any CA has _one_ conserved quantity... total area size :P
23:56:17 <oerjan> (yeah that's very trivial)
23:56:47 <oerjan> (but say look-and-say sequences don't have that, since they expand)
23:57:06 <Sgeo> I can imagine a CA that doesn't.
23:57:25 <Sgeo> Make it a torus except along the seams an extra block of cells is placed there every 5 generations
23:57:38 <Sgeo> Although I guuess the "seams' are arbitrary
23:57:42 <oerjan> well, that wouldn't fit the definition of a CA
23:58:01 <zzo38> Is there a law that gift cards are not allowed to expire?
00:01:19 <oerjan> maybe a local one, somewhere
00:03:25 <oerjan> definitely not in norway; in fact from http://www.regjeringen.no/nb/dep/bld/kampanjer/familia/familia-42006/diverse-saker/-gavekort-til-jul-25-milliarder-kroner-i.html?id=536565 i see the default is 3 years unless otherwise agreed
00:05:22 <Sgeo> http://en.wikipedia.org/wiki/Second_order_cellular_automaton you could just slap this onto GoL?
00:05:32 <oerjan> although that article ends with an example of inconsistent confusing terms
00:07:38 -!- Wamanuz5 has joined.
00:08:14 <zzo38> How commonly are the various typesetting units for distances used today?
00:08:16 * Sgeo wants to see what that would look like
00:08:47 <Sgeo> I guess some by-hand calculations are in order
00:09:19 <Sgeo> Let's pretend that generations 0 and 1 are always the same... unless that would always lead to a dead universe. I think it does for still-lives but not ... wait, that makes no sense
00:11:41 <zzo38> What I want to make in TeXnicard is something that it can read and understand the text of all of the cards and then compile it to make a computer program that can enforce the rules (maybe something like Inform7 but with many differences).
00:12:48 -!- Wamanuz5 has quit (Ping timeout: 260 seconds).
00:13:19 -!- Wamanuz5 has joined.
00:13:44 <oerjan> Sgeo: it does for patterns which die immediately in life, i think
00:14:05 -!- olsner has quit (Ping timeout: 258 seconds).
00:14:06 <oerjan> i mean, those become still-lives in this version
00:14:15 <Sgeo> Wait, for generations 0 and 1, should 0 -> 1 by normal GoL rules?
00:14:33 <Sgeo> Wait, I just killed the Oerjan Still Lives
00:15:02 <oerjan> Sgeo: that is equivalent to setting generation -1 all zeros, i think
00:15:32 <oerjan> this is reversible, so you can extend it both ways
00:16:49 <Sgeo> Ok, under these rules, 1 cell in gen 0 ... dies the death, I think. What pattern dies in 2 generations?
00:16:55 <Sgeo> Or am I just confused here
00:17:13 <Sgeo> I mean, normal GoL pattern
00:18:02 <oerjan> a pattern dies in generation 2 iff the gol result of generation 1 == generation 0
00:19:03 <oerjan> also, you have no way to make it _stay_ dead
00:19:21 <Sgeo> I mean, dies in 2 generations by GoL rules
00:19:33 <Sgeo> oerjan, stay dead?
00:19:48 <Sgeo> Oh, hmm, I was thinking empty universe == stay dead, which makes no sense
00:20:32 <oerjan> the only thing that produces an indefinitely empty universe is an indefinitely empty universe
00:21:45 <Sgeo> Can there exist any motion? Perhaps not in an empty universe, but
00:21:55 -!- Wamanuz5 has quit (Remote host closed the connection).
00:22:30 <Sgeo> Wait, scratch that.. I'm barely thinking about this
00:23:26 <zzo38> Would it makes sense for "5P6" means "66pt" while "5p6" means "66bp"?
00:23:43 <zzo38> (This information is based on the Wikipedia article titled "Pica (typography)")
00:24:41 <zzo38> (That is, instea of using "pc" since different units might be used)
00:26:09 -!- olsner has joined.
00:27:53 <Sgeo> It should be easy enough to convert it into a more normal CA describable as cells with 4 states, but I need to sit still long enough to do so
00:29:46 -!- Wamanuz5 has joined.
00:29:59 -!- elliott has joined.
00:30:29 <zzo38> Apparently, according to North Korean writing rules, names of leaders Kim Il-sung and Kim Jong-il must always be set off in bold.
00:30:44 <zzo38> Wikipedia mentions it but has no citation.
00:31:03 <oerjan> well it sounds utterly believable
00:35:02 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
00:35:50 -!- oerjan has quit (Quit: Good night).
00:36:24 -!- Wamanuz5 has quit (Ping timeout: 240 seconds).
00:37:29 -!- Wamanuz5 has joined.
00:38:05 -!- cheater_ has joined.
00:41:28 <elliott> 14:46:34: -!- Elizacat has joined #esoteric.
00:41:31 <elliott> 14:46:44: * Elizacat pokes Vorpal
00:41:39 <elliott> careful, you might catch whatever it is that Vorpal has
00:41:47 -!- Wamanuz5 has quit (Ping timeout: 250 seconds).
00:41:53 <elliott> 14:30:55: <Sgeo> Shortly afterwards, elliott complained about this, but while doing so, repeated the original intent, exactly as it appeared in the original emaill.... so that in Gmail, and perhaps some other clients, it looked like elliott was just quoting what appeared in a previous email.
00:41:58 <elliott> um, that wasn't intentional.
00:42:02 <elliott> that was just coincidental wording.
00:42:22 <elliott> and I still think that being able to object to your own inactivity intent is a Bad Thing.
00:42:46 -!- Wamanuz5 has joined.
00:43:13 <elliott> 14:07:45: <Phantom_Hoover> I never quite got the whole anti-loanword thing.
00:43:13 <elliott> usually it's a purity thing, see: l'Académie française
00:45:36 <monqy> you were standing up?
00:45:57 <elliott> 06:56:21: <Lymee> Let's make a page calling Haskell a wimpmode of Unlambda
00:46:01 <elliott> Lymee: oh come on, at least Lazy K
00:47:12 <elliott> 09:13:30: <Lymee> I went and made a basic optimizing Brainfuck->C compiler in Scala.
00:47:13 <elliott> 09:14:02: <Lymee> It might benefit from code to recognize balanced loops and handle them specially.
00:47:25 <elliott> Lymee: balanced loops reduce to polynomials
00:47:33 <elliott> 12:42:38: <Lymee> while(ptr[0]){
00:47:33 <elliott> 12:42:38: <Lymee> ptr[0]-=1;
00:47:43 <Sgeo> Dear Google Docs: Fuck you
00:48:03 <Lymee> elliott, no, not really.
00:48:19 <Lymee> I'm only merging sequences of +->< right now
00:48:29 <Lymee> I need to do something about balanced loops.
00:48:39 <elliott> Lymee: do you handle +>+-<-
00:49:25 <elliott> Lymee: balanced loops: copy esotope or http://mazonka.com/brainf/bff4.c (see the initial comment and grep for /LNR/)
00:49:31 <elliott> note that latter is an interpreter
00:49:38 <Lymee> elliott, yes, that should be eliminated
00:49:57 -!- Wamanuz5 has quit (Ping timeout: 276 seconds).
00:51:49 <elliott> for the esotope code (Python), see https://bitbucket.org/lifthrasiir/esotope-bfc/overview.
00:51:56 <elliott> it is by far the most advanced optimising compiler anyone has written.
00:52:01 <elliott> compiles hello world into a print statement
00:52:05 <Lymee> If you know the loop is balanced, you can compile it into a sequence of int loops=some_function(ptr[0],ptr_0_change);ptr[0]=0;ptr[1]=(some number)*loops; right?
00:52:31 <elliott> you can compile it to much less than that.
00:53:03 <elliott> http://code.google.com/p/esotope-bfc/wiki/Optimization has some fairly outdated information on esotope's optimisation
00:53:23 <elliott> e.g. it now manages to eliminate dead code and propagate conditions
00:54:45 <elliott> Lymee: you could also ask lifthrasiir (the author of esotope), ais523 or Vorpal for information on reducing balanced loops to polynomials.
00:56:31 <elliott> 13:42:38: * Phantom_Hoover notes that his understanding of special relativity has collapsed.
00:56:32 <elliott> 13:42:48: <Phantom_Hoover> Or, more likely, wasn't there to begin with
00:56:32 <elliott> 13:43:43: <Vorpal> Phantom_Hoover, oh? It is easy, twins age at different rates when one travels at high speed. The end.
00:56:32 <elliott> 13:43:53: <Vorpal> (actually: accelerates)
00:59:37 <Lymee> You can convert constant references to variables instead of accesses to the memory array, right?
01:00:09 <elliott> i'm just going to tell you to read esotope's code :)
01:00:14 <Sgeo> https://docs.google.com/document/pub?id=18eLRRmojIXEU36uad7lW7XwRRGEKFvjiYV6pS3-UF-4 well, this is intuitive as mud.
01:06:41 <Sgeo> oerjan, oh you're not here
01:08:33 -!- FireFly has quit (Quit: swatted to death).
01:13:38 -!- Sgeo_ has joined.
01:14:57 -!- Sgeo has quit (Ping timeout: 255 seconds).
01:25:41 <elliott> 17:57:49: <oerjan> oh wait there may be only two people called that (since 1950, anyway) :P
01:27:54 <CakeProphet> Since I have a day off, I should really take this opportunity to continue working on various projects...
01:28:00 <CakeProphet> but, I think I'm just going to do nothing today instead.
01:55:58 -!- pikhq has joined.
01:59:42 -!- pikhq_ has quit (Ping timeout: 276 seconds).
02:00:36 -!- pikhq_ has joined.
02:01:59 <pikhq_> Also, equipment that thinks that dropping a connection is a good thing.
02:02:19 <elliott> * pikhq (~pikhq@174-22-156-192.clsp.qwest.net) has joined #esoteric
02:02:20 <elliott> * pikhq_ has quit (Ping timeout: 276 seconds)
02:02:20 <elliott> * pikhq_ (~pikhq@174-22-164-57.clsp.qwest.net) has joined #esoteric
02:02:20 <elliott> <pikhq_> Also, equipment that thinks that dropping a connection is a good thing.
02:02:59 <elliott> pikhq: wanna help me write the BEST WC????
02:03:24 -!- pikhq has quit (Ping timeout: 240 seconds).
02:03:49 <pikhq_> 19:59 < pikhq> Stuff. That is up.
02:08:49 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
02:12:31 -!- Wamanuz5 has joined.
02:16:57 <elliott> pikhq_: you are hurting haskell with your lack of support
02:21:29 <elliott> oh god not more bot things is it
02:22:31 <Sgeo_> Why am I assuming that reversible CA implies a conserved quantity?
02:29:45 -!- Slereah has quit.
02:30:03 <tswett> Gosh, my bedtime is in ten seconds.
02:30:50 <quintopia> although for a totalistic kind of CA (or anything where the entire neighborhood is considered equally tributary) that will have to be true i think?
02:32:44 <quintopia> reversible means no entropy, which means no information is lost, and in a CA where cells are indistinguishable, that would imply conservation of quantity, yes?
02:33:50 -!- copumpkin has joined.
02:34:52 <Sgeo_> How does reversible imply no entropy? Our universe is (kind of) reversible, as far as we know, but still has entropy
02:37:44 <quintopia> Reversible process (thermodynamics), a process or cycle such that the net change at each stage in the combined entropy of the system and its surroundings is zero
02:38:00 <quintopia> therefore, the universe is not reversible
02:38:11 <quintopia> therefore, the arrow of time is uniquely forward
02:39:01 <quintopia> Reversible computing, logical reversibility of a computation - a computational step for which a well-defined inverse exists
02:39:07 <quintopia> this is the relevant definition for CAs
02:39:13 <quintopia> but it's mathematically equivalent
02:39:49 <quintopia> as an inverse is operation is only well-defined if information is conserved
02:39:57 <CakeProphet> well you can't have two states be inverses of one another because then it will cycle, which isn't really all that useful.
02:40:59 <Sgeo_> Oh, so that's why I failed my sanity check.
02:41:10 <Sgeo_> I was assuming the same rules would apply backwards and forwards.
02:41:16 <CakeProphet> unless it can produce some other thing. Similar to how glider guns work in CGoL
02:41:37 <quintopia> for instance "minus" is not an invertible operation because it takes two pieces of information and throws out one. "minus one" is invertible because it takes one piece of information and gives back an equal amount of information
02:41:43 <elliott> monqy: i clapign all the time
02:42:25 <Sgeo_> (As in, the sanity check was moronic, not what I produced prior to doing the sanity check)
02:43:00 -!- bsmntbombdood has joined.
02:43:41 <monqy> does bsmnt mean basement
02:43:44 <monqy> does dood mean dude
02:43:48 <monqy> does bomb mean bomb
02:43:51 <CakeProphet> also, you could not destroy the state of any cell, right? That would be bad because then you have no form of "motion"
02:44:29 <quintopia> CakeProphet: ah how do you destroy the state of a cell?
02:44:53 <CakeProphet> I suppose this all depends on the rules of the automaton
02:45:17 <Sgeo_> I was confusing time-symmetry with reversibility
02:45:59 <CakeProphet> but if you give rules that allow the default state to prodce non-default states, then that would imply that your grid starts off in some kind of non-constant setup.
02:46:19 * CakeProphet does not know the terminology for these things he's talking about.
02:47:33 * Sgeo_ wonders how easy/difficult it would be to put his table into Mirek's Cellebration
02:47:41 <Sgeo_> Wow, I can never spell
02:47:58 <quintopia> CakeProphet: if you return it to the default state without regard for how it will affect its neighbors, yes, you will change the nature of the CA. it might be destroying information in one sense of thinking about it, or creating it in another sense.
02:47:59 <Sgeo_> ....I got it right
02:48:24 <quintopia> Sgeo_: no one uses MCell anymore. put it in Golly. it's not that hard.
02:48:41 <Sgeo_> Would it be easier in Golly than MCell?
02:49:17 <CakeProphet> hmm okay, so then to create a CA without information loss, you would need to have no way to return to a dead state, or have a way to go from dead to alive that is reversible from the way in which the information was originally configured.
02:49:46 <Sgeo_> CakeProphet, there's an algorithmic way to make a reversible CA from a non-reversible CA
02:50:11 <quintopia> actually, there's an algorithmic way to make a reversible anything from a non-reversible anything
02:50:49 <elliott> <monqy> does bsmnt mean basement
02:50:50 <elliott> <monqy> does dood mean dude
02:50:50 <elliott> <monqy> does bomb mean bomb
02:50:55 <elliott> no mocking non-sgeo elders >:|
02:51:34 <quintopia> http://www.bbc.co.uk/news/science-environment-13874049
02:52:04 <monqy> elder is a good description of sgeo
02:52:14 <elliott> monqy: been here longer than me
02:53:03 <elliott> "We get it Apple, you own the ‘App Store’ trademark. Except, let’s be honest: you really don’t – the English languages does."
02:53:10 <elliott> omgubuntu, hard-hitting edited journalism
02:53:37 <quintopia> "it has been shown that every reversible cellular automaton can be emulated by a block cellular automaton."hmm
02:54:03 <pikhq_> Isn't "app store" pushing heavily on genericised trademark?
02:54:06 <monqy> english languages owns the app store trademark??????? app store is a mark of english languages' trade?????????
02:54:23 <elliott> pikhq_: I don't know, would anyone else name anything an App Store if Apple hadn't?
02:54:36 <elliott> "App" wasn't a very common abbreviation for "programoid"
02:54:51 <elliott> something that isn't quite the same thing as an application or program
02:55:28 <elliott> pikhq_: it shouldn't be :)
02:55:46 <elliott> pikhq_: oh you said genericised
02:55:57 <elliott> pikhq_: i dunno, nobody says "android app store"
02:56:02 <elliott> everyone says "android market"
02:56:31 <elliott> http://news.cnet.com/8301-27076_3-20073524-248/judge-likely-to-deny-apples-appstore-complaint/ <-- seems apple are trying to get amazon for using "Appstore"
02:57:12 <pikhq_> Funny, I hear "app store" as a generic term fairly often.
02:57:35 <pikhq_> Though if there's a more specific term available that'll be used instead.
02:57:48 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:57:52 <monqy> does apple own "app"
02:57:54 <monqy> does apple own "store"
02:58:19 <pikhq_> Can't cite, because I'm talking anecdotes here.
02:58:26 <elliott> monqy: does that matter if "app store" is the trademark
02:58:35 <pikhq_> monqy: Doesn't matter for trademarking.
02:58:42 <monqy> trademarking is the worst :(
02:58:49 <elliott> no, the trademark system is fairly sane
02:58:50 <elliott> imagine if the roomba was called the Robotic Magic Vacuum
02:58:53 <elliott> would you object to that being trademarked
02:59:01 <monqy> phrase trademarking
02:59:04 <monqy> what if someone else tried to sell apps
02:59:17 <elliott> i agree that "app store" is a bit edge-case, but I think the fact that nobody said "app" before that matters
02:59:30 <elliott> it's just a weird abbreviation that was only ever used colloquially and... I never even heard it
03:00:30 <CakeProphet> it is associated with my business of awesome.
03:02:24 <pikhq_> Yeah, trademark law has astoundingly few abuses, misuses, or unintended consequences. Quite unlike the other two things termed "intellectual property".
03:02:48 <pikhq_> Indeed, it's the only one that's not utterly outmoded.
03:03:53 <CakeProphet> My favorite thing about patents is that they are reasoned to promote competition
03:03:58 <CakeProphet> but... they do the exact opposite of that.
03:04:15 -!- elliott has quit (Remote host closed the connection).
03:04:24 <pikhq_> Yeah, the *concept* of patenting might have some remaining validity.
03:04:31 <pikhq_> The implementation, sure as hell not.
03:04:51 -!- elliott has joined.
03:05:42 <zzo38> I think patent is bad thing now although in the past it might have helped a bit. Now it should be abolished, though. Trademark is good things, though. Therefore they should change "Patent and trademark office" into just "Trademark office" and then have no patent.
03:06:14 <pikhq_> And, of course, copyright law is less worthwhile than laws regulating that all chariots (horseless or otherwise) must be equipped with at least 2 horses.
03:08:16 <pikhq_> I don't think there's such a law, but hey.
03:08:18 -!- Wamanuz has joined.
03:08:24 -!- Wamanuz5 has quit (Ping timeout: 276 seconds).
03:08:36 <monqy> I've heard of some pretty stupid laws but forgotten them all
03:08:37 <elliott> that was only amazing once i thought it was real
03:08:42 <Sgeo_> "system is fairly sane
03:08:42 <Sgeo_> <elliott> imagine if the roomba was called the Robotic Magic Vacuum
03:08:42 <Sgeo_> <elliott> would you object to that being trademarked
03:08:42 <Sgeo_> <monqy> phrase trade"
03:08:57 <elliott> `addquote <Sgeo_> "system is fairly sane <Sgeo_> <elliott> imagine if the roomba was called the Robotic Magic Vacuum <Sgeo_> <elliott> would you object to that being trademarked <Sgeo_> <monqy> I mean <Sgeo_> <monqy> phrase trade" <Sgeo_> oops
03:08:58 -!- jcp has quit (Ping timeout: 260 seconds).
03:08:58 <Sgeo_> "All editing operations are restricted to cells whose coordinates are within +/- 1 billion. "
03:08:59 <HackEgo> 464) <Sgeo_> "system is fairly sane <Sgeo_> <elliott> imagine if the roomba was called the Robotic Magic Vacuum <Sgeo_> <elliott> would you object to that being trademarked <Sgeo_> <monqy> I mean <Sgeo_> <monqy> phrase trade" <Sgeo_> oops
03:09:31 <Sgeo_> I'm surprised and a bit sad that you didn't quote my sanity comments
03:09:36 <pikhq_> elliott: There are *similarly* outmoded laws regulating horseless chariots, I just couldn't remember any.
03:09:58 <Sgeo_> Something about faiing a asanity check
03:10:21 <elliott> `addquote <Sgeo_> Something about faiing a asanity check <Sgeo_> sanity <Sgeo_> faliling <Sgeo_> failing
03:10:23 <HackEgo> 465) <Sgeo_> Something about faiing a asanity check <Sgeo_> sanity <Sgeo_> faliling <Sgeo_> failing
03:12:20 <zzo38> Sanity is insufficient by itself. Many other things are also important.
03:13:21 <elliott> `addquote <zzo38> Sanity is insufficient by itself. Many other things are also important.
03:13:23 <HackEgo> 466) <zzo38> Sanity is insufficient by itself. Many other things are also important.
03:13:26 <elliott> some people would have included CakeProphet's line
03:13:31 <elliott> those people do not understand zzo38
03:15:29 -!- jcp has joined.
03:15:56 <Sgeo_> elliott, hey, you're mocking a non-sgeo elder!
03:16:03 <Sgeo_> (I think zzo38 is an elder)
03:16:50 <monqy> sgeo is clearly mocking you
03:17:13 <zzo38> I don't think so. (Nor do I know exactly what you mean by "an elder" or how it is relevant)
03:17:41 <monqy> elliott: are you a non-sgeo elder
03:17:50 <elliott> does two thousand seven count as elder
03:17:54 <elliott> well i came in once the previous year
03:18:03 <elliott> but i'm the top talker, which surprises EVERYONE
03:18:25 -!- pikhq has joined.
03:18:41 <elliott> 2009-02-28.txt:01:03:21: -!- zzo38 has joined #esoteric.
03:18:42 -!- pikhq_ has quit (Ping timeout: 255 seconds).
03:18:43 <monqy> I haven't gathered a sample to compare with that
03:18:47 <elliott> it seems that zzo38 didn't actually come here before that
03:18:51 <elliott> monqy: you mean for elderness?
03:19:00 -!- Wamanuz2 has joined.
03:19:07 <monqy> so I don't know if I should be surprised or not
03:19:14 <elliott> yeah it was the first day zzo38 was in here
03:19:17 <zzo38> I have worked with esolangs before that though. I have not been on this channel, though, is true.
03:19:20 <elliott> monqy: well the second is vorpal/anmaster
03:19:38 <elliott> monqy: but ignoring him i talk like three times the person below me
03:20:18 -!- Wamanuz has quit (Ping timeout: 276 seconds).
03:21:30 <zzo38> Quote number 97 mentions quote number 124.
03:22:10 <monqy> was it an old quote 124 from before some quotes were deleted, moving 97 below 124
03:22:15 <elliott> yes, because quotes get deleted
03:22:19 <elliott> and the numbers aren't saved
03:22:37 <elliott> i could actually calculate the real numbers of all current quotes based on the hg log...
03:23:50 -!- Wamanuz2 has quit (Read error: Operation timed out).
03:24:15 <HackEgo> 97) Note that quote number 124 is not actually true.
03:24:53 -!- elliott_ has joined.
03:25:11 -!- elliott has quit (Read error: Connection reset by peer).
03:25:35 -!- Wamanuz2 has joined.
03:29:16 <Sgeo_> How about I not wait patiently for Golly to do a random fill on a large area just because I want to know what random fill is like in day and night
03:30:10 -!- Wamanuz2 has quit (Remote host closed the connection).
03:31:04 -!- Wamanuz2 has joined.
03:31:09 <Sgeo_> But didn't think it would cause a problem
03:31:10 <Sgeo_> Until it caused a problem
03:31:20 <elliott_> yeah it should be better at generating randomness
03:31:27 <elliott_> then people could complain it was too predictable
03:33:22 <CakeProphet> hmm, would there ever be a case where you want to use a regular expression negation operator without implicit backtracking?
03:33:34 <elliott_> "Forced garbage collection. I never have any problems with memory management in C++, so this just seems like disadvantages to me."
03:33:36 <CakeProphet> In most cases the effect would be the same.
03:33:48 <elliott_> CakeProphet: see cut in prolog
03:34:21 <elliott_> compare "forced manual memory management"
03:34:54 <pikhq> "I never have any problems with memory management in C++"
03:35:03 <pikhq> I see that this person hasn't done non-trivial programming.
03:35:21 <CakeProphet> man, screw this convenience shit, I want to manage my own memory! I don't have problems with that shit, so it's obviously a drawback to have it.
03:35:28 <elliott_> pikhq: non-trivial? in C++, memory management is _always_ a problem
03:35:38 <elliott_> thanks to copy constructors, destructors, blah blah bksjfskghdfk
03:36:03 <elliott_> CakeProphet: Not only convenience -- manual memory management has a performance cost versus good garbage collection!
03:36:06 <pikhq> elliott_: With certain forms of trivial programming in C++, you can be ignorant of memory management.
03:36:16 <elliott_> "Make your language slower and difficult to program in correctly, please."
03:36:25 <elliott_> (OK, Go's GC is stop-the-world mark-and-sweep, but that's an implementation issue.)
03:36:34 <elliott_> (Then again so is GC; Scheme, for instance, just says that objects are never freed. Ever.)
03:36:49 <CakeProphet> elliott_: oh really? I was under the impression that MMM still existed because it allowed for more efficient programs.
03:37:02 <CakeProphet> but yes, I could see how /poor/ memory management would create the opposite
03:37:17 <pikhq> CakeProphet: A high-quality garbage collector is faster than a manual memory management scheme in *many* cases.
03:37:22 <zzo38> My first post to esolang wiki is from August of 2005.
03:37:45 <elliott_> CakeProphet: Malloc and free are expensive operations.
03:37:54 <elliott_> CakeProphet: A good garbage collector outperforms them practically every time.
03:37:59 <pikhq> And manual memory management is only going to be *notably* faster than a high-quality garbage collector in edge cases.
03:38:12 <CakeProphet> elliott_: does a garbage collector not use free or something equivalent?
03:38:13 <elliott_> Even the conservative (but very very impressive) Boehm collector for C programs beats malloc and free.
03:38:20 <elliott_> CakeProphet: Yes, but it does it in clumps.
03:38:33 <elliott_> CakeProphet: And a parallel collector won't even pause your program to do it.
03:39:07 <pikhq> You get *really* big gains if you can actually compact the heap.
03:39:12 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
03:39:26 <CakeProphet> okay so do you get any gains on malloc calls? It seems that in a GC language you would still call malloc just as often.
03:39:27 <pikhq> You get amortised O(1) allocation.
03:39:48 <pikhq> (because 99% of the time, malloc is a pointer increment)
03:39:54 -!- Wamanuz2 has joined.
03:40:14 <elliott_> CakeProphet: GC's can have a much simpler allocator than malloc.
03:40:27 <Sgeo_> Is me incompetently implementing GC an "edge case"?
03:40:39 <pikhq> Sgeo_: We specified "high-quality" for good reason.
03:40:40 <elliott_> Sgeo_: you being incompetent doesn't sound like an edge case to me.
03:40:55 <pikhq> CakeProphet: libc malloc has to search its allocated heap for free space of sufficient size.
03:41:25 <CakeProphet> what would a well-designed GC do for allocation?
03:41:38 <elliott_> CakeProphet: see boehm gc, ggggc source :P
03:42:01 <elliott_> CakeProphet: http://codu.org/projects/ggggc/hg/index.cgi/file/72b3f073cbe4/alloc.c, http://codu.org/projects/ggggc/hg/index.cgi/file/72b3f073cbe4/collector.c
03:42:23 <elliott_> Faster than malloc/free and Boehm GC, pretty competent with Java's (which has the best GC in existence).
03:42:48 <elliott_> Although it'll need concurrent and maybe parallel collection to be truly competitive with Java.
03:42:50 <zzo38> How well is the memory allocation used in TeX? That one does not store the size of the allocated memory anywhere, so the function to free the memory must explicity be given the size.
03:42:51 <pikhq> void *malloc(size_t size) {heap_used += size;}
03:42:53 <elliott_> But yeah, the allocator is trivial.
03:43:00 -!- azaq23 has quit (Ping timeout: 255 seconds).
03:43:01 <pikhq> void *malloc(size_t size) {return (heap += size);}
03:43:20 <elliott_> CakeProphet: What do you mean by "seriously?"? The Java VM is one of the fastest virtual machines in the world in pretty much every aspect.
03:43:30 <pikhq> CakeProphet: Java's garbage collector is a century in the future and probably designed by aliens from space.
03:43:38 <elliott_> The fact that it has a rather high start-up time and Swing UIs are sluggish has nothing to do with the quality of the VM.
03:43:50 <elliott_> Well, the first does, but it's because the JVM is so fast that it has a high start-up cost.
03:43:51 <CakeProphet> I just didn't know. I assumed that because Java was a shitty language it would not have a great implementation.
03:44:05 <elliott_> You realise Sun poured millions and millions into Java, right?
03:44:08 <pikhq> Java probably has the best implementation of anything ever.
03:44:37 <pikhq> Though the language is terrible, the runtime is so insanely good.
03:44:42 <elliott_> The language is how it is because Sun wanted a language that was less of a pain than C++ and safe (i.e. can't segfault, etc.). And Java is that, mostly.
03:44:51 <pikhq> To defeat it you have to microöptimise C or assembly.
03:44:57 <elliott_> Then it put millions of dollars into creating an environment around it.
03:45:15 <elliott_> pikhq: OK, that's not quite true, Java doesn't beat compiled languages in benchmarks always.
03:45:25 <elliott_> But it's competitive with C++, which is saying something.
03:46:35 <zzo38> In some cases you can use static allocation instead of dynamic allocation.
03:46:56 <CakeProphet> so essentially they traded segfaults for null pointer exceptions. :P
03:47:07 -!- Wamanuz2 has quit (Remote host closed the connection).
03:47:15 <elliott_> CakeProphet: Please, null has been in most languages since the sixties.
03:47:34 <elliott_> They are almost as bad as segfaults though, that is certainly true.
03:47:54 <elliott_> Yeah, it's a perfectly fair criticism, it's just that null isn't Java's fault :P
03:48:14 <CakeProphet> I just mean that null pointer exception is the most common error I've seen when debugging java. So it is comparable to segfaults in C(++)?
03:48:46 <elliott_> I'd say it's similar, because e.g.
03:48:47 <pikhq> Very few languages don't have that misfeature, though.
03:48:53 <elliott_> in C you would write a search function returning either a pointer to the found data or NULL
03:48:57 -!- Wamanuz2 has joined.
03:48:58 <elliott_> and if you used that without checking you could get segfaults
03:49:04 <elliott_> which is basically = null pointer exceptions
03:49:30 <CakeProphet> I never get those problems in Perl. My code just doesn't work. :D
03:50:01 <CakeProphet> yeah, but I don't get an /exception/, just more undefs, usually.
03:50:03 <elliott_> pikhq: help me debug my space leak or DIE.
03:51:12 <elliott_> <elliott_> pikhq: help me debug my space leak or DIE.
03:51:47 <elliott_> this should have constant memory use :(
03:52:24 <elliott_> http://sprunge.us/aViQ; the profiling results say it's in option, but I suspect countBytes is being inlined by optimisation or something into optBytes, so it might be in countBytes instead
03:52:30 <elliott_> I've already strictified option as much as I can, so
03:52:40 <elliott_> hmm, oh dear, I think I may be overly strict
03:52:51 <elliott_> point is, it should have constant memory use, but it grows forever
03:54:42 <elliott_> oh yeah, depends on iteratee and fclabels
03:55:34 <elliott_> compile with: ghc --make -Wall -O2 wc.hs
03:56:03 -!- Wamanuz2 has quit (Ping timeout: 255 seconds).
03:56:41 <elliott_> yeah, it is not in countBytes, i just checked by removing the options stuff
03:56:53 <elliott_> CakeProphet: compile normally, then compile with -prof -auto-all -osuf p_o
03:57:02 <elliott_> then ./wc quux +RTS -p produces wc.prof
03:57:14 <elliott_> see ghc manual for heap profiling options, -hc produces a basic thing which you can convert to a postscript file to view
03:57:50 <elliott_> meaning it's in option somewhere
03:58:52 <elliott_> CakeProphet: what? no it's not
03:59:00 <elliott_> anyway I _think_ I might have figured out the problem
03:59:21 <elliott_> there are exactly two functions with any kind of strictness annotations
03:59:26 <zzo38> In LLVM, Is it possible means to, like, assume x>0 if you have a command test x>0 and then branch to an "unreachable" instruction if false, In case the optimizer does something with that, somehow?
03:59:29 <elliott_> countBytes, to make the byte count strict
03:59:35 <elliott_> in a misguided attempt to reduce a thunk leak that isn't there
03:59:50 <elliott_> zzo38: why not ask in the llvm channel on oftc?
04:00:06 <elliott_> no, it's the fact that I don't zip it all at once
04:00:12 <zzo38> I did already. Do you have any opinions about it though?
04:00:42 <elliott_> CakeProphet: btw, if countBytes wasn't strict in n, it would blow up a huge thunk.
04:00:51 <elliott_> proportional to the size of the file
04:01:07 <CakeProphet> I just misunderstood what you meant by "zip it all at once"
04:01:42 <elliott_> nah, i mean zip it _before_ any binds
04:01:55 <elliott_> wc <- I.run =<< I.enumHandle I.defaultBufSize handle (countBytes `I.zip` countWords `I.zip` countLines)
04:02:00 <elliott_> so I need to restructure things
04:02:13 <elliott_> now I just have to fix the program...
04:02:19 <elliott_> CakeProphet: i know, but I'm not sure I could explain :)
04:03:29 <CakeProphet> hmm, so what's the associativity rules for functions used with the ` syntax?
04:03:44 <elliott_> the associativity is irrelevant, but I forget
04:03:49 <lambdabot> Occurs check: cannot construct the infinite type: b = (a, b)
04:03:54 <CakeProphet> can you declare infix[rl] on non-operators?
04:05:28 <CakeProphet> I have absolutely no clue how you're handling options there..
04:07:27 <CakeProphet> oh I see. :) the foldr1 (.) xs defaultProc was confusing me
04:08:01 -!- Wamanuz2 has joined.
04:08:05 <elliott_> yeah, turns out that way sucks though :)
04:08:13 <elliott_> trying a new way now, it kind of irks me though
04:08:52 <CakeProphet> elliott_: is this some kind of elaborate way to one-up my wc interpreter that was totally superior to your sed one?
04:09:34 <elliott_> no, this is me trying to write the fastest wc ever that's feature-complete with gnu's
04:10:25 <CakeProphet> see, that sounds like some serious one-upping right there. >:D
04:10:47 -!- azaq23 has joined.
04:10:56 <pikhq> Perhaps you should one-up the rest of coreutils. :P
04:11:41 <elliott_> CakeProphet: well, my old version is already faster than gnu wc, but its word counting is a bit broken (but it's just as expensive as a "real" word counter, so it's still a fair comparison), and it doesn't handle multibyte or locale word boundaries
04:11:48 <elliott_> that's gnu wc with LC_ALL=C, i.e. disabling locale handling
04:11:52 <elliott_> without LC_ALL=C, gnu wc is totally hopeless
04:12:16 <elliott_> CakeProphet: http://sprunge.us/jMOH this is the old version
04:12:17 <CakeProphet> elliott_: so what makes this one faster than gnu's
04:12:24 <pikhq> CakeProphet: GNU is stupid.
04:12:27 -!- Wamanuz2 has quit (Ping timeout: 244 seconds).
04:12:32 <elliott_> pikhq: well the gnu wc code probably is not that bad
04:12:36 <elliott_> it's just that iteratees are great.
04:12:48 <pikhq> elliott_: It abstracts C stdio.
04:12:54 <elliott_> CakeProphet: (that version doesn't do the expensive-but-wrong word handling, the one that does is an abandoned version)
04:13:02 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
04:13:17 -!- Wamanuz2 has joined.
04:13:20 <pikhq> Also, Haskell IO is more intelligent than C IO.
04:14:54 <CakeProphet> elliott_: oh look the example in Data.Iteratee is even a byte counter.
04:15:15 <elliott_> CakeProphet: see http://okmij.org/ftp/Streams.html#iteratee, where oleg does his own benchmarked wc :)
04:15:29 <elliott_> http://okmij.org/ftp/Haskell/Iteratee/Wc.hs
04:16:16 <CakeProphet> so yeah, concurrent MUD client in Haskell is a project now.
04:16:37 <CakeProphet> but with a job I don't know if I'll work on that anytime soon.
04:19:10 -!- Wamanuz2 has quit (Ping timeout: 244 seconds).
04:19:50 -!- Wamanuz2 has joined.
04:25:53 -!- Wamanuz2 has quit (Ping timeout: 244 seconds).
04:26:02 <elliott_> yay, memory leak solved, only problem is that it's kind of ugly
04:27:02 <zzo38> Is it possible to make something like that with GNU C: #define static_new(_type) ({ _type x; &x; })
04:27:10 -!- Wamanuz2 has joined.
04:27:18 <zzo38> Is it possible to make something like that with GNU C: #define static_new(_type) ({ static _type x; &x; })
04:29:22 <pikhq> I think that'd work in GCC, though I *don't* know if it's defined behavior or not.
04:29:39 <lambdabot> Prelude uncurry :: (a -> b -> c) -> (a, b) -> c
04:29:39 <lambdabot> Data.Tuple uncurry :: (a -> b -> c) -> (a, b) -> c
04:30:39 <zzo38> pikhq: How would you expect to figure out if is defined behavior or not?
04:36:21 -!- Wamanuz2 has quit (Ping timeout: 264 seconds).
04:37:01 <lambdabot> forall a b c. ((a, b) -> c) -> a -> b -> c
04:37:38 -!- Wamanuz2 has joined.
04:38:37 <pikhq> Dunno; I'm not sure that defined/undefined behavior is well-defined for GNU C.
04:39:08 <elliott_> "I knew I'd get your attention with this one. Let me start out by saying that I'm not here to trash, insult or attack women. Instead, I want people to better understand that men and women are more alike than they think when it comes to sex and sins of the flesh. In order to do this, I will show, by example, how women behave in the exact manner that they accuse only men of behaving: like pigs."
04:39:14 <elliott_> i love finding terrible things randomly on the internet
04:39:53 <CakeProphet> this man is a scholar of the highest tier.
04:40:22 <elliott_> http://uk.askmen.com/dating/curtsmith/59_dating_advice.html
04:40:28 <elliott_> Men want sex, women want money... Next Page >>
04:40:46 <elliott_> Women= [five pictures of a pig]
04:40:58 <elliott_> wow this is the most horrible thing i have ever seen
04:41:16 <elliott_> is this just for men to read so they can continue to ignore being called pigs
04:41:39 <elliott_> 6. Women use men for money: The stereotype that men use women for sex has been around for centuries. And when you hear that women use men for cash, remember that that also places them in the pig category. At least we want their bodies, they, in turn, are checking out our checking accounts. So while women complain that men use women for sex, how much better are they if they're using men for materialistic purposes?
04:41:41 <zzo38> I should select a subset of the GNU C features. ({ ... }) is allowed, vararg macros are allowed, case ranges is allowed, pointer arithmetic on void pointers (but not on function pointers, nor is sizeof allowed on void) is allowed, \e is allowed, x?:y is allowed, zero length arrays are allowed.
04:42:32 <monqy> uk.askmen.com, why
04:42:56 <pikhq> zzo38: Why 0-length arrays? C99 provides the struct hack in a portable manner.
04:43:11 <elliott_> monqy: im disappointed, i had such high expectations for uk.askmen.com
04:43:15 <pikhq> CakeProphet: struct foo {blahblahblah; int bar[0];}
04:43:20 <elliott_> 7. Queen of the industry: Yes, men buy pornography, but women dominate the industry. Sex sells and everywhere you look, be it a movie, an album, a magazine cover, the fashion world, or the adult industry, you will always see a woman endorsing sex.
04:43:24 <zzo38> And also structures with no members, and unnamed struct/union fields.
04:43:30 -!- Wamanuz2 has quit (Ping timeout: 276 seconds).
04:43:35 <pikhq> CakeProphet: Used to represent an array with a header.
04:43:38 <elliott_> Who's the real oinker here? Next Page >>
04:43:45 <elliott_> monqy: i like how he doesnt even bother keeping score for men
04:43:47 <pikhq> CakeProphet: The C99 equivalent is struct foo {blahblahblah; int bar[];}
04:43:58 <zzo38> Flexible array members are different according to the GCC manual: http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Zero-Length.html#Zero-Length
04:44:07 <pikhq> zzo38: I dunno about no-member structs, but unnamed fields is C1x.
04:44:30 <monqy> I remember another great thing like that but I forgot where
04:44:31 <elliott_> monqy: "Get it on Mr. Clinton! You Go Lewinsky!" last line
04:44:37 <monqy> something about turning femenists into "real girls"
04:44:52 <zzo38> I think the [0] is actually simpler and more sensible to fit with C in my opinion; it is possible for the compiler to do nothing special and work.
04:44:53 <elliott_> i'm still not sure it was actually real
04:45:18 <monqy> the copy i saw was a photo/scan of a magazine but i forget the magazine name
04:45:22 <pikhq> zzo38: Yes, *but* it's non-standard.
04:45:26 <monqy> i think it was a mens magazine
04:45:31 <zzo38> O, and also long long int is allowed.
04:45:43 <pikhq> When it's trivial like that, you really should prefer standard features.
04:45:57 <monqy> CakeProphet: no I mean the article about turning femenists into "real girls"
04:46:03 <zzo38> Yes, some of these features are C99 features. Some are not.
04:46:04 <monqy> CakeProphet: I don't think it was askmen
04:46:07 <elliott_> <CakeProphet> monqy: yes, askmen is a men's magazine
04:46:10 <elliott_> thank you for this valuable info
04:46:13 <elliott_> monqy: it was... maxim i think?
04:46:20 <CakeProphet> elliott_: just clearing up some confusion.
04:46:27 <Lymee> What does =~ in ruby do?
04:46:49 <pikhq> zzo38: Why pointer arithmetic on void*?
04:46:51 <zzo38> What I am saying is simply a simpler C than GNU C that is a subset of GNU C and a superset of standard C.
04:47:05 <Lymee> CakeProphet, I know.
04:47:13 <Lymee> I just have no idea what kind of regex stuff.
04:47:14 <zzo38> Saying what makes sense to me, at least.
04:47:24 <CakeProphet> Lymee: or string, or whatever your variable is in Ruby.
04:47:31 <pikhq> Anyways, all this nitpicking aside, that subset of GNU C seems like the subset that C compilers are likely to implement, so.
04:47:35 <Lymee> if word =~ /([\W\d]+)/
04:48:00 <CakeProphet> if it matches, that returns true. It matches one or more repetitions of non-word characters or digits.
04:48:37 <Lymee> So because there's no second // part, it's a match?
04:48:38 <monqy> http://www.ltcconline.net/lukas/gender/political/pics/political21.jpg found a copy
04:48:50 <CakeProphet> Lymee: no, because there's no s. Substition looks like: s/.../.../
04:48:56 <elliott_> there is no such thing in ruby
04:48:59 <elliott_> substitution is a separate function
04:49:11 <elliott_> it also mutates global variables relating to the match
04:49:37 <CakeProphet> Lymee: okay, well everything I said applies in Perl. m/.../ is match in Perl, but the m is optional.
04:49:57 <zzo38> pikhq: Yes, it is my opinion too. It is what makes sense to me without adding too much stuff that didn't seem to fit.
04:50:03 <zzo38> O, and also // comments are allowed.
04:50:16 <pikhq> // is C99, so they damned well *better* support it.
04:50:43 <pikhq> Heck, it's in the common subset of C and C++.
04:51:00 <zzo38> I am talking about something else; this subset is usable in the semiGNU C89 mode as well. In semiGNU C99, of course it is already allowed, as well as many more things.
04:51:30 <pikhq> Well, if you're talking C89 you should probably add a few more things.
04:51:39 <CakeProphet> Lymee: also, there's probably a !~ operator, which would be "does not match"
04:51:43 <pikhq> First and foremost: mixed declarations and statements.
04:52:12 <pikhq> Perhaps also _Pragma, just because #pragma is a complete misfeature.
04:52:28 <zzo38> pikhq: No. I think is not necessary to add that. Although of course in C99 mode is allowed.
04:52:42 <pikhq> Seriously though, just consider C99.
04:52:51 <pikhq> C89 is older than I am.
04:53:34 <pikhq> C99 itself is 12 years old.
04:53:48 <pikhq> And soon to be deprecated.
04:54:08 <zzo38> C99 includes some things I think do not belong. Even GNU89 includes some things I think do not belong. Is why I invent this subset (I believe it works in GNU89 mode in both GCC and LLVM C compiler, but both of them support more than what I said)
04:54:30 <pikhq> What's wrong with C99?
04:55:06 <CakeProphet> I think untagged unions are the lamest thing ever. Even lamer than Ruby's use of a substitute method instead of s///
04:56:06 <zzo38> pikhq: Many things. There are some good things with it, though. Just some things I believe does not fit very well with my idea of what C should be. Maybe some people might agree and others disagree, possibly, which is also OK.
04:56:12 <CakeProphet> lameness is an important quality, that should be avoided.
04:56:19 <elliott_> yeah, it's better to conflate an operation upon a regexp and a function with an operation upon a regexp that the former uses
04:56:27 <elliott_> ruby's use makes noOooOooo sense
04:57:03 <CakeProphet> being lame does not imply making no sense.
04:57:52 <pikhq> zzo38: I bet you've got problems with <complex.h>
04:59:41 <pikhq> Most of the other stuff seems either benign or fixing something that was done distinctly on different systems.
04:59:42 <CakeProphet> elliott_: also that's a strange way of looking at it, I think.
05:00:23 <pikhq> (for instance: variable-length arrays, to replace much of the use-case for alloca, which is nearly impossible to use portably)
05:00:34 <monqy> 21:48:55 < elliott_> =~ is match in ruby
05:00:35 <monqy> 21:49:00 < elliott_> it also mutates global variables relating to the match
05:00:41 <monqy> global mutation? really?
05:00:56 <CakeProphet> it's all just for the benefit of syntactic shorthand. It's not really a jacked up semantic model at all.
05:01:31 <CakeProphet> if you don't like that, then just assign your capture variable to a different name, problem solved.
05:01:33 <pikhq> elliott_: How Perl.
05:01:51 <elliott_> pikhq: well in ruby $ means global
05:02:08 <pikhq> That's still a very Perl-like thing.
05:02:18 <zzo38> Yes, complex numbers in C is the most problem.
05:02:27 <pikhq> zzo38: That's optional in C1x.
05:05:32 <pikhq> Yes, they're making unmandatory a couple of features.
05:05:46 <CakeProphet> elliott_: qr, m, and s are all their own operators. =~ is an application, and without it the operation is applied on $_. What is nonsensical about that? There's no function. Nothing is conflated. It doesn't work like that.
05:06:29 <pikhq> Yeah, they really did get that from Perl.
05:06:36 <CakeProphet> s/.../.../ does not produce a result that =~ takes.
05:06:43 <CakeProphet> pikhq: yes it's exactly the same in appearance
05:06:49 <pikhq> Hint: if you get it from Perl, you're doing it wrong.
05:07:16 <pikhq> *Particularly* if you intend to have programs longer than 20 lines or so in it.
05:07:21 <monqy> cake "likes perl" prophet
05:07:39 <elliott_> CakeProphet: it is conflating distinct operations, you just defend perl no matter what stupid decisions it makes
05:07:47 <elliott_> so i'm not really interested in arguing this
05:09:34 <elliott_> makeIter Main 473 4 67.7 68.1 71.1 69.5
05:09:34 <elliott_> countBytes Main 478 1048577 2.1 1.4 2.1 1.4
05:09:42 <CakeProphet> elliott_: I have reasons for defending it. it's not an irrationality. Perl is not a religion.
05:10:07 <elliott_> nope, there is definitely no rational way to defend this aspect of perl, or at least it is not what you said
05:10:40 <pikhq> You are defending awk++. Stop it.
05:10:56 <zzo38> if(x<=0) __builtin_unreachable();
05:11:05 <zzo38> Does that have any meaning at all?
05:11:10 <elliott_> pikhq: perl is not indefensible
05:11:17 <elliott_> zzo38: only if you have an else after, I think
05:11:48 <pikhq> zzo38: Behavior is undefined after reaching that function.
05:12:21 <zzo38> pikhq: I know it is undefined.
05:12:33 <pikhq> It's used to give the optimiser a hint that control doesn't go past that point.
05:12:55 <pikhq> Then... Why did you ask?
05:13:24 <zzo38> My point is a bit different. See that it is an unusual kind of use that the GCC manual does not mention for this command.
05:14:40 <CakeProphet> elliott_: basically you are saying I cannot defend a syntactic construct because it's convenient.
05:14:44 <zzo38> It is somehow possible for the optimizer to deduce x is positive at that point (maybe it is returned from an external function that the compiler does not know about)? Or, do something similar to assume it is not null pointer, or whatever?
05:15:21 <pikhq> zzo38: It is *possible* for the optimizer to make that deduction from that, yes.
05:15:38 <zzo38> It seems to me that maybe it does mean that but I don't know if it actually does that.
05:15:41 <elliott_> wow yes, that last one sure is less convenient
05:16:10 <elliott_> foo.gsub! /a(.)/g { |x| x.upcase }
05:16:20 <elliott_> WHOOPS look at that, doing it the proper way allows using functions far more conveniently than Perl's ugly /e
05:16:32 <elliott_> I'm so glad Perl conflates matching and substitution instead
05:17:12 <CakeProphet> there is absolutely no difference. Your complaint is a syntactic preference.
05:17:47 <elliott_> remember when i said i wasn't interested because you're just a perl fanboy
05:18:05 <elliott_> wait no this is a revolutionary new paradigm
05:18:12 <elliott_> if you can compare two different ways of doing something with an example program
05:18:16 <elliott_> then it has to be a purely syntactic issue
05:18:27 <elliott_> EVERY LANGUAGE IS JUST A DIFFERENCE OF SYNTACTIC PREFERENCES!!!!!!
05:19:01 <pikhq> Also fun: I managed to make shish compile to 940 bytes.
05:21:23 <zzo38> There is more than syntactic preferences. It is a large part of it though.
05:21:41 <CakeProphet> elliott_: aside from the scoping of variables in the upcase example compared to how you would do it in Perl, there isn't really any semantic difference.
05:22:00 <elliott_> unfortunately, my interest in discussing this with you is zero.
05:23:08 <elliott_> not that it's a discussion; I considerably doubt any argument you would be able to come up with would sway me, and I very much doubt you'd concede that what Perl is doing is a semantic conflation, so it's akin to two missionaries trying to convert the other. which is never going to happen over at maximum an hour or two of irc.
05:23:28 <pikhq> http://sprunge.us/hZNB (for those who are curious)
05:24:01 <CakeProphet> elliott_: well, if you explained what is semantically different, I could at least tell you why I think you're wrong. :P
05:24:12 <CakeProphet> and then you could do the same. Sounds fun!
05:24:24 <elliott_> CakeProphet: exactly, all you want to do is explain to me why Perl is right
05:24:36 <elliott_> there is no part of you that is open to reconsidering whether it might be, and the same for me
05:24:36 <monqy> because as everyone knows
05:24:38 <monqy> perl is always right
05:24:39 <CakeProphet> not really. I just want to explain that is semantically the same.
05:24:46 <elliott_> the problem is that i'm right, and you're wrong, and I'm not interested in going back and forth.
05:24:54 <elliott_> CakeProphet: exactly, all you want to do is explain to me why Perl is right
05:25:16 <monqy> what if it's the same but also wrong (it isn't the same (also it's all wrong))
05:25:23 <elliott_> pikhq: that small strcpy sucks, you can do that in asm shorter
05:25:34 <elliott_> monqy: lets appreciate haskell together
05:25:38 <CakeProphet> no, there's no normative argument here. Programming languages are not ethical assertions.
05:25:38 <elliott_> it will be great and unproductive
05:26:12 <elliott_> i am not saying that no argument could take place
05:26:17 <elliott_> i'm saying the argument you want to take place would not be one
05:26:21 <monqy> i am a doctor of programming language ethics
05:26:57 <elliott_> monqy: that is not appreciating haskell
05:26:57 <CakeProphet> well yes, if you're just going to laugh at me, I suppose I don't really want to talk about it.
05:27:19 <elliott_> i was laughing at your statement
05:27:37 <monqy> I generally like haskell but the complex/irregular syntax gets on my nerves, especially when it comes to metaprogramming
05:27:42 <elliott_> but i'm not sure why you're continually pushing me into a silly folly i've expressed repeated disinterest in having
05:27:49 <elliott_> monqy: metaprogramming as in template haskell?
05:27:52 <monqy> oh and the lack of nested (pattern) guards.
05:28:18 <CakeProphet> because I am genuinely curious as to what you think is happening when you use regexps in Perl. Semantically. What evaluates to what.
05:28:24 <monqy> elliott_: yes; I forget if there are any others but I've never looked much at them
05:28:27 <elliott_> CakeProphet: you don't understand what semantics are
05:28:38 <elliott_> monqy: I mean, I still think that if you realise that operators are regular and user-defined, Haskell's syntax is actually one of the simplest languages in terms of syntax; no Lisp obviously, but it's close
05:28:52 <elliott_> monqy: (and Lisp has syntax, really, it's just hidden in the special forms)
05:29:03 <elliott_> monqy: right, well, Template Haskell is ugly... but it's also not something you use a lot
05:29:14 -!- Wamanuz2 has joined.
05:29:41 <elliott_> monqy: and the most common uses of TH -- quasiquotation and top-level ... I forget the term, $() things -- are pretty as of GHC 7
05:29:56 <CakeProphet> if you're talking about a specific semantic theory, then you're right I don't know anything about that.
05:29:59 <monqy> iirc $() is "splicing"
05:30:04 <monqy> last I checked the docs at least
05:30:07 <elliott_> monqy: [qq|...|] and at the top level, -- ah yes top level splice -- you can omit $()
05:30:31 <elliott_> you're right that defining those is pretty super-ugly, though
05:30:38 -!- Sgeo_ has quit (Read error: Connection reset by peer).
05:30:39 <elliott_> at least it's comprehensive, though
05:31:05 <elliott_> since you can define your own control structures without it, it's not that useful most of the time
05:31:08 <monqy> I think I last used it two years ago so my memory's a bit foggy
05:31:12 -!- Sgeo_ has joined.
05:31:35 <monqy> I last used haskell today or was it yesterday
05:31:35 <elliott_> what language do you normally use anyhow
05:32:16 <elliott_> i couldn't really use any language other than haskell at this point, even disregarding the language itself, it's just so far ahead in pretty much everything
05:32:31 <elliott_> parsing, IO, state management, concurrency, text processing...
05:33:52 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
05:38:54 <elliott_> On Eric Gill, the designer of the famous Gill Sans typeface: "His personal diaries describe his sexual activity in great detail including the fact that Gill sexually abused his own children, had an incestuous relationship with his sister and performed sexual acts on his dog."
05:39:24 <monqy> but is the typeface any good
05:40:21 <elliott_> monqy: ever looked at the BBC logo? or anything else the BBC has ever done?
05:40:55 <monqy> I can't say I've ever taken a good look at it
05:40:55 <elliott_> CakeProphet: yes, non-limeys don't know what the bbc is.
05:41:09 <pikhq> CakeProphet: I'd say most Americans know of the BBC.
05:41:18 <monqy> I prefer lots of serifs on my typefaces
05:41:30 <elliott_> monqy: the bbc use gill sans almost exclusively. gill sans is used a lot in railway stuff in the uk.
05:41:37 <elliott_> tufte uses gill sans on his website (THANKS WIKIPEDIA)
05:41:41 <monqy> child abuse endorsement
05:41:43 <pikhq> Believe it or not, we're not completely ignorant of the UK; it's one of the few countries that we don't ignore, in fact.
05:42:08 <pikhq> Also, Gill Sans is a nice font.
05:42:12 <elliott_> monqy: and the child was a _dog_, too! wait, you're referring to his kids.
05:42:35 <monqy> bestiality endorsement
05:42:38 <elliott_> As the revelations about Gill's private life resonated, there was a reassessment of his personal and artistic achievement. As his recent biographer sums up:
05:42:38 <elliott_> "After the initial shock, […] as Gill's history of adulteries, incest, and experimental connection with his dog became public knowledge in the late 1980s, the consequent reassessment of his life and art left his artistic reputation strengthened. Gill emerged as one of the twentieth century's strangest and most original controversialists, a sometimes infuriating, always arresting spokesman for man's continuing need of God in an increasingly materialis
05:42:39 <elliott_> tic civilization, and for intellectual vigour in an age of encroaching triviality."[8]
05:42:57 <pikhq> Though, it's not Helvetica.
05:43:10 <elliott_> "well we got over the child abuse thing"
05:45:14 * pikhq wonders at Arial having ever been made
05:45:25 <pikhq> Fun fact: fonts cannot be copyrighted in the US.
05:45:32 <monqy> comic sans ms, papyrus
05:45:58 <zzo38> pikhq: I think that is only for raster fonts
05:46:00 <pikhq> elliott_: Ah, right, sorry. The distinction is important.
05:46:07 <zzo38> But I don't know for sure
05:46:12 <pikhq> zzo38: The shape of the glyphs is uncopyrightable.
05:46:41 <pikhq> zzo38: A programmatic representation of them, such as a TTF file, can be under copyright.
05:46:47 <coppro> pikhq: What about patents
05:47:43 <coppro> also, amusing: <Coworker 1> Other people can't file patents if we have them. <Coworker 2> No, you're wrong.
05:47:57 <pikhq> coppro: Novel designs can be patented.
05:48:07 <CakeProphet> In 1992, only days after the release of Windows 3.1, it was discovered that the character sequence "NYC" in Wingdings was rendered as a skull and crossbones symbol, Star of David, and thumbs up gesture. This was often interpreted as an antisemitic message.[8] Microsoft strongly denied this was intentional, and insisted that the final arrangement of the glyphs in the font was largely random. (The character sequence "NYC"
05:49:20 <pikhq> coppro: Of course, such a patent on Helvetica would have expired when Arial was made.
05:49:25 <pikhq> Hence, Arial has no reason to exist.
05:50:10 <CakeProphet> also, the article ☎ redirects to telephone on Wikipedia. I found this amusing.
05:50:15 <pikhq> https://secure.wikimedia.org/wikipedia/en/wiki/File:Wingdings_NYC.svg
05:50:21 <elliott_> CakeProphet: but are you serious
05:50:30 <CakeProphet> elliott_: ...now I don't know what you mean.
05:50:32 <elliott_> pikhq: can i improve upon shish
05:50:36 <pikhq> elliott_: Feel free.
05:50:38 <elliott_> CakeProphet: like do you really think that is strange
05:50:52 <CakeProphet> yes. I think it's strange that people would notice something like that and freak out.
05:51:10 <zzo38> This program http://sprunge.us/hZNB seems like it is one that should be written assembly language, not in C, it seems to me
05:51:43 <pikhq> zzo38: It halfway is.
05:52:27 <elliott_> pikhq: can you link me to the gcc docs on __asm__ thx
05:52:48 <elliott_> pikhq: btw the "c" (status) line has tabs
05:52:50 <pikhq> http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
05:52:56 <elliott_> oh, so do the pid and options lines
05:54:40 <Sgeo_> A reversible CA on a torus must eventually repeat everything, right? Because a normal CA on a torus eventualy goes in a loop like.... suppose I have a timeline A B C, then a normal CA might start from B. But a reversible CA, if it did that, would lose information about A, an dit would also imply that theee are two ways to get to B.
05:55:01 -!- zzo38 has quit (Remote host closed the connection).
05:55:44 <elliott_> pikhq: hmm, how would I get esi and edi set to specific values in an asm?
05:55:51 <coppro> elliott_: he obviously means california from this context
05:55:59 <elliott_> and also say i read esi and clobber bytes at edi and beyond (as a pointer)
05:57:14 <Sgeo_> coppro, cellular automata
05:57:32 <pikhq> elliott_: esi and edi are S and D
05:57:48 <CakeProphet> Sgeo_: not really, there are plenty of patterns that could die without any repetition. Essentially it is the same thing as a CA that wraps around.
05:58:00 <elliott_> pikhq: hmm, do the rep prefixes modify the destination poitner?
05:58:21 <newsham> slightly off topic for this channel, but might be amusing read http://adamharley.co.uk/2011/06/wordpress-plugin-backdoors/
05:58:37 <elliott_> newsham: are you kidding, we are never on topic
05:58:46 <newsham> analysis of the rogue source commits found on the wordpress repo recently
05:58:46 <elliott_> CakeProphet: why is that phrase objectionable
05:58:59 <Sgeo_> CakeProphet, hmm, how could something die, though? Death implies that a previous state was similar to the new one, and also a different previous state was more active than the new one
05:59:04 <elliott_> newsham: wait, people trust wordpress's code nowadays?
05:59:22 <elliott_> Sgeo_: do you like reversible cas because they'd prevent death
05:59:23 <pikhq> elliott_: That statement, I do not understand it.
05:59:28 <newsham> i dont knwo if they do, but if they do, they should probably upgrade. :)
05:59:47 <elliott_> newsham: so they can wait until the next vulnerability is found?
05:59:55 <Sgeo_> elliott_, well, presumably a conscious being on a reversible CA could still die, but on a torus, if the world repeats, they'd exist again.
06:00:04 <pikhq> elliott_: Ah. I dunno.
06:00:09 <elliott_> running code in an unsafe language run by amateurs on a high-profile website, PERFECT IDEA
06:00:38 <elliott_> Sgeo_: but is that why you like them
06:00:51 <CakeProphet> elliott_: perhaps when you are older I will tell you why I found that sequence of characters amusing.
06:01:05 <Sgeo_> elliott_, no, I just want a conserved quantity
06:01:16 <Sgeo_> So that there's something to compete over other than space
06:02:07 <elliott_> CakeProphet: my age is irrelevant, it just was not funny.
06:02:15 <monqy> I agree with elliott_
06:02:44 <CakeProphet> elliott_: yes it was actually a somewhat juvenile observation. oh well.
06:03:09 <elliott_> juvenile is fine as long as it's funny :P
06:03:24 <elliott_> ok but seriously i have to make this code shorter.
06:03:32 <elliott_> pikhq: hey why are all these asms volatile
06:04:08 <CakeProphet> Sgeo_: I've always thought a CA with several interesting states would be... interesting.
06:04:20 <CakeProphet> but that is something completely different than what you're talking about.
06:04:28 <coppro> CakeProphet: Do you know the Interesting Number Theorem?
06:04:48 <coppro> Theorem: Every natural number is interesting
06:04:51 <Sgeo_> What? Someone who's never heard of it?
06:05:08 <pikhq> elliott_: Actually, probably no good reason, thinking about it now.
06:05:39 <coppro> Proof: Consider the set of uninteresting natural numbers. If nonempty, it must contain a least element, which is the lowest uninteresting natural number. This is an interesting property. Contradiction. Therefore the set is empty.
06:06:12 <elliott_> shishorig.c: In function ‘small_waitpid’:
06:06:12 <elliott_> shishorig.c:59: error: ‘__NR_waitpid’ undeclared (first use in this function)
06:06:12 <elliott_> shishorig.c:59: error: (Each undeclared identifier is reported only once
06:06:13 <elliott_> shishorig.c:59: error: for each function it appears in.)
06:06:18 <Sgeo_> Is there such a thing as a noncomputable theorem?
06:06:32 <coppro> CakeProphet: The Interesting Number Theorem can be extended to any countable set
06:06:32 <elliott_> Sgeo_: how about defining that and then asking
06:07:03 <CakeProphet> coppro: so then theorems are a countable set?
06:07:10 <coppro> CakeProphet: obviously
06:07:13 <elliott_> i hate you all pikhq should just fix my problem
06:07:16 <pikhq> elliott_: Strange. That's in asm/unistd.h, part of the kernel headers.
06:07:20 <newsham> elliott: but this particular issue has nothing to do with amateur developers.
06:07:32 * Sgeo_ pretends not to have asked a similar question as CakeProphet did, even if I was joking
06:07:33 <newsham> its an intentionally placed backdoor through compromised accounts
06:07:37 <elliott_> newsham: but it still involves trusting wordpress code :)
06:07:45 <elliott_> coppro: the set of proofs is countable, the set of truths is not
06:08:02 <elliott_> pikhq: im on sixtyfour bit btw
06:08:04 <coppro> elliott_: it does depend on your definition of theorem, however
06:08:07 <newsham> i donnut use the wordpress
06:08:15 <coppro> a theorem can be expressed as a finite set of definitions, plus a statement
06:08:36 <elliott_> coppro: a theorem is a statement and a proof
06:08:39 <elliott_> then there are countable theorems
06:08:40 <pikhq> This *really* won't work on x86_64.
06:08:42 <elliott_> a theorem is a statement that is true
06:08:44 <elliott_> then there are uncountable theorems
06:08:58 <elliott_> /tmp/ccP6IGbl.o: In function `_start':
06:08:58 <elliott_> shishorig.c:(.text+0x4d): undefined reference to `__builtin_unreachable'
06:08:58 <elliott_> shishorig.c:(.text+0x177): undefined reference to `__builtin_unreachable'
06:09:09 <coppro> elliott_: The true statements expressible in the English language are, however, countable
06:09:18 <elliott_> pikhq: should shish just hang when you start it
06:09:18 <coppro> or in any reasonable human language
06:09:23 <elliott_> coppro: that has nothing to do with formal logic
06:09:35 <coppro> elliott_: neither do theorems
06:09:37 <pikhq> The fuck, it segfaults on input.
06:09:46 <elliott_> coppro: yes they do, theorem is a term of formal logic
06:10:09 <coppro> elliott_: Formal logical theorems are different from English theorems, though
06:10:27 <elliott_> coppro: nobody says theorem to mean "something true in English" apart from nerds trying to sound smart
06:10:28 <pikhq> elliott_: Yeah, WTF.
06:10:46 <coppro> elliott_: which is the One True Formal Logic then?
06:10:48 <pikhq> elliott_: Oh, wait. Of course it's not going to do anything if it gets passed a non-command.
06:10:56 <elliott_> coppro: there is none, obviously
06:11:01 <elliott_> coppro: english isn't a formal logic though
06:11:25 <elliott_> i was answering in terms of the most common logics, i don't know of one anyone uses that has a countable number of truths
06:11:40 <pikhq> elliott_: Also, it does not understand PATH.
06:11:53 <coppro> elliott_: Most logics actually do have a countable number of truths
06:12:03 <elliott_> coppro: are there a countable number of truths in zfc? i very much doubt that.
06:12:19 <coppro> elliott_: zfc is not a logic
06:12:28 <pikhq> The volatiles are needed.
06:13:15 <coppro> elliott_: I've typically seen it presented without syntactic trappings
06:13:19 <CakeProphet> "countable" being synonymous with "interesting", now that it is proven.
06:13:27 <coppro> CakeProphet: Not at all
06:13:48 <CakeProphet> "countable set" being synonymous with "interesting stuff"...?
06:13:53 <elliott_> coppro: well zfc is basically parameterised over the logic of your choice
06:14:02 <elliott_> CakeProphet: do you have any idea what you are talking about
06:14:05 <elliott_> coppro: so it's a family of logics :)
06:14:12 <CakeProphet> how could I not know what I am talking about. That is silly.
06:14:32 <CakeProphet> I didn't even make that a question, because it is so obvious that I do not need to ask.
06:14:39 <coppro> elliott_: First-order may or may not have a countable number of truths, depending on the model
06:14:52 <coppro> if the model has an uncountable member, the set of truths be uncountable
06:15:13 <elliott_> pikhq: } else if (*(unsigned*)tokened[0] == '\0tes') {
06:15:36 <elliott_> first-order logic upsets me :(
06:15:40 <pikhq> elliott_: Yes, that's for env.
06:15:42 <elliott_> it's like not having first-class functions
06:16:07 <pikhq> elliott_: "set foo=bar"
06:16:07 <newsham> elliott: assuming unsigned * is a 4 byte integer?
06:16:17 <elliott_> pikhq: how come /usr/bin/env does nothing
06:16:22 <elliott_> newsham: yeah this program is wildly unportable
06:16:59 <pikhq> elliott_: Define "does nothing".
06:17:24 <elliott_> it should print the environment
06:17:34 <elliott_> the environment starts off empty
06:18:15 <pikhq> This really, truly is the shittiest shell possible.
06:18:27 <CakeProphet> elliott_: if the interesting number theorem can be extended to any countable set, then that means all countable sets contain interesting elements. :)
06:18:33 <elliott_> hmm, is there a gcc-favoured way to get a constant value into a register in an __asm__?
06:18:50 <CakeProphet> so I can now use this theorem to gauge the interestingness of things, though I cannot determine if something is not interesting.
06:23:47 <elliott_> pikhq: ugh, how do you just say you are clobbering a register?
06:23:52 <elliott_> without actually outputting it to anything
06:25:05 <pikhq> elliott_: Pretty sure you just give the constraint for the register.
06:25:57 <pikhq> ... Oh, wait, obvious error is obvious.
06:26:33 <pikhq> "=a" is used to indicate that the operand is an output, and you stuck it with the inputs.
06:26:52 <pikhq> __asm__("..." : "=a" : ...)
06:27:28 <elliott_> ../Desktop/shish.c:55:13: error: matching constraint references invalid operand number
06:27:47 <elliott_> i just put it in the clobbered list
06:28:21 <pikhq> Well, that was simple. :P
06:30:33 <CakeProphet> couldn't you prove that all rational numbers are interesting?
06:30:41 <elliott_> ../Desktop/shish.c:33:12: error: expected ‘)’ before ‘:’ token
06:30:53 <elliott_> CakeProphet: no, the rational numbers aren't countable, DUHHHHHH
06:30:59 <elliott_> coppro said it only applies to countable sets
06:31:04 <elliott_> DURHHHHHHHHHHHHHHHHHHHHHHHHHHH
06:31:15 <CakeProphet> well right, this is a new theorem that we are trying to prove. :)
06:32:35 <CakeProphet> well, if we could prove that uncountable sets are also interesting, and that cardinality of a set corresponds to more interesting sets
06:32:41 <CakeProphet> perhaps we could find THE MOST INTERESTING set.
06:32:50 <Sgeo_> CakeProphet, rational numbers are countable
06:33:00 <monqy> paradoxes are pretty interesting. how about one of those.
06:34:37 <CakeProphet> oh no, you've caught me, I don't know everything.
06:35:25 <Sgeo_> I usually expect to be bottom of the #esoteric barrel. I mean, top of most people I meet IRL, but this place is ... I'm low here
06:35:57 * Sgeo_ stops being mean to CakeProphet
06:37:13 <CakeProphet> yeah, you guys are going to hurt my feelings. :(
06:37:46 <pikhq> Easy solution to that. Queen.
06:39:03 <CakeProphet> I think he's talking about the band? maybe?
06:39:16 <pikhq> I'm not sure why I said it.
06:39:21 <pikhq> But yes, I was referring to the band.
06:39:30 <pikhq> Also the album, but mostly the band.
06:39:52 <elliott_> <coppro> elliott_: well played
06:40:06 <elliott_> i was sure the durhhhhs would give me away :(
06:40:22 <elliott_> <CakeProphet> oh no, you've caught me, I don't know everything.
06:40:34 <elliott_> i'm sorry dude but knowing the rationals are countable is like the second thing to know about countability after what it is
06:41:18 <CakeProphet> that is essentially what I know about countability.
06:41:59 <CakeProphet> it did not occur to me that every quotient of any two natural numbers can also be counted.
06:42:24 <Sgeo_> Involve an infinite number of natural numbers, _then_ it's uncountable
06:42:52 <pikhq> It's utterly trivial to do an isomorphism from (Integer, Integer) to Integer.
06:43:50 <pikhq> Or any tuple, really.
06:43:51 <CakeProphet> ....? but aren't rational numbers a quotient of /any/ (read: from an infinite set of natural numbers) integers? According to what Sgeo_ says that would make rational numbers uncountable?
06:44:08 <elliott_> CakeProphet: products of countable sets are countable
06:44:29 <Sgeo_> CakeProphet, no, as in, if to specify an entity, it took an infinite amount of natural numbers
06:44:47 <Sgeo_> Let's say rationals are points on a 2-dimensional plane (ok, that's redundant, I know)
06:45:03 <pikhq> CakeProphet: https://secure.wikimedia.org/wikipedia/en/wiki/Cantor_pairing_function#Cantor_pairing_function
06:45:04 <Sgeo_> Where each dimension is an integer
06:45:15 <elliott_> CakeProphet: the set of infinite lists of naturals is uncountable.
06:45:47 <Sgeo_> Now, if you had infinite number of dimensions, even though each dimension can only take integer values, the number of points is uncountably infinite
06:46:07 <elliott_> Sgeo_: this is a really awkward explanation
06:46:28 <pikhq> elliott_: I suspect he's coming up with it as he's going along. Would explain the awkwardness.
06:46:58 <Sgeo_> Ok, better yet. Take a real number, which in some cases takes an infintie number of digits to describe
06:47:21 <CakeProphet> I see how it's countable, I think. But I usually think of these things algorithmically and so I couldn't see a clear algorithm to assign each rational number to a natural number.
06:47:29 <Sgeo_> The reals are uncountably infinite, even though each digit can only have 1 of 10 values.
06:47:42 <Sgeo_> (or whatever base.. which would still be written 10, but wahtever0
06:47:54 <elliott_> Sgeo_: you're not making this any less awkward :P
06:48:05 <elliott_> CakeProphet: but consider interleaving the bits, Q.E.D.
06:48:39 <pikhq> CakeProphet: https://secure.wikimedia.org/wikipedia/en/wiki/Cantor_pairing_function#Cantor_pairing_function
06:48:54 <pikhq> CakeProphet: And realise that the rationals can be represented as a 2-tuple of naturals.
06:49:26 <elliott_> pikhq: it's not that simple since you need a bijection
06:49:54 <pikhq> elliott_: The Cantor pairing function is a bijection.
06:49:59 <CakeProphet> pikhq: already realized. Don't need to worry.
06:50:01 <Sgeo_> Well, the fact that that function works isn't intuitive to me, I prefer thinking along the lines of assigning 0,0 to 0, 0,1 to 1, 1,0 to 2, etc. etc. etc
06:50:12 <elliott_> pikhq: but rationals are not a pair of integers
06:50:16 <Sgeo_> That's how I understand it, don't know if this function is equivalent
06:50:31 <Sgeo_> (well, of course dealing with negatives)
06:50:35 <pikhq> *That* bijection is at least a bit more obvious, though.
06:50:58 <pikhq> Sgeo_: That is the mapping, yes.
06:56:26 <elliott_> http://web.cs.wpi.edu/~jshutt/kernel.html
06:56:31 <elliott_> i hope this has first-class environments
06:56:35 <CakeProphet> > let icantorpair z = let w=(sqrt(8*z+1)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:57:12 <elliott_> > let icantorpair z = let w=(sqrt(8*z+1)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:57:26 <elliott_> > let icantorpair z = let w=(truncate (sqrt (8*z+1))-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:57:27 <lambdabot> Ambiguous type variable `t' in the constraints:
06:57:34 <elliott_> > let icantorpair z = let w=(truncate (sqrt (8*z+1) :: CReal)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:57:35 <lambdabot> No instance for (GHC.Real.Integral Data.Number.CReal.CReal)
06:57:39 <elliott_> > let icantorpair z = let w=(truncate (sqrt (8*z+1) :: Double)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:57:40 <lambdabot> No instance for (GHC.Real.Integral GHC.Types.Double)
06:57:50 <lambdabot> forall a b. (RealFrac a, Integral b) => a -> b
06:58:03 <elliott_> > let icantorpair z = let w=((truncate (sqrt (8*z+1) :: Double)::Integer)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:58:05 <lambdabot> Couldn't match expected type `GHC.Types.Double'
06:58:13 <elliott_> > let icantorpair z = let w=((truncate (sqrt (8*z+1) :: Double)::Integer)-1) `div` 2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:58:14 <lambdabot> Couldn't match expected type `GHC.Types.Double'
06:58:57 <Sgeo_> I'm still obsessed with the idea that, if intelligent life emerges in a reversible CA on a torus, it _will_ inevitably be destroyed
06:59:06 <elliott_> you are obsessed with everything.
06:59:17 <elliott_> > let icantorpair z = let w=((truncate (sqrt (8*(fromIntegral z)+1) :: Double)::Integer)-1) `div` 2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:59:18 <lambdabot> No instance for (GHC.Float.Floating GHC.Integer.Type.Integer)
06:59:21 <lambdabot> forall a b. (Integral a, Num b) => a -> b
06:59:43 <elliott_> > let icantorpair z = let w=(truncate (sqrt (8*(fromInteger z)+1) :: Double)-1) `idv` 2; t=(w**2+w) `div` 2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:59:48 <elliott_> > let icantorpair z = let w=(truncate (sqrt (8*(fromInteger z)+1) :: Double)-1) `div` 2; t=(w**2+w) `div` 2; y=z-t; x=w-y in (x,y) in icantorpair 21
06:59:49 <lambdabot> No instance for (GHC.Float.Floating GHC.Integer.Type.Integer)
06:59:53 <Sgeo_> If the scientists figure out they're on a torus somehow, and understand reversiblity, then...
07:00:01 <elliott_> CakeProphet: i am trying to make it not result in doubles, but am far too lazy
07:00:24 <elliott_> because its a bijection on naturals
07:00:42 <elliott_> ...do you even understand anything
07:00:52 <Sgeo_> Can reversible CAs be turing-complete?
07:00:57 <CakeProphet> I am just not as picky as you about these things. That is the difference in this case.
07:01:05 <elliott_> Sgeo_: yes. proof: reversible languages can
07:01:07 <elliott_> CakeProphet: it's nothing about pickiness
07:02:23 <elliott_> we are looking for a function (Integer,Integer) -> Integer (actually (Nat,Nat) -> Nat, but unfortunately Haskell has no natural type)
07:02:41 <elliott_> yours is Integer -> (Double,Double) which is incorrect (actually a bunch of things with Num and Floating but that's irrelevant)
07:03:49 <elliott_> it's like writing down 2 + 2 = 5 and saying it's correct because you're not picky.
07:04:39 <CakeProphet> ...no. it's not caring because I am not writing an actual program and only care about getting a result that is readable by me.
07:04:53 <elliott_> <CakeProphet> ...but it's a program. it's all good..
07:05:15 <elliott_> anyway, you're the one who objected to me attempting to correct your function
07:05:50 <CakeProphet> let icantorpair z = let w=(sqrt(8*z+1)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in map icantpair [0..]
07:05:55 <CakeProphet> > let icantorpair z = let w=(sqrt(8*z+1)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in map icantpair [0..]
07:06:01 <CakeProphet> > let icantorpair z = let w=(sqrt(8*z+1)-1)/2; t=(w**2+w)/2; y=z-t; x=w-y in (x,y) in map icantorpair [0..]
07:06:03 <lambdabot> [(0.0,0.0),(1.0,0.0),(1.5615528128088303,0.0),(2.0,0.0),(2.3722813232690143...
07:06:13 <elliott_> using doubles broke your program
07:06:45 <pikhq> *sigh* Double. It really shouldn't be a Num.
07:07:02 <elliott_> why not, it is a perfectly valid Num
07:07:06 <elliott_> the fault is Num requiring Eq and Show
07:07:29 <pikhq> Floating point "numbers" are not associative.
07:08:07 <elliott_> pikhq: where does Num require this?
07:08:22 <CakeProphet> I thought it was the operation/relation that was associative.
07:09:00 <pikhq> elliott_: Though the typeclass doesn't require it, the user probably does.
07:09:42 <elliott_> pikhq: this is silly; what of surreal numbers/games?
07:10:05 <elliott_> you can hardly define what Num is because the whole typeclass is stupid, there is no point putting additional constraints on
07:10:25 <pikhq> True, the whole typeclass is a misfeature.
07:12:04 <CakeProphet> elliott_: I would prefer that you actually communicate with me instead of being condescending and assuming I'm just stupid.
07:12:21 <pikhq> What with there being, say, vectors, that you might like to be able to use normal addition on, even though there's not really a sane multiplication function for them.
07:12:38 <elliott_> CakeProphet: you criticised me for trying to fix your program, likening it to needless pedanticism; then you respond to an offhand remark of pikhq with needless pedanticism
07:12:55 <elliott_> if i tried to converse with you under such circumstances, it would merely try my patience.
07:14:25 <CakeProphet> elliott_: no, see. I was fine with you fixing the program. I thought you had gotten it to work when it returned doubles. At that point, I thought you were simply trying to make the types reflect the actual mathematical definition, which I thought was a waste of time since the program seemed to work. My mistake.
07:14:51 <elliott_> it returned doubles when you wrote it, all my modifications were to make it integers
07:15:21 <CakeProphet> ah, yeah it timed out on mine. I thought you made changes.
07:16:30 <Sgeo_> I think they would all starve to death. After all, they would likely require some sort of energetic ... stuff for their brains
07:17:53 <CakeProphet> how could life exist on an abstract mathematical grid?
07:18:24 <Sgeo_> How can life exist that's made of mathematically describable matter?
07:18:57 <CakeProphet> so you mean, what if intelligent life existed in a torus shaped universe?
07:19:28 <Sgeo_> I'm sticking with torus shaped universe for simplicity
07:20:10 <elliott_> but seriously, what do you mean "how could life exist on an abstract mathematical grid"
07:20:27 <CakeProphet> it just sounds strange to talk about something life on an idea.
07:20:51 <elliott_> im seriously not trying to be condescending you're just not making any sense
07:21:22 -!- choochter has joined.
07:21:25 <CakeProphet> as in, I don't see how it makes sense to talk about things living on an automata. Does that not sound strange to you?
07:21:55 <Sgeo_> We know of GoL replicators. That's a start
07:22:01 -!- Slereah has joined.
07:22:04 <pikhq> CakeProphet: It is possible that we live in an automaton.
07:22:16 <elliott_> CakeProphet: I don't see how that sounds strange
07:22:31 <pikhq> (whether or not we *do* is, of course, an unanswered question ATM.)
07:22:33 <elliott_> this has nothing to do with platonism
07:22:40 <elliott_> we can model the universe FUCK NOW IT'S ABSTRACT HOW CAN LIFE EXIST ANY MORE
07:23:25 <CakeProphet> right, talking about life in a universe sounds fine to me. But talking about a physical entity on an abstract entity does not make any sense. Sure, we can model physical things with abstract things, but that does not mean they are one and the same.
07:24:02 <elliott_> or is life made out of a bunch of on-off squares unimaginable to you
07:24:09 <elliott_> in which case, WHOO boy let me tell you about these things called quarks
07:24:24 <Sgeo_> electrons aren't made of quarks
07:25:08 <CakeProphet> well no, I just tend to think of life as a physical occurence. Talking about intelligent or self-replication in an abstract model makes sense, yes.
07:25:09 <elliott_> Sgeo_: sorry ill adjust all my jokes for accuracy in future
07:25:29 <elliott_> CakeProphet: what is not "physical" about a CA
07:25:37 <elliott_> is it because it's two-dimensional
07:25:58 <Sgeo_> elliott_, didn't you like the mathematical universe hypothesis once?
07:26:11 <elliott_> this has nothing to do with platonism or anything
07:26:16 <CakeProphet> no, it's because it is a thing that only exists in our minds. I suppose it has a physical existence in our universe, but it's purely a neurological thing and not an actual 2D grid in our universe.
07:26:39 <elliott_> you do seriously realise you're making no sense at this point?
07:26:49 <elliott_> imagining physical life in a CA is no different to imagining a physical cylinder in an imaginary three dimensional world
07:26:58 <elliott_> and saying you cant imagine a cylinder because IT;S JUST NEUROLOGICAL ...
07:27:21 <elliott_> there is nothing non-physical about the cylinder, or the life
07:27:48 <pikhq> CakeProphet: Boy, I bet you'd love you some solipsism.
07:28:43 <CakeProphet> you can imagine physical things, sure. You can also imagine abstract things, because that is how they come to be in the first place. But I don't see how you can imagine a physical thing in an abstract system where it doesn't belong.
07:29:12 <CakeProphet> but yes, I understand what Sgeo_ means by "life" in a CA now.
07:29:17 <elliott_> ok so what makes imagining a cylinder a physical thing, and imagining CA cells not a physical thing
07:29:22 <elliott_> is it because a CA is discrete? two-dimensional?
07:29:30 <elliott_> what makes an imagination of an object in a world physical or abstract
07:30:07 <CakeProphet> well a cylinder is also an abstract object...
07:30:38 <elliott_> what is imagining something physical, then?
07:31:20 <CakeProphet> but if you imagine your room, then it can fit together into other imaginings that correspond to the system it resides in. I suppose that means three-dimensional, yes. Since when imagining things, you could also imagining that your room can now fly, or something.
07:31:47 <elliott_> did you really think all of this the first time you got confused by someone saying life or are you just trying to justify it after the fact because that sentence makes literally no sense
07:31:53 <elliott_> as far as an explanation as to how it's physical goes
07:31:57 <CakeProphet> it doesn't have to correspond to the physical world no. But it generally has to make sense to exist in the imagined environment.
07:32:02 <CakeProphet> elliott_: no this is all justification for your questions.
07:34:11 <CakeProphet> I was just trying to imagine a physical lifeform residing in a concept, and having trouble seeing how that would make sense. But yes, I can see how you can model life in a CA.
07:34:44 <elliott_> i still have no idea how you are defining physical and concept
07:34:50 <CakeProphet> but when you talk about sentient beings "living" in a CA, doesn't make sense to me.
07:34:51 <elliott_> what makes a CA a concept and our universe a physical thing
07:36:00 -!- monqy has quit (Quit: hello).
07:36:01 <CakeProphet> different categories of knowledge I suppose. This is a tricky thing for me to try to explain. It's probably an intuitive notion to a degree.
07:36:39 <elliott_> is Minecraft physical in this sense or a concept
07:36:42 <elliott_> can you imagine living in Minecraft
07:37:45 <CakeProphet> I can imagine living in Minecraft, but I could not actually live in Minecraft. Also, to be an accurate representation of Minecraft, I would have to conform to Minecraft physics.
07:37:53 <CakeProphet> i.e. I would have to be made of large blocks.
07:38:27 <elliott_> is Minecraft physical in this sense or a concept
07:38:31 <CakeProphet> but that isn't strictly true. I could just be superimposed in Minecraft world, but then it corresponds less to the actual Minecraft world (which is also a concept)
07:38:33 <elliott_> is Minecraft physical in this sense or a concept
07:38:48 <elliott_> something is physical if it's literally identical to this universe
07:39:02 <elliott_> and you can only talk about physical things living in this universe
07:39:09 <elliott_> ok, great, that's totally a thing that makes no sense at all
07:39:38 <elliott_> totally can't imagine referring to something physical living in a world that's exactly like the earth, but flattened out and repeated forever, with an infinitely high sky and an infinitely deep (tiled) underground
07:40:10 <CakeProphet> it seemed that Sgeo was talking about some actual species of life living on a CA, and the possibility that something could exist. Perhaps I misunderstood.
07:40:34 <elliott_> what do you mean "something could exist"
07:42:00 <pikhq> I think I'm going to have some fun here...
07:42:05 <pikhq> CakeProphet: Prove to me the universe exists.
07:42:20 <elliott_> CakeProphet: exist as in physically?
07:42:24 <pikhq> But I think you're just a concept!
07:42:32 <CakeProphet> elliott_: well, that's what I was thinking at the time.
07:42:35 <elliott_> CakeProphet: can you imagine simulating a CA on a computer and an intelligent species of life arising
07:42:43 <elliott_> (consider periodic injections of random blocks)
07:43:19 <elliott_> i really think this is just a case of you not having a good enough imagination to imagine life existing in a CA. or you're just not applying it. i honestly cannot see what distinction you are trying to make between physical and abstract at all.
07:43:45 <pikhq> elliott_: He can't even prove there is such a thing as "physical". :)
07:43:59 <CakeProphet> not a species in the typical sense, no. I can imagine intelligence emerging on a CA, and even being closed into a particular homeostatic pattern.
07:44:34 <CakeProphet> pikhq: I just don't want to get into epistemology :P
07:44:34 <elliott_> you realise species is just... a specific type of life
07:44:43 <elliott_> OE SHITE ITS NOT IDENTICAL TO EARTH LIFE IT CANT BE A SPECIES
07:45:25 <CakeProphet> it's just semantics, dude. I said it's not a typical species.
07:45:32 <pikhq> CakeProphet: What I was trying to get you to realise is that your distinction presumes that there is such a thing as "physicalness", even though it is entirely possible that there is not.
07:45:34 <CakeProphet> since it's atypical to what is typical to us.
07:45:42 <pikhq> CakeProphet: We could ourselves be in a simulation.
07:45:43 <elliott_> you're the one being a pedant about what a species is here
07:45:48 <pikhq> Or someone's hallucination.
07:46:00 <CakeProphet> pikhq: yes, see, this is why I didn't want to get into that. :P
07:46:21 <pikhq> Trying to pretend that this world is special in a way that an interesting cellular automaton is not is, well, utterly pointless.
07:46:26 -!- iamcal has quit (Remote host closed the connection).
07:46:36 -!- iamcal has joined.
07:47:01 <pikhq> What, "I didn't want to be shown stupid"?
07:47:23 <CakeProphet> pikhq: I didn't. I simply misunderstood what Sgeo was saying. I was maintaining a distinction between unrelated concepts. In particular, "physical life" and "cellular automaton"
07:47:44 <pikhq> Pointless distinction.
07:47:59 <pikhq> And quite plausibly not even well-founded.
07:48:10 <CakeProphet> pikhq: probably not. Since, after all, we can't know anything.
07:48:22 <pikhq> Oh, we can know lots of things.
07:48:24 <elliott_> please someone else say something
07:48:44 <elliott_> coppro: hows about the good man here do you want to say words
07:49:04 <pikhq> elliott_: Bird's the word.
07:50:00 <CakeProphet> I didn't really intend to start any sort of argument.
07:51:26 <CakeProphet> actually, what I was originally talking about wasn't even remotely philosophical.
07:53:01 -!- Vorpal has joined.
07:53:57 <CakeProphet> elliott_: if you want to change subjects, we could always talk about the semantics of Perl. >:D >:D >:D >:D
07:55:43 <elliott_> i am going to officially strike today from the log record it is too bad
07:56:06 -!- elliott_ has quit (Remote host closed the connection).
07:56:26 <Vorpal> <elliott_> i am going to officially strike today from the log record it is too bad
07:56:34 -!- elliott has joined.
07:57:19 <Vorpal> elliott, give me a good reason not to
07:57:54 <Vorpal> CakeProphet, why, elliott doesn't hate you does he?
07:58:25 <elliott> Vorpal: unrelatedly, see /msg
08:03:06 <pikhq> Wow. RCA made a car record player.
08:03:34 <pikhq> Only did 45s, but hey.
08:04:50 <CakeProphet> elliott: do you have anything in your strife specibus at the moment?
08:05:58 <CakeProphet> I have a can of orange Fanta, which I will pretend is Faygo.
08:06:26 <elliott> pretend to be fictional characters in a webcomic irc event 2011
08:22:24 -!- MigoMipo has joined.
08:36:38 <elliott> ?pl f (\s -> g (\t -> k (s.t)))
08:36:43 <elliott> ?pl (\s -> g (\t -> k (s.t)))
08:36:47 <Sgeo_> Seems like someone else had the same idea I did
08:38:14 -!- aloril has quit (Ping timeout: 246 seconds).
08:39:18 <elliott> :: (((b -> c) -> t1) -> t)
08:39:18 <elliott> -> (((a -> b) -> t2) -> t1)
08:39:34 <elliott> ?hoogle (((b -> c) -> t1) -> t) -> (((a -> b) -> t2) -> t1) -> ((a -> c) -> t2) -> t
08:41:02 <Sgeo_> This does not.... look reversible
08:44:20 <Deewiant> ?djinn (((b -> c) -> t1) -> t) -> (((a -> b) -> t2) -> t1) -> ((a -> c) -> t2) -> t
08:44:21 <lambdabot> f a b c = a (\ d -> b (\ e -> c (\ f -> d (e f))))
08:44:37 <Deewiant> ?. pl djinn (((b -> c) -> t1) -> t) -> (((a -> b) -> t2) -> t1) -> ((a -> c) -> t2) -> t
08:44:37 <lambdabot> f = (. ((. ((. (.)) . (.))) . (.))) . (.)
08:47:32 <elliott> Deewiant: unfortunately i'm having trouble simplifying the type down
08:49:44 <Sgeo_> HOW DOES IT EVEN MAKE SENSE FOR A UNIVERSE OPERATING BY REVERSIBLE RULES THAT WAS ACTIVE TO BECOME STATIC
08:50:07 <Sgeo_> I'm going to assume that either I installed this rule improperly, or the person who made it is an idiot
08:50:11 -!- adamfyre has joined.
08:50:34 -!- adamfyre has quit (Client Quit).
08:52:21 -!- aloril has joined.
09:02:05 -!- azaq23 has quit (Quit: Leaving.).
09:05:34 <elliott> *Data.Format> format (str "List:" %% each (str " " %% showable)) [9,0,9]
09:07:42 <lambdabot> intercalate xs xss = concat (intersperse xs xss)
09:11:47 -!- Slereah has quit (Ping timeout: 240 seconds).
09:19:54 -!- oerjan has joined.
09:24:13 <oerjan> <Sgeo> https://docs.google.com/document/pub?id=18eLRRmojIXEU36uad7lW7XwRRGEKFvjiYV6pS3-UF-4 well, this is intuitive as mud.
09:24:26 <oerjan> well, _i_ thought it was obvious
09:26:09 <elliott> oerjan: later on: discover that sgeo thought reversibility = time symmetry
09:27:45 <oerjan> oh? well all CAs are time symmetric.
09:27:59 <oerjan> (for the symmetry of adding one tick, anyway)
09:28:15 <oerjan> <quintopia> therefore, the universe is not reversible
09:28:26 <oerjan> I DO NOT THINK THIS IS GENERALLY AGREED UPON
09:32:10 <elliott> this channel seems to constantly see us authoritatively stating absolute bullshit. :D
09:35:04 <elliott> oerjan: i am having typeclass problems :(
09:36:21 <oerjan> well just rejoice in the fact ghc now allows equations in superclass contexts, maybe that solves your problem
09:37:16 <elliott> oerjan: but no, no it does not
09:37:27 <elliott> oerjan: it's a problem with a too-polymorphic instance not getting recognised, I think
09:37:36 -!- augur has quit (Remote host closed the connection).
09:37:37 <elliott> i.e. it's saying "no instance for (more specific thing despite me having a more general instance)"
09:37:41 <elliott> this is where flexibleinstances leads :(
09:37:47 <elliott> the worst thing is, I seem to _recall_ this working prior
09:37:55 <elliott> what did I do differently...
09:39:45 <coppro> elliott: No one in this channel ever authoritatively states absolute bullshit.
09:40:43 <coppro> I fear what would happen if elliott and I were to meet
09:41:06 <elliott> right after you start defending C++
09:41:07 <oerjan> some explosion involving gamma rays
09:41:17 <elliott> i didn't specify the kind of bloodshed
09:41:22 <coppro> elliott: nah, you're free to attack C++
09:41:31 <elliott> coppro: yeah, but you're not free to defend it
09:41:45 <coppro> elliott: but I'll defend to the death your right to.. wait
09:43:18 <elliott> oerjan: now i wonder if you're sympathetic enough to try and _fix_ it...
09:43:21 <elliott> btw i fixed my space leak :D
09:43:44 <elliott> the problem was that i was binding the zip, rather than zipping it all at once and _then_ binding
09:44:45 <coppro> elliott: what are you writing?
09:45:00 <elliott> coppro: two different things
09:45:21 <elliott> The space leak was in my work-in-progress wc.hs, which is an attempt to write a wc that has feature-parity with GNU wc and is much, much faster
09:45:44 <elliott> (I already have something that does the basic byte-only wc quite a bit faster than GNU wc with multibyte disabled)
09:46:00 <elliott> (It fails a bit at word-counting, but what it does instead is as expensive, so it's a fair win :))
09:46:09 <elliott> While also being readable and clean
09:46:16 <elliott> So far I'm succeeding excellently
09:48:07 <elliott> No instance for (Format (Formatter r0 (a1 -> r0)) String a0)
09:48:07 <elliott> arising from a use of `format'
09:48:59 <oerjan> yo dawg i heard you like to format
09:50:16 <elliott> oerjan: this is me attempting to generalise my (stolen the idea from somewhere -- I forget where) type-safe formatting combinators to something hackageable
09:50:31 <CakeProphet> elliott: do you recommend iteratee for regex processing?
09:51:08 <elliott> oerjan: i.e. format ("Elements: " %% str %% eachJoin ", " str) ["a", "b", "c"]
09:52:48 <CakeProphet> What would help me write a regex interpreter/compiler in Haskell?
10:01:58 <elliott> http://pastebin.com/f12c043e1 meanwhile, some ocaml code i wrote in early 2009
10:11:50 -!- augur has joined.
10:13:47 <CakeProphet> In February 2011, Cage claimed to have created a new method of acting he calls Nouveau Shamanic. He claims to have used the acting style throughout his career and one day plans to write a book about the method.[citation needed]
10:15:48 <elliott> googling suggests it used to be cited
10:15:51 <elliott> probably with a bad citation
10:18:36 <CakeProphet> I'm such a Homestuck fanboy that I might buy a godhoodie..
10:19:03 <elliott> yeah, um, the fanboy thing wears off a little after a week or so.
10:19:19 <elliott> i would have bought the hero of breath hoodie if it had the stupidly long hood :)
10:20:45 <CakeProphet> I mean, it would be awesome, but I would get strange looks when walking around in public.
10:21:13 <CakeProphet> also, it would probably be way more expensive.
10:21:34 <elliott> ah, then i diagnose you with boring normal person disorder
10:22:47 <CakeProphet> though I fail pretty well at that actually.
10:22:59 <CakeProphet> maybe I do get weird looks? I'm not sure actually.
10:23:13 <elliott> you could make it certain by making your own ridiculous godhood
10:23:34 <augur> happy Turing day! \o/
10:24:10 <augur> edgy is for hipsters
10:28:01 <lambdabot> Not in scope: data constructor `Cont'
10:28:11 <lambdabot> Not in scope: data constructor `Control.Monad.Cont'
10:28:17 <lambdabot> forall r a. Cont r a -> (a -> r) -> r
10:29:14 <elliott> oerjan: tempting only in that it could make (f %% g) k = f $ \s -> g $ \t -> k (s . t)
10:32:09 <oerjan> :t let (f %% g) k = f $ \s -> g $ \t -> k (s . t) in (%%)
10:32:10 <lambdabot> forall a b b1 b2 (f :: * -> *) t. (Functor f) => (((a -> b) -> b1) -> b2) -> ((f a -> t) -> b1) -> (f b -> t) -> b2
10:32:26 <oerjan> :t let (f %% g) k = f $ \s -> g $ \t -> k (s Prelude.. t) in (%%)
10:32:27 <lambdabot> forall b c b1 b2 a t. (((b -> c) -> b1) -> b2) -> (((a -> b) -> t) -> b1) -> ((a -> c) -> t) -> b2
10:32:51 <oerjan> maybe too much switching of the final type
10:33:39 <lambdabot> Maybe you meant: ft map msg pl unmtl url
10:36:12 <elliott> oerjan: overloadedstrings or TYPECLASS???///
10:37:41 <elliott> 21:26:16: <AnMaster> <oerjan> kerlo: i hear "assume a spherical cow" is well-known <-- spherical copy on write?
10:39:53 <elliott> 22:11:06: <oerjan> <ehird> sprintf has one of those stupid collapsing '_a types
10:39:53 <elliott> 22:11:12: <oerjan> value restriction?
10:39:53 <elliott> 22:11:33: <ehird> yeah what is that thing
10:42:05 <oerjan> but you are saying it's working now?
10:43:02 <elliott> oerjan: i'm saying it's not ocaml any more :D
10:43:06 <elliott> 22:25:05: <oerjan> <ehird> snot a very good name
10:43:06 <elliott> 22:25:21: <oerjan> i shall have you hear from my lawyer!
10:43:49 <oerjan> once i get the money to pay him, anyway
10:43:51 <elliott> 23:04:40: <ehird> we should genetically modify humans to just breed breed breed
10:43:51 <elliott> 23:04:43: <ehird> and get infinite humans
10:43:51 <elliott> 23:04:45: <ais523> ehird: no we shouldn't
10:43:58 <elliott> good advice hour with ais523
10:46:37 <elliott> oerjan: oh, heh, i originally did this in oh-eight
10:47:52 <oerjan> http://caml.inria.fr/pub/papers/garrigue-value_restriction-fiwflp04.pdf might be relevant. annoyingly it doesn't have a proper date...
10:48:41 <elliott> 00:57:56: <ehird> (%) (FormatterInt f) (FormatterInt g) =
10:48:41 <elliott> 00:57:57: <ehird> FormatterInt (\k r -> f (g k) r)
10:52:11 <elliott> 22:22:18: <oerjan> i don't play any games more violent than FreeCiv
10:52:11 <elliott> 22:22:36: <Slereah_> I don't play any game more violent than Postal 2.
10:52:11 <elliott> 22:22:46: <Slereah_> But only because I haven't found any so far.
10:55:52 -!- elliott has quit (Remote host closed the connection).
10:56:21 -!- elliott has joined.
11:02:38 * CakeProphet is trying to decide what data structure to use for a look-back buffer in a regex interpreter.
11:03:59 <elliott> Could not deduce (r ~ (s -> s))
11:03:59 <elliott> from the context (Monoid s)
11:05:49 -!- Tritonio_GR has quit (Quit: Leaving).
11:06:07 <CakeProphet> I'd like to have infinite look-back somehow/
11:07:08 <CakeProphet> it would be easy if look-back patterns were in reverse. Because then I could just construct a reverse list of previous characters.
11:08:33 <CakeProphet> ah, I could execute the look-back pattern in reverse on a reversed buffer..
11:13:53 <CakeProphet> I think infinite-lookback is just going to be complicated, and I'll worry about it later.
11:16:01 <elliott> oerjan: gah, why do flexible instances simply never work?
11:16:04 <elliott> instance IsString (Formatter r r) where
11:16:10 <elliott> No instance for (IsString (Formatter String a0))
11:16:26 <elliott> format "a" :: IsString (Formatter String a) => a
11:19:42 <oerjan> well does format "a" :: String work?
11:20:56 <elliott> foo :: Int -> Int -> String
11:20:56 <elliott> foo = format (showable % " " % showable)
11:21:01 <elliott> (Formatter (a0 -> String) (Int -> String)))
11:22:06 <oerjan> so basically it cannot deduce what a0 is
11:23:47 <CakeProphet> What other behavior are you going for besides simply interpolating the string produced by show?
11:25:23 <cheater_> years later, i am still sad about the fact that i hadn't taken the chance
11:25:37 <cheater_> it is one of the big failures of my life.
11:25:44 <CakeProphet> couldn't you just use functions for those?
11:26:01 <elliott> CakeProphet: what do you think i am doing
11:28:14 <lambdabot> forall a. (Show a) => a -> String -> String
11:32:36 <elliott> CakeProphet: it is not a (++)
11:36:08 -!- FireFly has joined.
11:36:17 <oerjan> CakeProphet: it has much better complexity, because you aren't _nesting_ ++ 's
11:37:25 <oerjan> and especially not in the left argument
11:37:36 <Deewiant> CakeProphet: Think about left vs right associative ++
11:39:04 <Deewiant> One is linear in the length of the result, the other quadratic
11:40:22 <oerjan> > foldl' (++) $ replicate 1000 "a"
11:40:23 <lambdabot> Overlapping instances for GHC.Show.Show
11:40:32 <oerjan> > foldl' (++) "" $ replicate 1000 "a"
11:40:34 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
11:40:44 <oerjan> > foldl' (++) "" $ replicate 100000 "a"
11:40:56 <oerjan> > foldr (++) "" $ replicate 100000 "a"
11:40:58 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
11:41:26 <oerjan> > legnth $ foldl' (++) "" $ replicate 100000 "a"
11:41:31 <oerjan> > length $ foldl' (++) "" $ replicate 100000 "a"
11:41:40 <Deewiant> And that one's lazier, too :-P
11:41:43 <CakeProphet> right, but how does shows work faster than right-associative ++?
11:41:43 <oerjan> > length $ foldr (++) "" $ replicate 100000 "a"
11:42:31 <elliott> FUCK MONAD TRANSFORMERS THEY DO AWAY WITH MY SOCKAGES
11:43:01 <elliott> oerjan: YOU'RE A CARPAL TUNNEL
11:43:26 <elliott> REAAAAAAAAAAAERARGAHERGHJRGHGH
11:43:48 <Deewiant> CakeProphet: It doesn't, it's just that typical incremental uses end up being left-associative unless you use something like ShowS
11:44:02 -!- Tritonio has joined.
11:44:35 <elliott> he;lp i got lost in okmij.org
11:44:38 <CakeProphet> is there something like shows, without the application of show?
11:44:49 <CakeProphet> say you're only working with strings and don't want the double quotes.
11:44:51 <oerjan> elliott has now left us for the type system
11:45:28 <oerjan> CakeProphet: um (++) is perfectly fine for prepending a single string :P
11:45:47 <oerjan> so, the answer is (++), really
11:46:12 <elliott> <CakeProphet> is there something like shows, without the application of show?
11:46:53 <oerjan> elliott: there are defaults both ways, actually.
11:47:02 <elliott> oerjan: but in _good_ usage :D
11:47:08 <elliott> (for a show instance that isn't just constant strings, etc.)
11:47:22 <lambdabot> forall a. (Read a) => String -> [(a, String)]
11:47:34 <elliott> Deewiant: oh, DList sucks :(
11:47:37 <elliott> Deewiant: only supports [a] collections
11:47:46 <elliott> i was gonna use it but I need ByteString, Text, etc. support too
11:49:33 <CakeProphet> so reads and shows are not really analogous.
11:49:36 <oerjan> CakeProphet: Read is inefficient, iirc. ghc defines some extra methods in the class to rectify this, i think
11:50:12 <elliott> Deewiant: I have you down as a very modern person
11:50:25 <oerjan> i'm not sure that includes the extra methods
11:50:27 <Deewiant> Just use [a] like God intended
11:50:48 <elliott> Deewiant: It's mostly for HIGH-QUALITY purposes :)
11:50:58 <elliott> All Hackage packages must satisfy the Pokémon Theme Song requirement.
11:51:22 <elliott> I AM EVEN WONDERING HOW I CAN CALCULATE ESTIMATED LENGTHS TO PREALLOCATE A BYTESTRING
11:52:37 <elliott> Deewiant: "I decided to make it because I noted that much of the time of Coadjute was spent doing naïve list operations on sets of strings." You should have just used lists
11:53:42 <CakeProphet> What if Richard Stallman joined this channel right now? What would you do?
11:53:52 <elliott> annoy him until he goes away
11:54:53 <CakeProphet> Guido Von Rossum? Larry Wall? <insert pseudo-celebrity programmer>? Same protocol?
11:55:11 <CakeProphet> What if they had some awesome esolang ideas?
11:55:27 <elliott> Larry Wall is a Christian missionary, so I'm legally obligated to annoy him on at least a daily basis even if I let him stay
11:57:31 -!- jix has quit (Ping timeout: 276 seconds).
12:03:40 <elliott> oerjan: hi can you get oleg on the phone i need his help
12:05:21 <elliott> oerjan: the type system has failed
12:06:05 -!- jix has joined.
12:06:46 -!- HackEgo has quit (Ping timeout: 244 seconds).
12:07:08 -!- MigoMipo has quit (Read error: Connection reset by peer).
12:07:48 -!- HackEgo has joined.
12:08:03 <elliott> 20:59:17: <RodgerTheGreat> ais523: why are you being such a spoilsport today? You're usually all over puzzles and the like
12:08:09 <elliott> ais gets so many people complaining about him :D
12:14:58 <CakeProphet> http://en.wikipedia.org/wiki/Zero_One_Infinity
12:15:04 <CakeProphet> this is so silly why does it even have a stupid name.
12:16:31 <elliott> do you have an actual criticism
12:17:09 <CakeProphet> there is no reason for that to even be a name for something.
12:17:22 <elliott> what else do you want to call "zero one infinity"
12:17:50 <elliott> ok do you have an actual argument for that, there is pretty lively discussion on http://c2.com/cgi/wiki?ZeroOneInfinityRule after all and it's a decent rule of thumb
12:17:59 <elliott> or do you just not like its existence, should we never talk about it, would you like it to be taboo
12:18:50 <CakeProphet> I just don't see how it ever became a rule of thumb. I think it is more or less implied now...
12:19:08 <elliott> it is? please point me to a program with no arbitrary limits
12:19:08 <CakeProphet> in fact, I didn't even think there was a name for it, but I knew this was a good thing to do regardless.
12:19:41 <elliott> anyway, we have names for things that should be assumed.
12:19:48 <elliott> like "not being a gigantic raging asshole".
12:19:59 <CakeProphet> uh, no program has no limits. I mean "if you are going to allow multiple elements, then allow an arbitrary number"
12:20:49 <elliott> what do you mean no program has no limits?
12:20:52 <elliott> and that is far from assumed
12:21:04 <elliott> plenty of people will cap something at six five five three six if they don't think anyone will need more than that
12:21:07 <elliott> saves dynamic allocation code
12:21:20 <elliott> "if you are going to allow multiple elements, then allow an arbitrary number"
12:21:25 <elliott> i wonder which one i would rather say
12:22:06 <elliott> i'm open to being convinced if you have any actual arguments for why it shouldn't be a term, or evidence that it is, in fact, widely assumed
12:22:48 <CakeProphet> No. not everything is a fucking debate. It was a comment, about something that seemed to be yet another unnecessary software design term.
12:23:22 <elliott> i've made no debate, it's just that you keep saying really stupid things that seem to be asking for a response in the form of agreement or whatever.
12:23:31 <elliott> should i not reply to any of your messages
12:27:27 <CakeProphet> No, I just dislike having to painstakingly back up everything I say with detailed evidence for why it is reasonable for me to like/dislike something, when all I am doing is simply commenting on the fact, whether you agree or disagree.
12:28:17 <elliott> you didn't say "this term seems silly to me", you just said "this is so silly why does it even have a stupid name". either way, if you're saying it on an irc channel, presumably you want some kind of response, or you'd just cat it into /dev/null.
12:28:21 <oerjan> elliott: idea, would instance (r ~ s) => IsString (Formatter r s) work better?
12:28:41 <elliott> CakeProphet: i apologise for disagreeing with your statement.
12:28:59 <elliott> oerjan: I would still prefer a Formatter solution, so I'll try adapting that to that first
12:29:26 <elliott> oerjan: nice, undecidableinsatnces time
12:29:56 <elliott> meh, still the same problem, I will try with IsString
12:34:09 <elliott> what was that, i instinctively rejected
12:34:37 <CakeProphet> I just needed to exceed some character limits for a moment in a /msg
12:34:53 <CakeProphet> or is that a different protocol? I can't remember.
12:35:52 <lambdabot> forall b c (a :: * -> * -> *). (Arrow a) => (b -> c) -> a b c
12:36:05 <elliott> Formatter _almost_ looks like an arrow
12:36:08 <elliott> oerjan: wait, it is a Category
12:36:12 <elliott> (%) :: Formatter a b -> Formatter c a -> Formatter c b
12:36:37 <CakeProphet> elliott: no I believe if you accept I should be able to bombard you with massive amounts of text..
12:36:48 <elliott> CakeProphet: i already rejected, so you'd need to try again
12:37:29 <lambdabot> forall (cat :: * -> * -> *) b c a. (Control.Category.Category cat) => cat b c -> cat a b -> cat a c
12:41:54 -!- cheater_ has quit (Ping timeout: 244 seconds).
12:44:05 <elliott> foo :: (Show a) => [a] -> String
12:44:05 <elliott> foo = format ("List length: " % int <-- length %& "; elements: " % each showable)
12:45:41 <oerjan> does each put in a delimiter?
12:45:45 <elliott> <-- is just "map the formatter over a function"; %& means "repeat the formatting value I just used as the next one"
12:45:59 <elliott> oerjan: no, I plan an eachJoin that takes a zero-argument formatter to go in-between
12:46:05 <elliott> so you would say eachJoin " " showable
12:46:10 <elliott> although maybe it should just be called each
12:46:24 <elliott> the types are quite pretty
12:46:25 <elliott> (%&) :: Format a (b -> c) -> Format c (b -> a) -> Format c (b -> c)
12:46:34 <elliott> ?hoogle cat a (b -> c) -> cat c (b -> a) -> cat c (b -> c)
12:49:09 <elliott> oerjan: I am worried that I'm going to need a typeclass for pretty much every formatter if I support non-string types
12:50:10 <elliott> instance (IsString s, Monoid s, r ~ a) => IsString (Format s r a) where
12:50:17 <elliott> I'm surprised _that_ works fine!
12:50:43 <elliott> oerjan: I'm kind of thinking that I really want "higher-order" formatters
12:50:53 <elliott> oerjan: so that each actually is a formatter that returns a /list/
12:50:57 <elliott> of whatever the formatter it's given does
12:52:31 -!- Tritonio has quit (Quit: Leaving).
12:54:17 <elliott> oerjan: wow, id is really hard to write :D
12:56:20 <elliott> ?pl \f g k x -> f (\s -> g (\t -> k (s . t)) x) x
12:56:21 <lambdabot> flip flip id . ((flip . (ap .)) .) . (. ((flip .) . (. ((. (.)) . (.))) . (.))) . (.) . (.)
12:57:29 <Lymee> I think.... I need to study up on Haskell. a lot.
12:58:21 <elliott> yep i just replaced my code with flip flip id . ((flip . (ap .)) .) . (. ((flip .) . (. ((. (.)) . (.))) . (.))) . (.) . (.)
12:58:52 <elliott> ?pl \f g k -> f (\s -> g (\t -> k (s . t))))
12:58:53 <lambdabot> expecting variable, "(", operator or end of input
12:58:54 <elliott> ?pl \f g k -> f (\s -> g (\t -> k (s . t)))
12:58:54 <lambdabot> (. ((. ((. (.)) . (.))) . (.))) . (.)
12:58:58 <elliott> (. ((. ((. (.)) . (.))) . (.))) . (.).
13:00:40 <Lymee> What do those dots even do?
13:01:55 <elliott> oerjan: each :: Format s (DL s) (a -> DL s) -> Format [s] r ([a] -> r)
13:02:30 <EgoBot> exists argument is not a HASH or ARRAY element or a subroutine at /tmp/input.26055 line 1.
13:03:26 -!- oerjan has quit (Quit: O KAY).
13:03:45 <CakeProphet> apparently time does not count as a subroutine name.
13:05:16 <Lymee> CakeProphet, wtf does that do?
13:05:46 <elliott> ?pl \k xs -> k (mappend (map (format f) xs)
13:05:47 <lambdabot> expecting variable, "(", operator or ")"
13:05:47 <elliott> ?pl \k xs -> k (mappend (map (format f) xs))
13:06:04 <elliott> ?pl \xs -> k (mappend (map (format f) xs))
13:06:28 <elliott> each showable :: Show a => Format [String] r ([a] -> r)
13:06:58 -!- elliott has left ("Leaving").
13:07:04 -!- elliott has joined.
13:08:37 <lambdabot> intercalate xs xss = concat (intersperse xs xss)
13:08:39 <lambdabot> intersperse sep (x:xs) = x : sep : intersperse sep xs
13:08:44 <lambdabot> Data.ByteString intersperse :: Word8 -> ByteString -> ByteString
13:08:44 <lambdabot> Data.List intersperse :: a -> [a] -> [a]
13:08:44 <lambdabot> Data.ByteString.Char8 intersperse :: Char -> ByteString -> ByteString
13:09:48 <Lymee> ?pl ((a + b) / c) * ((d * e) + f)
13:10:13 <Lymee> ?pl \a b c d e f -> ((a + b) / c) * ((d * e) + f)
13:10:14 <lambdabot> flip flip (((+) .) . (*)) . ((flip . (((.) . (.) . (.) . (*)) .) . (/)) .) . (+)
13:10:51 <elliott> *Text.Format> foo [0, 990, 0]
13:10:51 <elliott> "List length: 3; elements: 0, 990, 0."
13:11:36 <Lymee> ?pl \a b -> [a..b]
13:11:48 <Lymee> elliott, how does ?pl work?
13:13:23 -!- BeholdMyGlory has joined.
13:22:43 <elliott> "like the other commenters who pointed out, this does not mean the passwords are stored in plain-text. we can only presume that they are encrypted with something like an MD5 algorithm (which is reversible)."
13:26:09 <elliott> why would you ant a link to an idiot
13:27:56 <Lymee> To see what they're talking about.
13:30:45 <Lymee> elliott, besides, MD5 is reversible with enough computing power.
13:30:58 <elliott> there are infinite inputs for a single mdfive output
13:31:52 <elliott> well ok that kind of counts as reversible
13:31:55 <elliott> but not in the way they meant
13:33:49 <elliott> Lymee: but seriously go play nottetris right now
13:35:12 -!- cheater_ has joined.
13:40:37 -!- zzo38 has joined.
13:44:04 -!- Wamanuz2 has joined.
14:18:19 -!- Wamanuz3 has joined.
14:19:41 -!- cheater__ has joined.
14:19:44 -!- Wamanuz2 has quit (Ping timeout: 258 seconds).
14:20:23 -!- Wamanuz3 has quit (Read error: Operation timed out).
14:22:21 -!- cheater_ has quit (Ping timeout: 252 seconds).
14:22:37 <elliott> where's oerjan when you need him
14:25:13 -!- TOGoS has joined.
14:27:48 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:32:22 -!- cheater__ has quit (Ping timeout: 255 seconds).
14:35:33 -!- TOGoS has left.
14:45:19 -!- cheater__ has joined.
14:51:58 -!- jcp has quit (Ping timeout: 264 seconds).
14:53:08 -!- copumpkin has joined.
14:53:08 -!- copumpkin has quit (Changing host).
14:53:08 -!- copumpkin has joined.
14:55:51 -!- Lymee has changed nick to Rimii.
14:56:00 -!- jcp has joined.
14:57:03 -!- Rimii has changed nick to Lymee.
14:58:55 -!- cheater__ has quit (Ping timeout: 255 seconds).
15:00:51 <elliott> hmm, a snake isn't actually a list of positions, it's a list of turtle instructions
15:01:26 <elliott> ...plus a starting position
15:03:33 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> [b]
15:11:08 <elliott> *Main> snakePositions initialSnake
15:11:09 <elliott> fromListA [(1,2),(0,3),(2,2)]
15:11:12 <elliott> snake doesnt work like that
15:11:25 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> [a]
15:11:52 <Lymee> ?pl map f (x:xs) = f x : map f xs
15:11:53 <lambdabot> map = fix (flip flip tail . (ap .) . flip flip head . ((.) .) . liftM2 flip (((.) . (:)) .))
15:11:56 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> [a]
15:14:03 <elliott> > foldr move (0,0) ['r','d','d','d'] where move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y)
15:14:04 <lambdabot> <no location info>: parse error on input `where'
15:14:13 <elliott> > let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in foldr move (0,0) ['r','d','d','d']
15:14:18 <elliott> > let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in scanr move (0,0) ['r','d','d','d']
15:14:27 <elliott> > let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in scanl move (0,0) ['r','d','d','d']
15:14:29 <lambdabot> Couldn't match expected type `GHC.Types.Char'
15:14:35 <elliott> > let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in scanl (flip move) (0,0) ['r','d','d','d']
15:14:49 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> [a]
15:22:33 -!- cheater__ has joined.
15:31:38 -!- MigoMipo has joined.
15:33:50 <Lymee> ?pl let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in scanl (flip move) (0,0) ['r','d','d','d']
15:34:01 <Lymee> I wanted to see how it would mutilate your code.
15:39:23 -!- elliott_ has joined.
15:39:23 -!- elliott has quit (Read error: Connection reset by peer).
15:44:25 -!- monqy has joined.
15:45:19 -!- NihilistDandy has quit (Quit: leaving).
15:49:59 <elliott_> i wish i knew what this data structure was called
15:50:12 -!- Wamanuz3 has joined.
15:50:19 <elliott_> i dont think its called accordion :(
15:53:20 -!- KingOfKarlsruhe has joined.
16:01:07 <elliott_> monqy do you know the name of this
16:01:40 -!- Wamanuz3 has quit (Read error: Operation timed out).
16:03:14 -!- Wamanuz3 has joined.
16:04:29 <Lymee> I propose a standard unit of Bullshit.
16:04:33 <Lymee> It is the "English"
16:04:41 <Lymee> Under this standard, PHP would be "50E"
16:05:39 <monqy> elliott_: is a description of the data structure in the logs
16:05:52 <elliott_> data Accordion a = End | Leaf a | Join a (Accordion a) a
16:06:23 <Lymee> Isn't that just a linked list?
16:06:42 <elliott_> look carefully at the last one
16:07:01 <elliott_> monqy: i think it may be related to Data.Sequence but i'm not sure
16:07:29 <monqy> from my glance it's a linked list of (a, a) but can end either in noting an end or an a
16:07:39 <elliott_> monqy: the a on the right is at the _end_
16:07:40 <monqy> noting an end/nothing
16:07:46 <elliott_> so you can access the first and last elements immediately
16:07:52 <elliott_> second and second-last by descending one
16:07:56 <Lymee> elliott_, what are these for?
16:08:35 <elliott_> data Snake = Snake Direction Position (Accordion Direction) deriving (Show)
16:10:02 <elliott_> ooh, i could do it zipper style ... nah
16:12:35 <monqy> so why do you need the reversed list to represent a snake?
16:13:49 <elliott_> monqy: because i both tail and append on it
16:16:52 <monqy> won't any sort of appending mess up one of your lists
16:29:56 <zzo38> Do you know if programs compiled with LLVM can be linked with programs compiled with GCC?
16:40:05 -!- Wamanuz3 has quit (Ping timeout: 244 seconds).
16:41:13 -!- Phantom_Hoover has joined.
16:49:12 -!- Wamanuz3 has joined.
16:54:13 -!- Wamanuz4 has joined.
16:54:13 -!- Wamanuz3 has quit (Ping timeout: 258 seconds).
16:58:14 -!- augur has quit (Remote host closed the connection).
16:58:49 -!- Wamanuz4 has quit (Ping timeout: 258 seconds).
17:06:40 -!- zzo38 has quit (Quit: zzo38).
17:12:17 -!- Slereah has joined.
17:12:29 -!- FireFly has quit (Read error: Connection reset by peer).
17:21:53 -!- choochter has quit (Read error: Connection reset by peer).
17:22:18 <Phantom_Hoover> Lymee, show will eventually just use a typeclass function, so you're not going to get anything useful that way.
17:22:18 <lambdabot> Phantom_Hoover: You have 3 new messages. '/msg lambdabot @messages' to read them.
17:22:28 -!- choochter has joined.
17:25:04 -!- augur has joined.
17:27:15 -!- FireFly has joined.
17:27:56 -!- MigoMipo has quit (Read error: Connection reset by peer).
18:13:16 <Sgeo_> "Square root of zero. Good luck with that."
18:13:50 <Sgeo_> http://www.reddit.com/r/geek/comments/i74yk/bob_sends_a_message_to_alice/c21ful3
18:16:51 -!- CakeProphet has quit (Ping timeout: 240 seconds).
18:40:19 -!- choochter has quit (Ping timeout: 255 seconds).
18:47:42 <newsham> phantom/lymee: you can show the source for a class.
18:47:45 -!- oerjan has joined.
18:48:26 <elliott_> data Accordion a = End | Leaf a | Join a (Accordion a) a
18:48:34 <elliott_> but the definition of Seq looks different
18:49:12 <oerjan> well you can only add the same number to the beginning and end...
18:49:35 <elliott_> not true at all; it's isomorphic to [a]
18:49:40 <newsham> looks a little like a finger tree
18:49:44 <oerjan> elliott_: that is essentially just ([(a,a)],a)
18:49:49 <elliott_> newsham: Seq is based on finger trees, so...
18:49:54 <elliott_> oerjan: note that the a at the end is at the _end_
18:50:01 <elliott_> think of a weird space-time accordion
18:50:07 <elliott_> second and second-last are smaller
18:50:13 <elliott_> until the middle is really small
18:50:26 <elliott_> cons and snoc are O(n), though :)
18:50:26 <oerjan> elliott_: um my point is you have no way to remove the first without removing the last simultaneously, efficiently
18:50:39 <elliott_> leftA :: Accordion a -> Maybe (a, Accordion a)
18:50:39 <elliott_> leftA (Leaf a) = Just (a, End)
18:50:39 <elliott_> leftA (Join a xs b) = Just (a, xs `addA` b)
18:50:40 <elliott_> rightA :: Accordion a -> Maybe (Accordion a, a)
18:50:45 <elliott_> rightA (Leaf a) = Just (End, a)
18:50:46 <elliott_> rightA (Join a xs b) = Just (a `joinA` xs, b)
18:51:54 -!- augur has quit (Remote host closed the connection).
18:52:34 <elliott_> oerjan: i guess it is just worse than Seq in every way :)
18:52:47 <elliott_> it's just that taking the init of a Seq is ugly, you need the second-last element of the Seq that inits returns...
18:53:09 <elliott_> I'm storing a snake, you see, from the game
18:53:16 <elliott_> data Snake = Snake { snakeDirection :: Direction
18:53:16 <elliott_> , snakeSegments :: Accordion Direction }
18:53:23 <elliott_> advance (Snake d p ds) = Snake d (move d p) (tailA ds `addA` d)
18:53:35 <elliott_> then you can find all the blocks to draw by just starting with the position and inverting all the movements
18:54:17 <oerjan> elliott_: um init is just something like case rightview s of s' :> _ -> s'
18:54:39 <oerjan> (where i've forgotten the actual name of rightview)
18:55:42 <oerjan> and i believe that's a* O(1) where a* is the same word i couldn't remember a while ago :P
18:56:14 <lambdabot> Data.Sequence viewr :: Seq a -> ViewR a
18:56:53 <lambdabot> Prelude scanl :: (a -> b -> a) -> a -> [b] -> [a]
18:56:54 <lambdabot> Data.ByteString scanl :: (Word8 -> Word8 -> Word8) -> Word8 -> ByteString -> ByteString
18:56:54 <lambdabot> Data.List scanl :: (a -> b -> a) -> a -> [b] -> [a]
18:57:08 <elliott_> scanlA :: (a -> b -> a) -> a -> Accordion b -> Accordion a
18:57:08 <elliott_> scanlA f z (Leaf x) = Join (f z x) End z
18:57:10 <elliott_> scanlA f z (Join a xs b) = Join z xs' (f z' b)
18:57:12 <elliott_> where xs' = scanlA f (f z a) xs
18:57:16 <elliott_> this is broken and i don't know why :)
18:57:36 <oerjan> elliott_: well Seq _should_ be Foldable, doesn't that have some scanl thing?
18:58:18 <oerjan> Traversable would also work
18:58:52 <oerjan> i mean, there should be a Foldable instance. i guess the modules may not be integrated (orphans and everything)
18:59:42 <newsham> http://www.haskell.org/ghc/docs/7.0.2/html/libraries/containers-0.4.0.0/Data-Sequence.html says Foldable and Traversable
19:00:08 <elliott_> advance (Snake d p ds) = Snake d (move d p) (ds' |> d)
19:00:12 <elliott_> grow (Snake d p ds) = Snake d (move d p) (ds |> d)
19:00:30 <elliott_> *Main> snakePositions (grow initialSnake)
19:00:30 <elliott_> fromList [(1,0),(2,0),(3,0),(4,0),(3,0)]
19:00:32 -!- pikhq has quit (Quit: New kernel time).
19:03:17 -!- pikhq has joined.
19:05:24 <oerjan> elliott_: oh right, scanl _is_ in Data.Sequence
19:05:36 <oerjan> (which may be what you said)
19:07:46 -!- augur has joined.
19:15:51 <oerjan> <elliott> where's oerjan when you need him
19:16:14 <oerjan> walking to the shop, or possibly already inside
19:18:24 <oerjan> <Lymee> ?pl let move 'u'(x,y)=(x,pred y);move 'd'(x,y) = (x,succ y); move 'l'(x,y) = (pred x,y); move 'r'(x,y) = (succ x,y) in scanl (flip move) (0,0) ['r','d','d','d']
19:18:41 <oerjan> Lymee: ?pl has its own partial haskell parser for only the things it understands
19:19:29 <Phantom_Hoover> This surprises me, because it's very close to the maximum of sunkishness.
19:19:48 <oerjan> Lymee: also, nearly nothing with pattern matching can be ?pl'ed. 2-tuples being one exception.
19:20:21 <elliott_> oerjan: hm is there a monadic foldl...
19:20:28 <elliott_> so that I can use the Maybe monad to prematurely terminate it
19:20:33 <lambdabot> Data.Foldable foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a
19:21:27 <elliott_> actually, what I want is concatMapM.
19:21:45 <Sgeo_> "3 completely identical human beings stop eating fats, carbohydrates and proteins respectively. In what order to they die, if at all, and what happens? "
19:21:52 <Sgeo_> "This is a very hypo post, try it on your own body - it's there for experiencing."
19:22:16 <elliott_> > mapM (\x -> if even x then Just 9 else Nothing) [0,0,9]
19:22:47 <elliott_> > foldlM (\r x -> if even x then (9:) `fmap` r else Nothing) [] [0,0,9]
19:22:47 <pikhq> Sgeo_: What a strange question.
19:22:59 <elliott_> oerjan: i just want it to stop processing the list and use the zero value whenever I return Nothing :(
19:23:10 <oerjan> elliott_: WriterT Maybe, maybe?
19:23:19 <Sgeo_> I just find that answer very um... nasty
19:23:22 <Sgeo_> http://www.reddit.com/r/askscience/comments/i7as8/3_completely_identical_human_beings_stop_eating/
19:24:00 <oerjan> elliott_: um no? you would use tell to add new parts to concat...
19:24:06 <elliott_> errorflux just looks like a boring trollidiot
19:24:20 <elliott_> oerjan: i have never really used Writer much :
19:24:39 <pikhq> Sgeo_: But, yeah, odds are the person without carbs wouldn't actually die from it, though they *might* have somewhat poor health.
19:24:56 <Sgeo_> pikhq, that seems to be the consensus in the thread
19:25:10 <oerjan> elliott_: oh hm you want it to keep the parts _before_ the first Nothing?
19:25:12 <elliott_> Phantom_Hoover: the very bottom one which he quoted
19:25:31 <elliott_> oerjan: basically, I always advance the snake
19:25:37 <oerjan> elliott_: sounds like an unfoldr-like thing, then
19:25:51 <elliott_> I don't want to advance the snake
19:25:54 <elliott_> I want to close the list then and there
19:26:52 <oerjan> Phantom_Hoover> "IAmA reddit admin - AMA!" <-- without even looking, i assume that's a parody on all the fake IAMAs?
19:27:55 <oerjan> Phantom_Hoover: huh :P
19:28:15 <elliott_> mknin9n9n0j0ninji9nujhujhuijijuijujijjijijijkjikjkkjijjj
19:29:08 <oerjan> elliott_: hm, MaybeT Writer perhaps...
19:29:26 <oerjan> that ought to keep things already written
19:29:43 <elliott_> oerjan: that requires pulling in maybet :(
19:29:47 <elliott_> wouldn't a plain unfoldr work?
19:30:02 <oerjan> perhaps? is the function pure...
19:30:35 <lambdabot> forall b a. (b -> Maybe (a, b)) -> b -> [a]
19:30:41 <oerjan> @hoogle (a -> Maybe b) -> [a] -> [b]
19:30:41 <lambdabot> Data.Maybe mapMaybe :: (a -> Maybe b) -> [a] -> [b]
19:30:41 <lambdabot> Prelude mapM :: Monad m => (a -> m b) -> [a] -> m [b]
19:30:41 <lambdabot> Control.Monad mapM :: Monad m => (a -> m b) -> [a] -> m [b]
19:30:57 <oerjan> @hoogle (a -> m (Maybe b)) -> [a] -> m [b]
19:31:00 <elliott_> > unfoldr (\(x:xs) -> if even x then Just ("yaaaaaaay", xs) else Nothing) [0,0,0,9]
19:31:01 <lambdabot> ["yaaaaaaay","yaaaaaaay","yaaaaaaay"]
19:31:39 <elliott_> unfortunately, I need to handle empty list
19:31:51 <elliott_> because I need to produce more elements
19:31:59 <elliott_> and what would the reduced value be?
19:32:10 <Phantom_Hoover> elliott_, quick, get to the nearest particle accelerator.
19:33:15 <oerjan> um what would you do if hitting an empty list, you say
19:33:41 <elliott_> oerjan: add the "advance the snake" event, mainly
19:33:55 <elliott_> but if I halt the processing early e.g. in case of game over, I do _not_ want to do that
19:34:01 <elliott_> oerjan: I'm starting to think a manual recursion over the list might be best...
19:34:39 <oerjan> if there are too many options to branch over
19:37:20 <elliott_> oerjan: hmm oh, I also need a sort of feedback loop thing...
19:37:29 <oerjan> each of those can be defined in terms of the other, you need at least one of the first two
19:37:32 <elliott_> because triggering AdvanceSnake will trigger something looking up where the snake is now, which then might trigger a game over
19:37:38 <elliott_> oerjan: starting to think I need a _proper_ event system here
19:37:56 <Phantom_Hoover> "What are the benefits of a 45.7% increase in serum testosterone levels?"
19:38:10 <oerjan> Phantom_Hoover: lycanthropy, duh
19:38:13 <Phantom_Hoover> AskScience, you have been fatally holed below the waterline.
19:38:44 <oerjan> Phantom_Hoover: i assume that was inspired by the recent post about the results of not masturbating for a week
19:39:28 <oerjan> elliott_: either that or you need some truly gordian knot tying :P
19:39:43 <elliott_> oerjan: that's my idea of a library :D
19:39:54 <elliott_> oerjan: I have a feeling I'm about to reinvent FRP
19:40:23 <oerjan> FRP is out, now it's all RDP
19:41:07 <monqy> I could figure out frp is functional reactive programming but what's that
19:41:23 <oerjan> elliott_: http://awelonblue.wordpress.com/2011/05/21/comparing-frp-to-rdp/
19:41:58 <elliott_> oerjan: im not going to have to expand my brain am i
19:42:08 <elliott_> "Reactive Demand Programming (RDP) was invented by me (David Barbour) around April 2010"
19:42:11 <elliott_> oerjan: this is not a good start
19:42:16 <oerjan> elliott_: i may be slightly exaggerating here :P
19:42:20 <elliott_> has conal or luke said anything yet
19:42:35 <elliott_> yeah there is no way i am going to read this
19:42:44 <elliott_> not until i see a response at least
19:43:39 <monqy> I'm reading the overall
19:43:57 <oerjan> elliott_: i'm just reposting from r/haskell, anyhow
19:44:22 <elliott_> it seems interesting but tl;dr at this stage in my mind
19:44:38 <elliott_> although i'm not sure i like the tone, it reminds me too much of me
19:52:45 -!- azaq23 has joined.
20:28:57 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]).
21:29:13 -!- elliott_ has quit (Ping timeout: 246 seconds).
21:33:40 -!- zzo38 has joined.
21:34:19 <zzo38> I seem to have found a bug in LLVM (and I did report it on their IRC channel and bug report system) (as you might see from the report, I prefer to use pipes)
21:35:09 <zzo38> http://llvm.org/bugs/show_bug.cgi?id=10181
21:46:41 <oerjan> it's pretty cool here up north
21:47:25 <Phantom_Hoover> (OK so I'm quite a bit south of you but I'm still really north by, like, American standards.)
21:48:04 * oerjan isn't finnish in case someone is confused
21:48:46 -!- Sgeo_ has changed nick to Sgeo.
21:49:27 <olsner> btw, tomorrow this is what sweden is doing: http://www.youtube.com/watch?v=e3ft1YyUkYY
21:50:50 <zzo38> I don't know if it would ever actually be useful to use a code like that in the bug report!
21:51:15 <oerjan> tomorrow? we have our midsummer celebration today.
21:52:59 <olsner> oerjan: you weird norwegians
21:53:02 <oerjan> det var ju lustigt att se
21:53:26 <olsner> midsummer's eve is always on a friday in sweden for ... well holiday scheduling reasons
21:54:02 <olsner> but today is also a de-facto friday since tomorrow is a no-work day
21:54:30 <oerjan> oh, you get midsummer's eve off?
21:55:05 <olsner> or do you get the 'day' off instead of the 'eve'?
21:55:23 <oerjan> afair neither is an official day :P
21:56:17 <olsner> you celebrate midsummer on a work day? even if it is before a work day so you have to work hung over?
21:56:30 <olsner> this is just so bad, oerjan
21:56:57 <oerjan> well if it's on a thursday there _might_ be a slight decrease in people working on the day after :P
21:57:31 <oerjan> which is just as with other movable days off
22:00:18 <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
22:00:59 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:01:09 <olsner> ordning och reda, pengar på freda'
22:22:49 <Sgeo> Did comex just call Java a fine language?
22:23:02 <Sgeo> By pointing to a comment that called it a fine language, I mean
22:28:50 -!- Patashu has joined.
22:43:46 -!- augur has quit (Remote host closed the connection).
22:43:53 -!- CakeProphet has joined.
22:43:54 -!- CakeProphet has quit (Changing host).
22:43:54 -!- CakeProphet has joined.
22:50:16 -!- Wamanuz4 has joined.
23:04:44 -!- Wamanuz4 has quit (Ping timeout: 258 seconds).
23:08:20 -!- Wamanuz4 has joined.
23:12:14 -!- augur has joined.
23:13:16 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
00:27:13 -!- augur has quit (Remote host closed the connection).
00:36:00 -!- FireFly has quit (Remote host closed the connection).
00:51:38 -!- oerjan has quit (Quit: Good night).
00:53:30 -!- Vorpal has quit (Ping timeout: 260 seconds).
01:52:00 -!- zzo38 has quit (Remote host closed the connection).
02:00:43 <tswett> You know, I wonder whether there are any compilers that are computable bijections.
02:01:22 <tswett> Is there a program that compiles Unlambda to Brainfuck, such that every possible Brainfuck program is given by exactly one Unlambda program?
02:01:52 <Patashu> Sure, just insert a nonce or hash at the end
02:02:32 <tswett> Computable bijective compilers obviously exist in some cases (like compiling a language to itself), so perhaps they exist in call cases. At least, languages that can be compiled to and fro at all.
02:03:13 <newsham> how do you figure it will be a unique mapping?
02:03:15 <tswett> Patashu: yes, but will that make it so that every possible Brainfuck program is given by at least one Unlambda program?
02:03:41 <tswett> newsham: what do you mean? The question is whether it's possible to make it a unique mapping or not.
02:03:43 <newsham> for(;;) { }, while(1) { }; ... /*comment*/ /* comment */
02:03:46 <Patashu> every possible brainfuck program as in every combination of valid syntactical symbols or every possible turing machine it could be?
02:03:57 <newsham> bijection implies 1:1 mapping.
02:04:40 <tswett> newsham: well, you can simply compile each C program to itself. Voila, one-to-one mapping.
02:05:09 <CakeProphet> hey I think they have a program called cat for that.
02:05:32 <Patashu> has anyone ever made a C interpreter?
02:05:42 <newsham> do you want to discount changes in syntax? ie. doI have to translate each comment properly? whiespace and indentation?
02:06:00 <newsham> patashu: many people have. or do you means specifically in this room?
02:06:09 <tswett> newsham: the bijection only needs to preserve program behavior. It can add or remove comments ad libitum.
02:06:51 <newsham> tswett: can I use comments in the bijection? ie. can I translate for(;;) in C to while(true) { /*for*/ in java?
02:07:04 <newsham> so that I know who to map it back to C later?
02:07:13 <tswett> If uncomputable mappings were allowed, this would be pretty easy. We're given an Unlambda program. Enumerate all Unlambda programs that behave the same way, and suppose this is the nth. Enumerate all Brainfuck programs that also behave that way; output the nth.
02:07:17 <tswett> newsham: yes, that's allowed.
02:08:01 <newsham> so basically I just have to compile from one language to another language, and capture the original program in comments.
02:08:34 <tswett> newsham: well, it must be a bijection. That means that (supposing you're translating from Unlambda to Brainfuck) every Brainfuck program must be possible to produce somehow.
02:08:43 <newsham> so basically: translate = compile to exe, and write a virtual machine that interprets exes
02:10:37 <tswett> Well, yes, there's a reason it's a question rather than a statement. :)
02:10:48 <newsham> ok, for example, I dont think you'll find a bijection between C and python, because of how comments and whitespace are handled differently in the two languages
02:11:15 <tswett> Well, it's easy to, say, strip out all the comments and whitespace, and then encode them back in once you're done.
02:11:31 <newsham> no, because I can encode comments in different ways
02:11:43 <newsham> I can encode // comment and /* comment */ in C
02:12:21 -!- augur has joined.
02:13:02 <tswett> When you strip out all the comments and whitespace, just turn all the information that you just got into an integer.
02:13:23 <newsham> tswett: ok, say you do that for every possible C program comment.
02:13:33 <newsham> now, whats the bijection from every possible python program?
02:14:05 <newsham> remember: I might have a python comment that has an integer in it
02:14:12 <tswett> Given a program with no comments or excess whitespace, there are countably many ways to add comments and whitespace to it. This is the same for C and for Python. Therefore, it must be possible to encode all the comments and whitespace as an integer, and to decode that integer to produce comments and whitespace.
02:14:33 <tswett> So, take your C comments and whitespace, turn them into an integer, and turn that integer into Python comments and whitespace.
02:14:53 <newsham> where are you outputting this integer?
02:15:13 <newsham> this is a bijection, the data has to be encoded in the output
02:15:37 <newsham> if you take all the comments from my C program and encode it into the number "42" as a comment in the python program
02:15:43 <newsham> now what happens when you reverse map that program?
02:15:43 <tswett> newsham: the integer becomes represented by all of the whitespace and comments in the resulting Python code. Every possible combination of whitespace and comments in Python corresponds to exactly one integer.
02:16:30 -!- augur has quit (Remote host closed the connection).
02:17:36 <newsham> now when I translate a python program with the comment "42" in it, it goes back to a C program with lots of textual comments?
02:17:55 <newsham> but when I translate a python program with the comment "42!" in it it goes back to a C program with just a single integer in its comments?
02:19:24 <tswett> A C program whose comments are represented by the number 42 doesn't become a Python program with the comment "42" in it. It becomes a Python program whose comments are represented by the number 42.
02:19:50 <newsham> where are you encoding that number in the python program?
02:20:06 <newsham> you have f :: C -> Py, and g :: Py -> C
02:20:16 <newsham> so the 42 has to be somewhere in the Py.
02:20:41 <tswett> You have f :: C -> Integer and g :: Py -> Integer. Then, to get C -> Py and Py -> C, you take g^-1 . f and f^-1 . g.
02:22:35 <newsham> wait.. you're assuming you have functions that enumerate both C and Py programs that have the same functionality :)
02:23:16 <Patashu> how else are you going to do it?
02:24:19 <newsham> patashu: you just shifted the problem.. let me restate my original question in your new shifted problem. give me f and g for C and python comments.
02:25:06 <newsham> actually.. wait.. you prob can do it for comments alone.
02:25:43 <newsham> but thats because you avoid the constraint that they have to run the same way.
02:25:48 <newsham> so any enumeration of comments works.
02:27:57 <newsham> ok, how about this. whats the bijection between SKI calc with C++ comments and SKI calc with python comments.
02:28:15 <newsham> hmm that might be too easy too
02:28:36 <newsham> ok, i'm getting more convinced that your approach can work when ther is a bijection
02:29:23 <newsham> i think an interesting test case would be SKI with c++ comments to lambda calc with python comments.
02:29:39 <newsham> (ignore whitespace, but deal with variable renaming)
02:30:07 <newsham> the comments in one program has to encode for the comments+variablenames in the other program
02:30:52 <newsham> and also has to encode for the choice of which type of comments are used
02:31:19 * Sgeo watches Futurama fail at math
02:32:59 <pikhq> That's probably intentional.
02:33:51 <newsham> some kinda rendering error?
02:37:25 <CakeProphet> why not just ignore comments and insignificant whitespace, since they have no semantic effect?
02:37:37 <tswett> newsham: yeah, doing comments is the easy part.
02:37:46 <tswett> CakeProphet: you might as well, I guess.
02:40:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
03:01:10 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:04:13 -!- augur has joined.
03:16:18 -!- copumpkin has joined.
03:17:21 -!- Sgeo has quit (Ping timeout: 250 seconds).
03:18:59 -!- pumpkin has joined.
03:18:59 -!- pumpkin has quit (Changing host).
03:18:59 -!- pumpkin has joined.
03:20:49 -!- copumpkin has quit (Ping timeout: 250 seconds).
03:23:14 -!- Sgeo has joined.
03:23:44 <Sgeo> TF2 is free forever now
03:30:06 -!- pumpkin has quit (Ping timeout: 252 seconds).
03:30:40 -!- copumpkin has joined.
03:30:40 -!- copumpkin has quit (Changing host).
03:30:40 -!- copumpkin has joined.
03:43:04 -!- azaq23 has quit (Ping timeout: 260 seconds).
03:44:28 <pikhq> TIL about Perl "bless".
03:45:05 <pikhq> CakeProphet: How do you continue to be coherent? Surely your brain has a giant tumor by now?
03:46:47 <pikhq> Excuse me, I have to be incoherent for a bit, that is just too terrible.
03:48:30 <Sgeo> What is? Perl's bless?
03:52:02 <CakeProphet> pikhq: wait I thought you had experience with Perl already? You should have already learned about bless. :P
03:52:15 <pikhq> DIE DIE DIE DIE DIE
03:52:26 <CakeProphet> but yeah, Perl's OO is pretty stupid, not going to lie.
03:52:37 <pikhq> MURDER THE MAN WHO BROUGHT THIS INTO THE WORLD
03:54:05 <CakeProphet> That's why I've never made a class in Perl.
03:54:51 <CakeProphet> the only reason I would make a class in Perl is if I were designing a CPAN package that was intended to be subclassed.
03:57:23 -!- myndzi has quit (Ping timeout: 264 seconds).
03:58:45 -!- myndzi has joined.
03:59:32 -!- azaq23 has joined.
04:01:27 <CakeProphet> pikhq: I usually just program imperitively/procedurally in Perl.
04:02:18 <CakeProphet> since the OO stuff was just kind of thrown in Perl 5 simply for the sake of having it, and doesn't really integrate into the language very well.
04:04:26 <CakeProphet> package Bot::RoleBot; our @ISA = qw(Bot::BasicBot);
04:04:46 <CakeProphet> inheritance = set this magic method resolution list
04:05:16 <CakeProphet> oh, for those who don't know: qw(a b c) = ('a', 'b', 'c')
04:06:11 <CakeProphet> I love qw because it allows me to be incredibly lazy. :D
04:06:24 * pikhq cuts off CakeProphet's arms
04:06:49 <monqy> doesn't ruby have those things too? gross.
04:07:06 <CakeProphet> not sure, actually. I know Ruby has q and qq.
04:07:16 <monqy> they're all the same to me
04:07:57 <monqy> i.e. meaningless language-defiling syntactic sugar that should not exist
04:08:06 <CakeProphet> q and qq are good ideas, believe it or not. Because it allows you to avoid escaping quotes within strings.
04:09:14 <CakeProphet> q{I can't believe how easy it's to type English's sentences and stuff.}
04:09:48 <CakeProphet> like when you're trying to nest 20 strings within one another and evaling them all off... you know, it happens.
04:10:18 <monqy> someone is a bad person
04:10:39 <CakeProphet> if you search for something like q{q[q( you'll probably find it
04:11:49 <CakeProphet> monqy: don't tell me you're against sugar in principle. That would be silly.
04:12:08 <CakeProphet> I'm guessing it's just this particular form of it?
04:12:28 <monqy> I prefer providing a more general extensible interface like macros
04:12:42 <monqy> but in some cases e.g. string literals it can be a necessary evil
04:13:26 <CakeProphet> but you don't think it's a good idea to allow overriding the delimiter so that you can avoid ugly \'s?
04:14:22 <monqy> I'm sure you'd be able to do it well enough with a macro if your macro system is cool????
04:14:32 <monqy> also: why would you want to do it, provided your code is sane
04:14:50 <pikhq> monqy: Well, in Tcl it makes a *little* bit of sense I guess.
04:15:07 <Lymee> eval q|some code goes here|
04:15:20 <pikhq> monqy: Seeing as you typically do metaprogramming based on constructing strings.
04:15:38 <CakeProphet> it usually comes up when you're dealing with strings that contain code. Or for example, when you're executing a shell command you can use qx instead of `
04:16:07 <monqy> I try to keep my code out of strings
04:16:27 <monqy> put them in lists/symbols if necessary but
04:16:46 <monqy> where by lists I mean nested lists representing a syntax tree
04:16:55 <monqy> strings is quite icky to me
04:17:14 <pikhq> In Tcl, a list is just a particular form of string, so...
04:17:54 <monqy> strings are so unstructured
04:18:17 <pikhq> (specifically, a string that possesses structure, like you would expect of a list)
04:18:25 <monqy> for one they're serial
04:18:54 <CakeProphet> ah I see what you're saying. Well yes, when you need structure you can use lists/trees. strings are quite fine for what they're intended for.
04:19:42 <CakeProphet> strings just represent an unparsed form of a structure. for example, a parser can't just magically form a parse tree from a file, it needs to read it as a string first.
04:20:56 <monqy> well parse it before treating it as code please
04:21:39 <CakeProphet> quines are another example of where q comes in handy.
04:23:16 <CakeProphet> here you're not concerned with the code itself, simply the string of the source code. That's a somewhat common case of where string literals are used. Not just in handling source code to be executed, but also in handling code to be manipulated/generated/output
04:25:03 <CakeProphet> a script that outputs HTML source, for example, will probably contain some string literals containing double quotes.
04:26:02 <Patashu> no way guys I'd rather do this ////////'foo////////'
04:26:38 <Patashu> what kind of s notation is that
04:27:04 <CakeProphet> you can use any delimeter you want. I used ', which also signifies that there's no interpolation. Thus I didn't have to worry about escaping things.
04:27:16 <CakeProphet> in much the same way that a ' string literal works.
04:29:26 <CakeProphet> that's typically when s''' is used, when you have literal backslashes. I see s{}{} used when there are forward slashes.
04:29:49 <CakeProphet> but you can even do s#stuff#here#, and Perl won't parse the # as beginning a comment.
04:30:21 <CakeProphet> but that's a stupid delimiter. don't ever do that. :P
04:41:03 <CakeProphet> Perl's actually not illegible if write neat code. Obviously the best way for me to support this point is to show you some abusive code I wrote a few days ago.
04:41:18 <CakeProphet> $msg .= "$_ commands: ".join (', ', map {$seen{$_}=1;$_} @{$cats{$_}}).' ' for sort {$b cmp $a} keys %cats;
04:42:03 <coppro> perl 5 has methods on strings?
04:42:21 <coppro> usually I see it with spaces
04:42:40 <coppro> of course, in Perl 6, those probably have different semantics
04:43:00 <CakeProphet> I have no clue actually. I have no read Perl 6 specs, but I do know that . is a method accessor thing.
04:43:06 <CakeProphet> dunno what string concatenation looks like.
04:44:29 <coppro> concatenation in perl 6
04:45:21 <CakeProphet> ah. I wouldn't expect that to mean concatenation, but you shouldn't really expect symbols to mean something without knowing what they mean.
04:45:42 <coppro> I do like Perl 6's approach to unary functions on $_
04:46:13 <CakeProphet> so a unary . signifies that $_ is being used?
04:48:09 <coppro> my favorite feature is *
04:48:51 <pikhq> Perl 6: because Perl needs monads.
04:49:50 <CakeProphet> honestly, I kind of prefer that Perl devs focused on improving Perl 5 without adding radically new semantics/syntax everywhere.
04:50:04 <pikhq> I seem to recall that a monadic API got snuck in there somewhere, because of Pugs.
04:50:30 <pikhq> (Pugs being a Perl 6 interpreter written in Haskell.)
04:53:45 <CakeProphet> I know there is something slightly wrong with me when I am okay with @ and % changing to $ when subscripted.
04:54:20 <CakeProphet> I believe that remove that in Perl 6 though.
04:55:22 <coppro> it can be used to create closures
04:55:47 <coppro> or passed as an argument to Whatever-aware functions that will have special behavior
04:55:58 <coppro> *+2 creates a unary closure that adds two
04:56:30 <coppro> but it does other things
04:56:39 <CakeProphet> well, oh course, this is Perl after all. :P
04:56:43 <coppro> sort *, [] is default sort
04:57:16 <coppro> no, because sort takes two arguments
04:59:18 <coppro> you also use whatever for unbounded ranges, etc.
04:59:32 <coppro> basically it means "I don't care"
05:01:10 <Patashu> Someone needs to write a flogscript manual
05:02:01 <coppro> it's also used for a black hole in tuple assignment
05:04:19 <Patashu> if($c=='F)') { //flow-control-fumble
05:04:22 <CakeProphet> ah, that's what undef is for in Perl 5. Except it's lists and not tuples.
05:05:07 <CakeProphet> so is there no eq in Perl 6? or is using == incorrectly intentional there?
05:08:50 <coppro> CakeProphet: it's lists in Perl 6
05:25:07 <CakeProphet> nevermind. I answered my own question with /whois :P
05:26:52 <CakeProphet> my ($self, $body) = (shift, shift->{body});
05:26:59 <CakeProphet> this line kind of reads like a poem about dancing.
05:32:25 -!- pikhq_ has joined.
05:35:11 -!- pikhq has quit (Ping timeout: 264 seconds).
05:57:01 -!- copumpkin has quit (Ping timeout: 240 seconds).
05:57:26 -!- copumpkin has joined.
06:01:09 <pikhq_> So. Split-brain patient, one half is theist, one half atheist. What happens if, say, the theistic claims are true, and have the standard "through belief you shall be saved" bit going on?
06:01:33 <Sgeo> Can that happen?
06:01:41 <Sgeo> Split-brain working like that?
06:01:47 <pikhq_> Yes, that is how split brain works.
06:02:28 <pikhq_> By cutting the corpus callosum, you get two seperate minds.
06:03:22 <pikhq_> This specific case has actually happened, BTW.
06:03:59 <Sgeo> Wait, how do you tell what the right side of the brain is? I thought only the left could speak?
06:04:26 <Sgeo> Hmm, also, just a guess: Right theist, left atheist?
06:04:31 <pikhq_> The right side still has motor control and is capable of understanding language to an extent.
06:07:45 <CakeProphet> the functions of the brain are not strictly localized to certain hemispheres.
06:07:57 <CakeProphet> though each hemisphere is specialized towards functions.
06:09:05 <pikhq_> By cutting the corpus callosum, though, you end up getting pretty much two seperate brains in the same body.
06:09:41 <CakeProphet> yes. I believe only one is in use at a given time?
06:09:50 <Patashu> That is a really interesting thought experiment
06:09:58 <Patashu> I need to use that one sometime
06:10:03 <pikhq_> CakeProphet: No, both function simultaneously.
06:10:11 <Sgeo> CakeProphet, if there's no connection, how would they know to take turns?
06:10:28 <CakeProphet> I had never heard of each hemisphere developing different beliefs
06:11:02 <CakeProphet> message passing queues over quantum entanglement, duh.
06:11:19 <Sgeo> You can't pass messages with quantum entanglement.
06:11:29 <Sgeo> At least, as far as I know
06:11:29 <pikhq_> Sgeo: It's actually only seperating the cerebral cortex into two.
06:11:59 <pikhq_> So, you get rather a *lot* of seperation between them, but not actually complete seperation.
07:04:39 <CakeProphet> I do wish Perl's dereference operators used () instead of {}
07:04:54 <CakeProphet> @{$cats{$_}} is just kind of gross looking.
07:48:55 <pikhq_> http://i.imgur.com/MmQAb.png What. The. Fuck.
07:49:04 <pikhq_> This is not right not right not right.
07:50:00 -!- monqy has quit (Quit: hello).
07:50:55 <olsner> lithium (assuming that's from back when 7-up had lithium) is probably good for kids
07:52:00 <pikhq_> That's totally 50s graphic design, so *just* after they got rid of the lithium.
07:52:10 <pikhq_> (they removed the lithium citrate in 1950.)
07:55:01 <pikhq_> Well, there's a chance that was 40s.
07:55:08 <pikhq_> So it would have lithium.
07:55:27 <pikhq_> Ah, found the publication date of the pamphlet it's from.
07:57:02 <Sgeo> I think the point is just that it gets kids to drink it
07:58:50 * Sgeo goes to make a rules table for his own reversible GoL
07:58:55 <Sgeo> Because I think Paul's is crap
07:59:36 <pikhq_> Much easier way to do that.
07:59:44 <pikhq_> "It drinks the milk or else it gets the hose again!"
07:59:54 -!- choochter has joined.
07:59:59 <Sgeo> Or, alternatively, I set up ReversibleLife wrong
08:00:11 <Sgeo> Yep, got it working now
08:01:27 <Sgeo> E seems to have done it the same way I have too
08:01:55 <Sgeo> Assigning same numbers and all
08:03:11 <Sgeo> Dangit it looks boring and unlikely to kickstart life
08:07:03 -!- azaq23 has quit (Quit: Leaving.).
08:11:44 <Sgeo> Is there a way in Golly to make the world a torus?
08:12:06 <Sgeo> In theory, that would let me actually observe the world shrinking back down
08:12:33 <Sgeo> It _has_ to be possible for the mass of a reversible CA to shrink, I think
08:12:46 <Sgeo> Well, hmm, not has to be... well, actually, not sure
08:12:55 <Sgeo> But reversibility should be no hinderance
08:14:25 -!- Vorpal has joined.
08:14:39 <Sgeo> The GoL glider sort of becomes a dangit I forgot what it's called
08:16:22 <Sgeo> Or I could just find the Golly documentation
08:16:30 <Sgeo> Just added :T20,20 to the rule name
08:17:39 <Sgeo> Ok, time is not behaving cyclically like I expected
08:17:49 <Sgeo> Does being on a torus just break reversibility period?
08:18:51 <coppro> also one can trivially show that any reversible automaton in finite space is cyclic
08:19:27 <Sgeo> No idea, but time should be cyclic, returning to the starting configuration. Otherwise, you'd get two states, one traced back to the initial state, and one not
08:19:40 <coppro> you have a finite state space
08:19:45 <coppro> a generation is a bijective operation
08:20:10 <Sgeo> coppro, should it or should it not eventually return to the starting state?
08:20:14 <Sgeo> If it's on a torus
08:20:25 <coppro> if it is reversible, that is
08:20:27 <Patashu> a torus just means you're making the bijection differently
08:20:47 <coppro> Patashu: A torus means finite space, that's the key
08:20:57 <coppro> The generation function in an infinite space is not necessarily bijective
08:20:58 <Sgeo> Maybe I'm just not being patient enough
08:21:13 <coppro> Sgeo: there are 2^cells possibilities
08:21:38 * Sgeo makes it a 10x10 torus
08:21:49 <coppro> still 2^100 possibilities
08:22:02 <Patashu> that would be a pretty effective CA to enumerate through every possible state
08:23:04 <coppro> Sgeo: you need more math
08:23:18 <Sgeo> I think I'm seeing it
08:23:22 <Sgeo> But just keep missing it
08:24:20 * Sgeo makes a 5x5, and a line across the universe, and it's much more visible now
08:24:45 <coppro> Sgeo: why won't you accept a proof
08:24:51 <coppro> which you came up wiht
08:25:18 <Sgeo> I just wanted to see a demonstration in action, is all
08:29:11 <coppro> my CA has state space {1, 0}. Generation function is 1 => 0, 0 => 1
08:29:15 <coppro> run for two generations
08:29:41 -!- cheater__ has quit (Ping timeout: 255 seconds).
08:40:32 <Sgeo> http://necsi.edu/postdocs/sayama/sdsr/movies/evol-emr.html
08:43:42 * Sgeo tries random fill with evoloop
08:44:03 <Sgeo> Probably won't be effective unless I make a very large random fill though, and that would take a whiel
08:45:35 -!- cheater__ has joined.
08:49:14 <Sgeo> Ok, this is too slow for my tastes
08:55:04 <CakeProphet> > let genericFib a b = a : b : zipWith (+) (genericFib a b) (tail $ genericFib a b) in genericFib 2 2
08:55:25 <CakeProphet> > let genericFib a b = a : b : zipWith (+) (genericFib a b) (tail $ genericFib a b) in genericFib 2 2
08:55:52 <Deewiant> > let genericFib a b = let fibs = a : b : zipWith (+) fibs (tail fibs) in fibs in take 10 $ genericFib 2 2
08:56:09 <Deewiant> > let genericFib a b = let fibs = a : b : zipWith (+) fibs (tail fibs) in fibs in genericFib 2 2
08:56:10 <lambdabot> [2,2,4,6,10,16,26,42,68,110,178,288,466,754,1220,1974,3194,5168,8362,13530,...
08:56:14 -!- cheater__ has quit (Ping timeout: 255 seconds).
08:57:01 <Deewiant> > let genericFib a b = a : b : zipWith (+) (genericFib a b) (tail $ genericFib a b) in genericFib 2 2
08:57:06 <Deewiant> > let genericFib a b = a : b : zipWith (+) (genericFib a b) (tail $ genericFib a b) in take 10 $ genericFib 2 2
08:57:35 <Deewiant> It's just too slow without the sharing
08:58:04 <CakeProphet> seems like there could be a way to optimize situations like that to be equivalent.
08:58:11 <Deewiant> Doing it in GHCi, your version is really slow
08:59:12 <Deewiant> GHC doesn't do that kind of transformation
09:00:48 <Deewiant> http://www.haskell.org/haskellwiki/Performance/GHC#Common_subexpressions
09:09:44 -!- cheater__ has joined.
09:32:11 * Sgeo discovers Golly's Pattern Info feature
09:57:50 <CakeProphet> !sh echo "Your bot needs better documentation, Gregor" > /dev/null
09:58:22 <CakeProphet> This is proper complaint procedure according to !info
10:02:50 -!- cheater__ has quit (Ping timeout: 255 seconds).
10:42:23 -!- jcp has quit (Ping timeout: 264 seconds).
10:44:35 -!- Phantom_Hoover has joined.
10:48:04 -!- jcp has joined.
11:05:58 -!- azaq23 has joined.
11:12:56 <CakeProphet> What property of an algorithm causes it to diverge on infinite data?
11:13:44 <CakeProphet> I suppose that would involving the halting problem.
11:14:35 <Patashu> reminds me of http://www.xamuel.com/guessability/
11:14:46 <Patashu> though that's not what you want
11:16:53 <Phantom_Hoover> Seen on the SimplyNoise testimonial box: "My girlfriend and I use SimplyNoise every night."
11:28:16 <Phantom_Hoover> Vorpal, I don't even want to think about why you did that, given your established predilections.
11:33:45 <lambdabot> Source not found. My pet ferret can type better than you!
11:33:54 <Vorpal> Phantom_Hoover, what? Oh wrong tab -_-
11:34:03 <Vorpal> not intended for this channel at all
11:37:42 <CakeProphet> Patashu: the first argument is forced to be strict, and then the second argument is returned.
11:37:56 <CakeProphet> it's the strictness primitive of Haskell (GHC? I don't know if it's portable)
11:38:28 <Patashu> so you apply flip seq to 1 and 2, you make 2 strict and return 1
11:38:32 <Patashu> then you apply it to 1 and 3 etc
11:40:17 <CakeProphet> there's also "bang patterns", which lets you prepend a ! in front of a pattern to signify that it is strict. This can be more readable than using seq to force strictness.
11:45:03 <CakeProphet> when used correctly, it can dramatically speed up code. When used incorrectly, it can do absolutely nothing and make your code less pretty. In the worst case, it can hurt performance due to boxing/unboxing.
11:45:38 <Patashu> will GHC make something strict if it thinks it will help?
11:45:45 <Patashu> obviously not in every case but sometimes
11:46:20 <CakeProphet> well, not if it thinks it will help, if it can and there's no reason not to.
11:47:29 <CakeProphet> if an expression is always evaluated by a function, then there's no reason to create the extra overhead of lazy evaluation.
11:48:42 <CakeProphet> though I think you need the -O flag for strictness analysis.
11:55:02 -!- FireFly has joined.
12:10:38 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
12:33:17 -!- Phantom_Hoover has joined.
13:16:50 -!- azaq23 has quit (Quit: Leaving.).
13:24:00 <Vorpal> Phantom_Hoover, oh, how?
13:27:57 -!- cheater__ has joined.
13:39:33 -!- BeholdMyGlory has joined.
14:21:01 -!- augur has quit (Remote host closed the connection).
14:32:49 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:56:31 -!- copumpkin has joined.
14:57:01 -!- augur has joined.
15:00:22 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:32:51 -!- pikhq has joined.
15:33:17 -!- pikhq_ has quit (Ping timeout: 276 seconds).
15:44:23 -!- cheater__ has quit (Ping timeout: 255 seconds).
15:50:57 -!- derrik has joined.
15:51:27 -!- derrik has left.
16:01:10 -!- yiyus has quit (Remote host closed the connection).
16:37:28 -!- yiyus has joined.
16:53:59 <Vorpal> hm, in C, how does __LINE__ behave in an #if? And what if you had #if __LINE__ == 10 .... #elif __LINE__ == 10 ....
17:17:55 -!- pikhq has quit (Ping timeout: 252 seconds).
17:18:03 -!- pikhq has joined.
17:50:04 -!- zzo38 has joined.
17:51:32 <zzo38> If the rule against auras being creatures was not there, you could make a card like: Enchant permanent. This card is unblockable if attacking the player controlling enchanted permanent while that permanent is tapped.
17:57:16 <Lymee> You usually try to not make super-confusing cards.
17:59:50 <zzo38> Make up the card: All creatures are also planeswalkers until end of turn.
18:00:12 <zzo38> (I called it "Wrath of Gosh")
18:04:12 -!- choochter has quit (Quit: lang may yer lum reek..).
19:12:18 -!- oerjan has joined.
19:17:03 -!- augur has quit (Remote host closed the connection).
19:19:30 -!- CakeProphet has quit (Ping timeout: 276 seconds).
19:20:54 -!- CakeProphet has joined.
19:20:54 -!- CakeProphet has quit (Changing host).
19:20:54 -!- CakeProphet has joined.
19:36:23 <zzo38> pikhq: Elaborate? Context? etc?
19:44:49 <pikhq> zzo38: Q is right next to W. Q quits Firefox. W closes the current tab.
19:47:36 <pikhq> Because somehow, a hotkey *distinct* from Alt-F4 to close the program is helpful.
19:48:31 <Vorpal> pikhq, wild guess: legacy reasons. On classical Mac OS (which Netscape Navigator existed for) Cmd-q was the normal way to exit applications.
19:49:15 <pikhq> Then WHY STICK THE CLOSE TAB SHORTCUT ADJACENT TO IT
19:53:33 -!- elliott_ has joined.
19:55:56 <oerjan> elliott_: i am sorry, but pikhq has just banned q
19:58:51 <elliott_> 19:48:31: <Vorpal> pikhq, wild guess: legacy reasons. On classical Mac OS (which Netscape Navigator existed for) Cmd-q was the normal way to exit applications.
20:01:06 <elliott_> oerjan: hey, I need a very angry soundbite about using non-alphabetical symbols for variables in mathematics
20:01:21 <Vorpal> <pikhq> Then WHY STICK THE CLOSE TAB SHORTCUT ADJACENT TO IT <-- also legacy reasons, Cmd-w was also close window (and probably is on OS X)
20:01:54 <Vorpal> elliott_, you mean like 5 = 4.12?
20:01:55 <zzo38> pikhq: Possibly because of different window managers or something
20:02:17 <Vorpal> (yes I know of that esolang)
20:03:15 <oerjan> elliott_: what non-alphabetical symbols
20:03:31 <zzo38> elliott_: Do you not have microphone or angry computer speech?
20:04:16 <oerjan> elliott_: um i mean i don't think that is very common
20:04:31 <zzo38> Still I would like to know what non-alphabetical symbols you mean and which ones specifically
20:04:43 <zzo38> Even if it is not relevant for such a sound.
20:05:55 <zzo38> (TeX allows you to use any symbol for variables in mathematics by using \mathord prefix)
20:10:24 <elliott_> 04:02:18: <CakeProphet> since the OO stuff was just kind of thrown in Perl 5 simply for the sake of having it, and doesn't really integrate into the language very well.
20:11:53 <oerjan> nah, my sister tried but got bitten by it
20:12:47 <oerjan> (note: joke might work better if i actually had a sister)
20:12:56 <elliott_> 04:19:42: <CakeProphet> strings just represent an unparsed form of a structure. for example, a parser can't just magically form a parse tree from a file, it needs to read it as a string first.
20:12:56 <elliott_> this is only necessary because filesystems store everything as strings
20:13:38 -!- zzo38 has left.
20:14:40 <oerjan> synchronistically, http://rjlipton.wordpress.com/2010/04/19/a-post-on-post/#comment-12208
20:15:20 <pikhq> elliott_: Gotta love that good ol' UNIX style.
20:15:25 <elliott_> 04:49:50: <CakeProphet> honestly, I kind of prefer that Perl devs focused on improving Perl 5 without adding radically new semantics/syntax everywhere.
20:15:25 <elliott_> you realise perl six came about because that became way too difficult?
20:15:56 <elliott_> In Service of Regenerative Medicine
20:15:59 <elliott_> this john sidles person looks fun
20:16:25 <elliott_> 04:50:30: <pikhq> (Pugs being a Perl 6 interpreter written in Haskell.)
20:16:29 <elliott_> pikhq: pugs is incredibly out of date and no longer maintained
20:17:14 <pikhq> elliott_: Yes, I realise.
20:17:16 -!- augur has joined.
20:17:23 <oerjan> elliott_: yes he does :P
20:19:35 <oerjan> always with a different perspective on the discussions
20:22:50 <elliott_> 11:40:22: <CakeProphet> it's a GHC extension.
20:22:56 <elliott_> um isn't it in haskell twenty ten
20:23:16 * elliott_ maintains heavy scepticism over CakeProphet's explanations of the intimate workings of the GHC optimiser
20:26:31 <oerjan> elliott_: i don't find it (but pattern guards are)
20:26:57 <elliott_> hmm, http://hackage.haskell.org/trac/haskell-prime/wiki/BangPatterns
20:27:38 <elliott_> To recover Haskell 98 semantics for a pattern binding, use a tilde:
20:27:50 <elliott_> heh, BangPatterns violates ninetyeight?
20:27:54 -!- CakeProphet has quit (Ping timeout: 255 seconds).
20:28:23 -!- CakeProphet has joined.
20:28:23 -!- CakeProphet has quit (Changing host).
20:28:23 -!- CakeProphet has joined.
20:29:03 <elliott_> 21:46:01: <Phantom_Hoover> I like it when people use "borealis" in random names.
20:30:12 <oerjan> elliott_: well ! would be a new keyboard, presumably (although it's already used in data declarations)
20:30:33 <elliott_> for me it _would_ be a new keyboard :D
20:30:35 <elliott_> `addquote <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
20:30:39 <HackEgo> 467) <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
20:30:42 <elliott_> <oerjan> elliott_: well ! would be a new keyboard, presumably (although it's already used in data declarations)
20:30:46 <elliott_> <elliott_> To recover Haskell 98 semantics for a pattern binding, use a tilde:
20:30:46 <elliott_> <elliott_> let ~(x,y) = e in b
20:31:12 <elliott_> 22:22:49: <Sgeo> Did comex just call Java a fine language?
20:31:12 <elliott_> 22:23:02: <Sgeo> By pointing to a comment that called it a fine language, I mean
20:31:12 <elliott_> "Do I have to stop idolising him?!?!?!"
20:31:27 <oerjan> elliott_: oh that would be with the strict default suggestion i guess, that's not part of ! patterns alone is it
20:32:21 -!- zzo38 has joined.
20:32:59 <oerjan> elliott_: anyway haskell 2010 only got the parts of prime they managed to agree upon, obviously
20:33:18 <elliott_> oerjan: they should just standardise GHC :P
20:33:33 <oerjan> but it's a moving target...
20:34:12 <elliott_> oerjan: it's the _only_ target :P
20:34:23 <elliott_> are there even any other compilers that work any more, apart from jhc?
20:34:29 <elliott_> or interpreters, even, every other project is dead
20:34:43 <elliott_> oh there might be that UHC thing
20:34:52 <oerjan> oh ! cannot be a keyword because it's already an array operator
20:35:25 <oerjan> elliott_: by moving, i mean they cannot standardize on ghc's features until _ghc_ has had them settle down
20:35:30 <elliott_> comex: people who reply to your tweets are really retarded, my condolences
20:35:38 <elliott_> oerjan: here's the spec: Implementations must act identically to GHC.
20:36:38 <elliott_> oerjan: you didn't realise? :D
20:37:02 <oerjan> elliott_: until your spec i was assuming there was _some_ kernel of seriousness in there
20:37:25 <elliott_> well, I am serious that there are basically no other viable implementations any more, unfortunately
20:38:29 <zzo38> That won't work very well but maybe do something similar to what I was proposing with C, but do it differently in a way which is suitable for Haskell, instead.
20:39:20 <oerjan> elliott_: there is just too much in ghc for anyone else to reimplement most of it, by now...
20:39:50 <elliott_> oerjan: I'm not sure _that_ is true
20:40:00 <elliott_> oerjan: it's still simpler than C++
20:40:18 <elliott_> and C++ ninety-eight takes about ten years to write a compiler for; C++0x I have no clue
20:40:46 <oerjan> well i am guessing C++ wouldn't have had more than one implementation either if the community size was the same as haskell's
20:41:03 <zzo38> And what I was proposing with C, is I mentioned list of things, which is a superset of C89 but a subset of GNU89. So maybe something similar idea with Haskell.
20:46:16 <elliott_> http://esolangs.org/wiki/Meta_Turing-complete
20:46:23 <elliott_> THE WIKI IS NOT YOUR PERSONAL CRAP GROUND
20:46:41 <zzo38> (Also a subset of the features that Clang supports in GNU89 mode)
20:48:25 * elliott_ creates [[Talk:Meta Turing-complete]]
20:50:33 <elliott_> http://esolangs.org/wiki/Brainmaker
20:50:38 <elliott_> oerjan: how much do you love bf extensions
20:50:46 <Lymee> Isn't that term identical in meaning to "Turing complete"
20:51:16 <elliott_> heh, yes, tehz has the definition wrong
20:51:36 <zzo38> elliott_: Then explain that on the Talk page.
20:52:26 -!- CakeProphet has quit (Ping timeout: 240 seconds).
20:54:25 -!- monqy has joined.
20:55:37 <elliott_> hi monqy, tehz made another article
20:57:21 <monqy> let me guess it's a brainfuck ripoff
21:01:34 -!- FireFly has quit (Quit: swatted to death).
21:02:00 <monqy> Meta Turing-complete
21:02:03 <elliott_> which he deliberately un-hyphenised from the alpaca article when he created it for some reason
21:03:27 <oerjan> i never meta turing. he died before i was born.
21:04:33 -!- calamari has joined.
21:04:43 <monqy> the article is confusing
21:05:25 <monqy> Some super-Turing-complete languages are able to do anything (see Compute/IO), so they are super fully meta Turing-complete.
21:05:28 <elliott_> `addquote <oerjan> i never meta turing. he died before i was born.
21:05:29 <HackEgo> 468) <oerjan> i never meta turing. he died before i was born.
21:06:37 <monqy> Infix notation is one of the 4 possible ways to describe a program. It is not as powerful as the others, so people usually add parenthesis, which makes it a combined notation (Infix-Surround).
21:07:21 <oerjan> fun fun super meta turing-complete
21:07:40 <monqy> super duper meta cool turing-complete
21:12:00 -!- calamari has quit (Quit: Leaving).
21:13:46 <elliott_> oerjan: hmm, if you added a term "value ::? Type" (where Type is constant in the source ofc) to Haskell, of type Bool, would that cause any inconsistency or impurity?
21:14:19 <elliott_> (x ::? (Num a) => a would only be true if x was of type "forall a. (Num a) => a", I think)
21:14:38 <elliott_> i.e. I'm not sure isNum :: a -> Bool; isNum x = x ::? (Num a) => a would do what you expected...
21:16:01 <oerjan> elliott_: it would break parametricity
21:16:36 <Sgeo> "Currently, no one has even bothered looking into how to make an interpreter, so this are none. If you are less lazy than the other people reading this article, please make an interpreter, because I am too lazy."
21:16:41 <monqy> are there any typeclass extensions that would allow doing something like that
21:16:46 <elliott_> oerjan: hmm, but anything else?
21:17:03 <elliott_> i think the ghc devs would notice breaking parametricity :P
21:18:15 <oerjan> elliott_: it would require an implementation that didn't delete types, naturally
21:18:48 <elliott_> oerjan: well duh, I mean as far as the language itself
21:19:37 <oerjan> elliott_: i doubt it would be _impossible_...
21:20:26 <oerjan> iiuc there is a fusion rule which depends on parametricity
21:21:47 <elliott_> <oerjan> elliott_: i doubt it would be _impossible_...
21:21:56 <elliott_> oerjan: dude, I am just asking if it would break the _language_
21:22:01 <elliott_> i don't care about implementation
21:22:18 <oerjan> elliott_: there's probably some extension which would break :P
21:22:53 <oerjan> i mean newtype deriving is already broken because of other parts that aren't parametric
21:24:05 <oerjan> gadts and type families
21:24:26 <oerjan> you can make unsafeCoerce by mixing them
21:25:00 <elliott_> data Foo a where lol :: b -> Foo a
21:31:28 <oerjan> hm it's http://hackage.haskell.org/trac/ghc/ticket/1496 but i'm not sure there's an explicit unsafeCoerce construction
21:32:17 <oerjan> well i guess the example converts between Int and Double
21:33:14 <elliott_> I bet http://hackage.haskell.org/package/eq would let you do horrible things with that
21:33:16 <oerjan> last i heard they were going to introduce new kinds to fix this
21:33:55 <elliott_> I think you can actually do unsafeCoerce with just eq
21:36:58 <elliott_> http://sprunge.us/DYOQ -- but it's actually not unsafe...
21:37:00 <elliott_> oerjan: dammit, the GHC devs thought of this
21:37:48 <elliott_> oerjan: because "coerce undefined a" == _|_ in the first version
21:37:48 <oerjan> how can a lazy pattern match change typing
21:38:05 <elliott_> remember, bringing a GADT constructor into scope can change types
21:38:10 <elliott_> that's the whole point of pattern-matching on a GADT
21:38:16 <elliott_> if you make it irrefutable, you can pass in _|_
21:38:20 <elliott_> and introduce a type-system inconsistency
21:38:31 <elliott_> very clever for GHC catching that
21:44:12 -!- CakeProphet has joined.
21:44:12 -!- CakeProphet has quit (Changing host).
21:44:12 -!- CakeProphet has joined.
21:47:14 -!- elliott_ has quit (Remote host closed the connection).
21:47:50 -!- elliott has joined.
21:50:54 <elliott> oerjan: "You cannot use atomically inside an unsafePerformIO or unsafeInterleaveIO. Any attempt to do so will result in a runtime error. (Reason: allowing this would effectively allow a transaction inside a transaction, depending on exactly when the thunk is evaluated.)"
21:50:54 <lambdabot> elliott: You have 3 new messages. '/msg lambdabot @messages' to read them.
21:51:00 <elliott> oerjan: hard to articulate how much that scares me
21:51:12 <elliott> (that it's common enough that they had to check for it, and that unsafePerformIO /can/ be detected)
21:53:45 <pikhq> elliott: Judging from Google, before they tested for it doing that would segfault.
21:54:08 <elliott> but how do they test for it :D
21:54:22 <pikhq> Also, they're not testing for unsafePerformIO or unsafeInterleaveIO, they're testing to see if there's a transaction within a transaction.
21:55:14 -!- CakeProphet has quit (Ping timeout: 240 seconds).
21:55:18 <pikhq> And the message is there because they got annoyed by people asking on the mailing list about it.
21:55:19 <oerjan> um that would not seem to be implied by "Any attempt to do so will result in a runtime error."
21:57:02 <oerjan> i guess they could make unsafePerformIO and unsafeInterleaveIO set up a fake transaction automatically if it _wasn't_ inside one
21:57:18 -!- CakeProphet has joined.
21:57:20 <oerjan> but that sounds inefficient :P
21:57:27 <elliott> huh, GLUT is unmaintained?
21:57:43 <elliott> anyway btw i think pikhq is wrong
21:57:50 <oerjan> elliott: what, it's in the platform?
21:57:53 <elliott> newTVarIO :: a -> IO (TVar a)
21:57:54 <elliott> IO version of newTVar. This is useful for creating top-level TVars using System.IO.Unsafe.unsafePerformIO, because using atomically inside System.IO.Unsafe.unsafePerformIO isn't possible.
21:58:02 <elliott> oerjan: not the haskell lib
21:58:17 <elliott> also it's not open source...
21:58:28 <elliott> there are maintained forks :)
21:59:32 -!- CakeProp1et has joined.
22:01:35 <elliott> hey pikhq how do you link to glut :q
22:02:06 -!- CakeProp2et has joined.
22:03:01 -!- CakeProphet has quit (Ping timeout: 258 seconds).
22:05:15 -!- CakeProp1et has quit (Ping timeout: 276 seconds).
22:07:58 -!- CakeProp2et has quit (Ping timeout: 246 seconds).
22:09:50 -!- CakeProphet has joined.
22:09:55 -!- CakeProphet has quit (Changing host).
22:09:55 -!- CakeProphet has joined.
22:10:54 -!- clog has quit (Ping timeout: 276 seconds).
22:10:59 -!- clog has joined.
22:11:18 <Sgeo> Ok, that's awesome
22:11:25 * Sgeo wonders how golly-ticker.rle was made
22:15:19 -!- CakeProphet has quit (Ping timeout: 246 seconds).
22:17:21 -!- CakeProphet has joined.
22:23:06 -!- CakeProphet has quit (Ping timeout: 250 seconds).
22:24:52 -!- CakeProphet has joined.
22:24:56 -!- CakeProphet has quit (Changing host).
22:24:57 -!- CakeProphet has joined.
22:25:27 -!- iconmaster has joined.
22:30:37 -!- CakeProphet has quit (Ping timeout: 258 seconds).
22:31:57 <Sgeo> How much would I have to learn before I could make my own tickers?
22:32:08 <Sgeo> Fact that I have to ask is probably a bad sign
22:37:24 -!- CakeProphet has joined.
22:37:24 -!- CakeProphet has quit (Changing host).
22:37:24 -!- CakeProphet has joined.
22:40:57 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:45:03 <elliott> http://esolangs.org/wiki/Rand.Next%28%29
22:45:07 <elliott> neither turing-complete nor a language; discuss
22:45:57 -!- CakeProphet has quit (Ping timeout: 258 seconds).
22:46:38 <monqy> rand.Next() is esoteric and created by user Checkmate.
22:47:02 <monqy> I think I'm missing the point
22:50:26 <monqy> today is a good day for bad things
22:50:58 <oerjan> so basically, today is the day when the concept of turing-completeness dies a horrible, messy death?
22:51:50 <oerjan> well it _is_ the end times. after the rapture and all.
22:52:48 -!- CakeProphet has joined.
22:52:48 -!- CakeProphet has quit (Changing host).
22:52:48 -!- CakeProphet has joined.
22:52:50 <elliott> oerjan: can you delete that and the meta turing completeness page
22:53:16 <monqy> leave infix notation page for hilarity
22:54:23 <oerjan> elliott: IN UNIVERSO ALTERNATIVO, OERJAN PAGINAS DELET
22:54:37 <Sgeo> Maybe Hutton32 might be easier for my brain to understand?
22:54:37 <elliott> `addquote <elliott> oerjan: can you delete that and the meta turing completeness page <elliott> thanks <oerjan> elliott: IN UNIVERSO ALTERNATIVO, OERJAN PAGINAS DELET
22:54:39 <HackEgo> 469) <elliott> oerjan: can you delete that and the meta turing completeness page <elliott> thanks <oerjan> elliott: IN UNIVERSO ALTERNATIVO, OERJAN PAGINAS DELET
22:56:24 -!- cheater__ has joined.
22:56:32 * oerjan was worried he'd got the conjugation wrong there
22:58:37 <Sgeo> elliott, was I ever as bad as Checkmate or the Meta-turing-complete person?
23:03:58 -!- CakeProphet has quit (Ping timeout: 258 seconds).
23:04:23 -!- CakeProphet has joined.
23:04:23 -!- CakeProphet has quit (Changing host).
23:04:24 -!- CakeProphet has joined.
23:05:14 <oerjan> Sgeo: i hope you _do_ realize no one could make a non-snarky response to that kind of question...
23:18:58 <elliott> I wish GHC had idiom brackets
23:19:08 <elliott> Hmm, you could actually do [i| ... |] with Template Haskell
23:19:16 <elliott> applicative-quoters library: Quasiquoters for idiom brackets and an applicative do-notation
23:19:31 <elliott> http://hackage.haskell.org/packages/archive/applicative-quoters/0.1.0.1/doc/html/src/Control-Applicative-QQ-Idiom.html#i
23:23:57 -!- CakeProphet has quit (Ping timeout: 240 seconds).
23:26:08 -!- CakeProphet has joined.
23:26:08 -!- CakeProphet has quit (Changing host).
23:26:08 -!- CakeProphet has joined.
23:34:43 <EgoBot> Not enough arguments for grep at /tmp/input.22143 line 1, near "// ("
23:36:15 <oerjan> > foldr shows "" [1,2,3]
23:38:37 <elliott> i have this doubt that oerjan knows about TH
23:39:14 <oerjan> i know _about_ TH, i just don't _know_ TH
23:40:00 <Phantom_Hoover> <Sgeo> Maybe Hutton32 might be easier for my brain to understand?
23:40:04 <oerjan> > iterate((shows.length<*>(:).head).group)"1"
23:40:05 <lambdabot> Couldn't match expected type `GHC.Base.String'
23:40:41 <elliott> oh, maybe you need haskell-src-meta
23:41:43 <oerjan> > iterate(($"").(shows.length<*>(:).head).group)"1"
23:41:45 <lambdabot> Couldn't match expected type `[GHC.Types.Char] -> b'
23:42:05 <monqy> CakeProphet: unification or just lucky evaluation order?
23:42:20 <oerjan> > (shows.length<*>(:).head).group)"1"
23:42:21 <lambdabot> <no location info>: parse error on input `)'
23:42:26 <monqy> lucky scoping too or something?
23:42:26 <CakeProphet> I was hoping for lucky evaluation order. :)
23:42:30 <oerjan> > ((shows.length<*>(:).head).group)"1"
23:42:31 <lambdabot> Couldn't match expected type `GHC.Base.String'
23:44:27 <CakeProphet> I think this is the most obscene thing I've written in Perl so far: http://pastebin.com/XPcjXL4p
23:44:43 <oerjan> > ((shows.length<*>(:).head)<=<group)"1"
23:44:44 <lambdabot> Couldn't match expected type `GHC.Base.String'
23:44:53 <CakeProphet> it's actually not too bad. Just slightly abusive with map and grep
23:45:02 <monqy> !perl my ($a, $b) = (1, $a); print $b
23:45:04 <monqy> !perl my ($a, $b) = (1, $a); print $a
23:45:14 <monqy> nice silent failure, perl
23:45:31 <CakeProphet> monqy: oh it works fine as an expression, it's just the expression doesn't work like that.
23:45:41 <CakeProphet> it will return (1,undef) from the assignment
23:45:53 <CakeProphet> instead of (1,1), which is what I was going to see if it did.
23:46:08 <CakeProphet> with use strict you would get an actual error of some kind I believe.
23:48:03 -!- azaq23 has joined.
23:48:11 <oerjan> > let (a,b) = (1,a) in (a,b)
23:49:04 <elliott> oerjan: reminds me of tying the knot
23:49:27 <monqy> let (a, b) = (1, a : b) in (a, b)
23:49:31 <monqy> > let (a, b) = (1, a : b) in (a, b)
23:49:32 <lambdabot> (1,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
23:50:25 <monqy> I imagine there's some hideous way to do that in perl too
23:50:42 <CakeProphet> well, yes. it's just too hideous to be obvious.
23:51:53 <CakeProphet> you would have to force laziness, with a number of possible methods.
23:53:06 <CakeProphet> oh hey I just realized something I could do to make adding commands to my bot a cleaner process.
23:53:17 <Sgeo> Phantom_Hoover, as opposed to that golly ticker thig
23:53:27 <elliott> i like how everyone in #haskell thinks augur was just really creepy to a random person for no reason
23:53:42 <Phantom_Hoover> Sgeo, the Golly ticker isn't very complex at all, like I keep telling you.
23:54:00 <Sgeo> elliott, I wasn't in there, what happened?
23:54:06 <elliott> Sgeo: rocks fell and everyone died
23:54:09 <augur> elliott: creepy? whos acting like im creepy
23:54:57 <CakeProphet> one nice thing about Perl that it has in common with Haskell is that it's fairly trivial to define your own control structures.
23:58:29 <CakeProphet> sub with($&) {open my $f, shift; shift->($f); close $f}
23:59:00 <elliott> that involves using prototypes though.
23:59:17 <monqy> mmm delicious perl
23:59:38 <CakeProphet> actually for alphanumeric strings you can use =>, so then...
00:00:00 <elliott> you do use strict and warnings, right?
00:00:37 <elliott> help is an undefined bareword
00:01:16 <CakeProphet> first I need to learn emacs regexp so I can save time later...
00:01:34 <oerjan> hm isn't => precisely for _allowing_ barewords before it
00:02:21 <CakeProphet> => is essentially a comma that allows a bareword in front of it as a string.
00:03:46 <CakeProphet> if I had joined this channel for the first time today, I would almost get the impression that you guys don't like esoteric languages.
00:04:15 <elliott> I don't like esolangs that just have weird syntax as their gimmick
00:04:26 <elliott> and I don't program in esolangs when I'm not esoprogramming
00:04:41 <monqy> does perl also have weird semantics I forget
00:05:06 <pikhq> monqy: It has every semantic.
00:05:42 * elliott smashes CakeProphet's head in
00:07:38 <monqy> !perl print print + 1
00:07:45 <monqy> what just happened
00:07:57 <CakeProphet> it printed positive one, and then returned 1, which it then printed.
00:08:19 <elliott> augur: link to what edwardk is talking about
00:08:24 <oerjan> !perl print 1 => "1"; 1
00:08:26 -!- Phantom_Hoover has quit (Quit: Leaving).
00:08:51 <augur> elliott: hes not talking about anything
00:08:52 <CakeProphet> elliott: yes the transform to a regular , occurs in the tokenizer, before any precedence is done.
00:09:08 <elliott> <ski> augur : i see you at least mention later that `*' is supposed to have type `One'
00:09:09 <elliott> * hape01_ has quit (Quit: leaving)
00:09:09 <elliott> * kate_r has quit (Remote host closed the connection)
00:09:09 <elliott> * hape01 has quit (Quit: Lost terminal)
00:09:09 <elliott> <augur> ski: im fixing that
00:09:09 <elliott> <ski> btw on page 14, there's a type which extends well into the margin
00:09:11 <elliott> * guy (6334bbac@gateway/web/freenode/ip.99.52.187.172) has joined #haskell
00:09:13 <elliott> * guy has quit (Client Quit)
00:09:15 <elliott> <augur> also, yeah, theres a lot of stuff that goes into margins :p
00:09:26 <augur> you meant i should link to what SKI is talking about
00:09:40 <augur> sorry i thought you were re-addressing that to ski
00:09:42 <augur> who is oddly not here
00:09:51 <augur> well, youll have to wait until i fix it, elliott!
00:10:05 <oerjan> ski is clearly lambdabot's secret identity
00:10:09 <augur> also, youll just trash it, so
00:10:16 <elliott> i promise to make no comments at all
00:11:00 <monqy> !perl print print print print print
00:11:27 <monqy> !perl print (print (print (print print)))
00:12:26 <augur> elliott: right now its bulky and im going to pare it down to something more focused
00:12:33 <Sgeo> @bible matt 5:22
00:13:00 <monqy> I agree with elliott
00:13:07 <CakeProphet> oh my god this add_cmd thing is such a beautiful hack.
00:14:01 <CakeProphet> hmmm, oh yeah, I guess I would need a sub...
00:15:08 <monqy> !perl ((print print) (print print))
00:15:09 <EgoBot> syntax error at /tmp/input.25532 line 1, near ") ("
00:15:49 <CakeProphet> yeah okay, so you can't call 1 as a subroutine.
00:16:03 <CakeProphet> this is a bug that is likely to be fixed soon.
00:19:16 <CakeProphet> elliott: ah yes, I believe without the sub it's interpreting the { as the start of a hashref.
00:19:50 <CakeProphet> ah well, I'll just use string literals instead of this => nonsense.
00:24:11 <elliott> <dylukes> I've decided programming or trying to understand #haskell while moderately lovesick is hopeless.
00:26:53 <CakeProphet> programming #haskell is indeed pretty difficult.
00:26:59 <CakeProphet> or I would imagine it is. I have never tried.
00:27:46 <zzo38> I have TRANSPARENCY + NIGHTMARE against opponent's STONE BARRAGE, which means there is a 1/16 chance that they can possibly hit me at all.
00:28:15 <zzo38> Possibly even slightly less.
00:28:37 <zzo38> Actually, no, not less.
00:31:58 <oerjan> CakeProphet: it's just a simple #irp dialect
00:32:10 <oerjan> with unusually polite interpreters
00:36:01 <zzo38> And then they try playing BONE ATTACK (1 + 50% to prevent attacks (unless switched)), which is completely useless since I have two Z.R.C. (and even when I don't, I use RECYCLE ENERGY)
00:37:10 <CakeProphet> while not as pretty ass I had hoped, does save me the effort of manually adding commands to a hash table.
00:37:27 <CakeProphet> ...lol, these typos are ridiculous sometimes.
00:37:36 <elliott> CakeProphet: you can actually avoid the sub, I think, with prototype majjik
00:37:45 <CakeProphet> yes but it has to be the FIRST argument for some reason
00:38:07 <elliott> I think you could achieve foo => {
00:38:15 <elliott> I think there's a Moose thing that uses that syntax
00:38:32 <CakeProphet> elliott: oh, and yes, I've seen Moose. Haven't used it or learned it though.
00:39:09 <CakeProphet> still the prototype document says that the sub or comma isn't required if the & argument is the first one, which is how map, sort, grep, and friends work.
00:39:49 <CakeProphet> foo => { requires the comma but not the sub, which I don't think is a possible case
00:41:00 <Sgeo> Golly wants Perl 5.10 but I only have 5.8 installed, and scared that upgrading will break XChat again
00:43:19 <CakeProphet> it uses the {} with hashrefs but I don't see any anonymous subs.
00:44:19 <CakeProphet> before, after, and around use name => sub {...}
00:46:29 <CakeProphet> I could do something like command {...} name => category => documentation
00:46:41 <CakeProphet> but that puts all of the information after a huge block of code.
00:51:45 -!- oerjan has quit (Quit: Good night).
00:53:31 -!- zzo38 has quit (Remote host closed the connection).
00:56:13 * Sgeo notes with alarm only having 5GB free
01:01:31 <lambdabot> Control.Monad join :: Monad m => m (m a) -> m a
01:01:45 <lambdabot> forall a b. ((a -> b) -> a) -> (a -> b) -> b
01:01:51 <lambdabot> forall a (f :: * -> *). (Applicative f) => f a -> f a
01:03:22 <lambdabot> forall a (f :: * -> *). (Functor f) => f a -> f a
01:06:08 -!- Lymee has quit (Quit: 1... 2... 3... HUGS! :D).
01:07:55 -!- Vorpal has quit (Read error: Operation timed out).
01:21:45 -!- cheater__ has quit (Ping timeout: 255 seconds).
01:34:54 -!- cheater__ has joined.
01:55:41 -!- iconmaster has quit (Quit: Pardon me, but I have to go die in NetHack again.).
03:40:44 -!- azaq23 has quit (Ping timeout: 240 seconds).
03:41:46 -!- azaq23 has joined.
03:50:51 -!- pikhq has quit (Read error: Operation timed out).
03:52:58 -!- pikhq has joined.
04:05:55 <pikhq> elliott: The New York state legislature just voted to legalise same-sex marriage.
04:06:11 <elliott> do you want a fucking cookie
04:06:25 <elliott> congratulations, your legislature is not completely composed of entirely disgusting sub-humans
04:06:38 <pikhq> elliott: You live in a theocracy. You may shut up now.
04:08:45 <elliott> I live in a de jure monarchy, which is a completely different thing.
04:09:13 <elliott> A constitutional monarchy, at that.
04:22:39 <pikhq> elliott: You have no constitution, and your monarch is By the Grace of God Queen.
04:23:04 <pikhq> The very basis of your form of government is a divine grant of power.
04:23:21 <elliott> http://en.wikipedia.org/wiki/Constitutional_monarchy lists the UK as a constitutional monarchy, and you are deliberately using an interpretation of "theocracy" you know to be bullshit to troll me, so basically shut up.
04:23:46 <pikhq> What constitution do you have?
04:24:49 <elliott> "Constitutional monarchy (or limited monarchy) is a form of government in which a monarch acts as head of state within the parameters of a constitution, whether it be a written, uncodified or blended constitution."
04:25:08 <elliott> We do not need an explicit, written constitution to be a constitutional monarchy.
04:25:22 <pikhq> elliott: Okay, fine, fine, I'll stop trolling and go with a much more *relevant* criticism.
04:25:33 <elliott> pikhq: Also, please see http://en.wikipedia.org/wiki/Constitution_of_the_United_Kingdom
04:25:37 <pikhq> elliott: Your country doesn't have same-sex marriage.
04:26:03 <elliott> pikhq: No, but it has civil unions; all that needs to be done is to abolish marriage as a governmental institution.
04:26:39 <elliott> And then remove all the additional restrictions civil unions have, but hey, how many states do you have to go?
04:30:20 <pikhq> So, in short, you have yet to do it. So your legislature may be entirely composed of entirely disgusting sub-humans.
04:30:53 <elliott> pikhq: nope, all I care about is the existence of gender-nondiscriminatory civil unions
04:31:05 <elliott> marriage is an acceptable substitute
04:31:29 <elliott> discriminatory marriage should not exist if nondiscriminatory unions exist, but it's not nearly as huge a problem
04:31:38 <pikhq> elliott: The issue being, of course, that many forms of "civil union" give distinct rights from a marriage.
04:32:04 <elliott> yeah but most of the rights marriage gives are total bullshit.
04:32:46 <elliott> because they tie the idea of loving someone unconditionally 4evaaa with certain arrangements like taxes
04:34:22 <pikhq> Okay, true, those are BS.
04:35:32 <pikhq> TBH, I'd rather for government recognition of marriage to go away, but it seems much more likely to get a gender-indiscriminate definition of the institution through than to eliminate marriage on a government level.
04:35:45 <pikhq> I mean, if you thought the "WAR ON MARRIAGE" types were bad now...
04:36:13 <elliott> i love how you let your political space be defined by what will make the biggest idiots slightly less angry
04:36:29 <Sgeo> Under interpretations of QM where wavefunction collapse occurs, when does it occur?
04:37:06 <pikhq> elliott: The important thing is to get equal treatment of all people under the law.
04:38:20 <elliott> pikhq: that won't happen in america for a long long time
04:38:25 <elliott> at least not by the current rate
04:38:34 <pikhq> elliott: It seems unwise to fight for the platonic ideal legal system, which is impractical, when you could fight to get a good legal system, which is practical.
04:39:25 <elliott> pikhq: When do you think incestuous marriages will be legalised?
04:39:37 <elliott> A billion trillion years from now?
04:40:19 <pikhq> https://secure.wikimedia.org/wikipedia/en/wiki/Nirvana_fallacy
04:40:28 <elliott> <pikhq> elliott: The important thing is to get equal treatment of all people under the law.
04:40:35 <elliott> So by equal treatment of all people
04:40:37 <elliott> you mean equal treatment of some people.
04:40:42 <pikhq> https://secure.wikimedia.org/wikipedia/en/wiki/Nirvana_fallacy
04:40:48 <Sgeo> elliott, he means as close an approximation as possible
04:40:49 <elliott> pikhq: I was responding to the EXACT thing you said.
04:40:53 <elliott> I did not exaggerate your claim at all.
04:41:01 <elliott> You said: Equal treatment of all people under the law, when relating to marriage.
04:41:04 * Sgeo again realizes that he should not worship elliott
04:41:15 <elliott> You didn't say "gay marriage", you didn't say anything like that, you said "equal treatment of all people".
04:41:30 <elliott> Sgeo: Sorry, in future I will assume people said other things than what they actually said to be accommodating.
04:42:01 <Sgeo> I think I may have fallen for the Nirvana fallacy before, hmm
04:42:08 <Sgeo> Don't remember when, though
04:42:16 <pikhq> elliott: You seem to think that my statement that that is *important* also means that I think it can happen.
04:42:35 <pikhq> elliott: When, in fact, that statement is meant as a statement of *priority*.
04:43:06 <elliott> OK, in a billion billion trillion years you can replace marriages with civil unions, then.
04:43:45 <elliott> I'm not being dense, you're just not making any sense and assuming it's my fault.
04:44:11 <elliott> I was talking about abolishing marriage in favour of civil unions; you said that was a far-off goal, and the important thing was equal marriage rights for all people under the law.
04:44:26 <elliott> That will take forever, so what you are saying is that replacing marriage has to wait until forever.
04:45:03 <elliott> Have you considered that it may be your failure to communicate at fault rather than my intentional denseness?
04:45:14 <elliott> I see no other way to interpret what you said.
04:45:33 <pikhq> The *intent* of that statement was "I would rather have a change in law that makes things more equitable right now than a change in law that also makes the law the platonic ideal law."
04:46:01 <pikhq> (that would undoubtedly not happen for ages, because "ZOMG WAR ON MARRIAGE")
04:46:27 <pikhq> Or, TL;DR: Shaddup.
04:46:36 <elliott> I can see that charitable interpretation, but your responses that did not immediately correct me made me assume that I had interpreted correctly the first time round. I mean, come on, you're hardly the most charitable interpreter of statements yourself.
04:47:07 <Sgeo> Am I usually a charitable interpreter of statements? I think I'm too charitable when it comes to online idiots
04:47:55 <elliott> You usually just get confused before you can actually interpret anything IME.
04:49:18 <pikhq> elliott: "It seems unwise to fight for the platonic ideal legal system, which is impractical, when you could fight to get a good legal system, which is practical." That makes sense under another interpretation?
04:51:01 <elliott> <pikhq> elliott: The important thing is to get equal treatment of all people under the law.
04:51:04 <elliott> That is the statement in question.
04:51:09 <pikhq> That was my response.
04:51:10 <elliott> I pushed <pikhq> elliott: It seems unwise to fight for the platonic ideal legal system, which is impractical, when you could fight to get a good legal system, which is practical.
04:51:15 <elliott> to the stack while answering <pikhq> How so?
04:51:18 <elliott> in reply to <elliott> pikhq: that won't happen in america for a long long time
04:51:19 <elliott> <elliott> at least not by the current rate
04:51:22 <elliott> which was in reply to <pikhq> elliott: The important thing is to get equal treatment of all people under the law.
04:51:35 <elliott> Technically it was at the top of the stack until just now when you popped it.
04:52:21 <pikhq> I'm pretty sure our stacks got desynced.
04:53:17 <elliott> let's talk about something more fun:
04:53:18 <elliott> Runtime bound checking is retarded. You need it only for code that is buggy in the first place. I manage a multi million LOC project in C and not once in the 8 years I worked for that project would a bound checking have helped to find a bug. Are there array bound overflows in our code? May be, probably not much. Would it matter, not in the least, would the wasted time matter, yes a lot. If bound checking matters to you, go on,play with Java, Pasc
04:53:18 <elliott> al and others, but let us our C which allows us to get as near as bare metal as it gets. – tristopia May 16 '10 at 9:47
04:54:06 <pikhq> Heheh, *misguided* programmer machismo.
04:54:38 <pikhq> This guy probably also thinks garbage collection is slow.
04:54:50 -!- zzo38 has joined.
05:00:22 -!- copumpkin has joined.
05:00:23 -!- copumpkin has quit (Changing host).
05:00:23 -!- copumpkin has joined.
05:06:04 -!- derrik has joined.
05:09:12 -!- derrik has left.
05:17:02 <zzo38> The six side cards game is a more stategic game. Sometimes the best defense is to let the opponent knock you out. Sometimes the best defense is to not attack. Sometimes the best offensive move is to use CURSE or something like that......
05:17:51 <zzo38> If you know your opponent's deck you might want to use the PROPHECY defense
06:08:01 <elliott> "The terms combiner and operative were favored for their mnemonic value. Applicative was chosen for its mnemonic semi-symmetry with operative (see also [Ba78,
06:08:01 <elliott> §2.2.2]); more stringent symmetry would have analogized operand/operative with argument/argumentative, but the term argumentative was too distracting to use."
06:15:03 -!- derrik has joined.
06:32:09 -!- pikhq_ has joined.
06:32:09 -!- pikhq has quit (Ping timeout: 258 seconds).
06:48:47 <elliott> Deewiant: In REFC, does R always return the same scalar for the same vector?
06:48:54 <elliott> Or can it produce a new scalar each time?
06:49:09 <elliott> And if the latter, would this be an inefficient implementation?
07:05:31 <zzo38> It seems that the rand.Next() esolang is really a variant of Wait.
07:08:30 <elliott> huh, people find iteratees hard to understand
07:26:56 <Sgeo> Well, I just played Portal 2 multipayer with either my friend or my friend's sister, not entirely sure which
07:28:37 <Sgeo> I couldn't tell if the game was making my friend's voice high-pitched, or that was his sister in a more normal voice
07:36:01 -!- monqy has quit (Quit: hello).
07:39:34 <lambdabot> err: `State s' is not applied to enough arguments, giving `/\A. s -> (A, s)'
07:41:03 <elliott> ?unmtl ReaderT s (WriterT s (StateT r ST)) a
07:41:17 <newsham> ReaderT WriterT ArithmeticT
07:41:48 <lambdabot> Source not found. The more you drive -- the dumber you get.
07:41:55 <lambdabot> Source not found. And you call yourself a Rocket Scientist!
07:41:57 -!- derrik has quit (Quit: left).
07:42:14 <elliott> woo, this might actually work
07:52:17 -!- Phantom_Hoover has joined.
07:52:59 -!- pikhq has joined.
07:53:01 -!- pikhq_ has quit (Ping timeout: 260 seconds).
07:55:32 <elliott> wow, enumerator use can be really counter-intuitive
07:55:48 <elliott> E.printChunks True E.>>== EB.enumHandle 8192 h -- how do I print every chunk of an enumerator? simple, feed the printer _in_ to it. err...
08:12:46 -!- pikhq has quit (Ping timeout: 246 seconds).
08:12:49 -!- pikhq_ has joined.
08:18:11 -!- zzo38 has quit (Remote host closed the connection).
08:19:08 <elliott> ?hoogle Int -> m a -> m [a]
08:19:09 <lambdabot> Control.Monad replicateM :: Monad m => Int -> m a -> m [a]
08:19:09 <lambdabot> Text.ParserCombinators.ReadP count :: Int -> ReadP a -> ReadP [a]
08:26:32 <lambdabot> Text.Regex.Posix.ByteString compIgnoreCase :: CompOption
08:26:32 <lambdabot> Text.Regex.Posix.Sequence compIgnoreCase :: CompOption
08:26:33 <lambdabot> Text.Regex.Posix.String compIgnoreCase :: CompOption
08:26:34 <lambdabot> Foreign.Marshal.Error void :: IO a -> IO ()
08:27:08 <lambdabot> System.IO.Error doesNotExistErrorType :: IOErrorType
08:27:08 <lambdabot> Network.StreamSocket handleSocketError :: Socket -> IOException -> IO (Result a)
08:27:08 <lambdabot> System.IO.Error ioeGetErrorString :: IOError -> String
08:40:07 -!- krbot has joined.
08:40:07 -!- krbot has quit (Excess Flood).
08:42:47 -!- krbot has joined.
08:42:47 -!- krbot has quit (Excess Flood).
08:46:26 -!- krbot has joined.
08:46:26 -!- krbot has quit (Excess Flood).
08:53:32 -!- krbot has joined.
08:53:32 -!- krbot has quit (Excess Flood).
08:59:21 -!- krbot has joined.
08:59:21 -!- krbot has quit (Excess Flood).
09:00:40 -!- krbot has joined.
09:00:40 -!- krbot has quit (Excess Flood).
09:01:49 -!- krbot has joined.
09:01:49 -!- krbot has quit (Excess Flood).
09:07:07 -!- krbot has joined.
09:07:07 -!- krbot has quit (Excess Flood).
09:09:35 <elliott> who the fuck is running krbot
09:10:15 -!- krbot has joined.
09:10:15 -!- krbot has quit (Excess Flood).
09:29:06 -!- cheater__ has quit (Ping timeout: 255 seconds).
09:35:22 -!- krbot has joined.
09:38:53 -!- krbot has quit (Remote host closed the connection).
09:42:38 -!- cheater__ has joined.
09:46:12 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
09:46:21 <Deewiant> elliott: It can, and no, not particularly inefficient, REFC is inefficient by definition
09:47:29 <elliott> Deewiant: Right, I'm just wondering whether the idea is to have an immutable store of vectors or a bijection of sorts
09:50:51 <elliott> Do you just generate a new integer each time?
09:52:50 -!- oerjan has joined.
09:52:56 -!- krbot has joined.
09:55:55 -!- krbot has quit (Remote host closed the connection).
09:56:33 -!- krbot has joined.
09:57:05 <elliott> oerjan: its been joining then quitting for abotu an hour now
09:57:21 <elliott> (it has never said a thing)
09:58:21 <elliott> * krbot (~krbot@c-67-161-7-167.hsd1.ca.comcast.net) has joined #esoteric
09:58:21 <elliott> * krbot has quit (Excess Flood)
09:58:21 <elliott> * krbot (~krbot@c-67-161-7-167.hsd1.ca.comcast.net) has joined #esoteric
09:58:21 <elliott> * krbot has quit (Excess Flood)
09:58:21 <elliott> * krbot (~krbot@c-67-161-7-167.hsd1.ca.comcast.net) has joined #esoteric
09:58:22 <elliott> * krbot has quit (Excess Flood)
09:58:31 -!- ChanServ has set channel mode: +o oerjan.
09:58:38 <elliott> (diff) (hist) . . Talk:Meta Turing-complete; 07:51 . . (+491) . . TehZ (Talk | contribs)
09:58:42 -!- oerjan has set channel mode: +b *!*krbot@*.hsd1.ca.comcast.net.
09:58:42 -!- oerjan has kicked krbot krbot.
09:58:45 <elliott> oerjan: have you got a fire extinguisher
09:59:02 -!- oerjan has set channel mode: -o oerjan.
09:59:19 <elliott> http://esolangs.org/wiki/Talk:Meta_Turing-complete
10:00:52 <Deewiant> elliott: Yes, an array to which the new vector gets appended every time
10:03:57 <elliott> dunno why I'm bothering, tehz is an idiot
10:05:04 <elliott> Deewiant: Hey, you're a knowledgable kind of guy, what's the Wikipedia-namespace page spelling out that the existence of worse offenders does not justify a page being bad?
10:07:36 -!- Phantom_Hoover has joined.
10:10:08 -!- sebbu has joined.
10:10:09 -!- sebbu has quit (Changing host).
10:10:09 -!- sebbu has joined.
10:13:01 -!- sebbu2 has quit (Ping timeout: 264 seconds).
10:18:24 <elliott> Message (Just (ServerPrefix "wolfe.freenode.net")) (Command "NOTICE") ["*","*** No Ident response"]
10:18:25 <elliott> Message Nothing (Command "ERROR") ["Closing Link: 127.0.0.1 (Connection timed out)"]
10:18:25 <elliott> Message (Just (ServerPrefix "wolfe.freenode.net")) (Command "NOTICE") ["*","*** Couldn't look up your hostname"]
10:18:28 <elliott> WHY IS THIS IN THE WRONG ORDER
10:20:05 <elliott> why is it nondeterministic
10:21:04 <coppro> this filibuster is awesome
10:24:16 <coppro> Sgeo: The House of Commons of Canada is experiencing a filibuster right now
10:24:34 <coppro> an honest-to-god let's-talk-ourselves-dead-about-how-this-is-a-bad-idea filibuster
10:26:04 -!- Slereah has quit (Ping timeout: 276 seconds).
10:27:33 <Sgeo> What's being filibustered exactly?
10:28:05 <elliott> the concept of filibustering
10:32:47 <oerjan> i never meta filibuster
10:33:20 -!- Slereah has joined.
10:34:21 <augur> elliott: wait what
10:34:46 <oerjan> trust elliott, he never lies
10:34:57 <augur> well, i could believe it
10:35:04 <augur> its entirely plausible
10:35:17 <oerjan> its entirely plausible what?
10:35:18 <augur> controversial legislation often gets filibustered
10:35:29 <augur> and filibuster legislation is among the most controversial
10:35:37 <augur> its often called the nuclear option
10:40:44 -!- augur has quit (Remote host closed the connection).
10:55:03 <coppro> Sgeo: sorry, was off writing
10:55:09 <coppro> Sgeo: A back-to-work bill for Canada Post
10:55:17 <coppro> it looks to be a pretty damn rotten bill for the union
10:58:16 <elliott> oerjan: Is :^S() Underload output-complete?
11:00:24 <oerjan> i doubt it, there is trouble printing many strings
11:00:55 <elliott> oerjan: Howso? Lack of arbitrary effect at arbitrary point type thing for S?
11:01:06 <oerjan> e.g. there is just no way you can make (((:^):^))S in a self-deletable way
11:04:20 -!- augur has joined.
11:05:30 <oerjan> that section implies only some printing is supported.
11:05:53 <oerjan> there is a trick i used to sometimes be able to print _one_ arbitrary string
11:06:13 <oerjan> (you can put it in the beginning of the program so you never need to delete it)
11:07:01 <elliott> how do you encode lists in underload again? I am so rusty :(
11:08:58 <oerjan> ((a)~^(b)~^(c)~^...) is one way, that requires you to always iterate through the whole list, though
11:09:09 <oerjan> another way is to use conses
11:10:28 <oerjan> (that one has no useful end mark, you can add a flag at each step or something)
11:10:53 <coppro> Sgeo: The house has been sitting for nearly 48 hours now
11:11:11 <elliott> oerjan: the former is basically a fold, right?
11:12:02 <elliott> oerjan: hm is there a way to make it a lazy fold somehow...
11:12:06 <elliott> to avoid the whole-list thing
11:12:41 <oerjan> elliott: that's what the cons version is for
11:13:30 <elliott> oerjan: but that one is ugly
11:13:51 <elliott> oerjan: i'm thinking you could pass a thunk to the folding function instead
11:14:14 <oerjan> well it _needs_ to be nested if you are to avoid evaluation from an arbitrary point, i think...
11:14:58 <elliott> ((a)~((b)~((c)~(...)~^)~^)~^)
11:15:17 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> b
11:17:07 <elliott> oerjan: hm what's cons with that...
11:17:57 <elliott> ^ul (a(~)*~^a*(~^)*)((a)~((b)~((c)~(...)~^)~^)~^)^S
11:18:14 <elliott> !underload (a(~)*~^a*(~^)*)((a)~((b)~((c)~(...)~^)~^)~^)^S
11:18:16 <EgoBot> Error: Stack underflow in *
11:18:32 <elliott> !underload ()(a(~)*~^a*(~^)*)((a)~((b)~((c)~()~^)~^)~^)^S
11:18:32 <EgoBot> ((((b)~((c)~()~^)~^)~))~^
11:19:43 <elliott> oerjan: you sound unimpressed with my structure :D
11:19:52 <elliott> !underload ()(a(~)*~^a*(~^)*)((a)~((b)~((c)~(^)~^)~^)~^)^S
11:19:53 <EgoBot> ((((b)~((c)~(^)~^)~^)~))~^
11:19:54 <oerjan> i'm not much in the mood for this
11:21:03 <oerjan> don't you want the consing code at the top...
11:21:40 <elliott> oerjan: um i'm trying to do foldr (:)
11:22:03 <elliott> !underload ()(a(~)*~^~a*(~^)*)((a)~((b)~((c)~(^)~^)~^)~^)^S
11:22:03 <EgoBot> (((b)~((c)~(^)~^)~^)~)()~^
11:22:12 <oerjan> well you need your thunk to self-duplicate so you can use it at the next step
11:22:16 <elliott> i'm worried that changing my function seems to do very little :D
11:22:27 <elliott> oerjan: the idea is that the list itself handles the thunk... i think
11:22:33 <elliott> this structure is not very elegant >_>
11:22:35 <coppro> Sgeo: http://blog.pirateparty.ca/?p=133 if you want more explanation
11:22:46 <oerjan> well as written, it doesn't :P
11:23:21 <oerjan> elliott: my intuition is that lists might be large, so you don't want them to include more of the logic for using them than necessary
11:23:49 <elliott> oerjan: yeah... the cons structure is probably better, even if it is ugly :(
11:24:46 <oerjan> i don't see what's so ugly about it
11:24:47 <elliott> "Anyhow, this Senator read from his own book and was, in a brilliant move, accused by the other side of reading from it just to receive a free translation from the Parliamentary transcriptions."
11:26:54 <coppro> elliott: rotating sleep obviously. The House has been sitting continously
11:27:03 <coppro> the Conservatives are in a real bind, as I note at the bottom
11:27:23 <coppro> since they can't move the previous question
11:27:32 <elliott> coppro: meh, they should ban sleeping in parliament
11:27:37 <elliott> make it a battle of strength
11:27:49 <elliott> penalties for non-grammatical sentences, slurring
11:28:07 <oerjan> elliott: if the list handles the thunk, then that means the list automatically folds, which means you must always iterate through all of it...
11:28:27 <coppro> elliott: They don't sleep in the House proper
11:28:28 <elliott> oerjan: um it puts (current element)(rest of list) on the stack, basically
11:28:39 <elliott> when calling the fold function
11:28:49 <coppro> I'd guess there's about 30-40 members in the house at any time
11:28:53 <elliott> coppro: where is their sense of theatre???
11:28:55 <coppro> 20 from the cons to maintain quorum
11:29:11 <coppro> and enough on the other side that they don't ever lose the debate accidentally
11:29:11 <oerjan> elliott: well ok then it's just that the fold function needs to duplicate itself
11:29:36 <elliott> oerjan: ...which makes this basically the cons representation but weird
11:29:51 <elliott> in fact, I think it's identical to the cons representation with a pointless function call included
11:33:11 <elliott> oerjan: anyway what I _really_ want is some kind of possibly-infinite stream type
11:33:16 <oerjan> you _might_ make it a lazy fold, i think
11:33:20 <elliott> which necessarily involves some laziness
11:34:00 <elliott> hmm, /me wonders how efficient a Smith numeral can be
11:34:17 <oerjan> always essentially unary when you use it
11:34:23 <elliott> you can do powers of two logarithmically, and you can add unaryily
11:34:46 <oerjan> but can be _written_ equivalently to binary easily
11:34:47 <elliott> "better go to the next power of two so it's smaller to store"
11:35:04 <elliott> oerjan: um really? 2^m + n yes
11:35:21 <oerjan> well not the exact same _syntax_ of course
11:35:43 <elliott> yes but that's not quite binary...
11:37:27 <elliott> oerjan: can i try and ask you for a lazy stream type you think is nice? :D
11:37:43 <elliott> i'm trying to come up with a sideset of Underload that has nice IO-complete semantics...
11:37:49 <oerjan> WHAT'S WRONG WITH THE CONSES
11:37:56 <elliott> trying to do it by just treating programs as [bit] -> [bit]
11:37:59 <elliott> oerjan: um that's not _lazy_
11:38:03 <elliott> how you do an infinite list of twos?
11:38:47 <EgoBot> Error: Stack underflow in ~
11:39:17 <elliott> !underload (()~:a~*):a~*^SS
11:39:57 <oerjan> um i was just writing almost the exact same thing
11:40:34 <elliott> that's not an infinite list of ()s though...
11:40:57 <elliott> <elliott> !underload (()~:a~*):a~*^SS
11:40:57 <elliott> <EgoBot> (()~:a~*)()~:a~*
11:40:59 <elliott> it should end or start with ()
11:41:00 <oerjan> !underload (()~:a~*):a~*^aSaS
11:41:37 <elliott> now is that or my planned 01I scheme better...
11:41:58 <elliott> (0 -- output 0 bit; 1 -- output 1 bit; (x)(y)I === (x) if 0 inputted, (y) if 1 inputted)
11:42:57 <oerjan> incidentally you can never get IO-complete underload because of parenthesis matching >:)
11:43:15 <elliott> oerjan: um no i am outputting with bits
11:43:35 <elliott> oerjan: what? even ais ditched the underload IO scheme in underlambda because it sucked :)
11:43:52 <elliott> (for one, it basically makes any kind of optimisation impossible unless you leak a bunch of space storing the original string)
11:44:05 <elliott> (for two, it forces you to embed invalid programs just to output them...)
11:44:15 <elliott> (for three, no way to do input consistently at all)
11:44:51 * oerjan offers his :^ input scheme and cackles evilly
11:44:58 <elliott> oerjan: what scheme was that?
11:45:10 <oerjan> the one used in the rule 110 CA
11:45:59 <oerjan> one of two possibilities i found for encoding one bit per char
11:54:03 <elliott> wish ais was here so i could steal his ideas
11:54:21 * oerjan finds a typo in the :()^ description
12:13:55 <Phantom_Hoover> Am I the only person who found the number of Jew jokes in American media confusing as hell?
12:13:55 <lambdabot> Phantom_Hoover: You have 7 new messages. '/msg lambdabot @messages' to read them.
12:14:58 <oerjan> The Daily Phantom_Hoover
12:15:31 <elliott> Phantom_Hoover: thats just because youre a filthy kike LOL
12:15:47 <elliott> <oerjan> omg I BAnexclamtion marks
12:15:54 <elliott> Phantom_Hoover: no u dont cuz ur a jew => dumb
12:19:50 <oerjan> hey no sperm in the channel
13:06:16 -!- derrik has joined.
13:17:27 -!- Vorpal has joined.
13:17:44 <elliott> Browsing of this document (that is, transmission and display of a temporary copy of this document for the ordinary purpose of direct viewing by a human being in the usual manner that hypertext browsers permit such viewing) is expressly permitted, provided that no recopying, redistribution, redisplay, or retransmission is made of any such copy.
13:17:45 <elliott> Bookmarking of this document (that is, recording only the document's title and Uniform Resource Locator, or URL, but not its content, for the purpose of remembering an association between the document's title and the URL, and/or for the purpose of making a subsequent request for a fresh copy of the content named by that URL) is also expressly permitted.
13:23:30 <CakeProphet> I wish Perl had some kind of "HEY SUPPRESS WARNINGS ON THIS LINE" annotation.
13:24:32 <elliott> its called commenting that line out
13:24:51 <CakeProphet> no, I want it to execute. I just no longer care about the warning.
13:25:09 -!- oerjan has quit (Quit: SUSPECT WARTHOGS OWN THIS LIE).
13:26:16 <CakeProphet> but it doesn't matter. my shell output only serves to output warnings and debug info anyways.
13:26:36 <CakeProphet> I guess if I were writing a command-line utility I'd eventually comment out use warnings
14:11:16 -!- elliott has quit (Read error: Connection reset by peer).
14:11:21 -!- elliott has joined.
15:52:20 -!- monqy has joined.
15:55:13 -!- elliott has quit (Remote host closed the connection).
15:55:43 -!- elliott has joined.
16:37:08 -!- derrik has quit (Ping timeout: 240 seconds).
17:00:59 -!- zzo38 has joined.
17:12:13 -!- Lymee has joined.
17:19:54 -!- cheater_ has joined.
17:23:13 -!- cheater__ has quit (Ping timeout: 250 seconds).
17:23:25 -!- Lymee has quit (Ping timeout: 255 seconds).
17:25:11 -!- derrik has joined.
17:25:33 -!- Lymee has joined.
17:25:35 -!- azaq23 has quit (Quit: Leaving.).
17:28:47 -!- pikhq_ has quit (Read error: Operation timed out).
17:31:06 <Gregor> Conservapedia's news section's coverage of the New York gay marriage bill puts the word "marriage" in scare quotes X-D
17:31:28 -!- ralc has joined.
17:31:29 -!- pikhq has joined.
17:34:40 <tswett> Yeah, doesn't Conservapedia only allow access to people in the US or something?
17:36:16 <elliott> its been loosened recently
17:39:37 <Gregor> France, of all places, is apparently allowed :P
17:39:49 <Gregor> Maybe in France they /need/ that beacon of hope to carry one.
17:41:12 <tswett> Conservapedia's energy on homeopathy seems pretty accurate.
17:51:33 <Gregor> LOLOLOL: PERFECTION: Best New Conservative Words reach the perfect doubling of 26-52-104-208 by century, demonstrating why the future will inevitably be more conservative.
17:51:54 <Gregor> Doesn't the concept of "new conservative word" go directly against the notion of conservativism? :P
17:52:15 <pikhq> "New" goes against the notion, but don't you dare tell them that.
17:52:58 <Gregor> Amongst the conservative words listed:
17:53:45 <tswett> I'm not a liberal. I go jogging three times a week.
17:53:57 <tswett> And I sleep regularly.
17:54:23 <Gregor> bureaucracy (a word to be proud of if ever there was one)
17:55:17 <Gregor> copyright (another word to hold dear to your heart)
17:55:49 <Gregor> decrypt 'illustrates the "can do" approach of conservatism in a patriotic way'
17:56:10 <Gregor> Ruining the decrypter's life because he's gay ALSO illustrates the can-do approach of conservatism :P
17:56:14 <monqy> how are these words conservative and how does the illustrate the inevitability of a conservative future
17:56:33 <Gregor> monqy: That's the joy of Conservapedia!
17:58:12 <Gregor> galvanize (1802) as in, "the liberal proposals galvanized the grassroots in opposition" // lolol
17:58:44 <Gregor> hippie (A more conservative word I am yet to find)
17:59:00 <Gregor> homosexual agenda (this is totes one word)
17:59:13 <Gregor> human rights (conservatives invented them guys)
18:00:20 <Gregor> intellectual property (another word to be written in the 11th commandment)
18:00:29 <newsham> did you get the latest newspeak guide?
18:01:10 <Gregor> newsham: Yes, it's right here on Conservapedia!
18:01:34 <Gregor> Oooh, manifest destiny! Another "word" to stamp on everything
18:02:13 <Gregor> Murphy's Law (1958) if something can go wrong, then it will go wrong: this was a conservative insight by an engineer Edward Murphy
18:02:45 <Gregor> newsham: Heyo, newspeak is one of the words they claim too!
18:03:57 <Gregor> phonics (1684) conservatives have long championed phonics to promote literacy, Bible-reading, and informed voters; liberals take the opposite position
18:04:47 <Gregor> productive and productivity are both theirs.
18:05:08 <Gregor> It's a good thing they claim "pseudoscience", since it makes up the bulk of Conservapedia :P
18:05:15 <monqy> how much of conservapedia is literally a joke
18:05:36 <Gregor> They claim "refudiate"!
18:05:54 <monqy> they can have refudiate
18:06:03 -!- Lymee has quit (Ping timeout: 240 seconds).
18:06:22 <Gregor> Oh no, they've got the Segway!
18:06:54 <Gregor> Well "socialist" is unquestionably a conservative word.
18:08:24 <Gregor> word poverty (2001) popularized by President George W. Bush // Yes, Dubya unquestionably popularized word poverty :P
18:09:42 <newsham> progressive wasnt their word, but they rebranded it.
18:10:02 <newsham> http://en.wikipedia.org/wiki/War_on_Poverty
18:10:47 <newsham> damn democrats pre-coopting their word
18:10:57 <newsham> (they can have "pre-coopt" if they want)
18:11:49 <elliott> `addquote <Gregor> decrypt 'illustrates the "can do" approach of conservatism in a patriotic way'
18:11:53 <HackEgo> 470) <Gregor> decrypt 'illustrates the "can do" approach of conservatism in a patriotic way'
18:12:49 <Gregor> Ah yes, the out-of-context quote DB :P
18:13:48 -!- pikhq_ has joined.
18:14:00 -!- pikhq has quit (Read error: Operation timed out).
18:20:22 <Phantom_Hoover> Gregor, have you beheld the glory of the Conservative Bible Project.
18:20:50 <Phantom_Hoover> At one point they said that Jesus telling the disciples to cast their nets on the right side of their boat was a clear endorsement of conservatism.
18:23:35 <Gregor> Phantom_Hoover: lololol
18:24:21 <Phantom_Hoover> They also entirely excised the story of the adulterous woman because it went against the death penalty.
18:24:42 <Phantom_Hoover> I think this just confirms that atheists who think they're this way because of religion are on entirely the wrong page.
18:25:30 <Gregor> "Express Free Market Parables; explaining the numerous economic parables with their full free-market meaning " // bahahahaha
18:26:10 <pikhq_> They actually want Republican Jesus. Goodness.
18:29:46 -!- oerjan has joined.
18:29:52 -!- Lymia has joined.
18:29:54 -!- Lymia has quit (Changing host).
18:29:54 -!- Lymia has joined.
18:31:50 -!- MigoMipo has joined.
18:34:21 <elliott> (diff) (hist) . . Talk:Meta Turing-complete; 14:48 . . (+688) . . TehZ (Talk | contribs)
18:34:24 <elliott> oh do i want to click this link
18:34:38 <elliott> monqy: i need your moral support
18:34:43 <monqy> [[Talk: Meta Turing-complete]] is awful
18:34:51 <zzo38> O NO. I see some wrong symbol on that paste
18:35:01 <elliott> monqy: please let us read it together
18:35:20 <elliott> I can't respond to this until you tell me if you've misplaced the '?'s. --TehZ 14:48, 25 June 2011 (UTC)
18:35:28 <monqy> yeah what does that mean
18:35:36 <elliott> i think hes trying to be awkward?
18:35:43 <elliott> maybe its meant to be all internet snark
18:35:49 <elliott> It has been used more than once, not just once.--TehZ 14:48, 25 June 2011 (UTC)
18:35:53 <elliott> wow look at all this evidence being presented
18:35:57 <monqy> he used it in brainmaker was it
18:36:24 <monqy> this makes it legit
18:36:56 <monqy> I know it's a fallacy if you see it without context, but not if someone suggested taking them down while not doing it. In that case, it would be illogical to keep the worst and delete the ones you claim are bad. --TehZ 14:48, 25 June 2011 (UTC)
18:38:10 <monqy> maybe he's mad that the worse articles haven't been deleted and they have to be deleted before his?
18:39:16 <zzo38> I think the page should be kept to keep the discussion text there at least.
18:39:41 <elliott> zzo38: move to [[Esolang:How not to debate the merits of pages]]
18:41:41 <zzo38> Should there be "Talk talk:" and "Talk talk talk:" prefixes?
18:42:05 <elliott> opt(what.form.state, "AGY", "AGY");
18:45:44 <Gregor> Uhhh, what's all this mumbo-jumbo?
18:46:03 <elliott> Gregor: prgmr shows British counties...
18:46:07 <elliott> Gregor: As weird three-letter abbreviations.
18:46:12 <elliott> That I have literally never seen ever.
18:46:16 <elliott> I have no fucking clue what Northumberland's is
18:46:22 <elliott> It's not NTL nor NBL or anything
18:48:04 <zzo38> Do you know how you can implement something like INTERCAL's computed RESUME in LLVM?
18:48:06 <Gregor> Just copied some nonsense from Wikipedia.
18:48:18 <Gregor> It's the ISO 3166-2 code *shrugs*
18:48:20 <elliott> also it still wants a zip cod
18:50:11 <Gregor> Surely you have some comparable postal code to fill in there?
18:50:19 <elliott> But it also wants my city, I don't live in a city
18:50:22 <elliott> THIS FORM IS ALL KINDS OF BAD
18:50:32 <elliott> Also it says "State/Country" instead of "State/County"
18:50:41 <elliott> DEFINITELY WANT TO TRUST THESE GUYS WITH BILLING INFORMATION
18:50:53 <elliott> "Don't choose Prepaid Card unless you got it from Luke in a promotion at a lug."
18:51:49 <Gregor> Maybe you should list your "country" as England and your "nation" as UK X-P
18:52:02 <elliott> I almost want to write them a nicer form out of pity.
18:52:36 <Gregor> I ... have not been a lurker for, like, years.
18:52:47 <Gregor> Maybe for a week at a time or so, but that's called "having a life" :P
18:52:58 <oerjan> in fact he never reads the channel without speaking immediately
18:53:12 <elliott> Gregor: do you have any idea how overrated lives are
18:53:21 <elliott> `addquote <elliott> Gregor: do you have any idea how overrated lives are <Gregor> Damn right!
18:53:22 <HackEgo> 471) <elliott> Gregor: do you have any idea how overrated lives are <Gregor> Damn right!
18:53:46 <oerjan> Gregor: see, quotes with context this time!
18:54:14 <Gregor> "<Gregor> Damn right!" wouldn't be much of a quote :P
18:55:25 <elliott> `addquote <Gregor> "<Gregor> Damn right!" wouldn't be much of a quote :P
18:55:26 <HackEgo> 472) <Gregor> "<Gregor> Damn right!" wouldn't be much of a quote :P
18:55:59 -!- Lymia has changed nick to Lymee.
18:58:16 <zzo38> Let's try to figure out how to implement some of INTERCAL's features using LLVM
18:59:08 <zzo38> I think I have read something recently about a variant of LLVM that has something similar to the ABSTAIN/REINSTATE commands in INTERCAL.
19:05:14 -!- augur has quit (Remote host closed the connection).
19:12:06 <elliott> its time to say goodnight to rutian
19:12:28 <elliott> oerjan: Slereah: your past
19:13:12 <elliott> http://i.imgur.com/A6UQ3.png
19:13:53 -!- derrik has changed nick to everyone.
19:14:13 -!- everyone has changed nick to derrik.
19:14:18 <elliott> jesus, was that really the 626th slice ever??
19:17:38 -!- zzo38 has quit (Quit: This form doesn't work correctly).
19:21:48 <elliott> Debian GNU/Linux 6.0 rutian tty1
19:21:54 <elliott> INIT: Switching to runlevel: 0
19:21:57 <elliott> INIT: Sending processes the TERM signal
19:22:00 <elliott> INIT: cannot execute "/etc/init.d/rc"
19:22:03 <elliott> INIT: no more processes left in this runlevel
19:22:17 <elliott> Deleting will destroy your Slice and all of its data. It will be removed from your account and you will not be billed for it in the future.
19:22:33 <Lymee> That was a violent end.
19:22:47 <elliott> Permanently delete this Slice and all of its data? There is no turning back!
19:22:50 <elliott> why would you ask me again
19:22:58 <elliott> i can never call any computer rutian after this, ever again
19:23:11 <newsham> "republican jesus" sounds like a good song name
19:23:21 <newsham> perhaps someone can get in touch with tom waits
19:23:41 <elliott> newsham: excuse me this is a very emotional moment
19:23:43 <newsham> http://www.youtube.com/watch?v=1wfamPW3Eaw
19:23:53 <Lymee> What VPS provider is this?
19:24:00 <elliott> Lymee: slicehost, they used to be great, now they suck
19:24:06 <elliott> brand being phased out anywy
19:25:23 <newsham> dont you think execution of rc is a bit extreme?
19:25:41 <elliott> newsham: i was trying to give it a dignified death, not just wiping all the harddrive at once
19:25:46 <elliott> so i set up a memorial and removed /usr, /bin and /home
19:25:52 <elliott> but then i forgot to leave a way to become root to reboot
19:25:59 <elliott> like i was aiming to cut its head clean off
19:26:01 <elliott> and got caught on its spine
19:26:09 <newsham> its linux, it cant be too hard to get root
19:26:58 <newsham> does your init catch ctrl-alt-del for a clean reboot?
19:27:07 <elliott> newsham: how can i sent ctrl+alt+del over ssh
19:30:23 -!- ChanServ has set channel mode: +o oerjan.
19:30:32 -!- oerjan has kicked elliott YOU MONSTER!.
19:30:41 -!- oerjan has set channel mode: -o oerjan.
19:31:24 <newsham> i mean, killing processes is one thing, but EXECUTING rc?!@#
19:31:43 -!- rutian has joined.
19:31:53 <rutian> i have always been here .
19:32:02 <oerjan> the ghost of slices past!
19:32:09 -!- rutian has quit (Client Quit).
19:32:33 -!- elliott has joined.
19:32:39 <elliott> HELLO GUYS EVERYTHING IS SUPER FINE .
19:32:48 <elliott> I AM DEFINITELY NOT A GHOST PRETENDING TO BE ELLIOTT .
19:32:52 <elliott> THAT WOULD BE RIDICULOUS .
19:33:24 <oerjan> just elliott spacing out
19:33:52 <newsham> i know everythign hasnt always been quite right with me but i can asure you now very confidently that it is going to be alright again
19:36:03 <elliott> that has already been tried .
19:36:19 <oerjan> newsham: is that a quote? i cannot find it but it gives me a The Shining vibe...
19:36:27 <Lymee> dd if=/dev/zero of=/dev/mem
19:37:00 <oerjan> well the vibes may not be very different at that point :P
19:37:50 <oerjan> elliott devastated by death, turns into kurzweil clone
19:38:15 <newsham> saved by the kurzweil singularity
19:38:22 <elliott> im going to resurrect rutian
19:38:36 <oerjan> newsham: um i think that is missing the point :P
19:38:39 <elliott> `addquote <elliott> im going to resurrect rutian <elliott> with vitamin pills <elliott> and book sales
19:38:40 <HackEgo> 473) <elliott> im going to resurrect rutian <elliott> with vitamin pills <elliott> and book sales
19:38:41 <elliott> i can add new quotes whenever i want
19:39:37 <oerjan> `addquote <oerjan> adding quotes by yourself is strictly prohibited and will lead to you being banned
19:39:38 <HackEgo> 474) <oerjan> adding quotes by yourself is strictly prohibited and will lead to you being banned
19:42:06 <oerjan> but i don't feel like banning myself
19:42:36 <Lymee> But the line only occurs in the future.
19:42:41 <Lymee> So it doesn't count.
19:43:33 <newsham> oerjan: sometimes missing the point is best
19:43:49 <newsham> spears and daggers come to mind
19:44:24 <newsham> this channel feels very disassociative
19:44:35 <elliott> we usually make slightly more sense
19:44:39 <oerjan> elliott: i shall excuse your insolence since you are grieving
19:44:52 <newsham> in a "mental illness is the road to freedom" sort of way
19:45:02 <elliott> that's kind of the esolang concept isn't it
19:45:39 <oerjan> the road to freedom is paved with mental illnesses
19:46:10 <newsham> if you're on the paved road, you're not going anywhere important
19:46:52 <oerjan> those pesky roads paved with atoms are particularly insidious
19:47:13 <oerjan> although not as much as those paved with wilderness
19:47:14 -!- augur has joined.
19:52:42 <oerjan> newsham: we prefer to call them particles of color
19:54:56 <newsham> though I can never figure out their position and momentum :(
19:59:00 -!- ais523 has joined.
20:00:24 <elliott> we are mourning a very sad loss today
20:00:28 <elliott> I just ... "decommissioned" rutian
20:01:02 <elliott> But it shall rise again, its soul incarnated into the heart of a faster, more spacious VPS!
20:04:38 -!- bacaw has quit (Ping timeout: 244 seconds).
20:05:56 -!- tswett has quit (Remote host closed the connection).
20:10:07 -!- elliott_ has joined.
20:10:08 -!- elliott has quit (Read error: Connection reset by peer).
20:11:46 <elliott_> ais523: anyway, don't worry, rutian is happily flying around in a spaceship. forever.
20:12:56 -!- krbot has joined.
20:15:47 <oerjan> is it on many other channels?
20:16:31 <oerjan> well it was a _lot_, some of you might happen to be on one...
20:16:54 <elliott_> oerjan: how can you tell if it's a lot?
20:17:08 <oerjan> ais523: no idea but it quit/joined so often this morning that i banned it
20:17:36 <elliott_> it didnt respond last time i tried
20:17:36 <ais523> it doesn't respond to ctcp
20:19:13 <oerjan> apparently krbot is a surname...
20:19:46 -!- Lymia__ has joined.
20:20:14 -!- krbot has quit (Remote host closed the connection).
20:21:39 -!- Lymee has quit (Disconnected by services).
20:21:41 -!- Lymia__ has changed nick to Lymee.
20:21:43 -!- Lymee has quit (Changing host).
20:21:43 -!- Lymee has joined.
20:28:58 -!- oerjan has quit (Remote host closed the connection).
20:29:21 -!- oerjan has joined.
20:49:49 -!- Lymia__ has joined.
20:50:25 -!- Lymee has quit (Disconnected by services).
20:50:27 -!- Lymia__ has changed nick to Lymee.
20:50:29 -!- Lymee has quit (Changing host).
20:50:29 -!- Lymee has joined.
21:19:23 -!- zzo38 has joined.
21:23:08 -!- Lymee has quit (Ping timeout: 252 seconds).
21:26:13 <newsham> ?fixen you should apologize to elliott__.
21:27:23 <lambdabot> I am on the net too much. I should do a net anonymoouse group. online of course.
21:27:45 -!- Kr1sp13kr3m3 has joined.
21:28:09 <oerjan> Phantom_Hoover: lambdabot commands are not haskell functions
21:34:18 <elliott_> THIS IS QUITE IMPORTANT GREGOR
21:35:33 -!- Lymee has joined.
21:38:18 -!- Kr1sp13kr3m3 has quit (Remote host closed the connection).
21:40:10 -!- derrik has quit (Quit: night).
21:42:20 <ais523> suppose I have identical large data files in both an installed-via-package version of a program, and a local development repository
21:42:25 <ais523> how insane would it be to hardlink the two together?
21:43:13 <oerjan> ...so you want copy-on-write filesystem sharing :P
21:43:28 <ais523> oerjan: deduplication, really
21:43:31 -!- Kr1sp13kr3m3 has joined.
21:43:57 <ais523> the nature of the files is such that if the development files changed, and made the same changes to the core files as a consequence, it wouldn't break anything
21:43:58 -!- Kr1sp13kr3m3 has quit (Remote host closed the connection).
21:44:29 <ais523> hmm, Kr1sp13kr3m3 is the same person as krbot
21:44:55 <elliott_> hasn't said a word, continual excess flood quits earlier
21:45:05 <ais523> also, that name is a pain to type while not in-channel (so tab-complete didn't work)
21:45:09 <ais523> I should have copy-pasted, really
21:45:19 <elliott_> very hard if you don't have number keys
21:45:22 <oerjan> i thought Kr1sp13kr3m3 was a regular
21:45:35 <elliott_> oerjan: a regular join-quitter, maybe :D
21:45:50 <oerjan> i mean who had spoken at one point
21:46:11 <oerjan> oh hm so krbot obviously stands for Kr1sp13kr3m3-bot
21:46:45 <elliott_> elliott@elliott-MacBookAir:~/logs$ grep -r Kr1sp13kr3m3 .
21:46:45 <elliott_> elliott@elliott-MacBookAir:~/logs$
21:47:18 <oerjan> elliott_: well e _may_ have used a less 1337 version of eir nick before
21:48:30 <elliott_> can't believe 1337 is an actual english word now
21:49:32 <CakeProphet> I thought 1337 was leet for the English word leet? :D
21:50:10 <monqy> is it really a real word?
21:52:36 <elliott_> either 1337 is used, or it isn't
21:52:47 <ais523> it's clearly a word, it's just unclear in which language
21:52:50 -!- Lymee has quit (Ping timeout: 240 seconds).
21:52:52 <CakeProphet> I believe reputable dictionaries should include the word clusterfuck
21:52:53 <ais523> I think it may be becoming an English loanword
21:53:09 <CakeProphet> define:clusterfuck only shows Wiktionary and Urban Dictionary.
21:53:16 <elliott_> ais523: hmm, now I want to define a language with only one word
21:53:19 <elliott_> ais523: and get English to loan it
21:53:30 <ais523> elliott_: Spivak is close
21:53:40 <ais523> it has something like five words
21:53:41 <elliott_> ais523: preferably, the word itself should be defined as referring to the singleton language
21:53:57 <oerjan> CakeProphet: define: works for you? it stopped working for me...
21:54:21 <CakeProphet> though nowadays I have a little dictionary search bar on my bottom panel.
21:55:15 <CakeProphet> oerjan: maybe it's because you're Swedish and Google doesn't like you or something.
21:55:29 * oerjan swats CakeProphet -----###
21:55:54 <CakeProphet> well, I mean, it could seriously be some kind of weird locale thing.
21:56:49 <ais523> CakeProphet: the point is that oerjan isn't Swedish
21:56:56 <ais523> you really deserve a swat for that
21:57:10 <oerjan> CakeProphet: it doesn't even work if i go to the english language google :(
21:57:57 <CakeProphet> ah, my bad. I have a difficult time keeping up with who is from where.
21:59:15 <oerjan> typical of you canadians
21:59:42 <CakeProphet> http://dl.dropbox.com/u/16495819/Screenshot-1.png
21:59:44 * oerjan actually has no clue whether CakeProphet _is_ canadian or not
22:00:19 <CakeProphet> no I have the much more despicable regionality of the southern United States.
22:00:40 <CakeProphet> *southeastern, technically... we decide to ignore these complexities when talking about north and south though.
22:00:50 <olsner> oerjan: it's 50/50: either he is or he isn't - and either way you're half right :)
22:02:26 <CakeProphet> which is an excellent substitute for a fuzzy boolean value.
22:02:30 <oerjan> olsner: technically i chose which of the two possibilities was a priori most likely to be wrong :P
22:02:47 -!- zzo38 has quit (Remote host closed the connection).
22:02:58 <oerjan> so bayesianly speaking i guess i had _some_ clue
22:04:47 <oerjan> CakeProphet: was that link supposed to indicate you're from georgia?
22:05:34 <CakeProphet> and it also suggests that I have some kind of obsession with Nazis, but this is not true.
22:06:09 -!- Lymee has joined.
22:06:15 <oerjan> CakeProphet: um are you _sure_ you pasted the right link?
22:07:40 <oerjan> CakeProphet: also you are obsessed with taxes and perl
22:08:45 <Phantom_Hoover> All those wasted childhood winters praying for some actual snow for once, and as soon as I hit puberty we're under 20cm of the stuff.
22:09:13 <Phantom_Hoover> Well OK that's inaccurate, the proper snow only really started in the 2009/2010 winter.
22:09:19 <CakeProphet> oerjan: I bet dropbox was still uploading my screenshot because of my abysmal network connection, and thus was showing my last screenshot.
22:11:56 <olsner> I got the same results for define:clusterfuck and just "define clusterfuck", looked like it didn't actually treat define as a special word at all but rather just did a normal search
22:18:13 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:20:00 -!- Lymia has joined.
22:20:01 <oerjan> CakeProphet: anyway, that's not how define: used to work, it used to give a different style with dictionary entries
22:20:30 <CakeProphet> oh, well, it still does that actually. with realer words.
22:22:52 <oerjan> nope, define:hello gives an ordinary search page
22:22:58 -!- Lymee has quit (Ping timeout: 240 seconds).
22:23:40 <CakeProphet> oerjan: that's because you're a Norwegian though. Your define: results are not an appropriate test of googles defining power.
22:24:03 <CakeProphet> we can only assume this is because Google hates you and your country.
22:25:24 <CakeProphet> but seriously, that's actually odd because it works for me.
22:25:39 <elliott_> try using what define is in your language
22:25:52 <CakeProphet> but he also tried the english language google.
22:26:32 <oerjan> olsner: define:clusterfuck _does_ seem to put actual dictionary results a bit further up
22:27:57 <oerjan> i've heard we smell of milk and soap
22:29:22 <CakeProphet> I would think milk and soap just smells like soap...
22:32:01 <CakeProphet> elliott_: but yes, define: still works right?
22:32:19 <oerjan> the english google for define:hello gives me a top link which seems to lead to an actual google dictionary service
22:33:06 <CakeProphet> oerjan: yeah, okay. so Google just hates swedes.
22:48:24 <CakeProphet> I think bfjoust could be a bit more interesting if it had a fork command, similar to corewars SPT
22:49:09 <CakeProphet> where all of the processes are round robin and alternate between each jouster. So by using split you can be at two places at once, but it takes twice as long to move.
22:49:37 -!- Lymia__ has joined.
22:49:51 -!- Lymia__ has changed nick to Lymee.
22:49:54 -!- Lymee has quit (Changing host).
22:49:54 -!- Lymee has joined.
22:52:41 -!- Lymia has quit (Ping timeout: 258 seconds).
22:52:49 <ais523> CakeProphet: quite possibly, but I'm not sure how good the tactic would be
22:52:59 <ais523> unlike in corewars, where splitting is definitely an advantage
22:53:18 <CakeProphet> I think it would make you more suceptible to a rush.
22:54:54 <CakeProphet> though you could split and have one process on your flag to defend it. Still that would only delay a rush
22:58:29 <ais523> if you have more than two processes, you can't maintain a lock
22:58:46 <ais523> you simply can't change the flag fast enough to beat a 2-cycle clear
22:59:09 <ais523> and even with two processes, if you get the opponent's cycle count wrong in any way at all, you commit suicide
22:59:10 <Sgeo> What game is this?
22:59:21 <ais523> we're discussing what impact multithreading would have on BF Joust
22:59:51 <ais523> so we're talking about a hypothetical version of BF Joust with corewars-style threading
23:02:16 <CakeProphet> yeah, I don't know bfjoust strategies very well, but I figured a 2-cycle clear would beat any kind of multi-tasking jouster.
23:03:47 <ais523> a 2-cycle clear is one of the most basic things you can do
23:04:29 <ais523> all competent programs beat it (or deliberately sacrifice the win on it to go against other things), but it tends to get a few wins on certain lengths
23:04:55 <ais523> !bfjoust simple_two_cycle_clear (>)*8(>[-])*21
23:05:02 <EgoBot> Score for ais523_simple_two_cycle_clear: 19.5
23:05:24 <ais523> and, umm, it didn't even come last
23:06:15 <ais523> hmm, I wonder why it beats anticipation?
23:06:34 <ais523> oh, perhaps the lack of antishudder
23:06:37 <ais523> let me run that on the simulator
23:08:17 <ais523> not on egojsout, though, it's too slow in parsing
23:20:01 -!- Lymia has joined.
23:20:20 -!- Lymee has quit (Disconnected by services).
23:20:22 -!- Lymia has changed nick to Lymee.
23:24:12 <ais523> hmm, I wrote some time handling code recently with a Y2038 bug
23:30:30 -!- augur has quit (Read error: Connection reset by peer).
23:31:00 <ais523> my defence is that it was in code that had one already
23:31:24 <ais523> and the code's output is seconds-since-the-epoch as a decimal number encoded in ASCII, so at least the format won't need changing
23:31:37 -!- augur has joined.
23:35:47 -!- zzo38 has joined.
23:44:26 -!- elliott_ has quit (Ping timeout: 258 seconds).
23:49:24 -!- Lymee has quit (Read error: Connection reset by peer).
23:49:57 -!- Lymee has joined.
23:52:15 -!- Phantom_Hoover has quit (Quit: Leaving).
00:02:13 -!- Vorpal has quit (Ping timeout: 264 seconds).
00:02:32 -!- myndzi has quit (Ping timeout: 260 seconds).
00:03:48 -!- myndzi has joined.
00:05:55 -!- CakeProphet has quit (Ping timeout: 276 seconds).
00:08:19 -!- CakeProphet has joined.
00:08:52 -!- MigoMipo has quit (Read error: Connection reset by peer).
00:27:53 <zzo38> Have you used a literate programming system to document a file format?
00:31:21 -!- Sgeo has quit (Ping timeout: 250 seconds).
00:39:35 -!- Kr1sp13kr3m3 has joined.
00:40:08 -!- Kr1sp13kr3m3 has quit (Remote host closed the connection).
00:40:56 -!- Kr1sp13kr3m3 has joined.
00:50:43 -!- Lymia has joined.
00:51:24 -!- Lymee has quit (Disconnected by services).
00:51:27 -!- Lymia has changed nick to Lymee.
00:58:22 -!- Sgeo has joined.
01:12:08 -!- invariable has joined.
01:12:33 -!- invariable has left.
01:16:14 -!- Kr1sp13kr3m3 has quit (Remote host closed the connection).
01:17:48 -!- cheater__ has joined.
01:21:12 -!- cheater_ has quit (Ping timeout: 250 seconds).
01:25:01 -!- Kr1sp13kr3m3 has joined.
01:27:32 -!- Kr1sp13kr3m3 has quit (Remote host closed the connection).
01:54:29 -!- Lymee has quit (Ping timeout: 252 seconds).
01:57:17 -!- azaq23 has joined.
02:03:03 -!- oerjan has quit (Quit: Good night).
02:07:26 -!- Lymee has joined.
02:17:40 * Sgeo vaguely imagines running GoL in reverse, with multiple possibilities as superpositions
02:18:17 <Sgeo> Although I haven't thought it through, it seems like it would have an infinite neighborhood
02:18:55 <Sgeo> Which almost seems to imply c = infinite. That almost makes sense though (but not quite) since a Garden of Eden anywhere means there is no next step
02:19:15 <Sgeo> I'm too tired to be thinking this through properly
02:20:20 <zzo38> I am trying to write a program that reads LLVM bitcode files and I keep making mistakes
02:21:52 <zzo38> And I am unable to access the repository to look at the codes they use.
02:24:56 -!- Lymee has quit (Ping timeout: 240 seconds).
02:37:02 -!- Lymee has joined.
02:51:16 <Sgeo> Given a finite area (say, on a torus), would it be possible to make a rule such that the neighborhood of the rule is Moore 1, and N steps of the rule correspond to -1 steps of GoL? (Of course, with superpositions)
02:51:57 -!- Lymia has joined.
02:55:34 -!- Lymee has quit (Ping timeout: 276 seconds).
02:57:23 -!- ralc has quit (Ping timeout: 250 seconds).
03:22:11 -!- Lymia__ has joined.
03:22:51 -!- Lymia__ has changed nick to Lymee.
03:22:54 -!- Lymee has quit (Changing host).
03:22:54 -!- Lymee has joined.
03:25:34 -!- Lymia has quit (Ping timeout: 258 seconds).
03:32:16 -!- Lymia has joined.
03:32:41 -!- Lymee has quit (Disconnected by services).
03:32:42 -!- Lymia has changed nick to Lymee.
03:38:59 -!- azaq23 has quit (Read error: Operation timed out).
03:39:12 <zzo38> My program appears to be running out of memory for some reason, realloc is returning 0
03:50:19 <zzo38> I think malloc(0) doesn't work (at least in Windows), removing them resulted in not crashing.
03:50:35 <zzo38> But now I get no output if I redirect the output to a file
03:53:00 <zzo38> Can you possibly tell me what is going wrong????????????????
03:53:04 -!- Lymia has joined.
03:53:13 -!- Lymee has quit (Disconnected by services).
03:53:15 -!- Lymia has changed nick to Lymee.
03:53:16 <zzo38> It seems to stop after reading an abbreviation encoding.
03:53:45 -!- azaq23 has joined.
03:56:00 <ais523> zzo38: malloc(0) is not guaranteed to succeed
03:56:14 <ais523> you could try using malloc(1) instead, it has the same effect
03:56:49 <zzo38> I just replaced all of malloc(0) with (0) and now I get no error but I have other problems.
03:57:09 <pikhq_> zzo38: malloc(0) returns *either* a valid pointer or NULL; which of the two is implementation-defined.
03:57:39 <Lymee> !c printf("%u", malloc(0));
03:58:03 <Lymee> !c ((*unsigned char) malloc(0))[0] = 123;
03:58:05 <pikhq_> glibc malloc always returns a valid pointer.
03:58:11 <zzo38> The thing is that I was using the result later in realloc and/or free. What happen if NULL is used there?
03:58:13 <Lymee> !c *((*unsigned char) malloc(0)) = 123;
03:58:26 <Lymee> !c *((*unsigned char)(malloc(0))) = 123;
03:59:22 <pikhq_> zzo38: realloc(NULL, size) is the same as malloc(size), free(NULL) is a no-op.
03:59:47 <pikhq_> If this is *not* happening, then you have a broken C environment.
04:02:52 <newsham> !c int main() { assert(0); return 0; }
04:03:00 -!- Lymia has joined.
04:03:38 -!- Lymee has quit (Disconnected by services).
04:03:40 -!- Lymia has changed nick to Lymee.
04:04:13 <zzo38> Using malloc(0) or malloc(1) crashes. Using NULL results in the program stopping early and prevents it from working when output is redirected to a file.
04:06:22 <zzo38> (Note: "crashes" means realloc returns 0)
04:06:40 <zzo38> If you look, can you notice something wrong that I have failed to notice?
04:06:41 <pikhq_> What are you passing to realloc?
04:07:31 <Lymee> !c printf("%u", realloc(malloc(0),10));
04:07:32 <zzo38> o=realloc(o,(s+=(_amount))*sizeof(number));
04:08:22 <newsham> whats the security for !c?
04:09:00 <pikhq_> zzo38: Underscore-prefixed identifiers are reserved. Using a reserved identifier in your program is undefined behavior.
04:09:07 <pikhq_> zzo38: Aside from that, I got nothing.
04:09:14 <zzo38> pikhq_: _amount is a macro argument.
04:09:32 <pikhq_> Still undefined behavior.
04:10:03 <pikhq_> Admittedly, not going to trigger on any reasonable compiler.
04:10:18 <Lymee> DeathStation 9000 wants a word with youi.
04:10:22 <newsham> Plash virtualizes access to the filesystem. Operations by sandboxed processes on the file namespace, such as opening a file, are mediated by a user-space process. This works by modifying library calls (such as open()) so that they make remote procedure calls (RPCs) to another process instead of making the usual Linux system calls.
04:10:27 <pikhq_> Lymee: I said "reasonable".
04:10:33 <newsham> uh, so all you have to do is provide your own machine code which uses syscalls?
04:11:01 <pikhq_> newsham: And you're running unpriveledged in a chroot without any files. Good luck!
04:11:47 <newsham> thats still more access than most people want to give an attacker.
04:11:53 <newsham> you dont mind giving me a shell in the chroot?
04:11:54 <Lymee> if(name.startsWith("_")) blowUp();
04:12:22 <newsham> because I can put in code that opens a socket and pulls down a larger shell-like program that runs in your chroot
04:13:15 <pikhq_> It's *also* got some very heavy ulimits set up, and what's more, it's running on a VM that exists for running IRC bots.
04:13:51 <Lymee> I think you'd have more luck from attacking a back door than the front door
04:13:54 <pikhq_> Seriously, even if you manage a root exploit you're getting just about nothing out of there.
04:14:09 <newsham> ahh, so its not just the chroot files that are attack surface, you also have the whole VM as an attack surface? :) sweet.
04:14:30 <newsham> do you trust malicious code running in a VM?
04:14:34 <zzo38> http://sprunge.us/XdVd
04:14:46 <Lymee> If you manage to get out of that, then I don't think any other security is going to be a problem.
04:14:54 <pikhq_> Well, if the VM itself gets exploited it's Somebody Else's Problem.
04:15:06 <pikhq_> Since it's not Gregor's machine.
04:15:07 <zzo38> I am also having problems connecting to llvm.org
04:16:00 <Lymee> pikhq_, if the VM has an exploit, couldn't you attack it directly, without messing with the chroot?
04:16:03 <zzo38> What is "DeathStation 9000"?
04:16:25 <pikhq_> Lymee: Most VM exploits would *probably* require access to /dev/kmem.
04:16:45 <pikhq_> If you can exploit the VM from ring 3, we have *serious* problems happening.
04:17:00 <Lymee> The "wtf is this security" kind?
04:17:23 <zzo38> Can you look see in case you noticed something wrong with my program, that I have failed to notice?
04:18:58 <pikhq_> zzo38: Nothing *obviously* wrong.
04:20:14 <zzo38> pikhq_: Do you have any suggestions though? Would it help if you read this document too? http://llvm.org/docs/BitCodeFormat.html
04:29:49 <zzo38> I tried various ways of making macros to override free,malloc,realloc but none of that helped.
04:32:03 <zzo38> I get errorlevel 128. What does that mean?
04:33:59 <zzo38> The output before it unexpectedly stops seems correct.
04:36:45 <zzo38> I found out where it appears to be failing.
04:37:21 <zzo38> It seems to be failing in the chunk @<If the kind is not |endblock|, create a node@>
04:38:21 <zzo38> It seems to be the malloc in that chunk that is causing it to stop.
04:39:30 <zzo38> I don't see anything wrong but maybe you can check maybe you can see something wrong with that?
04:43:33 <zzo38> Can you please try to help?
04:47:04 <zzo38> Here is the output I received, in case it helps: http://sprunge.us/gJWC
04:48:07 <zzo38> The output looks correct to me except that it is incomplete.
04:56:26 -!- Lymee has quit (Ping timeout: 255 seconds).
04:58:45 <zzo38> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
04:58:56 <zzo38> Oops I don't think AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA can help me either
05:05:26 -!- Lymee has joined.
05:08:56 -!- derrik has joined.
05:13:43 <Sgeo> It's demonstratable that reverse life has an infinite neigh.. n/m
05:14:49 <Sgeo> Well, I can't imagine how to do universe end on GoE without an infinte neighborhood
05:31:47 <zzo38> Here is the memory allocation trace: http://sprunge.us/NGYP
05:33:16 -!- Lymia has joined.
05:33:43 -!- Lymee has quit (Disconnected by services).
05:33:45 -!- Lymia has changed nick to Lymee.
05:53:30 -!- Lymia has joined.
05:56:28 -!- Lymee has quit (Ping timeout: 240 seconds).
05:57:40 <zzo38> The ##C channel is no help.
05:59:29 <zzo38> They told me to define 'good' even though none of my questions are about that.
05:59:38 <zzo38> And then they told me that I haven't asked them a question.
06:00:55 <zzo38> Can you please answer my question?
06:04:10 <derrik> zzo38: what question do you have besides "Can you please answer my question?"
06:05:04 <zzo38> derrik: The question about the program.
06:15:25 <zzo38> When compiling with -Os the program stops at the same place but with the error message "The exception unknown software exception (0xc00000fd) occurred in the application at location 0x77f5a84."
06:16:16 <zzo38> -O2 results in the same error.
06:16:39 <zzo38> However, -O0 results in it stopping with no message (it stops in the same place though).
06:18:04 <zzo38> -O3 results same as -O0
06:20:29 <zzo38> gdb says the error appears in RtlLookupElementGenericTableAvl and no stack information is available.
06:21:09 <zzo38> gdb does say it is a segmentation fault.
06:23:36 <zzo38> node*x=malloc(sizeof(node)+(b->kind==beginblock?0:(s-w)*sizeof(number)));
06:26:52 <Sgeo> Does it make sense for live to evolve in a universe where information is monotonically non-decreasing?
06:26:57 <zzo38> What do you dislike about it? Some other people also dislike it, and that is OK. I find it useful.
06:27:17 <CakeProphet> I was making fun of the people who dislike it, actually.
06:28:02 <CakeProphet> my only complaint is that there's not an alternative syntax for else ifs
06:28:52 <zzo38> I know that isn't the problem with my program. I have written macros to override malloc,realloc,free and realized exactly where it stops. I still don't know why it stops, though.
06:30:21 <zzo38> Can you try the program on your computer?
06:37:36 <CakeProphet> I have to go consol a friend of mine actually...
06:40:26 <zzo38> Is anyone else in here that can do so please?
06:41:15 -!- monqy has quit (Quit: hello).
06:53:22 -!- derrik has quit (Read error: Connection reset by peer).
06:53:55 -!- derrik has joined.
07:09:22 <zzo38> If I do #define malloc(X) malloc((X)+999) then the program stops later than before.
07:10:34 <Deewiant> zzo38: When you allocate abbrevinfo*x, you don't multiply the allocation size by sizeof *x
07:11:54 <zzo38> Deewiant: You are absolutely right!
07:12:02 <Sgeo> How well would evolution even work in a macro non-deterministic environment?
07:12:54 <zzo38> That was exactly the problem! I am glad you noticed that.
07:17:08 -!- Vorpal has joined.
07:23:46 <zzo38> I found another problem that isn't about memory allocation and I think I know what it is and how to fix it.
07:35:46 <Sgeo> FUCK FUCK FUCK FUCK FUCK
07:36:03 -!- derrik has left.
07:37:13 <Sgeo> I accidentally touched a broken lightbulb.
07:37:30 <Sgeo> My dad claims it's ok, because it was an old bulb and anything in it has dissipated
07:39:21 <coppro> what's wrong with touching a bulb?
07:39:30 <Sgeo> It's one of those Hg bulbs
07:40:29 <ais523> well, you'll want to wash your hands thoroughly
07:40:53 <ais523> although mercury doesn't actually stick to the skin anyway, it slides off, so the warnings are mostly safety precautions
07:41:39 <ais523> but important ones, just in case some does remain
07:41:48 <Sgeo> I washed my hands
07:42:24 <ais523> the correct solution to a mercury spill, btw, is to mix it with sulphur
07:42:37 <ais523> I've seen that happen in chemistry labs when someone broke a mercury thermometer
07:42:44 <ais523> but it tends not to be readily available
07:45:17 -!- Lymia has quit (Read error: Connection reset by peer).
07:45:41 <Sgeo> I think I'll sleep in a different room
07:46:22 -!- Lymia has joined.
07:47:08 -!- Lymia has changed nick to Lymee.
07:51:39 <zzo38> Is printf("^vbrr: %llu\n",z); the incorrect way to display a 64-bit number?
07:52:26 <Deewiant> With MSVCRT it is, I think it's %I64d there
07:53:33 <zzo38> That did work, but will that work on other systems?
07:54:23 <Deewiant> There's no single way that works both with MSVCRT and other libcs
07:54:37 <zzo38> Maybe I can use a macro
07:58:21 <coppro> it supports some useful subsets
07:58:42 <coppro> if it doesn't work on MSVCRT well fuck them anyway
07:58:55 <pikhq_> C99 is 12 years old now.
07:59:24 <pikhq_> If you can't support even *simple* things right, then you should fuck off.
08:00:02 <coppro> C1X is nearing publication
08:00:16 <pikhq_> Though, part of the problem is that C++98 does not incorporate C99, and Microsoft is too dense to realise that C still matters.
08:00:32 <pikhq_> Of course, *C++0x* is nearing publication.
08:01:20 <pikhq_> Which, of course, incorporates changes made in C99.
08:01:57 <pikhq_> Well, actually, I dunno how much of C99 they did incorporate, but they at least did long long and %llu.
08:02:05 -!- Phantom_Hoover has joined.
08:03:14 <pikhq_> According to Stroustrup, vast majority.
08:03:37 <pikhq_> They didn't bring in variable-length arrays.
08:03:44 <zzo38> I just used #ifdef to decide making a macro called fmt64 which uses the proper format code.
08:04:23 <pikhq_> Though those are less necessary in C++, and optional in C1X, anyways.
08:04:32 <coppro> They brought in most of C99
08:04:39 <Deewiant> Did they bring in the t and z width specifiers?
08:04:47 <coppro> The entire C99 library is in C++0x
08:05:36 <coppro> Of course, timing again means that C++ will miss the C library boat
08:05:44 <coppro> but C1X is so ridiculously conservative
08:05:47 <pikhq_> *gaaah*, they didn't bring in "restrict".
08:05:54 <coppro> it's amazing it took them so long to do it
08:06:17 <pikhq_> Most of the features of C1X are unnecessary in C++0x, anyways.
08:06:42 <coppro> which is just a reinvention of overloading
08:07:10 <coppro> pikhq_: specifically, they didn't bring it in because it's a non-trivial feature and because nobody wanted to do the work
08:07:11 <pikhq_> Bit annoying that the two languages will have different threading support.
08:07:37 <pikhq_> coppro: Didn't bring in "restrict"?
08:07:51 <coppro> at this point C++ should ditch C imo
08:07:54 <pikhq_> Uh, it's an utterly trivial feature to *support*.
08:08:06 <coppro> pikhq_: I mean to put in the standard
08:08:33 <pikhq_> It's still a *very* useful compiler hint.
08:09:01 <coppro> I think it should be supported as an attribute
08:09:08 <pikhq_> Perhaps a little less so in C++, where you throw around types like candy, but still.
08:09:21 <coppro> and I also think that C++ should just stop thinking C cares about it
08:10:16 <pikhq_> The only reason I care at *all* about C++ maintaining C features is that C++ pretty much is forced to interact with C.
08:10:38 <pikhq_> So, the larger the set of features in C that isn't in C++, the greater the impedence mismatch is.
08:10:53 <pikhq_> If it weren't for that, C++0x could drop the entire C standard library for all I care.
08:11:00 <coppro> But really, the C committee doesn't actually care too much about C++
08:11:27 <pikhq_> C++'s insanity is their own damned problem. :P
08:11:37 <coppro> I'm not saying they should
08:12:21 <coppro> but it seriously hurts both C and C++ that they are divergin
08:12:49 <coppro> they're free to take a "fuck C++" approach
08:13:00 <coppro> but it has consequences
08:13:05 <pikhq_> C++ seems to have taken a "fuck C" approach, so.
08:13:11 <coppro> no, that's not their approach
08:13:37 <pikhq_> Then why isn't C++ a superset of C?
08:14:14 <coppro> C++98 was nearly a superset of C90. The only changes you would have to make were relatively trivial and, in nearly every case, already considered good style in C
08:14:32 <coppro> plus a few ones like extra keywords that couldn't be helped
08:14:37 <pikhq_> They changed void*'s semantics.
08:14:59 <coppro> Fixing a conformant C program could be done automatically
08:15:13 <coppro> and implicit void* casts are bad C style
08:15:46 <coppro> malloc should be casted
08:16:14 <pikhq_> The only time I've seen that done is if someone wants their C to compile with a C++ compiler.
08:16:31 <coppro> really? In my exerience it's been a style thing
08:16:46 <coppro> admittedly, I may not have a representative sample
08:17:17 <pikhq_> It's about as "good style" as Hungarian notation.
08:18:03 <coppro> in any case, that's minor compare to C99 features which didn't make it into C++0x
08:18:38 <pikhq_> Yeah, the distinction between C89 and C++98 was somewhat minor.
08:19:03 <coppro> restrict didn't make it in because no one wanted to define its semantics
08:19:19 <pikhq_> Between C99 and C++98, *wince*. C99 and C++0x, really annoying details. C1x and C++0x, *sigh*
08:19:43 <coppro> VLAs and designated initializers were worse; they would need to be expanded to work in C++
08:19:49 <coppro> VLAs are probably never worth it in C++
08:20:01 <pikhq_> Yeah, I actually understand VLAs not making it in.
08:20:05 <coppro> also weird stuff like x[const 5]
08:20:12 <pikhq_> And they're optional in C1x, anyways.
08:20:14 <coppro> is in the same boat as restric
08:20:31 <coppro> But the real issues are about to surface
08:20:40 <coppro> where C and C++ have differing implementations of the same feature
08:21:21 <pikhq_> That's an Apple extension.
08:21:43 <pikhq_> For Objective C, no less, that got kinda retrofitted into C.
08:22:03 <Sgeo> I am confident enough in my thinking to state the following: For any CA in a finite universe where Garden of Eden patterns exist, for each configuration of cells, there is a Garden of Eden pattern that reaaches it eventually. Maybe excluding oscillatiors from the configuration of cells, I'm not quite sure yet.
08:22:06 <pikhq_> More pressing is the differing implementations of threading.
08:22:17 <pikhq_> There's C++0x threads, C1x threads, and POSIX threads.
08:24:48 <Sgeo> Proof: Start from a configuration, and go "backwards", making random choices when needed. In a finite universe, either a loop must be reached, or the simulation must end. Assume that a loop occurs. Then, going forwards again, you'd never reach the initial configuration. Therefore, the backwards process must terminate.
08:24:49 <pikhq_> C++0x does not have "long long" and "unsigned long long".
08:24:58 <Sgeo> (Unless the initial configuration oscillates)
08:25:03 <pikhq_> It has _Longlong and _ULonglong.
08:25:20 <Sgeo> And can only be reached from its oscillation
08:25:27 <coppro> actually, I take it back
08:25:34 <ais523> Sgeo: fallacy: the configuration itself could be included in the loop
08:25:38 <coppro> I had thought WG14 had rejected C++ lambda syntax
08:25:54 <ais523> note that in a finite-universe CA, /all/ configurations are oscillators or precursors to oscillators, so you can hardly exclude those
08:26:14 <pikhq_> Well, C++ lambda *semantics* are fundamentally incompatible with C.
08:26:35 <pikhq_> Those are literally singleton classes with operator().
08:26:49 <Sgeo> ais523, ... oh, right
08:28:02 <coppro> pikhq_: Yes, but the syntax could be the same
08:28:09 <Sgeo> So, I proved something about a set that doesn't even exist, how wonderful
08:28:31 <pikhq_> Not sure how much that would help, but yes, they could be.
08:28:36 <coppro> and some magic could potentially be done to breach the language barrier magically if you attempt to call a C function with a C++ lambda
08:28:54 <coppro> although inline C functions would probably screw it all up
08:29:46 <Sgeo> ais523, well, it still applies to oscillators that have precursors, doesn't it?
08:29:48 <coppro> They would be compiled differently in C and C++ modules
08:30:23 <pikhq_> You'd need a __cplusplus guard around some inline functions or something. :/
08:30:30 <coppro> Now, C could go C++ syntax but with Apple's capture model
08:30:40 <coppro> that would be safe, I think
08:31:31 <pikhq_> Those aren't real function pointers. Though C++ could treat them as opaque pointers without any real problem.
08:31:33 <Sgeo> ais523, it's not particularly easy though to see if any oscillating pattern has a precursor is it?
08:31:58 <ais523> unless the CA in question has a simple method of constructing precursors, like setting one isolated cell in Life
08:32:46 <Sgeo> Well, that still makes for an interesting result in Life though, doesn't it?
08:33:57 <Sgeo> Since it's easy to make precursors for any pattern at least 2 rows/columns smaller than the universe, there is a GoE that results in any pattern 2 rows/columns smaller than the universe
08:33:57 <ais523> Sgeo: you get "in finite life, all finite patterns significantly smaller than the bounding box are produced by a garden of eden"
08:34:10 <ais523> and I think it has to be something like 5 smaller to work
08:34:19 <Sgeo> Oh, why 5 smaller?
08:34:28 <ais523> you need five blank columns to give two squares of buffer space either side of your pixel
08:34:52 <ais523> if you only have one square of buffer space, the extra cell could result in cells there being set due to having 3 rather than 2 neighbours
08:37:18 <Sgeo> Why wouldn't 3 columns, 2 blank and 1 with the cell suffice for 2 buffer space?
08:37:50 <ais523> so you have to connect to both ends of the playfield
08:37:56 <ais523> unless you're using an unusual definition of finite CA
08:38:45 <Sgeo> Ah, wasn't thinking _necessarily_ in terms of wrapping
08:46:43 <coppro> pikhq_: C++'s function<> model is sufficiently generic that the user burden is low
08:55:58 <pikhq_> coppro: True, it'd just really need a way to get the C lambda callable from function<>.
08:56:12 <pikhq_> And, if they feel really nice, a way to make a C lambda into a function<>.
08:57:01 <coppro> since function works by calling ()
08:57:19 <pikhq_> So long as there's a way to call it at all (define a C function call_lambda(lambda *func, va_args args)), yeah.
09:14:01 -!- cheater_ has joined.
09:17:26 -!- cheater__ has quit (Ping timeout: 250 seconds).
09:18:04 -!- zzo38 has quit (Quit: zzo38).
09:42:15 -!- BeholdMyGlory has joined.
09:44:37 <Sgeo> ais523, is it reasonably safe for me to stay in the room? :/
09:45:18 <Sgeo> The one where the light bulb broke
09:46:22 <olsner> since the bulb is broken, be careful about obstacles that are not clearly visible in the dark
10:03:41 <Sgeo> I just want to be certain that I shouldn't be worried about mercury fumes or something
10:05:50 -!- sebbu2 has joined.
10:05:51 -!- sebbu2 has quit (Changing host).
10:05:51 -!- sebbu2 has joined.
10:08:44 -!- sebbu has quit (Ping timeout: 255 seconds).
10:19:39 -!- ais523 has quit (Remote host closed the connection).
10:27:30 <Sgeo> I'm going to go sleep on the couch and just risk bugs
10:27:48 <fizzie> !perl print scalar (() = (1,2,3,1))
10:28:04 <fizzie> (The silly-looking "force list context" thing I've seen somewhere.)
10:28:47 <fizzie> (At least it avoids the arrayref.)
10:38:29 <Gregor> !perl print ("nancy" == "nancy") ? "true" : "false"
10:40:41 <CakeProphet> it's usually not necessary to force list context though.
10:41:04 <CakeProphet> but yeah, taking the length of a list is needlessly difficult in Perl.
10:46:47 <CakeProphet> but I see how 'lists' in scalar context don't return the length, because , doesn't construct a list in scalar context at all.
10:47:10 <CakeProphet> , in scalar context is like , in C. Whereas , in list context is list concatenation / append
10:48:39 <CakeProphet> I'm surprised there's not just a length keyword, or just a regular subroutine, by default.
10:50:25 -!- CakeProphet has quit (Quit: leaving).
10:50:45 -!- CakeProphet has joined.
10:52:03 -!- MigoMipo has joined.
10:56:55 -!- CakeProphet has quit (Quit: leaving).
10:57:15 -!- CakeProphet has joined.
11:14:55 -!- oerjan has joined.
11:21:38 -!- CakeProphet has quit (Quit: leaving).
11:21:59 -!- CakeProphet has joined.
11:53:14 -!- MigoMipo has quit (Remote host closed the connection).
11:59:30 <CakeProphet> this is definitely one of my favorite Haskell programs:
11:59:40 <lambdabot> ["a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aac"...
12:00:08 <lambdabot> forall (m :: * -> *) a. (Monad m) => Int -> m a -> m [a]
12:01:45 <CakeProphet> I've never seen another language that can generate every possible string from an alphabet with such a small amount of code.
12:02:11 <Phantom_Hoover> But the functions it uses are all highly general ones.
12:02:52 <CakeProphet> yeah I would say Control.Monad is more akin to a set of control structures for Haskell more than it is some kind of "helper" library.
12:03:44 <CakeProphet> this is where the power of functional programming lies, I think.
12:06:01 <lambdabot> [[1],[2],[3],[4],[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3],[2,4],[3,1],[3,2...
12:07:08 <CakeProphet> yeah, I'm bad at making those kinds of transformations. That one was even pretty simple to spot.
12:07:39 <Deewiant> > ((=<<) =<< flip replicateM) [1,2,3]
12:07:41 <lambdabot> [[1],[2],[3],[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3],[1,1,1],...
12:08:07 <CakeProphet> also bind on function is still kind of alien to me.
12:08:50 <Deewiant> CakeProphet: Using the argument itself instead of [1..]
12:09:22 <lambdabot> forall (m :: * -> *) a b b1. (Monad m) => (((a -> m b) -> m b) -> m a -> b1) -> m a -> b1
12:09:28 <lambdabot> Occurs check: cannot construct the infinite type: m = (->) (m b)
12:09:28 <lambdabot> Probable cause: `>>=' is applied to too few arguments
12:09:28 <lambdabot> In the second argument of `(>>=)', namely `(>>=)'
12:09:35 <CakeProphet> ah okay, so it's a all "strings" with a length of at most 3 in that case.
12:10:51 <CakeProphet> not quite sure how it knew to do that though..
12:10:56 <lambdabot> forall (m :: * -> *) a. (Monad m) => Int -> m a -> m [a]
12:11:16 <lambdabot> replicateM n x = sequence (replicate n x)
12:13:01 <lambdabot> "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv...
12:15:31 <CakeProphet> > [Nothing,Nothing,Nothing,Nothing] >> "a"
12:16:34 <CakeProphet> so if I ever have a list b I want to concatenate length of list a repetitions of... then a >> b is my choice.
12:36:19 <lambdabot> lexical error in string/character literal at chara...
12:36:40 <CakeProphet> for some reason this haskellwiki page has some lisp code.
12:40:09 -!- BeholdMyGlory has quit (Remote host closed the connection).
12:41:59 <CakeProphet> but I doubt it's the most efficient. Still more efficient that using lists over sets though.
12:43:24 <CakeProphet> using Map a [a] might be better than Set (a,a) for walking paths and such.
12:44:56 <CakeProphet> well, actually using Set won't work for all graphs, because it wouldn't handle loops and parallel edges.
12:45:47 <oerjan> there _is_ a Data.Graph module somewhere
12:46:00 <CakeProphet> oh I know, I'm just doing this as a learning exercise.
12:46:56 <CakeProphet> I think you'd need some kind of multiset structure for the edge set if you want parallel edges.
12:48:39 -!- jcp has quit (Ping timeout: 258 seconds).
12:50:12 <CakeProphet> so for a graph of integers using Array is probably the best choice.
12:53:48 -!- jcp has joined.
13:06:48 -!- sebbu2 has quit (Quit: reboot).
13:19:01 <Phantom_Hoover> Graphs are taken to be undirected unless qualified otherwise.
13:24:15 -!- jcp has quit (Read error: Operation timed out).
13:29:50 -!- jcp has joined.
13:40:20 -!- cheater__ has joined.
13:43:04 -!- cheater_ has quit (Ping timeout: 250 seconds).
13:55:15 -!- oerjan has quit (Quit: leaving).
14:15:46 -!- sebbu has joined.
14:15:46 -!- sebbu has quit (Changing host).
14:15:46 -!- sebbu has joined.
14:23:33 -!- jcp has quit (Ping timeout: 260 seconds).
14:32:21 -!- jcp has joined.
15:17:43 <Sgeo> According to my dad, the bulb had been there a week or two
15:19:03 <olsner> so the grues have had 1-2 weeks to multiply already?
15:20:47 -!- augur has quit (Remote host closed the connection).
15:27:05 -!- derrik has joined.
15:27:25 -!- derrik has left.
15:35:53 -!- CakeProphet has quit (Ping timeout: 255 seconds).
16:08:35 -!- monqy has joined.
16:49:42 -!- augur has joined.
16:50:51 -!- augur has quit (Remote host closed the connection).
16:51:23 -!- monqy_ has joined.
16:51:29 -!- monqy has quit (Disconnected by services).
16:51:36 -!- monqy_ has changed nick to monqy.
16:51:42 -!- augur has joined.
17:15:49 -!- augur has quit (Remote host closed the connection).
17:39:45 -!- wth has joined.
17:40:08 -!- wth has changed nick to Guest48844.
17:41:01 -!- Guest48844 has quit (Client Quit).
17:42:57 -!- pikhq has joined.
17:43:09 -!- pikhq_ has quit (Ping timeout: 258 seconds).
18:01:14 -!- Lymee has quit (Ping timeout: 255 seconds).
18:14:19 -!- Lymee has joined.
18:30:06 -!- milidragmilic has joined.
18:33:21 <pikhq> Esoteric programming languages, nominally.
18:33:36 <olsner> "#esoteric -- come for the esolangs, stay for the zzo38, leave for the zzo38"
18:34:06 <olsner> yes, ostensibly is a good word
18:34:19 -!- milidragmilic has left.
18:38:19 -!- augur has joined.
18:39:36 <Gregor> http://www.totaljerkface.com/happy_wheels.php
18:39:42 <Gregor> ^^^ Play. Fear. Have fun :P
18:41:04 <Gregor> Haha 500 error GOOD TIMING, ME
18:56:01 -!- azaq23 has quit (Quit: Leaving.).
19:02:18 -!- pikhq_ has joined.
19:02:36 -!- pikhq has quit (Ping timeout: 244 seconds).
19:07:57 -!- augur has quit (Remote host closed the connection).
19:14:37 -!- augur has joined.
19:14:55 -!- BeholdMyGlory has joined.
19:14:56 -!- BeholdMyGlory has quit (Changing host).
19:14:56 -!- BeholdMyGlory has joined.
19:19:45 -!- oerjan has joined.
19:30:07 -!- Wamanuz has joined.
19:38:59 -!- Wamanuz has quit (Read error: Operation timed out).
19:44:32 -!- Wamanuz has joined.
19:55:12 -!- augur has quit (Remote host closed the connection).
20:15:48 <lambdabot> Data.Graph.Inductive.Example e :: Gr Char ()
20:15:48 <lambdabot> Data.Graph.Inductive.Example e' :: IO (SGr Char ())
20:16:06 <Vorpal> oerjan, looking for e the constant
20:16:22 <Vorpal> oerjan, so not predefined like pi is?
20:17:05 <lambdabot> class (Fractional a) => Floating a where
20:17:06 <lambdabot> exp, log, sqrt, sin, cos, tan :: a -> a
20:17:06 <lambdabot> asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh :: a -> a
20:19:04 <Vorpal> oerjan, what about phi
20:20:10 <oerjan> well it's not in that class
20:23:36 -!- augur has joined.
20:28:55 <lambdabot> [3.141592653589793,4.141592653589793,5.141592653589793,6.141592653589793,7....
20:29:05 <Lymee> > [pi ** 0.5, pi..]
20:29:06 <lambdabot> [1.7724538509055159,3.141592653589793,4.510731456274071,5.8798702589583485,...
20:29:29 <Lymee> > sum [pi ** 0.24234, pi..]
20:30:13 <oerjan> > sum [pi ** 0.24234, pi..]
20:31:00 <oerjan> she just likes going around in circles
20:32:08 <Lymee> > reverse [pi ** 0.5, pi..]
20:33:41 <oerjan> Lymee: do you have any reason to believe those expressions should halt? :P
20:34:05 -!- augur has quit (Remote host closed the connection).
20:34:18 <Lymee> > sum $ take 5 $ reverse [pi ** 0.5, pi..]
20:35:29 <oerjan> i suspect that list may actually be infinite, and so reverse can never give anything on it
20:35:36 <Phantom_Hoover> oerjan, wouldn't [a,b...] expand into [a,b,2b-a,3b-2a...]?
20:35:53 <Lymee> I fully expect it to not halt.
20:36:05 <Lymee> I just want to see in what creative ways lambdabot fails.
20:36:06 <Lymee> > sum $ take 5 $ reverse [pi ** 0.5, pi..]
20:36:35 <Lymee> > sum $ take (sum $ take 5 $ reverse [pi ** 0.5, pi..]) $ [sum $ take 5 $ reverse [pi ** 0.5, pi..]..]
20:36:36 <lambdabot> No instance for (GHC.Float.Floating GHC.Types.Int)
20:36:46 <Lymee> > sum $ take (sum $ take 5 $ reverse [pi ** 0.5, pi..]) $ [(sum $ take 5 $ reverse [pi ** 0.5, pi..])..]
20:36:47 <lambdabot> No instance for (GHC.Float.Floating GHC.Types.Int)
20:36:48 <oerjan> Phantom_Hoover: essentially. but this _is_ floating point...
20:37:03 <fizzie> > sum $ let t = 1:(map (/2) t) in t
20:37:50 <fizzie> Not clever enough to go all "2" on that, eh?
20:38:10 -!- MigoMipo has joined.
20:38:23 <monqy> (reverse . reverse) is taking forever on infinite lists :(
20:38:50 <monqy> hate having to traverse the whole list to reverse it
20:39:02 <monqy> does it work any better with optimizations
20:39:18 <lambdabot> forall i a. (Integral i) => i -> [a] -> [a]
20:39:35 <oerjan> i guess even that won't work with floating point
20:39:41 <fizzie> > let s i = sum $ take i $ let t = 1:(map (/2) t) in t in map s [2, 4, 16, 64]
20:40:02 <Lymee> oerjan, taking an irrational number and most likely infinite number of things from an array makes no sense.
20:42:26 <oerjan> monqy: reverse . reverse is by definition bottom on infinite lists, so an optimization which "fixed" that would be incorrect. (same with fizzie's sum btw)
20:44:43 -!- augur has joined.
20:45:12 <oerjan> mind you i vaguely recall reading that the foldr + unfoldr deforestation optimization _does_ ignore such an issue in order to work at all (presumably it doesn't matter in practice)
20:45:46 <oerjan> well it _should_ have been foldl' >:)
20:46:17 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
20:46:22 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
20:46:32 <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
20:46:33 <oerjan> they differ only in strictness
20:46:34 <lambdabot> foldl' f a (x:xs) = let a' = f a x in a' `seq` foldl' f a' xs
20:47:07 <Lymee> > reverse $ reverse $ [1..]
20:47:08 <oerjan> foldl can build up a thunk if ghc cannot detect that the folding operation is strict
20:47:15 <Lymee> > reverse . reverse $ [1..]
20:47:22 <Phantom_Hoover> Oh god, what do I do with this huge wodge of disk space taken up by Red Dwarf.
20:47:29 <Lymee> Phantom_Hoover, rm -rf
20:47:46 <oerjan> (that was to the "Lies.")
20:48:03 <fizzie> > sum $ let t n = if n == 0 then [0] else n:(t (n/2)) in t 1
20:48:13 <fizzie> Floating-point underflow saves the day.
20:48:40 <oerjan> > sum . takeWhile (/= 0) . iterate (/2) $ 1
20:49:38 <fizzie> I'm not really a haskeller, so I do things the hard way.
20:50:09 <fizzie> Though your version didn't add that final 0, I guess.
20:50:55 <oerjan> i think i saw that function somewhere
20:51:05 <oerjan> @hoogle (a -> Bool) -> [a] -> [a]
20:51:06 <lambdabot> Prelude dropWhile :: (a -> Bool) -> [a] -> [a]
20:51:07 <lambdabot> Prelude filter :: (a -> Bool) -> [a] -> [a]
20:51:07 <lambdabot> Prelude takeWhile :: (a -> Bool) -> [a] -> [a]
20:52:02 <Lymee> > takeUntil x = takeWhile (not . x)
20:52:03 <lambdabot> <no location info>: parse error on input `='
20:53:45 <oerjan> that's not an expression.
20:54:06 <oerjan> Lymee: also that's not the function i actually meant
20:54:46 <oerjan> i meant one which includes the first element after as well
20:56:30 <oerjan> :t (uncurry (++) . (id *** take 1) .) . span
20:56:31 <lambdabot> The operator `.' [infixr 9] of a section
20:56:31 <lambdabot> must have lower precedence than that of the operand,
20:56:41 <oerjan> :t ((uncurry (++) . (id *** take 1)) .) . span
20:56:42 <lambdabot> forall a. (a -> Bool) -> [a] -> [a]
20:58:28 <Phantom_Hoover> FFS, OSX, why do you make it impossible to write files on external volumes from a Linux computer.
21:00:10 <Phantom_Hoover> Dammit, the kernel drivers don't actually support writing to HFS+.
21:03:08 <oerjan> http://www.downforeveryoneorjustme.com/altavista.digital.com
21:04:16 <cheater__> i would have gone to that website but with the Web Catalog being down i can't find it anymore.
21:05:21 <cheater__> fortunately enough lycos is working
21:11:48 -!- Sgeo_ has joined.
21:12:03 -!- Sgeo_ has quit (Client Quit).
21:35:13 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:41:06 -!- zzo38 has joined.
21:41:26 <zzo38> I wrote a program which can be used for LLVM bitcodes, it might be usable even for things other than LLVM. http://sprunge.us/bCLQ
21:52:39 -!- Slereah has quit (Ping timeout: 252 seconds).
22:02:50 -!- elliott_ has joined.
22:05:28 -!- Slereah has joined.
22:07:00 <lambdabot> forall a b c. (a -> b -> c, (a, b)) -> c
22:09:13 <Sgeo> https://docs.google.com/document/pub?id=1smG1sBiZ4Gs3kmQm6Ge30zVPnYW6Lz06Jncqgug1k9I Deepak Chopra
22:09:29 <Sgeo> Oh, and it actually gets worse from what's in there
22:10:02 <Sgeo> Apparently, the force working against entropy is intelligence
22:11:01 <Sgeo> Phantom_Hoover, I may have typoed a bit
22:11:41 <Sgeo> Yeah, that's my typo, not his
22:11:45 <zzo38> Entropy increases anyways.
22:12:46 <Sgeo> From the paragraph after what I typed out: "Intelligence holds together the blueprint of each cell in its DNA, and many scientists now believe the same holds true of the entire universe."
22:13:10 <zzo38> What exactly does that supposed to mean?
22:13:31 <Phantom_Hoover> The blueprint of the universe is held together by intelligence in its DNA.
22:14:09 <Sgeo> zzo38, we're discussing a pseudoscientific loon.
22:14:10 <zzo38> DNA consists of A,C,T,G not of intelligence or anything else, I think, isn't it?
22:14:14 <Sgeo> Don't expect stuff to make sense
22:15:08 <zzo38> Now it is my turn to beat Imakuni?
22:16:01 <zzo38> And then is your turn next please
22:27:57 -!- Phantom_Hoover has quit (Quit: Leaving).
22:29:45 -!- zzo38 has quit (Remote host closed the connection).
22:32:16 -!- augur has quit (Remote host closed the connection).
22:32:17 -!- pikhq has joined.
22:32:36 -!- pikhq_ has quit (Ping timeout: 255 seconds).
22:48:19 <elliott_> Gregor Gregor Gregor Gregor Gregor Gregor Gregor Gregor Gregor Gregor Gregor Gregor
22:59:21 <elliott_> newsham: why are you impersonating the news ham
23:01:11 -!- krbot has joined.
23:01:26 -!- krbot has quit (Remote host closed the connection).
23:02:38 <oerjan> elliott_: it's just a new sham
23:03:01 <elliott_> oh god i lost the code for the news ham
23:03:04 <elliott_> maybe ill dig it out of the logs
23:09:15 <newsham> is it edible mineral or vegetable?
23:10:11 <Sgeo> I'd think it's "animal"
23:10:40 <Sgeo> Dear Chrome: When I type stuff into the address bar, it's not nice to pretend I didn't
23:13:40 <Sgeo> I'd think it qualifies as animal though
23:18:52 <oerjan> i note that newsham doesn't consider vegetables edible
23:20:58 <newsham> oerjan: when it interferes with funny, vegetables are excluded.
23:21:36 <oerjan> so it's kind of a heisenberg principle of edible vs. funny?
23:22:24 <newsham> funny > strange, truth + beauty
23:23:36 -!- CakeProphet has joined.
23:23:36 -!- CakeProphet has quit (Changing host).
23:23:36 -!- CakeProphet has joined.
23:29:18 -!- krbot has joined.
23:30:59 <oerjan> the fourth family: fun quark, food quark, caulifloron and caulifloron neutrino
23:31:16 <oerjan> (in other news there are suspiciously few vegetables in f)
23:32:05 <newsham> i want a shirt made of spider silk
23:32:08 <Sgeo> Are muons and muon neutrinos actually connected to charm and strange quarks in some way, other than being sort of a next level thing?
23:34:09 -!- Vorpal has quit (Ping timeout: 250 seconds).
23:38:22 <Sgeo> Um, would that be a question that we currently don't know the answer to?
23:41:47 -!- krbot has quit (Remote host closed the connection).
23:43:34 -!- krbot has joined.
23:44:34 <Sgeo> Oh no, not again.
23:47:04 -!- ChanServ has set channel mode: +o oerjan.
23:47:19 -!- augur has joined.
23:47:26 -!- oerjan has set channel mode: -b *!*krbot@*.hsd1.ca.comcast.net.
23:47:41 -!- oerjan has set channel mode: +b *!*krbot@*.
23:47:49 -!- oerjan has kicked krbot krbot.
23:49:30 -!- oerjan has set channel mode: -o oerjan.
23:50:46 -!- augur has quit (Remote host closed the connection).
23:52:53 -!- elliott_ has quit (Ping timeout: 260 seconds).
00:12:02 -!- elliott_ has joined.
00:12:14 <elliott_> <elliott_> <newsham> i want a shirt made of spider silk
00:15:26 -!- myndzi has quit (Remote host closed the connection).
00:20:47 -!- augur has joined.
00:38:05 -!- augur has quit (Remote host closed the connection).
00:52:05 -!- myndzi has joined.
01:08:57 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
01:09:01 <lambdabot> [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N...
01:09:27 <lambdabot> <no location info>: parse error on input `..'
01:09:43 <Lymee> > [1/0,5..0-(1/0)]
01:09:44 <lambdabot> [Infinity,5.0,-Infinity,-Infinity]
01:11:49 <oerjan> > let l = [1/0,5..] in l !! 2 == l !! 3
01:12:30 <elliott_> Gregor Gregor Gregor Gregor Gregor
01:12:44 <lambdabot> [Infinity,3.141592653589793,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN...
01:12:50 <oerjan> weird, why does it have two equal elements and _then_ a different one...
01:12:53 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:13:00 <Lymee> oerjan, because infinity is weird.
01:13:40 <oerjan> elliott_: well i'm just wondering what kind of algorithm can do that, it means it cannot be adding the same constant each time...
01:13:55 <elliott_> oerjan: um you realise (==) is not true on floating point
01:14:54 <lambdabot> Source not found. Do you think like you type?
01:15:31 <oerjan> the RealFloat methods...
01:15:34 <elliott_> http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/src/Numeric.html
01:15:42 <lambdabot> [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0....
01:15:46 <elliott_> http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/Prelude.html#t:RealFloat
01:15:47 <elliott_> oerjan: http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/Prelude.html#t:RealFloat
01:15:50 <lambdabot> [Infinity,Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,...
01:16:06 <lambdabot> [NaN,Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N...
01:16:12 <lambdabot> [NaN,5.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,Na...
01:17:25 <oerjan> > map decodeFloat [1/0,5..]
01:17:26 <lambdabot> [(4503599627370496,972),(5629499534213120,-50),(-4503599627370496,972),(-45...
01:17:36 <Lymee> > map decodeFloat [0/0,5..]
01:17:38 <lambdabot> [(-6755399441055744,972),(5629499534213120,-50),(-6755399441055744,972),(-6...
01:17:41 <oerjan> > drop 2 $ map decodeFloat [1/0,5..]
01:17:42 <lambdabot> [(-4503599627370496,972),(-4503599627370496,972),(-6755399441055744,972),(-...
01:17:59 <oerjan> elliott_: well that did not distinguish them
01:18:18 <lambdabot> Source not found. And you call yourself a Rocket Scientist!
01:18:26 <Lymee> > map decodeFloat $ map (\x y -> (x/10,y)) [1/0,pi..-pi]
01:18:30 <elliott_> oerjan: i guess a sequential addition loop would do differently
01:18:33 <Lymee> > map decodeFloat $ map (\x y -> (x/10,y)) [1/0,pi..]
01:18:34 <lambdabot> No instance for (GHC.Float.RealFloat (t -> (a, t)))
01:18:45 <Lymee> > map decodeFloat $ map (\x y -> (x/10,y)) $ [1/0,pi..]
01:18:47 <lambdabot> No instance for (GHC.Float.RealFloat (t -> (a, t)))
01:19:01 <Lymee> > map decodeFloat $ map (\(x, y) -> (x/10,y)) $ [1/0,pi..]
01:19:02 <lambdabot> No instance for (GHC.Float.RealFloat (t, t1))
01:19:27 -!- elliott_ has quit (Remote host closed the connection).
01:19:58 -!- elliott has joined.
01:20:27 -!- cheater__ has quit (Ping timeout: 255 seconds).
01:20:52 -!- tswett has joined.
01:20:52 <oerjan> > map (map decodeFloat) $ map (\(x, y) -> [x/10,y]) $ [1/0,pi..]
01:20:54 <lambdabot> No instance for (GHC.Enum.Enum (a, a))
01:20:54 <lambdabot> arising from the arithmetic seque...
01:21:00 <tswett> Hey, does anyone want to play Zendo?
01:21:21 <Lymee> > map ma decodeFloat [1/0,pi..]
01:21:25 <Lymee> > map decodeFloat [1/0,pi..]
01:21:26 <lambdabot> [(4503599627370496,972),(7074237752028440,-51),(-4503599627370496,972),(-45...
01:21:54 <oerjan> > map (map decodeFloat) $ map (\x -> [x/10,x]) $ [1/0,pi..]
01:21:55 <Lymee> > drop 3 $ map decodeFloat [1/0,pi..]
01:21:55 <lambdabot> [[(4503599627370496,972),(4503599627370496,972)],[(5659390201622752,-54),(7...
01:21:56 <lambdabot> [(-4503599627370496,972),(-6755399441055744,972),(-6755399441055744,972),(-...
01:22:11 <Lymee> [(4503599627370496,972),(7074237752028440,-51),(-4503599627370496,972),(-4503599627370496,972),(-6755399441055744,972),(-6755399441055744,972)]
01:22:15 <Lymee> Now to figure out wtf is happening.
01:22:36 <tswett> sebbu: no, I'm a zendo!
01:22:36 <elliott> enumFromTo probably does not use repeated addition
01:22:39 <elliott> perhaps instead multiplying the constant
01:22:40 <lambdabot> [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N...
01:22:44 <tswett> elliott: no, I'm a zendo!
01:22:45 <Lymee> > -Infinity - -Infinity
01:22:46 <lambdabot> Not in scope: data constructor `Infinity'Not in scope: data constructor `In...
01:23:23 <elliott> oerjan: yeah, it is not repeated subtraction
01:23:27 <elliott> but with different precedence
01:23:56 <elliott> Lymee: stop pinging me without saying anything
01:24:10 <Lymee> > (5 - ((1/0) - 5)) - ((1/0) - 5)
01:24:19 <Lymee> > ((5 - ((1/0) - 5)) - ((1/0) - 5)) - ((1/0) - 5)
01:24:43 <oerjan> > let f x y = x : f y (y+(y-x)) in f (1/0) 5
01:24:44 <lambdabot> [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N...
01:25:02 <elliott> oerjan: what a strange way of doing it
01:27:28 <oerjan> yeah you'd think that would be inefficient
01:29:17 <oerjan> hm that's not what h98 report says...
01:29:44 <lambdabot> <no location info>: parse error on input `='
01:30:23 <oerjan> > let f x y = map ((x+).((y-x)*) [0..] in f (1/0) 5
01:30:24 <lambdabot> <no location info>: parse error on input `in'
01:30:35 <oerjan> > let f x y = map ((x+).((y-x)*)) [0..] in f (1/0) 5
01:30:37 <lambdabot> [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,Na...
01:31:11 <Lymee> ?pl let f x y = map ((x+).((y-x)*)) [0..] in f (1/0) 5
01:31:11 <lambdabot> map ((1 / 0 +) . ((5 - 1 / 0) *)) [0..]
01:31:23 <Lymee> That's not as near as dotty as I expected.
01:31:50 <oerjan> there are no lambdas to dot
01:31:58 <elliott> um that's just beta reduction Lymee
01:34:08 -!- cheater__ has joined.
01:38:51 <elliott> tehz is really annoying...
01:43:24 <oerjan> Enum Double appears to be an orphan instance, it's hard to find the actual source :(
01:45:12 -!- Lymia has joined.
01:45:38 -!- Lymee has quit (Disconnected by services).
01:45:40 -!- Lymia has changed nick to Lymee.
01:47:25 -!- augur has joined.
01:50:59 * oerjan finally finds a link to GHC.Float source
01:52:59 <elliott> oerjan: you should just download ghc when looking for internal module sources :P
01:53:35 -!- augur has quit (Remote host closed the connection).
01:58:11 <oerjan> numericEnumFromThen n m= n `seq` m `seq` (n : numericEnumFromThen m (m+m-n))
01:58:24 <oerjan> finally found it in GHC.Real
01:58:57 <elliott> but why such a weird definition, i guess maybe it's more accurate
02:00:52 -!- Madk has joined.
02:01:19 -!- Madk has quit (Client Quit).
02:01:58 <oerjan> elliott: according to some comments i found under way, these were originally in the haskell 1.2 report
02:02:04 <oerjan> the h98 report instead has
02:02:16 <oerjan> numericEnumFromThen n m = iterate (+(m-n)) n
02:02:53 <oerjan> well those comments may of course be out of date for the actual current ghc code
02:03:35 <oerjan> the ghc code has a strictness error, me thinks
02:03:58 <oerjan> the report indicates it should give the 1.0
02:04:17 <elliott> oerjan: (also, you realise h98 isn't the report any more, right?)
02:04:26 <elliott> where does it indicate that?
02:04:29 <oerjan> yeah but i doubt this changed
02:04:36 <oerjan> http://www.haskell.org/onlinereport/standard-prelude.html
02:04:52 <elliott> oerjan: which part exactly?
02:05:07 <elliott> enumFromThen :: a -> a -> [a] -- [n,n'..]
02:06:13 <elliott> oerjan: um is exact identicality required?
02:06:16 <elliott> even when _|_ is involved?
02:06:29 <oerjan> _especially_ when _|_ is involved.
02:06:33 -!- Lymia has joined.
02:07:29 <oerjan> there was a reasonable improvement to filterM which they wouldn't make because it would cause certain _|_'s to show up in a different place
02:07:34 <elliott> argh, Chrome, forget my guest/guest login
02:08:13 <oerjan> elliott: you might mention the silly [1/0, 5..] behavior :P
02:08:45 <elliott> FUCK THIS HOW THE FUCK DO I LOG IN JESUS
02:09:29 -!- Lymee has quit (Ping timeout: 240 seconds).
02:09:52 <oerjan> see, this is precisely the kind of reason why i refuse to report things :P
02:10:13 <elliott> um that was my stupidity for logging in to the guest account first
02:10:55 <elliott> oerjan: paste me numericEnumFrom, numericEnumFromThen definitions?
02:11:11 <oerjan> numericEnumFrom :: (Fractional a) => a -> [a]
02:11:12 <oerjan> numericEnumFrom n= n `seq` (n : numericEnumFrom (n + 1))
02:11:12 <oerjan> numericEnumFromThen :: (Fractional a) => a -> a -> [a]
02:11:12 <oerjan> numericEnumFromThen n m= n `seq` m `seq` (n : numericEnumFromThen m (m+m-n))
02:11:44 <oerjan> the former looks reasonable
02:12:33 <oerjan> although the seq means it's not entirely equivalent to the standard Prelude
02:13:13 <elliott> > map (const ()) [0, undefined..]
02:13:41 <elliott> oerjan: hm so the standard evaluation of [0.0, undefined..] should be...
02:14:09 <elliott> 0.0 : iterate (+(0.0-undefined)) (0.0+(0.0-undefined))
02:14:15 <elliott> oerjan: in other words, 0.0 : undefined?
02:14:31 <oerjan> 0.0 : repeat undefined, i think
02:14:51 <elliott> <elliott> > map (const ()) [0, undefined..]
02:14:51 <elliott> <lambdabot> [()*Exception: Prelude.undefined
02:15:15 <elliott> oerjan: does that mean more than numericEnumFromThen is broken?
02:15:30 <oerjan> ok, confirmed nothing has changed with those two functions in h2010
02:15:58 <oerjan> elliott: erm Integer doesn't use numericEnumFromThen
02:16:10 <elliott> oerjan: i already confirmed that
02:16:14 <elliott> oerjan: and yes, but doesn't it mean it's still broken?
02:16:14 <oerjan> it's solely for Float and Double
02:16:54 <oerjan> there is no code. it is quite possible undefined behavior is not specified for those :P
02:17:34 <elliott> > map (const ()) (iterate (+1) undefined)
02:17:35 <lambdabot> [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()...
02:19:08 <elliott> oerjan: http://hackage.haskell.org/trac/ghc/ticket/5279
02:19:26 <elliott> oerjan: my first GHC bug :)
02:19:31 <elliott> er, I probably should have credited you
02:19:35 <elliott> I can edit it if you want :P
02:19:39 <elliott> or, hm, no I can't, only reply
02:20:07 <oerjan> i wasn't quite finished checking the report
02:20:14 <elliott> oerjan: well I did my own checking...
02:20:17 <oerjan> "For all four of these Prelude numeric types, all of the enumFrom family of functions are strict in all their arguments."
02:21:11 <oerjan> the code in the report is not consistent with it, but ghc may have added those seq's for it
02:21:48 <oerjan> anyway, this still doesn't change that enumFromThen is stupidly defined on Float/Double
02:22:05 <oerjan> by repeatedly recalculating the difference to add
02:23:21 <oerjan> elliott: btw this means Integer is not strict _enough_ in ghc :P
02:23:30 <elliott> you can never be unstrict enough
02:23:39 <elliott> oerjan: you could reply to the bug report as a guest saying it's sort of valid :P
02:23:51 -!- Robdgreat has quit (Ping timeout: 244 seconds).
02:24:00 <oerjan> by that report line that should not give the initial 0
02:24:23 <elliott> oerjan: check that that's ABSOLUTELY sure and I'll report it
02:24:48 <oerjan> since when am i absolutely sure about anything
02:25:20 <oerjan> but i just quoted that line above, which applies to Int, Integer, Float and Double
02:25:55 <oerjan> of course the report (both h98 and h2010) is inconsistent :P
02:26:11 <elliott> oerjan: report a bug in the report :P
02:36:04 -!- Lymia__ has joined.
02:36:16 -!- Lymia__ has changed nick to Lymee.
02:36:18 -!- Lymee has quit (Changing host).
02:36:18 -!- Lymee has joined.
02:38:11 -!- myndzi\ has joined.
02:38:54 -!- Lymia has quit (Ping timeout: 276 seconds).
02:41:17 -!- myndzi has quit (Read error: Connection reset by peer).
02:42:09 -!- augur has joined.
02:58:04 -!- Lymia has joined.
02:58:44 -!- Lymee has quit (Disconnected by services).
02:58:46 -!- Lymia has changed nick to Lymee.
03:02:06 <monqy> http://www.haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/src/GHC-Tuple.html#%28%2C%29 this is the best thing
03:02:10 <monqy> especially the commented out part
03:03:34 <oerjan> wait, ghc actually defines tuples in source?
03:04:38 <oerjan> mainly because it's not legal haskell syntax
03:04:41 <monqy> and it just keeps on going
03:04:50 <elliott> oerjan: um neither is (:) and []
03:05:12 <elliott> /home/elliott/Code/test.hs:1:6:
03:05:12 <elliott> Illegal binding of built-in syntax: (,)
03:05:15 <oerjan> indeed. are they defined in source, too?
03:05:17 <elliott> oerjan: i guess ghc-prim gets some special flags
03:05:31 <oerjan> elliott: maybe it's that GHC.Generics import
03:06:22 <elliott> argh it makes reference to GHC.List, which is not listed
03:07:16 <oerjan> hm i had similar trouble finding GHC.Float
03:07:22 <elliott> oerjan: checking the tarball now
03:08:01 <elliott> huh GHC.List may not actually exist?
03:08:25 <elliott> -- [] (..), -- Not Haskell 98; built in syntax
03:08:46 <elliott> -- We need to set the package name to ghc-prim (without a version number)
03:08:46 <elliott> ghc-options: -package-name ghc-prim
03:08:50 <elliott> oerjan: i bet that allows binding of the syntax
03:09:04 <elliott> {-# OPTIONS_GHC -XNoImplicitPrelude -XTypeOperators #-}
03:09:05 <elliott> data (:+:) a b = Inl a | Inr b
03:09:12 <oerjan> elliott: i found it in the same directory as GHC.Float, i think it's split according to original base version
03:10:55 <oerjan> NoImplicitPrelude might help with some things too
03:11:00 <Sgeo> Some of my (or my parents' I guess) money went to Deepak Chopra
03:12:32 <elliott> ?hoogle (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b
03:12:33 <lambdabot> Control.Parallel.Strategies (-|) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c
03:12:33 <lambdabot> Control.Parallel.Strategies (-||) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c
03:12:33 <lambdabot> Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> a -> c
03:12:45 <elliott> ?. pl djinn (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b
03:12:45 <lambdabot> expecting variable, "(", operator or end of input
03:12:49 <elliott> ?.djinn (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b
03:13:44 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
03:14:00 <oerjan> they don't seem to have included any of those yet
03:14:19 <elliott> actually, I'm id if the condition is not true
03:14:29 <elliott> ?hoogle (a -> Bool) -> (a -> a) -> a -> a
03:14:30 <lambdabot> Prelude until :: (a -> Bool) -> (a -> a) -> a -> a
03:14:30 <lambdabot> Prelude (.) :: (b -> c) -> (a -> b) -> a -> c
03:14:30 <lambdabot> Data.Function (.) :: (b -> c) -> (a -> b) -> a -> c
03:14:46 <elliott> it's foo p f x = if p x then f x else x
03:14:56 <elliott> oerjan: chr (ord 'a' + ((ord c - ord 'a') + n) `mod` 26)
03:15:34 -!- zzo38 has joined.
03:17:02 <zzo38> There are many things in Magic: the Gathering that if I was making rules of a similar game I would consider different things to be logical than what they would have.
03:17:27 <Sgeo> I wonder how many of the MtG rules are due to historical cruf
03:17:37 <Sgeo> Making sure old cards still work etc.
03:17:47 <Lymee> I don't think there's as much as exists in Windows.
03:17:51 <Lymee> If that's a useful comparison.
03:17:53 <zzo38> Like, I would name the zones differently: library is now called "draw zone", graveyard is "discard zone", hand is still called "hand zone", exile/remove-from-game is called "miscellaneous zone", stack is still caleld "stack zone".
03:18:34 <Lymee> Those arn't rules.
03:18:58 <zzo38> I dislike the rule that a aura is not also allowed to be a creature, and would remove that rule.
03:20:36 -!- oerjan has quit (Quit: Good night).
03:20:47 <zzo38> When a object moves from one zone to another, in most cases, the old object no longer exists and the new object is created from the old object's "initial data". A token has none and therefore when it moves, nothing is added to the new zone; there would be no state based effect for making tokens cease to exist when moving outside play.
03:21:02 <zzo38> A copy of a spell would now be considered a token.
03:21:37 <zzo38> This means a copy of a artifact/creature/enchantment spell can be played and you move an object from stack to play, it remains the same object so it is the same token and it will still work.
03:24:25 <zzo38> And then that sources of damage that do not exist do not deal any damage (the target will not receive any damage from non-existent source). However damage still waiting to be dealt is still dealt the same way if the source object still exists, regardless of changes that might have been made (except possibly for triggered abilities that prevent it).
03:24:55 <zzo38> Do you think my way is more logical or more insane or both or neither?
03:27:52 -!- azaq23 has joined.
03:31:27 -!- Robdgreat has joined.
03:34:34 <Lymee> > replicate 4 [1..]
03:34:35 <lambdabot> [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2...
03:39:03 -!- azaq23 has quit (Ping timeout: 255 seconds).
03:56:35 <elliott> i like how (f x x) and (let y = x in f y y) aren't equivalent
03:58:03 -!- Lymia has joined.
03:58:41 <elliott> > let foo f x = f x in foo 9 9
03:58:49 <elliott> > let foo f x = f x in (let x = 9 in foo x x)
03:58:59 <elliott> > let foo f (x::Int) = f x in (let x = 9 in foo x x)
03:59:11 <elliott> that surely should be a type error
03:59:32 <elliott> Sgeo: ok im pretty sure you can have it done but
03:59:56 <Lymia> -' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.
03:59:56 <Lymia> -._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'
03:59:56 <Lymia> -' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.
03:59:56 <Lymia> -._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'
04:01:05 -!- Lymee has quit (Ping timeout: 240 seconds).
04:02:20 * copumpkin doesn't get what you were trying to show
04:03:05 <elliott> copumpkin: a case of (f x x) and (let y = x in f y y) one of which failing to type and the other not
04:04:37 <Sgeo> Does this have anything to do with monomorphic thingies?
04:05:06 <monqy> none of the attempts make any sense to me
04:05:10 <coppro> elliott: how dare you take my name in vain
04:05:38 <coppro> elliott: why thank you
04:06:17 <monqy> (let foo f x = f x in foo 9 9) => (9 9) => ??????????????
04:06:42 <monqy> my ghci can't type it either without assitance :(
04:07:00 <elliott> monqy: num instance for functions
04:07:24 <monqy> lambdabot is crazy
04:08:14 <monqy> I always expect things like that to be in a newtype so it's harder to accidentally apply them
04:08:48 <elliott> monqy: thats so less elegant :(
04:09:18 <Lymia> ?pl (succ + pred) 9
04:09:44 <Lymia> > (succ + pred / succ + pred) 9
04:09:57 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
04:11:12 <lambdabot> forall a. (Enum a, Num a) => a -> a
04:12:36 <Lymia> Does " (Enum a, Num a) " mean "an Enum and Num?"
04:14:41 <monqy> > (show :: Num a => a -> String) (succ + pred)
04:14:41 <lambdabot> "*Exception: show: No overloading for function
04:15:01 <Lymia> :t show $ (succ + pred)
04:15:12 <Lymia> :t show (succ + pred)
04:15:19 <Lymia> :t show . (succ + pred)
04:15:20 <lambdabot> forall a. (Num a, Enum a) => a -> String
04:17:25 <Lymia> ?pl show . (succ + pred)
04:17:35 <Lymia> What is point-free style anyways?
04:20:32 <monqy> ?pl (\ x -> x x) (\ x -> x x)
04:20:35 <lambdabot> optimization suspended, use @pl-resume to continue.
04:20:54 <lambdabot> optimization suspended, use @pl-resume to continue.
04:26:35 <lambdabot> optimization suspended, use @pl-resume to continue.
04:27:29 <elliott> <Lymia> What is point-free style anyways?
04:27:44 <elliott> where a point is a named argument
04:27:51 <elliott> i.e. \x -> x has one point, id has none
04:28:13 <elliott> point-free style builds up functions with combinators and composition rather than explicitly writing a lambda transformation
04:32:23 <Sgeo> That sounds annoying to write out in some circumstances
04:33:09 <elliott> can you do any more haskell than that goldilocks joke again
04:33:46 <Sgeo> I wrote a junky BF interpreter onc
04:34:07 <Sgeo> I kind of misplaced it
04:43:37 -!- azaq23 has joined.
04:44:34 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> b
05:01:28 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
05:01:29 <lambdabot> Probable cause: `id' is applied to too few arguments
05:01:29 <lambdabot> In the second argument of `ap', namely `id'
05:06:38 <elliott> theory: it is impossible to write anything relating to douglas hofstadter without being really cringeworthy, this includes being hofstadter and writing anything
05:07:30 <elliott> Does anyone know how to find something in Chrome's cache?
05:07:36 <elliott> It stores a lot of things compressed, etc.
05:08:17 <monqy> a quick search came up with about:cache -- is that what you want
05:08:45 <newsham> i bet they know in #chromium and #chromium-os
05:08:54 <elliott> monqy: no that's just a huge list of cached things
05:09:01 <elliott> newsham: but this is the channel for everything :(
05:09:03 <monqy> try clicking on them??
05:09:10 <elliott> monqy: gives the compressed data :)
05:09:36 <elliott> -ChanServ- [#chromium] Welcome to #chromium! Please see topic; this is NOT a support channel.
05:09:38 <monqy> oh hey toying around with it and the back button crashed chromium
05:09:55 <monqy> speaking of esolangs, is there a record of who makes the most brainfuck derivatives
05:10:06 <monqy> chromium crashes on the stupidest things sometimes
05:10:14 <monqy> I tried to hit back while viewing some good compressed data
05:10:32 <elliott> monqy: i suspect something that isnt chromium
05:10:48 <monqy> maybe it's something that isn't chromium
05:11:13 <monqy> but then why would that kill chromium
05:11:43 <elliott> something else in your system
05:11:53 <elliott> chrome literally never crashes for me
05:12:36 <monqy> it only crashes on dumb things for me
05:12:54 <monqy> like hitting back or dragging a bookmark into the tab bar thing
05:13:09 -!- sebbu has quit (Ping timeout: 260 seconds).
05:13:14 <monqy> and even then it only crashes sometimes
05:13:32 <monqy> and by hitting back I mean specificially when viewing cached data and only that one time. I haven't tried reproducing it
05:13:44 <monqy> does xmonad have a reputation for killing chromium
05:13:52 <elliott> maybe chromium has some tiling wm-related bugs
05:14:12 <monqy> bizarre they would trigger then though
05:15:14 <newsham> maybe because xmonad causes it to resize the window quicker than it is prepared to be resized?
05:15:55 -!- sebbu has joined.
05:15:56 -!- sebbu has quit (Changing host).
05:15:56 -!- sebbu has joined.
05:16:32 <monqy> I just tried some fancy resizing tricks and did get a bug but not a crashy one
05:16:52 <monqy> the tab bar failed to resize and now it's running out of the frame
05:17:07 <monqy> by which I mean it cuts off
05:25:23 <elliott> http://esolangs.org/wiki/Image:Staq.jpg
05:26:03 <monqy> which prompted me to raise my question about brainfuck derivative quantity championship
05:26:51 <monqy> assuming that language is indeed a brainfuck derivative -- I only glanced at it (too many instructions but I might try reading the spec anyway)
05:27:59 <coppro> have such a competition
05:28:42 <coppro> I wouldn't call staq a bf derivative though
05:30:18 <elliott> still need a hostname here
05:30:50 <monqy> from my glance, []() and the command style/syntax/program execution style taste of brainfuck
05:32:54 -!- cheater__ has quit (Ping timeout: 255 seconds).
05:38:14 <coppro> monqy: It's got an execution model nothing like brainfuck's
05:38:46 <coppro> [] admittedly are similar to BF
05:38:47 <monqy> I'm going to pretend style doesn't mean model
05:39:15 <coppro> but otherwise, the only similarity is that every instruction has no arguments
05:39:51 <coppro> (and are, except for {}, one character)
05:40:21 <monqy> I wish there were fewer nonessential instructions so I could find the good parts
05:41:22 <elliott> its a madk language it is probably boring
05:42:05 <coppro> it's closer to befunge, honestly
05:42:06 -!- comex has quit (Read error: Connection reset by peer).
05:42:10 <monqy> I dunno; it is characterized by its fairly unique take on program flow, which allows intertwined loops and instruction overrides among other oddities. The language has robust access to two separate stacks, so the language is probably Turing-complete.
05:42:27 <coppro> oh it's obviously turing complete
05:43:47 <coppro> it's pretty easy to implement fixed-tape-length BF on top of it
05:44:00 <coppro> slightly more complex if you want infinite tape
05:44:03 <coppro> but far from impossible
05:44:40 <elliott> you realise that was a copypaste
05:45:09 <coppro> I didn't read the wiki article
05:45:21 -!- cheater__ has joined.
05:45:30 <monqy> it makes it sound exciting
05:45:45 <monqy> or at least fairly unique
05:46:30 <coppro> elliott: how's your nethack variant coming along
05:50:57 <elliott> ais is the one with acehack
05:51:58 <coppro> elliott: do you have an angband variant?
05:52:42 <elliott> do you know some other elliott
05:53:18 <zzo38> I have been unable to compile Nethack and probably won't bother with it.
05:54:43 <coppro> elliott: you do not have an angband variant
05:54:47 <coppro> therefore you have a nethack variant
05:57:28 <zzo38> coppro: That is not any sort of proper proof. Q.E.D.
05:57:45 <elliott> coppro: i am starting a zzo38 appreciation club do you want to join
06:04:16 <coppro> elliott: only if we get to be snobby
06:07:45 <pikhq> GCC bootstrap: worst thing, or worst thing *ever*?
06:09:20 * pikhq wonders who thought it made sense to build the compiler not once, not twice, but three times.
06:09:32 <elliott> I NEED GREGOR'S ASSISTAIOTNE
06:14:25 <Sgeo> pikhq, does it actually make a difference if you don't build it the third time?
06:14:51 <pikhq> Sgeo: It hardly makes a differencew if you don't build it a second time.
06:16:14 <Sgeo> Seems like the second time would be a sort of safety thing. Unless I'm counting weirdly. Or second time with itself, and first time by your numbering is second time total, just first time with itself?
06:25:49 <Gregor> Elizacat: You do not need my assisteaoux
06:26:14 <elliott> Gregor: The prgmr billing page how does it wooork
06:26:31 <elliott> Gregor: I literally do, I think my prgmr billing page is broken :P
06:26:47 <elliott> Now it works because it is asking for my money
06:27:06 <Gregor> elliott: They send you an invoice by email, the actual site just allows you to choose how often you wish to pay and that kind of thing.
06:27:23 <elliott> Gregor: It's just that I went to "Change payment information"
06:27:33 <elliott> Attention has "customerElliott Hird"
06:27:55 <elliott> Gregor: Hmm, is it going to bug me to do a paypal payment every single month? Greaaat :P
06:42:04 -!- aloril has quit (Ping timeout: 246 seconds).
06:55:09 -!- aloril has joined.
07:12:58 <elliott> wow, they made opengl even more of a pain to use
07:13:02 <elliott> begin/end have been removed
07:13:15 <elliott> you're meant to use shader programs and buffer objects now APPARENTLY
07:16:07 <monqy> I know very little about opengl but that sounds delicious
07:16:20 <monqy> the most I know is that it's a pain
07:16:33 <monqy> I've also used the haskell bindings a bit but I've pretty much forgotten everything I knew about them
07:29:11 -!- zzo38 has quit (Remote host closed the connection).
07:45:30 -!- jcp has quit (Ping timeout: 241 seconds).
07:48:18 * pikhq wonders why Linux *needs* Perl to build.
07:51:55 -!- jcp has joined.
08:05:51 -!- monqy has quit (Quit: hello).
08:07:05 -!- jcp|other has joined.
08:35:12 -!- Wamanuz2 has joined.
08:37:00 -!- Wamanuz has quit (Ping timeout: 252 seconds).
08:40:22 <elliott> http://en.wikipedia.org/wiki/Quantum_tic_tac_toe
08:41:27 -!- cheater__ has quit (Ping timeout: 255 seconds).
09:13:31 -!- lambdabot has quit (Ping timeout: 258 seconds).
09:18:04 -!- lambdabot has joined.
09:28:47 <Lymia> elliott, want to play?
09:29:20 <elliott> Lymia: you mean quantum tictactoe?
09:32:03 <Deewiant> The linked Java applet was somewhat illustrative
10:04:35 <Lymia> http://translate.google.com/#ja|en|%E3%81%8A%E3%81%A3%E3%81%99
10:13:50 -!- elliott has quit (Remote host closed the connection).
10:14:15 -!- elliott has joined.
10:41:02 -!- Wamanuz2 has quit (Remote host closed the connection).
10:41:16 -!- Wamanuz2 has joined.
10:45:13 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
10:45:30 -!- Wamanuz2 has joined.
11:03:28 <elliott> "Is there code to draw a teapot without GLUT?"
11:19:04 <elliott> so uh is anyone an opengl expert
11:21:14 <elliott> Hope u drown in ur own Butt Mucous.
11:21:14 <elliott> Perhaps ur head is already too far up ur "___" fill in the blanks.
11:26:27 -!- elliott_ has joined.
11:26:28 -!- elliott has quit (Read error: Connection reset by peer).
11:36:48 <Elizacat> <Gregor> Elizacat: You do not need my assisteaoux
11:52:41 <elliott_> http://i.imgur.com/Uf5Xc.png YES! progress!
11:54:51 <elliott_> Deewiant: I think a teapot is a little ambitious at this point.
11:55:01 <elliott_> Deewiant: But hey, it ties OpenGL and SDL together in Haskell.
11:55:19 <elliott_> Deewiant: Although I fear "GL.renderPrimitive GL.Points" might be using that deprecated begin/end stuff that is _obviously_ evil.
11:55:39 <elliott_> But http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-BufferObjects.html terrifies me, so.
11:55:49 <elliott_> Or is it that, or was it something else.
11:55:56 <elliott_> http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-VertexArrays.html Whatever it is it's terrifying.
11:57:05 <Deewiant> I'm only half-evil, I used display lists
11:57:26 <elliott_> And why are they even evil why is any of this evil why was begin/end removed why is all this shit shit
11:57:30 <Deewiant> compileDisplayList $ do GL stuff
11:58:17 <elliott_> GL.renderPrimitive GL.Points $ do
11:58:17 <elliott_> GL.vertex $ GL.Vertex2 (0::GL.GLint) 0
11:58:17 <elliott_> GL.vertex $ GL.Vertex2 (99::GL.GLdouble) 99
11:58:23 <elliott_> That second line is causing no difference to the drawing
11:58:36 <elliott_> http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-DisplayLists.html ;; I see no compileDisplayList
11:58:41 <Deewiant> elliott_: It's like the difference between interpreting the renderPrimitive stuff every time versus compiling it once and then running it
11:59:00 <Deewiant> compileDisplayList was a helper of mine
11:59:04 <elliott_> There's a CompileAndExecute mode, which seems... missing the point.
11:59:13 <elliott_> Deewiant: What did you use for windowing/event stuff?
11:59:44 <elliott_> Deewiant: Cool, it's that thing I rejected because it takes callbacks in IO.
12:00:05 <elliott_> Deewiant: As opposed to not being callback-based so I can use liftIO in my own monad
12:00:10 <elliott_> SDL.Quit -> SDL.quit >> exitSuccess
12:00:45 <Deewiant> I just use IO and millions of IORefs
12:01:08 <elliott_> Deewiant: I'm trying to write an entire game here (yeah yeah, build one to throw away), that's kind of a non-ideal solution :P
12:01:25 <elliott_> Deewiant: (At the very least I'm going to use STM to make me feel better about myself, even if I'm not exactly sure how multiple cores would help here.)
12:01:31 <elliott_> (Maybe map generation could run in a background thread.)
12:01:35 <Deewiant> http://tar.us.to:31177/ just take a look if you like (warning, may not compile etc)
12:02:21 <elliott_> Oh man, is this where I do the fizzie mirroring thing
12:02:35 <elliott_> fatal: http://tar.us.to:31177/liaera/info/refs not found: did you run git update-server-info on the server?
12:03:08 <elliott_> What's this actually trying to do anyway
12:03:45 <Deewiant> I think it'd do nothing without an input file but I may misremember
12:03:49 -!- Vorpal has joined.
12:03:55 <elliott_> oh wait duh i just typod the url
12:04:02 <elliott_> error: The requested URL returned error: 400 while accessing http://tar.us.to:31177//info/refs
12:04:33 <elliott_> a king without all these dependencies oh well
12:04:48 <elliott_> is this meant to be like some kind of freaky source code viewer
12:05:09 <elliott_> -> Map (Pair Int Int, Pair Int Int) G.Node
12:05:18 <elliott_> -> Map (Pair Int Int, Pair Int Int) G.Node
12:05:22 <elliott_> -> (Gr Path (), Map (Pair Int Int, Pair Int Int) G.Node))
12:05:24 <elliott_> -> (Gr Path (), Map (Pair Int Int, Pair Int Int) G.Node)
12:05:26 <elliott_> i think when you get function arrows this big
12:05:28 <elliott_> its time to reconsider your code
12:06:30 <elliott_> i think im just going to write my own code and forget you as a person exist
12:06:37 <elliott_> itll be therapeutic ok time to try this display list stuff
12:06:47 <Deewiant> That's not really relevant to your interests
12:07:16 <elliott_> it's writing this fucking game
12:07:24 <elliott_> i'm just not enough of an idiot to think that software rendering will have acceptable performance
12:07:32 <elliott_> Deewiant: trade secret (its elliottcraft)
12:07:48 <elliott_> im nihing entire million dollar products
12:08:31 <elliott_> hmm... how do I render some points with display lists
12:08:36 -!- oerjan has joined.
12:08:42 <elliott_> hi oerjan im failing at opengl/haskell
12:09:12 <oerjan> ic. well i only know some of the latter part.
12:11:31 <elliott_> GL.defineNewList GL.CompileAndExecute $ do -- GL.Points $ do
12:11:31 <elliott_> GL.vertex $ GL.Vertex2 (0::GL.GLint) 0
12:11:31 <elliott_> GL.vertex $ GL.Vertex2 (99::GL.GLdouble) 99
12:11:33 <elliott_> Deewiant: well that is not right
12:13:08 <Deewiant> I'm gone, server's still up in case you lose your local copy -->
12:17:31 <elliott_> Deewiant: youre just as bad as me
12:17:38 <Deewiant> elliott_: Like said, half-evil
12:17:57 <elliott_> Deewiant: but that's begin/end :<
12:18:07 <Deewiant> Yes, but it's put in a display list
12:19:47 <elliott_> Deewiant: i dont understand your ways..............................
12:19:54 <elliott_> do you know what these display object things are btw i honestly have no idea
12:20:26 <Deewiant> A display list is something like a compiled sequence of opengl commands
12:21:31 <elliott_> i mean the things that are totally unevil
12:22:22 <Deewiant> I think the least unevil thing these days would be writing your stuff with OpenCL or equivalent and compiling it to a shader
12:22:30 -!- elliott_ has quit (Remote host closed the connection).
12:22:33 <Deewiant> But no, I don't really know anything
12:23:03 <Deewiant> His head apparently exploded, so I'm really leaving now -->
12:23:06 -!- elliott has joined.
12:24:17 <elliott> 12:22:22: <Deewiant> I think the least unevil thing these days would be writing your stuff with OpenCL or equivalent and compiling it to a shader
12:24:26 <elliott> why is everything shaders :(
12:26:50 <oerjan> i never avoid no double negations
12:29:29 -!- BeholdMyGlory has joined.
12:38:07 <elliott> sdls method of doing centred windows:.
12:40:49 <oerjan> least unevil is much less uninteresting
12:40:54 <elliott> i still have no idea how to draw a cube :)
12:41:13 <elliott> Vertex3 and primitivemodes = Quads?
12:42:00 <Deewiant> Triangle strip is probably better
12:42:37 <elliott> Deewiant: that is what i am afraid of :(
12:43:00 <elliott> why is everything triangles :(
12:43:30 <Deewiant> Then again I'm not too clever when it comes to this stuff, YMMV
12:44:21 <elliott> Deewiant: this is like one of my GREATEST FEARS
12:45:26 <Deewiant> But you know, software rendering sucks etc
12:48:33 <elliott> Deewiant: wouldnt it be hilarious
12:48:36 <elliott> if software rendering ended up being like
12:48:46 <elliott> i mean id want to kill myself
12:51:31 <CakeProphet> YEAH SO YOU KNOW THOSE RECTANGLES AND STUFF?
12:52:24 <oerjan> twice the hate, twice the area
12:54:41 <elliott> Deewiant: oerjan: http://i.imgur.com/oo9oH.png
13:01:37 <oerjan> looks more like the complement of a triangle to me
13:03:13 <CakeProphet> it's a triangle and a complement. Well, it could also be a complement of a triangle and its complement.
13:07:26 <Gregor> elliott: You want to make a game with CUBES and you make a TRIANGLE.
13:07:32 <elliott> Gregor: this is a joke right
13:07:43 <elliott> im pretty sure the cubes in minecraft are made out of a bunch of triangles
13:08:03 <elliott> Gregor: maybe ill make them spheres
13:08:13 <elliott> in some weird-ass fuck geometry where spheres can have spheres next to them
13:08:16 <elliott> uncountably infinite spheres
13:08:53 <elliott> im actually kind of weirded out by opengls coordinate system
13:08:59 <elliott> the size of my window is distorting all shapes...
13:09:05 <elliott> i guess i do some camera magic to fix that though
13:09:05 <Sgeo> I should learn OpenGL perhaps
13:09:30 <Gregor> Sgeo: You should learn to stop saying "I should learn <thing> maybe" and then never learning it.
13:10:12 <elliott> HOW DO YOU EVEN PLACE THESE TRIANGLES OMG
13:10:26 <elliott> FUCK ITS TURNED INTO A SQUARE
13:11:05 <Gregor> Play the violin, elliott!
13:13:19 <elliott> http://i.imgur.com/ZMCbo.png
13:13:21 <CakeProphet> I know in XNA the coordinate system runs has the top-left corner as the origin, which is somewhat weird.
13:14:55 <elliott> GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0 0
13:14:55 <elliott> GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0.5 0
13:14:55 <elliott> GL.color (GL.Color3 (0::GL.GLbyte) maxBound maxBound)
13:14:55 <elliott> GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0
13:14:57 <elliott> how does that even do that
13:15:01 <CakeProphet> ...which troll is it that types like that?
13:16:14 <Sgeo> CakeProphet, Tavros
13:16:16 <lambdabot> Bad argument to flag count, expected argument of type POS, got "bitch"
13:16:16 <lambdabot> For details on correct flags pass --help
13:16:18 <elliott> ?hoogle --count=bitch FUCK YOU
13:16:19 <lambdabot> --count=20 "--count=bitch FUCK YOU"
13:16:20 <elliott> ?hoogle --count=bitch FUCK YOU DIE
13:16:21 <elliott> ?hoogle --count=bitch FUCK YOU DIE ASS
13:16:22 <elliott> ?hoogle --count=bitch FUCK YOU DIE ASS CRAP
13:16:22 <elliott> ?hoogle --count=bitch FUCK YOU DIE ASS CRAP SHIT
13:16:23 <lambdabot> --count=20 "--count=bitch FUCK YOU DIE"
13:16:29 <lambdabot> --count=20 "--count=bitch FUCK YOU DIE ASS"
13:16:35 <lambdabot> --count=20 "--count=bitch FUCK YOU DIE ASS CRAP"
13:16:39 <lambdabot> Plugin `hoogle' failed with: thread killed
13:18:00 <oerjan> <elliott> in some weird-ass fuck geometry where spheres can have spheres next to them <-- ye olde L^\infty metric
13:18:18 <elliott> oerjan: is it actually possible say its true
13:19:28 <CakeProphet> 't you have spheres next to sphere in good ol' euclidean geometry?
13:19:59 <CakeProphet> hmmm, what, no. This goes against my intuition.
13:20:32 <elliott> wow you mean itd be non-euclidean NO SHIT
13:21:00 <CakeProphet> though I guess I've never interacted with two perfect Euclidean spheres before.
13:22:10 <CakeProphet> but I'm pretty sure balls can touch. (So much ennuendo I don't know how I keep it up)
13:22:26 <oerjan> elliott: the joke is that L^\infty spheres look like what you usually call cubes >:)
13:23:08 <elliott> oerjan: invent me a geometry where a sphere can be totally packed on every side with infinite other spheres
13:26:02 <oerjan> i suspect those would look like cubes too
13:27:31 <elliott> oerjan: um cubes cant be packed with infinite other cubes on their sides
13:28:07 <oerjan> hm you want something fractal
13:28:33 <elliott> in minecraft, you can put a cube on every side of another cube
13:28:35 <quintopia> elliott: they can in four dimensions!
13:28:39 <elliott> in spherecraft, you need to be able to put a sphere on every side of another sphere
13:28:43 <elliott> thus infinite spheres on a sphere
13:29:34 <quintopia> elliott: do you play the circle in a band?
13:29:47 <elliott> yes im a professional circlist
13:30:09 -!- oerjan has quit (Quit: Later).
13:30:49 <Sgeo> http://www.reddit.com/r/homestuck/comments/ia2nm/so_theres_this_rumor_going_around_about_eoa5/
13:30:59 <quintopia> wonder if there's a 3D version of a mudflake...
13:32:29 <elliott> http://www.davidjayjordan.com/SexualTesselation.html what
13:33:01 <elliott> http://www.davidjayjordan.com/MathematicalProofDesign1.html
13:33:30 <quintopia> it looks like that guy is trying to tesselate space with TIMECUBE
13:39:03 <Sgeo> Not sleeping last night was a bad idea
13:39:14 <CakeProphet> not sleeping is usually a bad idea unless it's required/.
13:39:30 <CakeProphet> as sleep is pretty vital to your overall well-being
13:39:43 <CakeProphet> speaking of which, I'm going to go to sleep.
13:39:54 <CakeProphet> but anyways, q and e should move you along the 4th axis.
13:40:18 <Sgeo> I could have gone to sleep earlier but I can't now
13:40:45 <CakeProphet> food for thought on the crafting. Or maybe... thought for food? or just thought for thought? fuck it. sleep time.
13:42:50 <Sgeo> This is one hot plain agel
13:47:36 <Sgeo> I'm going to figure out how to reverse Life, although surely it's been done before given the existence of search programs
13:52:30 <Sgeo> elliott, if I make it nondeterministic or sort of store all possibilities...
14:00:27 -!- augur has quit (Remote host closed the connection).
14:00:29 <elliott> Sgeo: you realise the searchers just look for random patterns
14:01:06 -!- Vorpal_ has joined.
14:03:00 -!- Vorpal has quit (Ping timeout: 260 seconds).
14:03:46 -!- Vorpal_ has changed nick to Vorpal.
14:04:00 <Vorpal> elliott, through the foot
14:04:07 <elliott> how do i draw cube with opengl
14:04:16 <Vorpal> elliott, buggered if I remember
14:04:22 <Vorpal> elliott, well that is easy
14:04:23 <elliott> GL.renderPrimitive GL.TriangleStrip $ do
14:04:23 <elliott> GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0 0
14:04:23 <elliott> GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0.5 0
14:04:23 <elliott> GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0
14:04:23 <elliott> GL.color (GL.Color3 (0::GL.GLbyte) maxBound maxBound)
14:04:24 <elliott> GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0.5
14:04:33 <Vorpal> each face could be two triangles
14:04:48 <elliott> yes but it turns out i do not understand coordinates
14:04:53 <Vorpal> elliott, don't look at me, this doesn't look like opengl in C
14:05:00 <elliott> renderprimitive = GL_BEGIN
14:05:07 <Vorpal> what are the coordinates then
14:05:09 <elliott> the binding is pretty light its not hard to see
14:05:12 <elliott> Vorpal: um in the vertexes
14:05:20 <elliott> GL.GLdouble is just to get the types right
14:05:22 <Vorpal> oh you have ::GL.GLdouble, right
14:05:42 <Vorpal> elliott, well they are x,y,z or something like that, I don't remember the order
14:05:58 <Vorpal> I haven't been doing opengl for over 2 years
14:07:07 <Vorpal> elliott, so what is it you don't understand?
14:07:51 <Vorpal> elliott, so you understand it all?
14:08:02 <elliott> no, but this is going nowhere
14:08:12 <Vorpal> elliott, well I'm not sure what you are asking
14:08:17 <Vorpal> try a more specific question
14:08:30 <elliott> i can't get the vertices right to give me a cube because i'm retarded :D
14:08:50 <Vorpal> elliott, oh I know that issue, I had issues with working out the coordinates too I remember.
14:09:11 <Vorpal> elliott, it is easiest if you consider it from the point of view of linear algebra
14:09:14 <elliott> i keep getting triangles stretching off into nowhere... no... make a cube...
14:09:28 <Vorpal> that is, the vectors as column matrices
14:09:51 * elliott tries to get the drawing rotated so that hell be able to see the cube isometrically
14:10:27 <elliott> http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-Rectangles.html
14:10:34 <elliott> wonder if its faster than triangles
14:10:35 <Vorpal> elliott, for that you need to change the matrix defining the viewing frustum iirc
14:10:59 <Vorpal> elliott, likely if you need to do a cube
14:11:45 <Vorpal> elliott, wait they are all in the z=0 plane
14:11:54 <Vorpal> elliott, I guess this is for 2D usage
14:12:59 <Vorpal> of course I am. I'm me after all :P
14:13:01 <elliott> i still dont know why they removed begin/end :(
14:13:23 <Vorpal> elliott, they did? That is new
14:14:02 <Vorpal> elliott, or is that about the haskell interface?
14:14:30 <elliott> Vorpal: in opengl four yeah
14:14:41 <elliott> you're meant to use shaders or those buffer object things
14:14:51 <elliott> http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-BufferObjects.html cry
14:15:03 <elliott> http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-VertexArrays.html wh;at ttt
14:15:27 <Vorpal> elliott, I have no clue
14:16:11 <Vorpal> elliott, do opengl 2 then
14:18:59 <Vorpal> elliott, it is meant to be fast, not nice
14:19:47 <elliott> cant appreciate a fast program i cant write
14:20:15 <Vorpal> elliott, I heard directx is easier to write :P
14:34:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:34:35 <Vorpal> elliott, this makes perfect sense to me: http://en.wikipedia.org/wiki/Vertex_Buffer_Object
14:36:00 <Gregor> elliott: Where's spherecraft?
14:36:07 <elliott> Gregor: oerjan ran away before he invented the jommetry.
14:36:23 <elliott> BTW, Elliottcraft still needs a decent (code)name >_>
14:37:25 <Gregor> Can you imagine the sheer horsepower that spherecraft would take? X-D
14:37:38 <Vorpal> Gregor, what is that in oxpower?
14:37:55 <Gregor> With spheres that behave exactly like normal spheres, and are super-high-friction so you can actually stack them and such.
14:38:20 <elliott> Gregor: It would be kind of impossible what with the uncountably infinite thing :P
14:38:27 -!- augur has joined.
14:38:32 <elliott> It'd have to be a ten thousand sided object instead.
14:38:43 <Vorpal> elliott, make it out of atoms
14:38:59 <elliott> i know ill just make a new universe
14:39:04 <elliott> im gonna kill Vorpal in it
14:39:11 <elliott> fuc;k problem of evil stops me doing nanything
14:44:13 <elliott> theology is basically based on god maknig the universe and discovering all sorts of semantic restrictions
14:44:22 <elliott> until he finally says fuck it and stops trying to let his presence be known
14:44:26 <elliott> i call this type system deism
14:57:00 <Gregor> Daaaaaaaaaaaamn it's expensive to fly to the UK.
14:57:55 <elliott> you might be a spic we have to be careful
14:58:47 <Gregor> In retrospect, it's cheaper than it was to fly to Paris, I'm just already $3,000 in the hole from this trip so diving in further isn't fun X-D
15:06:58 <Gregor> Airfare taxes and fees $558.80
15:07:04 <Gregor> Taxes and fees: Nearly equal to the airfare
15:08:30 -!- copumpkin has joined.
15:08:30 -!- copumpkin has quit (Changing host).
15:08:30 -!- copumpkin has joined.
15:11:41 -!- Wamanuz2 has quit (Ping timeout: 240 seconds).
15:11:44 -!- Wamanuz3 has joined.
15:27:57 <Gregor> Same way babby formed.
15:32:09 <elliott> http://i.imgur.com/nXI2y.png
15:46:39 -!- elliott has quit (Remote host closed the connection).
15:47:06 -!- elliott has joined.
16:05:07 -!- MigoMipo has joined.
16:24:39 <Vorpal> elliott, looks like a nice flag
16:26:45 <Vorpal> elliott, kind of like http://en.wikipedia.org/wiki/File:Naval_Ensign_of_Denmark.svg
16:40:10 -!- Phantom_Hoover has joined.
16:50:20 -!- Wamanuz4 has joined.
16:51:04 -!- Wamanuz3 has quit (Ping timeout: 276 seconds).
17:06:15 -!- comex has joined.
17:18:30 -!- zzo38 has joined.
17:28:46 <elliott> http://esoteric.voxelperfect.net/w/index.php?title=Brainbrain&curid=3659&diff=23442&oldid=22103
17:31:40 -!- jcp|1 has joined.
17:33:22 -!- jcp|other has quit (Ping timeout: 255 seconds).
17:33:55 -!- jcp has quit (Ping timeout: 258 seconds).
17:34:03 -!- elliott has quit (Read error: Connection reset by peer).
17:34:25 -!- elliott has joined.
17:39:56 -!- jcp has joined.
17:48:13 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:50:01 -!- Phantom_Hoover has joined.
18:03:04 -!- Sgeo has quit (Ping timeout: 255 seconds).
18:03:50 <zzo38> You can make this http://golf.shinh.org/p.rb?google in dc without any loops.
18:05:28 <zzo38> (at least in GNU dc)
18:07:00 -!- monqy has joined.
18:44:00 -!- augur_ has joined.
18:44:04 -!- augur has quit (Read error: Connection reset by peer).
18:55:05 -!- mtve has quit (Ping timeout: 260 seconds).
19:20:12 -!- augur_ has quit (Remote host closed the connection).
19:34:06 <Phantom_Hoover> elliott, wait, why are you going on about sphere packing.
19:34:06 <lambdabot> Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them.
19:41:19 -!- oerjan has joined.
19:42:48 <oerjan> <quintopia> do octahedrons tesselate space?
19:43:09 <oerjan> an interesting question, as those are the spheres of the L^1 metric...
19:43:33 <oerjan> being dual to cubes, one would think it likely
19:43:58 <elliott> oerjan: http://i.imgur.com/KH1z9.png im good cube draw
19:44:22 <oerjan> (L^1 and L^\infty also have a sort of dual relationship, although not as strong as for L^p spaces strictly between 1 and \infty)
19:45:02 <oerjan> elliott: i don't think that is a metric. hm that would be harmonic sum...
19:45:34 <oerjan> elliott: L^0 would be somewhat degenerate
19:46:49 <oerjan> elliott: in case you don't know, the L^p norm for most p has the form (x_1^p + x_2^p + ... + x_n^p)^(1/p)
19:47:04 <elliott> <-- productive irc contributor
19:47:06 <oerjan> you may recognize L^2 as ordinary euclidean metric
19:47:50 <oerjan> * (|x_1|^p + |x_2|^p + ... + |x_n|^p)^(1/p)
19:48:12 <oerjan> you don't need to absolute values or p an even natural number, naturally
19:48:20 <oerjan> Phantom_Hoover: yeah iirc
19:48:53 <oerjan> alternatively, ||(x_1,...,x_n)||_\infty = max(|x_1|,...,|x_n|)
19:49:35 <elliott> i think ive heard of linfty
19:50:04 <elliott> did you know that im a robot
19:50:19 <oerjan> and for p<1 i think some things break down, although i'm not sure if everything does
19:50:39 <Phantom_Hoover> Hmm, m < n → m^p << m^p for large p, so yeah, it's obvious.
19:53:40 <oerjan> elliott: however p=-1 is still _interesting_ since it's related to harmonic mean
19:54:29 <elliott> ~~ livin in harmony w/ mean you ~~
19:56:09 <Phantom_Hoover> I wish there was a simple way of plotting the unit circle in L_n metrics in Mathematica.
19:57:29 <elliott> all mathematica can do is play games and have children
19:58:51 <oerjan> Phantom_Hoover: http://en.wikipedia.org/wiki/Lp_space implies that for 0<p<1 you don't get a metric from the same formula, but you do if you drop the final p'th root
20:08:18 <oerjan> Phantom_Hoover: http://mathworld.wolfram.com/Superellipse.html might help
20:08:33 -!- Lymia has quit (Ping timeout: 240 seconds).
20:08:55 <oerjan> there's a mathematica notebook link
20:10:34 <Phantom_Hoover> Although it's a bit annoying, doing it by reductio ad Wolfram.
20:12:26 <oerjan> "In 1968, when negotiators in Paris for the Vietnam War could not agree on the shape of the negotiating table, Balinski, Kieron Underwood and Holt suggested a superelliptical table in a letter to the New York Times."
20:13:03 <elliott> YOUR MOM is superelliptical
20:13:09 <elliott> directed at Phantom_Hoover
20:13:41 <elliott> they should have made sphere table
20:14:51 <oerjan> they could have the chairs bolted to the inside of a half-spher bowl. and occasionally the bolts could break.
20:15:27 <Phantom_Hoover> Oh, for the days when he would speak of how he grooked this and that.
20:15:33 <oerjan> piet hein grokked a lot, we may assume
20:15:59 <elliott> ill grok my fist into ur face (@ all u punk ass nerds)
20:16:19 <elliott> wouldn't it be awesome if someone came in here while i was like this and didn't realise i was being sarcastic all the time
20:16:32 <elliott> and wondered why i wasn't banned yet, maybe you too are wondering this same thing now????????
20:18:11 <elliott> =gay ass loser bookreader club....
20:21:02 -!- azaq23 has quit (Quit: Leaving.).
20:22:06 -!- Lymia has joined.
20:38:24 <oerjan> :t Prelude.intersperse
20:38:24 <lambdabot> Not in scope: `Prelude.intersperse'
20:38:32 <lambdabot> Data.ByteString intersperse :: Word8 -> ByteString -> ByteString
20:38:32 <lambdabot> Data.List intersperse :: a -> [a] -> [a]
20:38:32 <lambdabot> Data.ByteString.Char8 intersperse :: Char -> ByteString -> ByteString
20:40:54 <elliott> http://esolangs.org/w/index.php?title=Deadfish&curid=2038&diff=23453&oldid=22913
20:41:08 <elliott> oerjan: HAPPEN TO BE WORKING ON A PROGRAM DO WE
20:41:51 <quintopia> i'm not surprised to hear they dont tesselate. i couldnt visualize a way to do it.
20:43:09 <oerjan> elliott: um ">> " is pretty much standard if anything is
20:44:15 <oerjan> elliott: cpressey's correction looks reasonable to me...
20:44:25 <zzo38> I made the copy of the GNU GPL v3 with Plain TeX. Will FSF accept it?
20:44:47 <zzo38> http://sprunge.us/HJOh
20:45:08 <elliott> the original mistake is what is unforgivable
20:46:05 <Phantom_Hoover> I was parsing that code with the >>> outside the quotes and I was getting confused.
20:46:13 <lambdabot> forall (cat :: * -> * -> *) a b c. (Control.Category.Category cat) => cat a b -> cat b c -> cat a c
20:46:53 <elliott> :T (W.r[paad,aspdwqprmqrpowmepwoqje
20:47:06 <lambdabot> parse error (possibly incorrect indentation)
20:47:07 <oerjan> <elliott> oerjan: HAPPEN TO BE WORKING ON A PROGRAM DO WE <-- just looking briefly at the "google" golf zzo38 mentioned
20:47:08 <lambdabot> Plugin `compose' failed with: Unknown command: "(life"
20:47:10 <lambdabot> Plugin `compose' failed with: Unknown command: "(life)"
20:47:14 <lambdabot> Plugin `compose' failed with: Unknown command: "parse"
20:47:16 <elliott> ?. . . type type type (life)
20:47:17 <lambdabot> Plugin `compose' failed with: Unknown command: "parse"
20:47:19 <elliott> ?. . . type type type type (life)
20:47:20 <lambdabot> Plugin `compose' failed with: Unknown command: "parse"
20:47:22 <elliott> ?. . . type type type type type type type type a (life)
20:47:23 <lambdabot> Plugin `compose' failed with: Unknown command: "parse"
20:47:47 <oerjan> my first try was 52 chars while several others have shorter ones, and it occured to me that intersperse might help if it were in the Prelude
20:47:57 <elliott> oerjan: maybe something monadic
20:48:18 <oerjan> elliott: well my first try used interact
20:48:32 <lambdabot> Couldn't match expected type `GHC.Types.Char -> [b]'
20:48:39 <lambdabot> Couldn't match expected type `GHC.Types.Char'
20:49:24 <lambdabot> forall (m :: * -> *) a. (Monad m) => [m a] -> m [a]
20:50:00 -!- SimonRC has quit (Ping timeout: 260 seconds).
20:52:31 <elliott> 00:40:40: <crystal-cola> there's something funny going on with the 17s (well maybe it's just because that's the smallest prime other than 2)
20:53:25 <oerjan> elliott: i remember enough of that discussion to note that is entirely reasonable in context
20:53:34 <olsner> I also forget 3,5,7,11 and 13 now and then :)
20:54:26 <oerjan> elliott: it's not like crystal-cola needs that kind of assistance
20:56:32 -!- SimonRC has joined.
20:57:35 -!- Lymia has changed nick to Lymee.
20:59:22 <oerjan> elliott: ok monadic was a good idea, [1..n]>>"o" is shorter than n`replicate`'o'
20:59:38 <elliott> > let n = 9 in "go"++[1..n]>>"o"++"ogle"
20:59:39 <lambdabot> No instance for (GHC.Num.Num GHC.Types.Char)
20:59:43 <oerjan> now i'm just one char longer than the winners
20:59:49 <elliott> > let n = 9 in "go"++([1..n]>>"o")++"ogle"
21:00:00 <elliott> oerjan: hm what's your current solution?
21:00:09 <oerjan> main=interact$(\n->'g':([1..n]>>"o")++"gle").read
21:00:22 <oerjan> :t interact$(\n->'g':([1..n]>>"o")++"gle").read
21:00:44 <elliott> ?pl interact$(\n->'g':([1..n]>>"o")++"gle").read
21:00:44 <lambdabot> interact (('g' :) . (++ "gle") . (>> "o") . enumFromTo 1 . read)
21:00:46 <oerjan> Lymee: yeah, mainly just checking if i can tie with the top
21:01:00 <oerjan> with 7 others tied it seems unlikely to beat :P
21:01:42 <oerjan> http://golf.shinh.org/p.rb?google
21:01:49 <oerjan> it's a very old one btw
21:02:16 <Lymee> print"g%sgle"%"o"*input()
21:02:19 <Lymee> First thing that comes to mind.
21:02:35 <oerjan> Lymee: oh i'm sure the python ones are tiny
21:02:40 -!- mtve has joined.
21:03:05 <oerjan> Lymee: in fact you just tied with those
21:03:20 <Lymee> Order of operation stuff to sort out.
21:04:08 <elliott> link me to that graphical version of tswett's chinese remainder theorem clcok you made
21:04:17 <oerjan> Lymee: i'd say you're also unlikely to beat them, with 19 tied at the top for a years old golfing
21:05:03 <oerjan> Lymee: hm? yours is 25 as are the winners
21:05:04 <tswett> elliott: well, I have a textual version of that.
21:05:09 <zzo38> oerjan: Send what you have anyways, you can send a better solution later if you figure it out.
21:05:10 <Lymee> I had order of operations issues.
21:05:14 <elliott> tswett: yes but i want fizzie's :D
21:05:15 <Lymee> print"g%sgle"%("o"*input())
21:07:05 <elliott> hmm related to http://zem.fi/~fis/crcsq.html
21:07:28 <elliott> http://zem.fi/~fis/crcbar.html
21:07:54 <fizzie> I *just* located those.
21:08:30 <elliott> the crcsq one is the bestest
21:08:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:08:41 -!- elliott has left ("Leaving").
21:08:45 -!- elliott has joined.
21:11:59 <oerjan> zzo38: i don't see the point in sending a worse one to a contest which is 4 years old and has 7 tied at the top
21:12:38 <elliott> oerjan: hey oerjan implement my ghcwishlist... :(
21:12:52 <elliott> - IdiomBrackets, MultipleOperatorSections, MLModules
21:12:58 <elliott> lemme know when they're done
21:13:13 <oerjan> hm MultipleOperatorSections sounds like something i've wanted
21:13:43 <zzo38> oerjan: It is OK if you do not want to send.
21:13:55 <elliott> oerjan: it'd also make repeated compositions nicer
21:13:56 <oerjan> elliott: um those are already legal if you don't clash with precedence
21:14:03 <elliott> (a . b . c .) rather than ((a . b . c) .)
21:14:25 <elliott> basically generalising sections to be able to have a whole chain
21:14:25 <oerjan> that's _also_ legal :P
21:14:34 <elliott> <elliott> (a . b . c .) rather than ((a . b . c) .)
21:14:54 <oerjan> elliott: yeah that one has annoyed me before
21:15:10 <elliott> IdiomBrackets and MLModules should be obvious I hope
21:15:15 <elliott> those typekinds that are being worked on
21:15:30 <elliott> that unifies data and datakinds so that you can do type-level programming freely
21:15:42 <elliott> enslave anyone to do that since it is already happening
21:16:15 <lambdabot> The operator `Data.Functor.<$>' [infixl 4] of a section
21:16:42 <oerjan> > (sin<$>cos<$>tan<$>) 1
21:16:43 <lambdabot> No instance for (GHC.Num.Num (f a))
21:16:43 <lambdabot> arising from a use of `e_11' at <int...
21:17:06 <oerjan> > (sin<$>cos<$>tan<$>) exp 1
21:18:01 <oerjan> yes, because <$> is infixl rather than infixr
21:18:13 <Lymee> >(sin$cos$tan$exp)1
21:18:17 <Lymee> > (sin$cos$tan$exp)1
21:18:27 <Lymee> > (sin$cos$tan$)exp 1
21:18:28 <lambdabot> The operator `GHC.Base.$' [infixr 0] of a section
21:18:34 <Phantom_Hoover> Lymee, what on earth made you think that would have interesting behaviour.
21:18:43 <Lymee> Phantom_Hoover, I was seeing what oerjan was testing.
21:19:13 <oerjan> Lymee: your first one only works because of lambdabot's Floating instances for functions, i think
21:19:30 <elliott> oerjan: also ghc wishlist: record system that uses fclabels or lenses instead of the crap we have now
21:19:45 <elliott> that would make me pretty happy
21:19:53 <elliott> also maybe the replacement of String with Text would be nice...
21:20:02 <elliott> and the generalisation of ++ etc. to some kind of container class
21:20:09 <elliott> (yeah yeah, i am aware of monoid :))
21:20:19 <lambdabot> forall m. (Monoid m) => m -> m -> m
21:22:58 <olsner> elliott: you should go in #haskell and blame cale for caleskell, ISTR he likes that
21:23:45 <elliott> olsner: i do that on a daily basis or so
21:23:50 <elliott> i think cale may dislike me dunno why
21:26:07 <lambdabot> forall a. (Read a) => String -> IO a
21:26:55 <oerjan> !haskell readIO "what does this button do?"
21:27:20 <oerjan> !haskell main = readIO "what does this button do?"
21:27:46 <oerjan> !haskell main = readIO "what does this button do?" :: IO Int
21:27:51 <EgoBot> input.21959.hs: user error (Prelude.readIO: no parse)
21:28:13 * oerjan wonders what that string is for
21:28:22 <monqy> "The readIO function is similar to read except that it signals parse failure to the IO monad instead of terminating the program."
21:29:08 -!- copumpkin has joined.
21:29:08 -!- copumpkin has quit (Changing host).
21:29:08 -!- copumpkin has joined.
21:29:18 <olsner> hmm, but IO can catch errors just as well as it can catch exceptions, can't it?
21:29:37 -!- Vorpal has quit (Ping timeout: 255 seconds).
21:29:44 <oerjan> olsner: in ghc yes, not the standard
21:33:16 <lambdabot> The operator `GHC.Base.>>' [infixl 1] of a section
21:38:32 <oerjan> oh, putting read outside the lambda was a mistake, now i'm tying with the top
21:39:00 <oerjan> :t interact$ \n->'g':([1..read n]>>"o")++"gle"
21:50:27 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:16:18 -!- Phantom_Hoover has left ("Leaving").
22:16:47 -!- augur has joined.
22:23:57 -!- Ycros has quit (Remote host closed the connection).
22:24:17 -!- Ycros has joined.
22:33:24 -!- augur has quit (Remote host closed the connection).
22:40:23 -!- augur has joined.
23:05:31 <zzo38> I decided to use a different set of units than TeX some are different, I have: pt bp in cm mm P0 p0 q em ex
23:06:49 <zzo38> Can you make ink that small?
23:07:49 <CakeProphet> I guess not. But it could still be used as a unit with ridiculously fine-grained precision.
23:08:51 <zzo38> The precision is already 1/4736286.72 inch (you can use numbers after the decimal point too), and I don't know of any printing equipment that has that much resolution.
23:09:32 <zzo38> But I suppose in programs for designing physics stuff you might have Planck lengths as one of the units for really precision.
23:09:49 <zzo38> What is the most resolution of any printer you have seen or know of?
23:10:42 <zzo38> Four million dots per inch? I don't think so.
23:12:46 -!- CakeProphet has quit (Ping timeout: 240 seconds).
23:15:14 -!- elliott has quit (Quit: Leaving).
23:16:29 -!- CakeProphet has joined.
23:23:16 <lambdabot> forall a. (Ord a) => a -> a -> Ordering
23:28:39 <lambdabot> The operator `GHC.Classes.compare' [infixl 9] of a section
23:32:04 -!- augur has quit (Remote host closed the connection).
23:44:46 -!- augur has joined.
23:44:58 -!- augur has quit (Remote host closed the connection).
00:03:05 -!- CakeProphet has quit (Ping timeout: 260 seconds).
00:04:42 -!- CakeProphet has joined.
00:10:09 -!- BeholdMyGlory has quit (*.net *.split).
00:10:09 -!- iamcal has quit (*.net *.split).
00:10:50 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
00:12:34 -!- bsmntbombdood has quit (Remote host closed the connection).
00:13:53 -!- BeholdMyGlory has joined.
00:13:53 -!- iamcal has joined.
00:39:56 <oerjan> > fix (drop 1) :: [Int]
00:55:32 <CakeProphet> you'll probably get the same result for most [a] -> [a] functions.
01:02:57 <oerjan> > fix ("you don't say?":)
01:02:58 <lambdabot> ["you don't say?","you don't say?","you don't say?","you don't say?","you d...
01:23:13 -!- copumpkin has joined.
01:23:14 -!- copumpkin has quit (Changing host).
01:23:14 -!- copumpkin has joined.
02:09:08 -!- augur has joined.
02:12:18 -!- augur has quit (Remote host closed the connection).
02:35:19 -!- pikhq_ has joined.
02:38:44 -!- pikhq has quit (Ping timeout: 250 seconds).
02:50:42 -!- calamari has joined.
03:21:16 -!- augur has joined.
04:25:08 <zzo38> Can player phone the wall?
04:27:02 -!- calamari has quit (Quit: Leaving).
04:28:21 -!- twice11 has quit (Ping timeout: 244 seconds).
04:28:25 -!- twice11 has joined.
04:36:27 -!- oerjan has quit (Quit: Good night).
04:40:01 -!- CakeProphet has quit (Ping timeout: 258 seconds).
04:41:40 -!- CakeProphet has joined.
04:47:46 -!- derrik has joined.
04:48:07 -!- derrik has left.
04:57:33 -!- azaq23 has joined.
05:21:35 -!- foocraft has joined.
05:23:46 <zzo38> In C, is it an error to cast from a function pointer to non-function pointer or vice versa when compiling to harvard architectures unless you double-cast it by first casting to a numeric type? (It should be, in my opinion. But only for harvard architectures and only if you do not double-cast.)
05:27:54 <pikhq_> It is undefined behavior, and thus always an error.
05:28:04 <zzo38> I mean a compiler error.
05:28:49 <pikhq_> It would also be valid to have the elephants go on parade.
06:01:38 <zzo38> I remember I once made a computer game where at one point of the game, you are given two choices, you can select either "Can Pikachu electrify the light?" or "Can player phone the wall?" Also in the game is someone who says he will give you two water energies but only if you don't need it.
06:09:04 <zzo38> Someone else in the game once asks you if you like keys.
06:11:51 <monqy> it depends highly on context for me; sometimes I love them and sometimes I hate them
06:28:10 <zzo38> Also in the game is a wizard who does nothing except ask what Pikachu wants. He is standing in a store that only sells two things, food dish and candy.
06:28:39 <zzo38> Also you can find on the floor a "hand energy" which can be used for making pizza later on in the game.
06:29:45 <zzo38> If you select the "Can player phone the wall?" option, the game responds with the message "space echo rings".
06:30:33 <monqy> this makes me want to make games
06:31:47 <zzo38> I have made many computer games.
06:31:55 <zzo38> You can learn, too.
06:32:21 <zzo38> Some games I make using MegaZeux. You can download one version of MegaZeux at: http://zzo38computer.cjb.net/mzx1/mzx_extended/
06:32:35 <zzo38> (That is a directory listing; you must select the files you want to download.)
06:32:48 <zzo38> (And be aware that the online help (when you push F1) has some errors in it.)
06:33:10 <zzo38> Of course is also possible using C, QBASIC, and whatever else you want to use.
06:40:20 -!- aloril has quit (Ping timeout: 252 seconds).
06:48:17 -!- aloril has joined.
06:56:54 -!- monqy has quit (Quit: hello).
07:05:41 -!- CakeProphet has quit (Ping timeout: 250 seconds).
07:08:18 -!- pikhq has joined.
07:08:27 -!- pikhq_ has quit (Ping timeout: 258 seconds).
07:16:25 -!- CakeProphet has joined.
07:16:25 -!- CakeProphet has quit (Changing host).
07:16:25 -!- CakeProphet has joined.
07:38:56 -!- zzo38 has quit (Remote host closed the connection).
08:03:19 -!- jcp has quit (Ping timeout: 250 seconds).
08:04:35 -!- jcp|1 has quit (Ping timeout: 255 seconds).
08:12:56 -!- jcp has joined.
08:18:32 -!- jcp has quit (Ping timeout: 252 seconds).
08:32:53 -!- Vorpal has joined.
08:35:26 -!- jcp has joined.
08:44:56 -!- jcp has quit (Ping timeout: 252 seconds).
08:47:56 -!- jcp has joined.
08:50:56 -!- foocraft has quit (Ping timeout: 255 seconds).
09:03:42 -!- foocraft has joined.
09:07:11 -!- foocraft has quit (Client Quit).
09:13:26 -!- augur has quit (Ping timeout: 276 seconds).
10:51:23 -!- ais523 has joined.
11:47:50 <Lymee> Java doesn't let you golf enoguh.
11:55:24 <CakeProphet> why on Earth would you even expect that from Java.
11:56:17 <CakeProphet> I think golfing a large project would be fun. It provides some new challenges
11:56:32 <CakeProphet> and since the byte counts are larger, there's more room to work in fancy tricks to drop the byte count.
12:01:42 <CakeProphet> for example, with source filters in Perl you could shorten operators and keywords, add semicolons, and have then compress the source.
12:02:54 <CakeProphet> oh and I guess you could expand macros, since I don't think Perl has macros.
12:09:51 <ais523> Lymee: have you seen the trick of putting your code in an enum initialiser?
12:26:47 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
12:27:07 <quintopia> i think you could do some interesting golfing in jvm bytecode maybe
12:38:52 <ais523> Lymee: for golfing Java
12:39:05 <ais523> it's incredibly bad style, but it actually works
12:39:09 <ais523> I can't remember the exact way it's done
12:39:13 <ais523> let me find it on anagolf
12:39:20 <Lymee> CakeProphet, I'd love to have a contest to, say, actually implement an language requiring a complex parser.
12:39:44 <Lymee> Then make examples requiring non-cheating.
12:39:52 <Lymee> I wish you could set it up to make a "generator" program.
12:39:57 <Lymee> Each run, it is fed a random number
12:40:04 <Lymee> It uses this random number to generate input and output set.
12:40:15 <Lymee> Then, cheating implementations are defeated.
12:41:15 -!- CakeProphet has quit (Ping timeout: 244 seconds).
12:41:33 <ais523> here's an example program using the trick, a golfed Java infinite loop by narb: enum _{_;int i;{for(;i<1;);}}
12:42:15 <ais523> (I assume the i<1 is in there because unreachable code produces compile errors in Java, so it had to look like it was doing something)
12:43:08 -!- CakeProphet has joined.
12:43:08 -!- CakeProphet has quit (Changing host).
12:43:09 -!- CakeProphet has joined.
12:43:31 <fizzie> A compile-time detected infinite loop -- like a for (;;) -- fails with: "initializer must be able to complete normally"
12:43:54 <ais523> I suppose infinite loops in initializers is not generally a useful thing to be able to do
12:46:50 <fizzie> "enum _{_;{for(;Math.E<3;);}}" would be one character shorter, but unfortunately also gives the same complaint, perhaps because Math.E is "final".
12:51:32 -!- Vorpal has quit (Ping timeout: 240 seconds).
13:41:08 <EgoBot> syntax error at /tmp/input.24328 line 1, near "..."
13:41:19 <EgoBot> syntax error at /tmp/input.24391 line 1, near "{..."
13:41:36 <CakeProphet> hmmm? I thought ... was a legitimate filler-code syntax...
13:42:58 <EgoBot> syntax error at /tmp/input.24567 line 1, near "{..."
13:47:18 -!- oerjan has joined.
13:48:05 <fizzie> ... is an operator, at least; a variant of the .. operator.
13:50:37 -!- augur has joined.
13:52:35 <fizzie> It works differently in the strange scalar flip-flop case.
13:53:23 <oerjan> "the strange scalar flip-flop case" sounds like a book title gone awry
13:55:34 <fizzie> !perl for (1..3) { print if ($_ == 2) .. ($_ > 0); }
13:55:38 <fizzie> !perl for (1..3) { print if ($_ == 2) ... ($_ > 0); }
13:58:04 <fizzie> The .. operator becomes false already on the $_ == 2 round, while the ... operator waits (doesn't evaluate the right side) until the $_ == 3 round.
14:03:10 <fizzie> Here's another silly thing.
14:03:17 <fizzie> !perl for (1..5) { $v = ($_ == 3 .. $_ == 5); print "($v)" }
14:04:03 <fizzie> The last returned true value has "E0" after it; doesn't change the numeric value, but is distinguishable if necessary.
14:04:15 <fizzie> Reminds one of the "0 but true" thing.
14:08:37 <oerjan> romance in iwc? truly the world is coming to an end
14:18:44 -!- CakeProphet has quit (Ping timeout: 276 seconds).
14:20:18 -!- CakeProphet has joined.
14:20:18 -!- CakeProphet has quit (Changing host).
14:20:19 -!- CakeProphet has joined.
14:22:42 -!- ais523 has quit (Ping timeout: 252 seconds).
14:52:05 -!- CakeProphet has quit (Ping timeout: 276 seconds).
14:56:23 -!- oerjan has quit (Quit: Later).
15:31:56 -!- Tritonio has joined.
15:49:14 -!- Vorpal has joined.
16:33:45 -!- pikhq_ has joined.
16:34:03 -!- pikhq has quit (Read error: Operation timed out).
16:35:35 -!- Phantom_Hoover has joined.
16:54:01 -!- SgeoN1 has joined.
16:57:16 -!- SgeoN1 has quit (Read error: Connection reset by peer).
16:57:43 -!- SgeoN1 has joined.
16:59:52 -!- SgeoN1 has quit (Read error: Connection reset by peer).
17:00:16 -!- SgeoN1 has joined.
17:01:48 -!- SgeoN1 has quit (Read error: Connection reset by peer).
17:19:03 <fizzie> It's Perl Time::HiRes.
17:31:19 -!- Tritonio has quit (Quit: Leaving).
17:33:16 -!- MigoMipo has joined.
17:47:40 -!- sebbu has quit (Read error: Connection reset by peer).
17:48:24 -!- sebbu has joined.
17:48:24 -!- sebbu has quit (Changing host).
17:48:24 -!- sebbu has joined.
17:50:28 -!- derrik has joined.
17:50:43 -!- derrik has left.
18:04:13 -!- monqy has joined.
18:17:56 -!- sebbu2 has joined.
18:17:57 -!- sebbu2 has quit (Changing host).
18:17:57 -!- sebbu2 has joined.
18:20:12 -!- sebbu has quit (Ping timeout: 240 seconds).
18:20:12 -!- sebbu2 has changed nick to sebbu.
18:58:17 * pikhq_ continues to wonder at "The Hobbit" being split into 2 films, but Lord of the Rings not being split into 6.
18:59:54 <olsner> pikhq_: 4 films if you count the two extended editions (of the two hobbit films)
19:02:15 <olsner> and iirc the extended lord of the rings films run to about 12h in total, which is close to 6 films if you split it to normal-length films
19:02:47 <pikhq_> That alone testifies that they shouldn't have freaking made LotR into a film series.
19:02:58 <pikhq_> It's fundamentally incompatible.
19:08:30 <Phantom_Hoover> pikhq_, by which you mean it was significantly better than the books
19:08:49 <pikhq_> Phantom_Hoover: I won't argue that the books are well-written or anything.
19:09:06 <pikhq_> Just that the thing is fundamentally incompatible with the film medium.
19:09:17 <pikhq_> And probably also incompatible with the novel medium as well, TBH.
19:09:44 <pikhq_> The films were also radically distinct from the books.
19:09:48 <Phantom_Hoover> Sure, they had pacing problems, but they were a relatively minor detriment.
19:10:19 <Phantom_Hoover> 'Radically distinct' as in 'they got rid of Bombadil and Saruman's invasion of the Shire'?
19:10:46 <Phantom_Hoover> Also huge swathes of stuff about trees and hills and stuff.
19:10:50 -!- foocraft has joined.
19:13:09 <olsner> I for one didn't notice any of the differences between the books and the films
19:31:47 -!- oerjan has joined.
19:44:19 -!- jcp|other has joined.
20:11:53 <Phantom_Hoover> Does anyone here know how to get X working from within a chroot?
20:18:38 <Phantom_Hoover> My god is this yet more plot development I see in IWC.
20:20:21 <newsham> phantom: a syscall trace (ie. strace/ktrace/truss) should be helpful in figuring out what X wants
20:21:00 <Phantom_Hoover> I know this is an Xauth problem because I solved it before, but I've forgotten how.
20:21:10 <newsham> probably because its trying to connect to a unix domain socket that is not in its chroot
20:41:09 <Gregor> Yeah, you'll need to link in the unix socket file or use DISPLAY=localhost:0 instead (for TCP), and you'll have to get the .Xauthority file and set XAUTHORITY=<that file>
20:41:47 <newsham> or use "xauth" cmd line to add the specific entries you want
20:42:24 -!- ais523 has joined.
20:44:02 <Phantom_Hoover> Gregor, I have a bind mount for /tmp, but there doesn't actually seem to be a socket file there.
20:48:09 <newsham> maybe you're in a chroot under a chroot under a chroot
20:48:16 <newsham> inside a simulator inside a virtual world
20:48:48 <newsham> ls -l /tmp/.X11-unix/X0 shows nada?
20:50:08 <Phantom_Hoover> Gregor, oh, and of course, I don't have a .Xauthority file.
20:50:40 <newsham> phantom: strace/truss/ktrace "xeyes" see what its doing to reach X and to auth
20:52:37 <oerjan> newsham: /tmp/I/N/C/E/P/T/I/O/N/tmp/.X11-unix/X0
20:53:07 <newsham> maybe he's on the thirteenth floor
20:53:49 <Phantom_Hoover> newsham, you know strace is like impossible to extract useful information from, right?
20:54:19 <newsham> ph: you're on the brainfuck channel. you're kidding, right?
20:55:23 <newsham> honestly, i've found strace to be very helpful in situations like this.
20:57:43 <newsham> do you see it connecting to some socket?
21:29:56 -!- jix has quit (Ping timeout: 260 seconds).
21:40:38 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:45:50 -!- azaq23 has quit (Quit: Leaving.).
22:03:25 -!- CakeProphet has joined.
22:03:26 -!- CakeProphet has quit (Changing host).
22:03:26 -!- CakeProphet has joined.
22:04:52 -!- Vorpal has quit (Ping timeout: 250 seconds).
22:18:52 -!- Phantom_Hoover has quit (Quit: Leaving).
00:20:15 -!- ais523 has quit (Remote host closed the connection).
00:40:25 -!- pikhq has joined.
00:40:33 -!- pikhq_ has quit (Ping timeout: 252 seconds).
00:42:05 <coppro> apparently there are functions in the C library that have locale-specific behavior except when in the "C" locale
00:43:16 -!- elliott has joined.
00:52:17 <coppro> newsham: I'm just quoting the standard
00:52:28 <newsham> is that for backwards compat?
00:52:46 <coppro> have locale-specific aspects only when not in the "C" locale are noted below.
00:52:59 <coppro> how can you have locale-specific aspects only when not in the "C" locale
00:53:15 <coppro> by definition, something that is only present in the "C" locale is locale-specific
01:00:38 <oerjan> an object that is passed to a function when invoking it
01:02:30 <elliott> 14:08:37: <oerjan> romance in iwc? truly the world is coming to an end
01:02:37 <elliott> oerjan: i sure hope this is the cause of the next fireball
01:03:10 <oerjan> elliott: it is looking disturbingly like dmm is wrapping up loose threads
01:03:38 * elliott tries to find the dinosaur comics guest strip it reminded him of
01:04:55 <elliott> http://www.qwantz.com/index.php?comic=1773
01:05:46 <elliott> oerjan: erm, if he's trying to end on the calvin and hobbes point it would be a bit premature
01:05:51 <elliott> unless it'll take seven hundred pages to wrap up all the adventures
01:06:27 <elliott> oerjan: btw have you tried the cunning tactic if he's planning to end the comic? :D
01:06:32 <elliott> oerjan: btw have you tried the cunning tactic of asking if he's planning to end the comic? :D
01:06:49 <oerjan> seven hundred? i think you're off a bit
01:07:01 <elliott> 19:02:31: <pikhq_> Okay, true.
01:07:02 <elliott> 19:02:47: <pikhq_> That alone testifies that they shouldn't have freaking made LotR into a film series.
01:07:02 <elliott> 19:02:58: <pikhq_> It's fundamentally incompatible.
01:07:02 <elliott> 19:08:30: <Phantom_Hoover> pikhq_, by which you mean it was significantly better than the books
01:07:13 <elliott> oerjan: er oh wait, that was the homestuck count when i compared them :)
01:07:17 <elliott> how long was calvin and hobbes?
01:07:26 <oerjan> elliott: i have never dared to communicate with dmm
01:07:41 <elliott> oerjan: is it because he's ~famous~
01:07:57 <elliott> 19:09:21: <Phantom_Hoover> pikhq_, the films were pretty good.
01:07:57 <elliott> agree, and i couldn't get past the first hundred pages of Fellowship
01:08:57 <elliott> oerjan: ah. then start worrying.
01:09:04 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaa
01:09:07 <elliott> although that's still almost a hundred pages of wrap-up :D
01:09:27 <elliott> i sure do know a lot about a comic I've never managed to archive binge
01:09:54 <newsham> speaking of archive binge, i need to catch up on smbc
01:10:26 <elliott> oerjan: i don't know how he'll wrap up the hugely intertwined tangle of plot threads that is the Nigerian Finance Minister theme
01:10:41 <elliott> maybe that's what the remaining pages are
01:11:20 * oerjan suddenly wonders if he actually has read all of lotr, or is just imagining doing so
01:11:45 <elliott> oerjan: knowing your attention span i doubt it :D
01:11:53 <oerjan> it's not implausible that i gave up somewhere in fellowship too
01:12:18 <oerjan> elliott: however i absorbed almost anything readable at that age
01:13:02 <newsham> did you read the part where caspian was on the dawn treader?
01:13:06 <elliott> oerjan: oh sweet, im gonna paste this big @ design document
01:13:16 <oerjan> so it's not implausible that i may actually have read it through
01:13:24 -!- elliott has left ("Leaving").
01:13:29 -!- elliott has joined.
01:13:34 <oerjan> newsham: funny guy, although i _definitely_ have read all the narnia books
01:13:40 <elliott> i read the narnia books when i was a lil one, they were shit
01:13:44 <elliott> i think i thought this because they are shit
01:14:11 <elliott> maybe if i realised they were christian propaganda i would have realised WHY they were shit
01:14:14 <elliott> but i just thought he was a bad writer
01:14:46 <oerjan> elliott: heck i even read some of his _openly_ christian fiction
01:15:08 <elliott> i don't think he was a very clever writer
01:15:10 <oerjan> all this in norwegian translation, btw
01:15:27 -!- elliott has left ("Leaving").
01:15:33 -!- elliott has joined.
01:16:21 <elliott> If Aslan represented the immaterial Deity in the same way in which Giant Despair [a character in The Pilgrim's Progress] represents despair, he would be an allegorical figure. In reality however he is an invention giving an imaginary answer to the question, 'What might Christ become like, if there really were a world like Narnia and He chose to be incarnate and die and rise again in that world as He actually has done in ours?' This is not allegor
01:16:22 <elliott> y at all. (Martindale & Root 1990)
01:16:26 <elliott> cs lewis doesnt know what allegory means
01:16:34 <elliott> also he thinks jesus is lit. a lion i guess
01:17:02 <newsham> he was just writing books for kids
01:17:10 <oerjan> i think aslan turned into jesus at the end of the last battle
01:17:11 <newsham> (while trying to keep em brainwashed appropriately)
01:17:32 <newsham> he said he's known by other names in other worlds
01:18:10 <newsham> like many movies and books, cs lewis's naria books made ugly pepole bad and bad people ugly and looked down on different people
01:18:13 -!- pikhq_ has joined.
01:18:17 <newsham> pretty lame for a "christian" book
01:19:35 <elliott> newsham: to be fair, it also lacked a lot of stoning
01:19:52 <newsham> i'm pretty sure tumnus was constantly stoned
01:19:57 <elliott> the "this isn't _true_ Christianity because it's not nice enough" kind of falls down if you take all the parts together
01:20:53 -!- pikhq has quit (Ping timeout: 258 seconds).
01:21:18 * oerjan snickers at "But it's so hard for me to meet new people!"
01:21:22 <elliott> theyre making a sequel to narnia arent they
01:21:33 <pikhq_> I think that Lewis is *capable* of writing good fiction.
01:21:46 <pikhq_> Even within the framework of his "ZOMG MUST BE 120% CHRISTIAN" thing.
01:21:54 <pikhq_> He just seems to have let that framework take over.
01:22:14 <elliott> didn't tolkein reconvert him by basically saying "hey christianity is p. cool dude"
01:22:36 <elliott> and lewis was like "oh ok im christian now"
01:22:52 <elliott> Films directed by Andrew Adamson
01:22:53 <elliott> Shrek (2001) · Shrek 2 (2004) · The Chronicles of Narnia: The Lion, the Witch and the Wardrobe (2005) · The Chronicles of Narnia: Prince Caspian (2008)
01:23:06 <pikhq_> He claims that it was some long, arduous journey, but, well...
01:23:53 <pikhq_> To be perfectly honest, most Westerners who claim to have "struggled" with their faith are either saying "I keep thinking it's bullshit, but get pulled back in", or are bullshitting you.
01:24:05 <newsham> http://www.smbc-comics.com/index.php?db=comics&id=2273
01:24:21 <pikhq_> Depending on whether they mean "struggle" as in "questioned" or "suffered personal injury because of".
01:24:35 <newsham> pikhq: or ".. but boy do I love sleeping with my wife's friends..."
01:25:10 <pikhq_> newsham: Or variations thereof.
01:25:21 <pikhq_> "Boy do I love cock" seems to be common as well.
01:25:40 <newsham> and "but the alcohol made me do it"
01:26:03 <pikhq_> Which works better as an excuse with some denominations than others.
01:26:14 <elliott> this sure is some productive debate
01:26:24 <newsham> the important thing is if you check yourself into rehab and tell everyone that god forgives you
01:26:26 <elliott> lets tell /r/circlejerk about it
01:26:41 <pikhq_> I mean, you've got churches that claim the religion mandates you never drink, and churches that literally make beer and wine.
01:32:22 <quintopia> newsham: it would have been more fitting to the topic to link to the one where he uses bible stuff to justify sodomy and pedophilia...
01:33:47 -!- Slereah has quit.
01:35:20 <newsham> do unto others as you woul dhave them do to you?
01:35:44 <quintopia> http://www.smbc-comics.com/index.php?db=comics&id=2281#comic
01:36:12 <quintopia> the votey comic is the more interesting one
01:39:24 <elliott> hey i think my previous thoughts about the halting problem were wrong, cool
01:40:19 <elliott> are you gonna write that score system for jous
01:40:41 <quintopia> it's provably uncomputable. proof: find a point in time after which sgeo will never blog into this channel...
01:41:07 <elliott> what, the score system? :D
01:41:32 <quintopia> the score system will happen when i learn that stupid fortran-based algebra system
01:41:46 <quintopia> it has the WORST NAMED FUNCTIONS MANKIND HAS EVER INVENTED
01:41:55 <quintopia> with THE MOST CONFUSING PARAMETER LISTS
01:42:18 <elliott> quintopia: the haskell binding has a nice interface
01:42:25 <elliott> lapack functinos are named systematically
01:42:33 <elliott> so you don't have to look them up if you know the base operation names :)
01:42:41 <elliott> "In 2010, 25 LaRouche supporters protesting a new production of Richard Wagner's Der Ring des Nibelungen presented by the Los Angeles Opera carried signs that said, ""Wagner: Loved by Nazis, Rejected by Humans" and "L.A. County: $14 Million to promote Nazi Wagner, Layoffs for Music Teachers"."
01:43:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:43:31 <quintopia> explain the naming system to me then
01:43:59 <elliott> jfreadthedocumentation, anyway i was only asking so that i can take advantage of you not doing it by writing my own
01:44:37 <elliott> Subroutines in LAPACK have a characteristic naming convention which makes the identifiers short but rather obscure. This was necessary as the first Fortran standards only supported identifiers up to six characters long, so the names had to be shortened to fit into this limit.
01:44:37 <elliott> A LAPACK subroutine name is in the form pmmaaa, where:
01:44:37 <elliott> p is a one-letter code denoting the type of numerical constants used. S, D stand for real floating point arithmetic respectively in single and double precision, while C and Z stand for complex arithmetic with respectively single and double precision. The newer version LAPACK95 use generic subroutines in order to overcome the need to explicitly specify the data type.
01:44:38 <elliott> mm is a two-letter code denoting the kind of matrix expected by the algorithm. The codes for the different kind of matrices are reported below; the actual data are stored in a different format depending on the specific kind; e.g., when the code DI is given, the subroutine expects a vector of length n containing the elements on the diagonal, while when the code GE is given, the subroutine expects an n×n array containing the entries of the matrix.
01:44:45 <elliott> aaa is a one- to three-letter code describing the actual algorithm implemented in the subroutine, e.g. SV denotes a subroutine to solve linear system, while R denotes a rank-1 update.
01:44:46 <quintopia> i've already done all the parts that don't involving compiling in lapack. i've even downloaded the libraries. i could probably finish it tomorrow with some focus.
01:44:48 <elliott> For example, the subroutine to solve a linear system with a general (non-structured) matrix using real double-precision arithmetic is called DGESV.
01:45:28 <elliott> does it plug in to the existing report.c
01:45:35 <elliott> and yeah but i was going to do it in haskell which means i could be finished in the same time :P
01:45:43 <elliott> also "downloaded the libraries"? what, an apt-get line?
01:45:51 <elliott> quintopia: um it should not require adding new files
01:45:58 <elliott> if you are baking it into chainlance that is wrong
01:46:25 <quintopia> but the scoring code is going in report.c
01:46:39 <quintopia> but if you want to do it and won't fuck it up, have at it.
01:47:04 <elliott> quintopia: chainlance should require _no_ modifications
01:47:06 <elliott> it reports only the raw score
01:47:24 -!- CakeProphet has quit (Ping timeout: 240 seconds).
01:47:32 <quintopia> it required modification, because i needed more than the raw score
01:48:08 <quintopia> the number of wins of each program
01:48:39 <elliott> can't you work that out from the reported raw score
01:49:37 <elliott> anyway, i have some bf joust stuff i am already working on, so i will probably do the scoring system sometime too
01:50:30 <quintopia> so 9-8 looks the same as 10-9 looks the same as 11-10
01:50:57 <elliott> i like the phrasing in terms of betting, btw
01:51:30 <quintopia> if you want the modified lance and build your own report on top of it, i can send you that now
01:52:50 <elliott> nah, it's ok, one of my other projects is lance
01:52:54 <elliott> quintopia: also, plz [asterisk]chainlance
01:53:02 <elliott> it's bad enough fizzie plagiarising my name without you abbreviating it to my name :)
01:53:18 <quintopia> i couldn't remember which lance it was i modified. *lance then
01:55:35 <elliott> 14:53:59: <elliott> variable: emacs v. vi is *very* well-trodden
01:55:36 <elliott> 14:54:03: <elliott> variable: vile vs. nedit would be fun
01:55:40 <elliott> still want this flamewar, btw
01:56:41 <quintopia> how about a language where the same word is used to mean both a word and the opposite word
01:57:34 <quintopia> english gives you the option to be explicitly not sarcastic
01:57:42 <quintopia> in SARCLANG, you are always left guessing
01:58:27 <elliott> 15:17:42: <nooga> i've got a great settlement in a hanging cliff, on a remote island
01:59:44 <quintopia> yes. in english if you preface a statement with figuratively, like THAT WILL FIGURATIVELY CATCH ON FIRE IF YOU DO THAT! then everyone knows you are being serious and not sarcastic.
02:00:17 <elliott> 15:25:52: <elliott> The foundations of mathematics has a strange dogma that ... distilling the smallest possible set of elegant core axioms is both possible and profitable. From there, offering this set of axioms leaves the dirty business of making workable theories to blue-collar workaday mathematicians.
02:01:48 <quintopia> i've started reading "Everything Is Obvious *Once You Know The Answer" and it is pretty awesome so far.
02:10:39 <elliott> 15:25:52: <elliott> The foundations of mathematics has a strange dogma that ... distilling the smallest possible set of elegant core axioms is both possible and profitable. From there, offering this set of axioms leaves the dirty business of making workable theories to blue-collar workaday mathematicians.
02:14:47 <monqy> this confused me at first because I interpreted "laugh" as an action of elliott's rather than a command
02:15:57 <monqy> I should probably stop talking in such a way that "laugh" would indeed be an action like that; I might get confused less
02:16:08 <monqy> (I will never do this)
02:17:27 <elliott> monqy: because you have to laugh at its absurdity, so i can make you cry
02:17:53 <monqy> but I don't want to cry
02:18:19 <monqy> what's a blue-collar workaday mathematician anyway
02:18:40 <monqy> I am horribly out of jive with math culture
02:18:53 <monqy> should get back in jive
02:19:08 <elliott> monqy: ok here's what i modified that from
02:19:16 <elliott> 15:25:20: <elliott> "Programming language design has a strange dogma that ... distilling the smallest possible set of elegant core axioms is both possible and profitable. From there, offering this set of axioms leaves the dirty business of making workable software to blue-collar workaday programmers."
02:19:25 <elliott> (this was from a serious blog post)
02:20:32 <monqy> why would anyone write that. why would anyone think that.
02:21:50 <elliott> so i have the new dark google top bar thing
02:21:53 <monqy> programming languages suck because they're too elegant. perl forever.
02:22:11 <elliott> monqy: http://www.modernperlbooks.com/mt/2011/01/minimalism.html enjoy
02:22:38 <quintopia> this is why intercal is BEST LANGUAGE
02:22:44 -!- pikhq has joined.
02:23:22 <elliott> oh wow what the google design just changed
02:23:27 <elliott> but not when i search with the address bar
02:23:44 <quintopia> it eschews elegance, focusing instead on making things easy for the programmer. for instance, converting numbers to roman numerals or words takes effort on the programmer's part. they shouldn't have to do that.
02:25:14 <elliott> http://i.imgur.com/SsaMu.png
02:25:18 <elliott> what happened to be googles
02:25:44 -!- pikhq_ has quit (Ping timeout: 250 seconds).
02:26:29 <elliott> i wonder if there are any penguin furries (yes)
02:26:44 <monqy> http://www.wdyl.com/#esoteric+programming+languages the one true google
02:27:07 <monqy> the one true search engine
02:27:12 <elliott> but its not a search engine
02:27:17 <elliott> "See pictures of sex" --wdyl.com
02:27:27 <elliott> "Alert me about sex" im such a child
02:27:36 <elliott> "Measure popularity of sex on the web
02:27:41 <elliott> "Organize a debate about sex"
02:27:43 <monqy> "Start a fucking blog"
02:27:48 <quintopia> "king dedede rule 34 exists...don't ask me how i know"
02:28:03 <monqy> "Plan your fucking events"
02:28:06 <elliott> "Access sex stuff on the web, faster"
02:29:01 <elliott> Make a photo album about wizards...
02:29:07 <elliott> Measure popularity of wizards... on the web
02:29:56 <elliott> i have fifty-eight backlogged updates
02:30:30 <elliott> quintopia: was that quote just totally ooc btw
02:31:14 <quintopia> elliott: from a forum thread where someone was asking whether penguin furries exist
02:31:32 <elliott> why do furries exist ... i can't help but feel that furries are merely a sign of things to come in the next hundred years of history ...
02:31:43 <elliott> for fucks sake why is something like this necessary furry fandom? more like cult of furrism, some wacked out 21st century meta religion with its own fucking intricate series of SUBSECTS
02:31:43 <quintopia> just search for penguin furries on google. you'll find it.
02:32:09 <elliott> somewhere between final fantasy, dragon ball z, and quake three, the internet stopped being a place where everyone regarded each other as elites and instead resulting in a bunch of poorly misguided rules about "proper posting etiquette"
02:32:09 <elliott> (to this very day i have yet to figure out what this phrase is supposed to mean beyond "be a faggot")
02:32:36 <elliott> http://hell.oddwebsite.com/ well this is the worst webpage i hae ever visited
02:35:08 <elliott> a bunch of people who have evidently mistaken pretending to be stupid with being stupid
02:35:52 <elliott> quintopia: lol at the first post in that penguinfurries thread
02:35:53 <elliott> "I was just thinking about what they would feel like just now."
02:38:24 -!- iamcal has quit (Read error: Operation timed out).
02:38:49 <elliott> im not sure which is stronger
02:39:16 <oerjan> it's a love-hate relationship
02:39:18 <elliott> oh god its upgrading the kernel
02:39:22 <elliott> monqy: why do iever upgrade my software
02:39:53 <monqy> sometimes I upgrade my software and it looks ugly or breaks
02:40:33 <elliott> maybe ill just leave it the same version forever
02:40:41 <elliott> and then install the new version and cry for a week
02:43:21 <elliott> Meet the Shen Project - the type-safe heir of Lisp (Qi) that has ambitious aims - from embedded to the Web - "a universal Assembly" (lambdassociates.org)
02:43:25 <elliott> oh god dammit not the qi guy again
02:43:40 <elliott> herp derp let me totally misuse "bipolar" to try and explain programmers being in bored in university
02:43:43 <elliott> im a fucking genius look at me
02:43:56 <elliott> fuck fuck shitty shit fuck fuck
02:44:18 <elliott> thats the reddit headliner though
02:44:55 <elliott> but the author is an idiot.
02:45:19 <elliott> "For that reason I subtitled my talk Back to the Future (after Zemecki's classic time travel film)"
02:46:24 <elliott> "This is not an OSI license, but a free$ license designed to hold the project together around a standard that is well documented and has 20 years R&D behind it."
02:46:33 <monqy> apparently Qi is an award-winning functional programming language based on 20 years R&D that offers the advantages of pattern matching, l calculus consistency, optional lazy evaluation and static type checking.
02:46:39 <elliott> theory: licensing is the easiest place to find if a software developer is a fucking egoist
02:46:55 <pikhq> elliott: I concur.
02:46:55 <elliott> if he's selling it while talking about his ONE-MAN stunning achievement, he's a massive egoist
02:46:59 <monqy> 20 years r&d 20 years r&d
02:47:06 <elliott> if he's avoiding using an open source license to protect his hard work, he's an egoist
02:47:23 <elliott> if he's GPLing it and explicitly states this is to stop eir work being abused by corporations
02:47:26 <elliott> e's an egoist, and delusional
02:47:35 <pikhq> But at least not also a complete ass.
02:48:10 <pikhq> "I want to protect this from corporations, so I'm going to make it worse for everyone", however, is.
02:48:15 <elliott> sometimes i worry that my complete lack of care with what someone does with my code would break down the moment someone "exploits" it and i'm just doing it to seem humble to myself
02:48:41 <elliott> Shen has a great contribution to make in safety critical areas such as
02:48:41 <elliott> high integrity operating systems
02:49:25 <elliott> I wonder if NASA uses formal-logic based software verification techniques?
02:49:55 -!- copumpkin has joined.
02:49:59 <elliott> I have this horrible feeling that they instead rely on manuals of restrictive coding styles ... but can that really be true? NASA's code _works_ almost all the time, on the first actual run
02:50:01 -!- copumpkin has quit (Changing host).
02:50:02 -!- copumpkin has joined.
02:50:11 <elliott> And style guides are _not_ a sufficient methodology to do this
02:50:23 <elliott> monqy: Well, it's not like that's totally uncommon
02:50:28 <elliott> monqy: Intel use a formally verified FPU unit
02:51:03 <pikhq> Probably because they don't want to repeat fdiv.
02:51:09 <elliott> Yes, it started after that IIRC
02:51:24 <elliott> I really want to know how Intel processors are _designed_
02:51:28 <elliott> Obviously it's not all raw chip design programs
02:51:38 <elliott> Because that would be INSANELY huge
02:51:43 <elliott> (The high-level layout of components is obviously that, though)
02:51:52 <elliott> Like -- how do they specify the instruction->microcode transformations?
02:51:59 <elliott> How do they "compile" this into the translator unit?
02:52:05 <elliott> How do they write the microcode interpreter?
02:52:13 <elliott> How do they "compile" this into chip design?
02:52:20 <elliott> It would be very fascinating.
02:52:56 <pikhq> Apparently Google's recent layout change is because of a new service.
02:53:09 <pikhq> They're wanting to get into social networking stuff.
02:53:11 <elliott> no thats just their social networking thing
02:53:14 <elliott> why would that make them change the deign
02:53:17 -!- iamcal has joined.
02:53:23 <elliott> i just didn't like the top bar with the old page
02:53:27 <elliott> which i still get when searching w/ url bar for some reason
02:53:30 <pikhq> elliott: So it all integrates.
02:54:00 <elliott> it is a nice redesign though?
02:54:10 <elliott> although i don't like the url being above the summary
02:54:17 <elliott> it sort of separated results before
02:54:31 <elliott> pikhq: oh nice, they've unified all the serach
02:54:41 <elliott> http://www.allgraphics123.com/ag/01/13042/13042.jpg
02:56:08 <elliott> hey i have chrome twelve now
02:57:02 <elliott> monqy: http://zwani.com/ oh good site
02:57:10 <elliott> thanks for making "HUG" "Me" zwani
02:57:26 <oerjan> <elliott> I wonder if NASA uses formal-logic based software verification techniques? <-- istr from somewhere (maybe ltu?) that they're based on _exceedingly_ thorough code review
02:57:51 <elliott> oerjan: i guess it's just using humanpower but...
02:57:58 <elliott> its hard to believe that it actually works as well as it does
02:58:32 <elliott> "Also, while we're talking about Ambient Oriented Programming, what about Metaphor-Oriented Programming? See the brilliant Homespring language by Jeff Binder and Joe Neeman: http://xeny.net/H_Ot_M_Ef_S_P_R_Ib_N_G"
02:58:45 <elliott> "I thought that this comment was generated by an intelligent SPAM generator. Maybe its passing the Turing test now?"
02:58:59 <elliott> "I was calling the post that parented your reply SPAM, according to my first-read filter. Actually, reading it again, I think you are correct, its not SPAM, just that the thoughts are enthusiastic but not very well organized yet. The parent poster could work on organizing and polishing their thoughts, it would be easier for us to understand what is going on and provide appropriate feedback."
02:59:04 <elliott> they are taking homespring seriously
02:59:13 <elliott> Homespring is a joke language. I think it's rather funny.
02:59:13 <elliott> By tumble at Fri, 2011-03-11 05:20 | login or register to post comments
02:59:13 <elliott> I didn't get it. I apologize
02:59:14 <elliott> I didn't get it. I apologize for jumping to conclusions.
02:59:16 <elliott> By Sean McDirmid at Fri, 2011-03-11 09:05 | login or register to post comments
02:59:52 <elliott> http://esolangs.org/wiki/PoGo
02:59:59 <elliott> why are you still making languages
03:00:01 -!- variable has quit (Remote host closed the connection).
03:00:08 <elliott> [ and ] become a complicated and probably very arbitary mess of po's and go's and some other things
03:00:11 <elliott> thats not a fucking isomorphism
03:00:14 <monqy> is that by tehz oh madk
03:00:42 -!- variable has joined.
03:00:45 <monqy> Make the coder laugh
03:01:37 <elliott> that was just a silly joke
03:01:51 <monqy> i like how all of his langauges are brainfuck but different????
03:02:05 <monqy> I also like how he doesn't understand isomorphism???????
03:02:26 <elliott> "In fact, I believe that it is precisely because Qi was largely delivered outside the university system that it exists at all."
03:02:31 <elliott> why are you criticising universities in your proposal
03:02:34 <elliott> its not good....................................................
03:02:47 <oerjan> <elliott> thats not a fucking isomorphism <-- IS TOO
03:02:55 <elliott> standing donation to Lambda AssociatesUp to £10.00 GBP per month
03:03:05 <elliott> Enter the maximum amount you want to pay each month
03:03:06 <elliott> You will pay at least £1.00GBP
03:03:17 <elliott> People who pledge a standing amount are automatically entitled to a monthly newsletter which previews the forthcoming work we are doing. You will have your name placed on our list of donors unless you indicate you would prefer to remain anonymous (write here if you wish this). If you are interested in making a substantial contribution with a view to advertising on Lambda Associates then write to us and we will take it from there.
03:03:20 <elliott> oh my god monqy do you have money
03:03:25 <oerjan> well actually it's not, but only because you stupid esolangers insist on forgetting that isomorphisms are invertible...
03:03:26 <elliott> its only like one letter away from monqy
03:03:37 <elliott> oerjan: got a nicer term? :P
03:03:41 <monqy> i only have american money
03:03:49 <elliott> monqy: its ok paypal converts
03:04:13 <oerjan> elliott: embedding, maybe
03:04:31 <elliott> http://sonantlive.bitsnbites.eu/tool/ oh fun times
03:04:35 <elliott> oerjan: that's not very evocative
03:05:49 <elliott> monqy: http://www.allgraphics123.com/
03:06:19 <elliott> oh james hague did banksimple???
03:06:21 <monqy> it doesn't want to load but I trust it's quality
03:06:47 <monqy> good categories, good graphics123
03:06:54 <elliott> i dont see hague on on banksimples page
03:07:25 <oerjan> elliott: hm the tcs term would be "reduction", me thinks
03:07:28 <elliott> "Crap, you're more than right, my bad. It was only linked by al3x, CTO of BankSimple."
03:08:00 <elliott> monqy: hey do you read Arcane Sentiment, if so, are you actually literally me
03:08:17 <monqy> I think I used to know what that was
03:08:27 <monqy> I should try again
03:08:32 <elliott> http://arcanesentiment.blogspot.com/
03:08:52 <elliott> it is full of correct opinions and good words
03:08:54 <monqy> oh right I read a few of the posts once
03:09:04 <monqy> I remember it being pretty correct and good
03:09:15 <monqy> doesn't look too updated since then though
03:09:25 <elliott> yeah it has not updated in a few months? :(
03:09:28 <elliott> the archives are all good though
03:09:44 <elliott> monqy: what about Programming in the 21st Century
03:09:51 <monqy> never even heard of that one
03:10:41 <elliott> it's got a lot of comparison to retro days + functional programming things + a lot of performance-focused mindset putdown
03:21:07 -!- jcp|1 has joined.
03:22:13 -!- jcp|other has quit (Read error: Operation timed out).
03:22:22 -!- jcp has quit (Ping timeout: 240 seconds).
03:23:50 -!- jcp has joined.
03:25:41 -!- jcp|1 has quit (Ping timeout: 246 seconds).
03:26:35 -!- jcp|other has joined.
03:28:09 -!- jcp has quit (Ping timeout: 258 seconds).
03:28:28 -!- jcp has joined.
03:36:25 <monqy> elliott: pogo not a joke language? have you read the spec and examples?
03:36:40 <monqy> I haven't either but I just saw a few of them and they sound like a really bad joke
03:36:46 <elliott> monqy: it's certainly a joke but we have a specific definition of joke language :)
03:37:03 <elliott> TURKEY BOMB is a joke language, a language that is just terrible is not
03:37:24 <monqy> I should look up the definition sometime
03:37:27 <monqy> I probably forgot it
03:37:28 <elliott> Ook is also arguably a joke language, but this actually adds something
03:37:31 <elliott> even though what it adds is rubbish
03:37:40 <elliott> monqy: http://catseye.tc/gallery/languages/turkeyb/
03:37:44 <elliott> it's amazing, and maybe even implementable and TC :P
03:37:56 <monqy> yeah I remember reading it once or twice
03:38:17 <elliott> `quote it's all coming together
03:38:30 <HackEgo> 106) <scarf> and an AMICED literal would presumably /add/ info to the source <scarf> whatever info gets added, that's the value that the AMICED doesn't contain <scarf> it's all falling into place
03:40:12 <monqy> looking more carefully, pogo looks like half boring and half bad joke
03:40:23 <monqy> like really bad joke
03:40:31 <monqy> he - push the masculinity of the current memory cell onto the memory stack (Chuck Norris may cause stack overflow)
03:41:43 <monqy> the second-to-last block of commands in the spec reminds me of HQ9+
03:42:46 <monqy> it even has the H and 9, and a command to make Q trivial
03:42:50 <elliott> oerjan: i have started to apply the "reduction" terminology
03:43:17 <monqy> I should make an "isomorphism" with hq9+
03:43:29 <elliott> oerjan: that i am being good? :D
03:43:58 <elliott> http://esoteric.voxelperfect.net/w/index.php?title=Brainfuck&curid=961&diff=23474&oldid=23331
03:44:02 <elliott> monqy: reading now out of date
03:45:10 <monqy> reading of pogo spec and exampels try not to cry
03:45:29 <monqy> Make the coder laugh
03:45:29 <elliott> id need to be a cybord withougt emotions and then i might spontaenously devleop them to cry
03:45:35 <elliott> should i laugh after reading it
03:45:37 <elliott> like a really hollow laugh
03:45:59 <monqy> going to look up what poop does
03:46:12 <elliott> po - add current position in code to the top of the po stack
03:46:12 <elliott> op - pop from the memory stack and place the value in the current memory cell
03:46:30 <monqy> what happens when you pop from an empty stack
03:46:59 <elliott> http://esoteric.voxelperfect.net/w/index.php?title=User:TehZ&curid=3382&diff=23473&oldid=23441
03:47:59 <elliott> http://esoteric.voxelperfect.net/w/index.php?title=Deadfish&curid=2038&diff=23467&oldid=23457
03:48:03 <elliott> oerjan: maybe i should move it to L
03:48:14 <elliott> monqy: what, [[User talk:TehZ]]?
03:50:21 <elliott> maharba is a good person, some of their languages aren't very interesting but they have good opinions
03:50:25 <elliott> opinions hour with elliott
03:52:56 <elliott> they make fun of the right things and know good things to know that a lot of bad people on the wiki don't
03:53:00 <oerjan> you mean The language defined by the Revised Revised Revised Revised Revised Report on the Algorithmic Language Scheme?
03:53:39 <elliott> I wonder how you expand Revised^-1 Report on the Kernel Programming Language
03:54:01 <oerjan> elliott: wait, that exists?
03:54:17 <elliott> ftp://ftp.cs.wpi.edu/pub/techreports/pdf/05-07.pdf
03:54:28 <elliott> nice things with interesting opinions
03:54:31 <elliott> uh let me link to the site/ltu
03:54:38 <elliott> http://web.cs.wpi.edu/~jshutt/kernel.html
03:55:07 <elliott> http://lambda-the-ultimate.org/node/4093
03:55:07 <elliott> http://lambda-the-ultimate.org/node/1680
03:55:32 <elliott> ($cond ((eval x env) (eval y env))
03:55:40 <elliott> ($vau (ptree . body) static-env
03:55:40 <elliott> (wrap (eval (list* $vau ptree #ignore body)
03:55:45 * elliott realises the chances of oerjan reading any of these is 0
03:56:20 <oerjan> ...maybe you know me too well.
03:56:45 <elliott> http://web.cs.wpi.edu/~jshutt/kernel.html
03:56:48 <elliott> see that's an easy short webpage
03:57:17 <elliott> that implementation of lambda is great though
04:05:55 <monqy> this kernel language thing is pretty nifty
04:06:19 <elliott> and yeah it is, i disagree with some of the principles listed in the report, but it's a good coherent philosophy
04:06:19 -!- variable has quit (Remote host closed the connection).
04:11:32 <elliott> http://libposix.sourceforge.net/ oh lol this again
04:11:52 <elliott> http://sourceforge.net/apps/mediawiki/libposix/index.php?title=Compare
04:12:07 <elliott> cool, wants me to log in to view their full news
04:14:07 <monqy> Will you help developing infrastructure that will power next decade Unix ?
04:15:08 <monqy> a bold claim for a bold attempt to unify the implementation of the core functionality of all Unix systems
04:17:05 <monqy> so did they get hello world 2 years ago and give up
04:17:23 <elliott> http://wonder-tonic.com/cageyourqueue/
04:17:52 <elliott> http://wonder-tonic.com/cageyourqueue/
04:17:59 <elliott> nobody say anything not related to it
04:19:09 <pikhq> My *goodness* libposix is sad.
04:19:31 <pikhq> Oh, it's actually reasonable source code.
04:19:35 <pikhq> It just implements so very little.
04:19:37 <elliott> "the number of Nic Cage films on Netflix is declining"
04:19:42 <elliott> maye i will have to buy it all
04:20:10 <elliott> http://en.wikipedia.org/wiki/Nicolas_Cage#Filmography
04:20:10 <pikhq> I'd say it has every *trivial* libc function.
04:20:46 <pikhq> Its malloc returns NULL.
04:21:06 <elliott> http://en.wikipedia.org/wiki/Brubaker first nicholas cage movie
04:21:18 <pikhq> Just so very, very sad after having been doing stuff with musl.
04:21:56 <elliott> pikhq: itll be a very fast malloc
04:22:03 <elliott> if you have a manual pool allocator fallback things will still work
04:22:07 <elliott> and what professional programmer wouldn't
04:22:29 <pikhq> Eh, has the same O() as musl malloc, but musl malloc is more useful.
04:22:52 <elliott> oh god http://muppetswithpeopleeyes.tumblr.com/
04:22:56 <elliott> from the person who brought you cage your queue
04:23:20 <pikhq> Aaaah, musl. The libc I understand.
04:23:27 <monqy> muppets with people eyes is brilliant
04:23:33 <monqy> too bad it's dead :'(
04:23:35 <pikhq> Even its freaking ld.so is reasonable.
04:23:39 <elliott> http://wonder-tonic.com/books2barcodes/read.php?title=artofwar how fucking long is art of war
04:23:58 <elliott> monqy: maybe they did it to all the muppets
04:25:34 <pikhq> elliott: http://git.etalabs.net/cgi-bin/gitweb.cgi?p=musl;a=blob;f=src/ldso/dynlink.c;h=031e1f0f22f51ecabf8cb39638f7565e6e25c947;hb=HEAD
04:25:45 <monqy> muppets with people eyes also makes me think birds with arms, another brilliant innovation
04:25:59 <elliott> pikhq: why are you linking me to musl code
04:26:21 <pikhq> elliott: Because it doesn't make me want to stab people.
04:26:26 <pikhq> It really doesn't.
04:26:44 <elliott> monqy: http://i.imgur.com/GsLB1.jpg actual ad
04:26:45 <pikhq> This is the highest praise I have to offer a C library.
04:27:15 <monqy> ads like that make me wonder what's behind them
04:27:59 <elliott> http://esoteric.voxelperfect.net/wiki/Alight this language is hilarious
04:28:05 <elliott> reversed cat example is pretty much perfect
04:29:40 <elliott> oh wow hes behind this game too http://wonder-tonic.com/cannibalism/
04:29:51 <monqy> I remember that game
04:30:21 <elliott> any game called "resort to cannibalism" is good
04:33:59 <elliott> who the fuck writes things in 13/4
04:35:29 <elliott> http://208.87.32.71/landerbanners/he/hexham.com.jpg hexham
04:37:23 <monqy> why is that guy floating and why is he attacking that poor lady
04:38:04 <monqy> good picture of a whatever that is licking its nose too
04:38:26 <monqy> do tiger noses taste good
04:38:30 -!- sebbu has quit (Ping timeout: 252 seconds).
04:45:27 -!- sebbu has joined.
04:51:34 -!- foocraft has quit (Ping timeout: 244 seconds).
04:51:45 -!- foocraft_ has joined.
04:51:58 <elliott> http://www.youtube.com/watch?v=Wm-O3FKFI74 first zepto game
04:53:56 <elliott> http://en.wikipedia.org/wiki/LSD_(video_game) oh i've reada bout this before
04:54:37 <elliott> i love how annoying the walking is
04:54:57 <elliott> http://www.youtube.com/watch?v=TN7TLylDxqs this is amazing
04:55:12 -!- Slereah has joined.
04:55:35 <monqy> I've heard of that game
04:55:48 <elliott> this is amazing watch that video i just linked monqy it's wow
04:56:29 <elliott> is this guy sinking as he walks
05:00:40 <elliott> http://www.youtube.com/watch?v=DDji5zhu1nc ending of that game
05:01:53 <elliott> haha does it really shake the controller JESUS OH MY GOD THAT IS TERRIFYING
05:01:55 <elliott> http://www.youtube.com/watch?v=0U2LV7320zA
05:04:32 <elliott> monqy: the worst thing is if you rewind a bit
05:04:37 <elliott> you can see that it isn't there before they look
05:04:44 -!- Zwaarddijk has quit (Ping timeout: 246 seconds).
05:05:24 -!- ineiros has quit (Ping timeout: 240 seconds).
05:05:40 <elliott> http://www.youtube.com/watch?v=SF55WLjljMQ wow
05:05:45 <elliott> is this the real soundtrack
05:06:24 -!- ineiros has joined.
05:06:29 <elliott> http://torrentz.eu/search?f=LSD+dream+eulator
05:10:11 -!- Zwaarddijk has joined.
05:10:28 -!- variable has joined.
05:24:37 -!- oerjan has quit (Quit: Good night).
05:39:49 -!- Slereah has quit (Read error: Connection reset by peer).
05:43:57 -!- _foocraft has joined.
05:47:14 -!- foocraft_ has quit (Ping timeout: 250 seconds).
05:48:02 <elliott> These are the participants in this conversation. The details come from information that is already in your Contacts.
05:48:02 <elliott> You do not currently share a photo with recipients.
05:48:02 <elliott> Some actions, such as collapse/expand, are now icons to the right of the subject or can be found in the More menu in the toolbar.
05:48:07 <elliott> GMAIL QHT ARE YOU DOING STOP CHANGING
05:48:14 <elliott> google what is going on we need to talk
05:48:31 <coppro> what did they do this time?
05:48:39 <elliott> http://www.google.com/search?hl=en&source=hp&biw=1440&bih=761&q=help+why+is+google+changing&oq=help+why+is+google+changing&aq=f&aqi=&aql=undefined&gs_sm=e&gs_upl=1100l4107l0l27l16l0l8l0l0l732l1502l3-1.1.0.1l3
05:48:45 <elliott> help it in't sovligny mr ptobvlem
05:48:53 <elliott> coppro: i don't actually mind the changes its just fun to pretend i do
05:49:02 <elliott> http://www.google.com/search?hl=en&biw=1440&bih=761&q=help+no+stop+go+back&oq=help+no+stop+go+back&aq=f&aqi=&aql=undefined&gs_sm=e&gs_upl=24130l25946l0l22l14l0l7l0l0l205l993l1.5.1l7
05:49:08 <elliott> http://www.google.com/search?hl=en&biw=1440&bih=761&q=i+dont+like+you+any+more&oq=i+dont+like+you+any+more&aq=f&aqi=g10&aql=undefined&gs_sm=e&gs_upl=3269l4940l0l24l7l0l0l0l0l401l401l4-1l1
05:49:53 <monqy> i told google to solve all of my problems
05:50:22 <monqy> http://answers.yahoo.com/question/index?qid=20101128134505AAgjzqU but it did find me this gem
05:50:57 <elliott> If a man doesn't exist, he hasn't any problems, does it?
05:51:14 <elliott> considering replacing my wiki user page with that
05:52:47 <monqy> i wonder if mister braun did the suicide
05:53:04 <monqy> Sorry, we couldn't find who you were looking for
05:53:04 <monqy> This person may not exist, there may be a problem with the link or **gulp** their account has been suspended.
05:53:24 <elliott> uM, wHAT ELSE DO BRAUN MAKE,
05:55:16 <elliott> dear audacity, what kind of person is called nasca octavian paul
06:00:25 <olsner> the kind of person nasca octavian paul is, obviously
06:02:10 <elliott> ZynAddSubFX is a open source software synthesizer capable of making a countless number of instruments, from some common heard from expensive hardware to interesting sounds that you'll boost to an amazing universe of sounds.
06:02:10 <elliott> The project was started in March 2002 by Nasca Octavian Paul. He began to write ZynAddSubFX in order to create a synthesizer which could produce beautiful sounds, while being freely available to anybody who needs it.
06:02:57 <monqy> . . . from some common heard from expensive hardware to interesting sounds that you'll boost to an amazing universe of sounds.
17:34:14 <EgoBot> /bin/df: Warning: cannot read table of mounted file systems: No such file or directory
17:34:27 <Gregor> I wonder if this'll work:
17:34:47 <Gregor> Well, anyway, there's space now X-P
17:44:21 <ais523> did you delete /var, or something silly like that?
17:47:12 <ais523> also, hmm, the latest big "hack" attempt was accidental, by Googlebot
17:49:09 <ais523> apparently one of Groupon's subsidiaries posted their entire username/password index, without hashing or encryption, somewhere publicly indexable
17:49:18 <ais523> presumably by mistake, but it's a pretty silly thing to do
17:49:53 <ais523> and Googlebot just went and downloaded a copy, like it's supposed to, and started serving it to everyone
17:50:29 <ais523> I haven't heard of them either
17:50:31 <Vorpal> why on earth wouldn't they use hash
17:50:39 <ais523> but apparently they're relatively major
17:50:53 <coppro> groupon is a pyramid scheme basically
17:50:58 <newsham> I cant hear the word "groupon" without thinking "raging groupon"
17:50:59 <Vorpal> I heard the brand name "Groupon" before, can't remember where, or what they do
17:51:00 <ais523> they're apparently in the middle of an IPO that values them at $15 billion
17:51:01 <coppro> that made a lot of money
17:51:20 <ais523> and the press think it's not an implausible value
17:51:54 <newsham> groupon is clever. trick unsophisticated businesses into taking a loss with the profits going to groupon.
17:52:10 <newsham> although it has a fatal flaw.. bankruptcy.
17:52:13 <ais523> how exactly does it work?
17:52:36 <ais523> I predict about a 70% chance it'll have useful info explaining
17:52:40 <newsham> groupon gives businesses money up front, in exchange groupon is allowed to come up with some coupons and give them out to customers that cost the businesses money
17:53:22 <newsham> and groupon gets paid for this promotion, i think based on how many customers it delivers?
17:53:27 <coppro> http://www.knewton.com/blog/knewton/from-jose/2011/06/03/groupon-is-a-straight-up-ponzi-scheme/
17:54:12 <newsham> http://www.couponing101.com/wp-content/uploads/2010/10/gap-receipt.jpg
17:55:30 <ais523> hmm, the Ponzi scheme thing seems to refer to people investing in Groupon
17:55:51 <ais523> it seems beneficial for Groupon's customers (the companies) and Groupon's users, too
17:56:17 <coppro> It's not beneficial for the customers
17:56:21 <newsham> it sounds like groupon customers arent so happy, in general.
17:56:32 <coppro> because they give product away at a loss
17:56:34 <newsham> they get lots of business on unfavorable terms and are not translating well to repeat business
17:56:50 <coppro> and because the discount is so deep and can be repeated elsewhere, this does not create loyalty
17:56:54 <ais523> ah, I didn't realise the companies would be so stupid as to use lossmaking values for the discounts
17:57:09 <ais523> I assumed the coupons would let the companies' customers buy at cost or slightly more
17:57:12 <ais523> requires? OK, that's silly
17:57:15 <Phantom_Hoover> RANDOM HILARIOUS NEWS OF THE DAY: my half-Japanese friend doesn't know what catgirls are.
17:57:25 <coppro> ais523: Or, well, 'negotiates'
17:57:30 <newsham> ais: thats where the cash upfront comes in.
17:57:35 <newsham> desperate companies take the deal
17:57:44 <coppro> ais523: Strictly speaking, the typical rate is 50% discount, groupon gets hallf the money on a sale
17:57:46 <newsham> seems pretty predatory to me
17:57:53 <coppro> ais523: so the merchant is selling at 25%
17:58:17 <coppro> few merchants can sustainably sell at 25%
17:58:32 <ais523> I thought many businesses could actually afford 75% discounts from regular prices, on many products
17:58:35 <newsham> so what you need to do is form a company, form a groupon. declare bankruptcy, move to bahamas
17:58:41 <ais523> depending on the business, profit margins can be really high
17:58:51 <ais523> it doesn't make much sense if you have marrow margins
17:58:59 <ais523> newsham: do you benefit from this?
17:59:07 <ais523> it seems to hurt Groupon, but I don't see how it helps you
17:59:10 <coppro> High-elasticity products will have narrow margins
17:59:17 <Gregor> Narrow margins are fine if your throughput is huge.
17:59:19 <coppro> now, actual coupon users get a bargain
17:59:19 <newsham> ais: groupon gives you cash up front for your coupons
17:59:59 <coppro> ais523: Also, the margin is never all at the retail end
18:00:00 <newsham> can you see how this might be a little predatory? :)
18:00:06 <ais523> OK, I thought this was a sensible business model originally
18:00:10 <ais523> but the more I hear about it, the stupider it seems
18:00:18 <coppro> see? that's what they want investors to think
18:00:22 <coppro> "oh that sounds great here's my money"
18:00:37 <coppro> then just take advantage that rational actors have no influence on the market
18:01:02 <newsham> must put a lot of stress on an industry.. all your competitors are getting cash up front for this great groupon tihng, your customers all shop next door for a few months, you take a loss, then your competitors take a loss
18:01:08 <newsham> then things go back to normal?
18:01:28 <newsham> for those few months your competitors all probably seem like geniuses
18:01:29 <ais523> I still don't think it's a pyramid scheme, though
18:01:40 <ais523> a different sort of scam
18:02:07 <coppro> ais523: it's a pyramid scheme in that it relies on untapped markets to get revenue in an unsustainable fashion
18:02:16 <coppro> when you run out of untapped markets, it collapses
18:02:33 <ais523> yep, that's a necessary condition to be a pyramid scheme, but not a sufficient one
18:02:51 <ais523> pyramid schemes rely on their members thinking that other people will join
18:03:06 <newsham> hmm.. does a pyramid scheme require exponential growth?
18:03:08 <ais523> groupon relies on the opposite
18:03:16 <newsham> couldnt you have a pyramid scheme with jsut n^2 growth? seems like it would work.
18:03:26 <ais523> newsham: in theory you can have a pyramid scheme that grows linearly in members and linearly in size of investment
18:03:31 <newsham> just has to be super linear, right?
18:03:42 <ais523> but most people will notice it'll quickly collapse
18:03:52 <newsham> if its just linear how would you pay off early investors?
18:04:04 <Phantom_Hoover> Pyramid schemes require that investors profit by being paid off with new investors.
18:04:17 <Phantom_Hoover> So they almost always have a roughly fixed growth constant.
18:04:29 <ais523> newsham: investor 1 pays investor 0 $1, then investor 2 pays investor 1 $2, then investor 3 pays investor 2 $3, etc
18:04:32 <ais523> everyone makes a $1 profit
18:04:38 <ais523> except the last person to join
18:04:55 <ais523> but most people will notice that people will be unlikely to join that after a bit
18:05:11 -!- jcp has quit (Ping timeout: 244 seconds).
18:05:20 -!- jcp has joined.
18:06:44 -!- jcp|other has quit (Ping timeout: 244 seconds).
18:08:51 <newsham> ais: the amount of money is growing n^2 in that scheme, no?
18:10:20 <ais523> it's quadratic overall
18:10:30 <ais523> because two different things are growing linearly
18:10:43 <ais523> but the amount of money owed at any given time is O(n)
18:11:59 -!- javawizard has joined.
18:13:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:17:31 -!- Phantom_Hoover has joined.
18:37:19 -!- Sgeo has joined.
19:17:54 <Vorpal> elliott, what about SSD optimisation stuff. What needs to be done to make the most out of an SSD
19:18:26 <elliott> literally nothing. you can set like two lvm flags to align the metadata, but that was relevant like
19:18:31 <elliott> you might want to look into getting TRIM
19:18:39 <elliott> keep calm and carry on, it'll be fine
19:18:53 <elliott> oh and the blog that had the lvm flag is now down, heh
19:18:56 <Vorpal> elliott, right, so those flags need not be set?
19:19:14 <elliott> Vorpal: you can do it if you want like
19:19:29 <Vorpal> elliott, what about wear with/without?
19:19:31 <elliott> that kind of thinking will lead to you avoiding upgrading the system because it would involve a write :)
19:19:35 <elliott> Vorpal: should be the same
19:19:38 <elliott> I can dreg up the flag anyway
19:20:09 <elliott> Vorpal: this may make using the debian installer harder though if you're going that route :D
19:20:23 <elliott> Vorpal: ok see http://web.archive.org/web/20090224074532/http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/
19:20:37 <Vorpal> elliott, I went path of least resistance: reusing existing install of arch. At least to begin with
19:20:44 <Vorpal> elliott, finally what about TRIM?
19:20:49 <Vorpal> elliott, what about brtfs?
19:21:03 <elliott> Linux 2.6.33Feb 2010[20]Not all filesystems make use of TRIM. Ext4 and Btrfs are known to support it[21]
19:21:05 <elliott> Vorpal: btrfs is oracle-controlled
19:21:11 <elliott> to the point of "this may eat your data" right onw
19:21:26 <elliott> Vorpal: I guess you can go with ext4 if TRIM is vital but note
19:21:32 <elliott> Vorpal: you can always reset the SSD to stock state
19:21:35 <elliott> with the special intel boot cd things
19:21:48 <elliott> so it's not like not having TRIM is a permanent crippling
19:21:49 <Vorpal> sounds like work. TRIM sounds like less work
19:22:00 <elliott> um you realise that it would take many years to get to a situation where TRIM would be relevant?
19:22:08 <elliott> by which point most fses will support it
19:22:20 <elliott> just saying that TRIM shouldn't matter much right now
19:23:04 <elliott> Vorpal: anyway, I wouldn't worry, I mean, I use an SSD with Linux after all :P
19:23:20 <elliott> No alignment, I doubt it does TRIM since my drive is Apple-only stuff
19:23:25 <elliott> Everything is ridiculously fast
19:23:43 <elliott> (OS X does TRIM as of late, but I never use OS X)
19:23:54 <elliott> tl;dr don't worry about it
19:26:54 <Vorpal> elliott, btw where did I say it was Intel?
19:27:00 <Vorpal> (it is, but why did you assume that?)
19:27:30 <elliott> Vorpal: Because if it isn't, you're a fool, and it's pointless to bother microoptimising :P
19:27:49 <elliott> (He says, using a non-Intel SSD, but then Apple's SSD suppliers are Good.)
19:27:54 <elliott> (Not as good as Intel though.)
19:29:01 <Vorpal> pvs /dev/sdb2 -o+pe_start <-- blurgh, how do you even read that
19:29:14 <elliott> Vorpal: you realise that was written for the previous gen intel ssds btw?
19:29:31 <elliott> They're meant to have magic to make it have no effect anyway... SUPPOSEDLY
19:29:31 <Vorpal> elliott, I meant the option :P - AND + in one option
19:29:41 <elliott> I thought LVM was usable and simple and perfect
19:29:49 <elliott> Sorry, I misspelled gigantic headache.
19:39:52 <Vorpal> elliott, the LVM tools changed anyway, they align on 1 MB now it seems
19:40:19 <Vorpal> so it should work nicely
19:40:30 <Vorpal> elliott, now for the fs for /boot... hm
19:41:02 <Vorpal> elliott, be glad I didn't ask you about the hell that is GPT (which my system can boot, I just decide not to)
19:41:09 <elliott> what are you going for main partition?
19:41:33 <elliott> ext2 for /boot is probably the safest, because grub one can't boot JFS iirc, and you don't need journalling or anything
19:42:06 <Vorpal> elliott, well LVM, and /usr, /opt etc on that... /home and such on non-SSD anyway
19:42:16 <elliott> i was asking what iflesystem
19:42:26 <Vorpal> elliott, I haven't decided yet
19:42:36 <elliott> have i mentioned jfs jfs jfs, thought that was quite relevant
19:42:43 <Vorpal> elliott, I had jfs corrupt my data before
19:42:54 <elliott> uh really? i kind of doubt jfs was the culprit
19:43:00 <elliott> i mean, it is IBM after all :D
19:43:25 <Vorpal> elliott, jfs didn't work well with vmware
19:44:01 <Vorpal> elliott, data corruption
19:44:09 <Vorpal> from what I heard it was blamed on jfs
19:44:37 <elliott> or running vmware vms on a jfs filesystem
19:44:53 <elliott> if the latter, seems fishy considering vmware's general quality :P
19:45:23 <Vorpal> elliott, having disk images on jfs paritions
19:45:31 <Vorpal> elliott, and the bug was found and fixed iirc
19:45:45 <Vorpal> just saying, I'm no fan of jfs since then
19:45:47 <elliott> Seems unfair to hold it against JFS then, not like ext has never had bugs :P
19:45:57 <elliott> Unless you're gonna use a formally verified file system...
19:46:16 <Vorpal> elliott, ext had bugs yes. However a key difference is that they never corrupted data for me
19:46:31 <Sgeo> "Also realize that modern science has figured out that apparently most, if not all, species on earth died during the ice age. And that human life forms seem to be the only one who survived, because human DNA has been found from before the ice age, that shows there were three different kinds of humans on earth, all very closely resembling the current human population. "
19:47:20 <Sgeo> http://www.smashwords.com/books/view/27558
19:47:29 <Vorpal> Sgeo, so.... things like horses would descend from us?
19:47:36 <Vorpal> that makes no fucking sense
19:48:12 <Sgeo> Vorpal, I think the idea is that all those things were after the ice age??... I have trouble understanding this silliness myself
19:49:04 <Sgeo> http://www.barnesandnoble.com/w/i-dont-believe-in-god-jesus-or-the-bible-gods-manual-on-atheism-and-other-religions-free-from-bondage-ministry/1029147114?r=1&if=N&cm_mmc=Store-_-k352219-_-j12871747k352219-_-Primary read this for the reviews
19:50:40 <Sgeo> Vorpal, this is apparently a combination of the Garden of Eve story with "God made Angels first, they were like humans, and this was before the Garden of Eden"
19:51:05 * Vorpal goes back to carefully setting up the system
19:52:12 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/ica2j/does_a_fetus_have_brain_waves/
19:53:21 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/ic5h6/how_do_gas_planets_work_ie_jupiter_nuptune_etc/
19:55:05 <ais523> Phantom_Hoover: are you looking for stupid posts in that particular subreddit?
19:55:16 <ais523> or not necessarily stupid, but likely to attract idiots (which is not the same thing)?
19:55:38 <Phantom_Hoover> ais523, nah, it's just that things like this end up with a certain quantity of badly-formed questions.
19:56:00 <Vorpal> "abnormally abends" <-- what a lovely phrase (man mount, section on jfs)
19:56:20 <Vorpal> because abend means ending abnormally according to google
19:56:35 <elliott> So it abnormally ends abnormally?
19:56:51 <Vorpal> elliott, no no... "abnormally abnormally ends"
19:57:36 <ais523> but "Abend" is german for "afternoon"
19:58:41 <Vorpal> http://en.wikipedia.org/wiki/Abnormal_end
20:00:22 <ais523> I was even thinking "evening" as I typed that line
20:00:38 <ais523> and looked up when I saw your correction and found that I'd somehow written the wrong thing anyway
20:12:26 <Vorpal> elliott, man mkfs.ext4, check docs for -E discard/nodiscard
20:12:30 <Vorpal> both claim to be the default
20:17:21 <Vorpal> elliott, do this error look sane to you? "The resize maximum must be greater than the filesystem size."
20:17:37 <Vorpal> elliott, it doesn't to me, because I'm trying to go for the "equal" case
20:17:43 <elliott> Yes, because it allocates some space for it, IIRC
20:17:59 <Vorpal> elliott, well, I'm trying to go for the case of not being able to grow my /boot
20:18:09 <Vorpal> you see, I don't plan to resize /boot
20:18:23 <Vorpal> in fact since it is an MBR style partition, it would be a PITA
20:18:58 <elliott> Just choose a size slightly bigger, FFS
20:19:28 <Vorpal> elliott, well I did, but it still seems stupid :P
20:21:08 <Vorpal> Showing results for ZFS TRIM. Search instead for JFS TRIM.
20:21:57 -!- oerjan has joined.
20:22:38 <elliott> Vorpal: you complain about jfs data loss
20:22:41 <elliott> Vorpal: and then go to use zfs?
20:22:55 <Vorpal> elliott, read what I said again
20:23:06 <Vorpal> elliott, I searched for JFS TRIM
20:23:12 <Vorpal> and it gave me ZFS TRIM
20:23:30 <elliott> yeah i don't think jfs supports TRIM yet
20:23:33 <elliott> Vorpal: http://lwn.net/Articles/345020/
20:23:36 <elliott> found via http://www.mail-archive.com/jfs-discussion@lists.sourceforge.net/msg01486.html
20:24:15 <Vorpal> elliott, so ext4 it is
20:24:27 <elliott> Vorpal: um did you not read my link
20:24:42 <elliott> and also did you not listen when I said TRIM is really irrelevant for you and you can always retcon it on later if it gets added
20:26:15 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
20:26:20 <elliott> These basically scan for free blocks in a filesystem, and batch them together
20:26:20 <elliott> into huge DSM/TRIM commands to the drive, letting it know about them all for
20:26:20 <elliott> garbage-collection and wear-leveling purposes.
20:26:29 <Vorpal> elliott, using hdparm on jfs on top of lvm2... HRRM!
20:26:42 <elliott> But seriously, don't make an FS decision based on TRIM support, it's really irrelevant considering you can
20:26:53 <elliott> - wipe the drive and copy the fs back later if trim gets added
20:27:00 <elliott> - it won't make any difference at all for years and years anyway
20:28:35 <elliott> well you don't even have to wipe the drive
20:28:39 <elliott> you could just take advance of TRIM incrementally
20:28:44 <elliott> but if you wanted it to be like "TRIM all along"...
20:49:19 -!- elliott has quit (Remote host closed the connection).
20:49:24 -!- elliott_ has joined.
21:01:08 <olsner> I saw "abend" in the log ... I hope you were talking about abnormal ends of batch jobs
21:01:45 <olsner> (btw: batch is only one letter away from bitch)
21:02:09 <monqy> botch butch betch bytch
21:03:23 <olsner> lawl: "protect yourself from net fraud with paypal" ... more like expose yourself
21:03:45 <olsner> I've encountered net fraud exactly once, and it was paypal who stole my money
21:07:56 -!- foocraft_ has joined.
21:09:58 <elliott_> first i followed on with monqy, "themes on bach"
21:10:00 -!- _foocraft has quit (Ping timeout: 258 seconds).
21:10:07 <elliott_> then i was "paypal absurd moneyfraud extraordinphishaire"
21:11:28 <newsham> so long and thanks for all the phish
21:11:31 -!- Sgeo has quit (Ping timeout: 240 seconds).
21:15:25 <olsner> that looked like "oljud" during the first three (or so) looks
21:15:31 <olsner> which is swedish for noise
21:16:33 <olsner> (well, annoying noise - not-as-annoying noise has a different word)
21:18:13 -!- Patashu has joined.
21:33:40 <olsner> oerjan: what's it in norwegian then?
21:37:10 <olsner> jag menar, vad heter "oljud" på norska?
21:38:00 <elliott_> Ég tala ekki það tungumál hvað er þetta hjálpa þar sem er eldfjalla minn: (
21:38:30 <elliott_> oerjan: (what does that mean?)
21:38:31 <olsner> hmm... having trouble with the tongues and the volcanoes, are we?
21:38:39 * oerjan wonders why elliott_ suddenly is talking about volcanoes
21:39:00 <elliott_> Ég er íslenskur maður við erum einföld höfum eldfjöll og einnig ís en ekki mikið meira og það er það sem er á Íslandi og
21:39:37 <oerjan> surely you must at least have polar bears
21:39:53 <olsner> can polar bears swim that far?
21:40:24 <olsner> sure, they're on the north pole and all the way down lofoten(?), but iceland is quite far west of there
21:40:28 <oerjan> olsner: i vaguely recall a story about a polar bear making it to iceland a few years ago
21:42:25 <olsner> fan vet jag, men öl är öl
21:42:45 <elliott_> hjálp hvað eru orð og, hvernig segi ég þá
21:43:15 <elliott_> Einnig gæti ég haft faðmlag ég er mjög langt frá Íslandi og þess vegna er ég hræddur við dauðann (þetta er íslenska leiðin;
21:43:49 * oerjan was a bit confused as he thought bjór was some inflection of björn
21:44:30 <olsner> I just read that as "what is bear"
21:44:54 <olsner> elliott_: what is bear!?
21:45:23 <oerjan> elliott_: given the crazy _actual_ declination of björn, it's completely plausible at a glance :P
21:47:00 <olsner> maybe you should ask an icelander instead of a norwegian
21:47:37 <elliott_> Deewiant: how do you know, you're no icelanderic.
21:47:49 <elliott_> or do you know all those language things.
21:48:05 <oerjan> elliott_: i don't know enough icelandic to distinguish your sentences from grammatically correct ones
21:48:06 <Deewiant> "Hvað er Björn" just seems wrong
21:48:15 <Deewiant> Didn't really look at the rest
21:48:26 <elliott_> Deewiant: It's just S"What is Björn"
21:48:40 <olsner> "björn" seems unlikely to be the icelandic form of it
21:48:52 <elliott_> it was a crosslingual boundarymunction
21:48:57 <oerjan> olsner: um björn _is_ icelandic for bear
21:49:01 <Deewiant> And that's like saying "what is elliott"
21:49:20 <olsner> because it's also swedish for bear
21:49:26 <oerjan> olsner: i was surprised too :P
21:49:32 <elliott_> Deewiant: It's right because that's what I typed in :P
21:49:37 <olsner> it's not supposed to be the same words ever, icelandic should be weird!
21:49:43 <Deewiant> elliott_: Hence "as good as your English"
21:49:45 <oerjan> my first guess was that it would be bjónn
21:49:50 <elliott_> <oerjan> olsner: um björn _is_ icelandic for bear
21:50:21 <olsner> elliott_: icelandic quotes every word you know
21:50:36 <elliott_> olsner: hshut up i did alt-{ space
21:50:59 <Deewiant> elliott_: http://www.dailykitten.com/wp-content/uploads/2011/06/373-046.jpg
21:51:42 <olsner> or, of course, alt-altgr-7
21:52:32 -!- Sgeo has joined.
21:53:16 <oerjan> do _not_ confuse with a different daily.*tten.com
21:53:17 <Vorpal> olsner, what OS? I just tried it here, and it does nothing (as I expected) :P
21:53:33 <olsner> Vorpal: not OS, keyboard layout
21:53:41 <Vorpal> olsner, okay what keyboard layout then
21:54:05 <olsner> except that alt-8 was based on misreading { as (
21:54:55 <olsner> alt+shift+key-right-of-p makes an alt-{ on an american layout (which is alt-Å on a swedish keyboard)
21:55:20 <olsner> and alt-altgr-7 makes alt-{ on a swedish keyboard
21:55:30 <olsner> if alt and altgr combine, that is
22:08:15 -!- copumpkin has joined.
22:20:46 <Vorpal> elliott_, that physical CPU meter was in my queue of videos, just watched it. awesome
22:24:34 <Vorpal> Phantom_Hoover, http://www.youtube.com/watch?v=vgZEfExBBiY
22:25:08 <Phantom_Hoover> Is that thing actually measuring the current to the chip?
22:25:54 <Vorpal> Phantom_Hoover, I don't know
22:26:00 <Vorpal> Phantom_Hoover, probably not
22:26:14 <Vorpal> because adding a meter there would probably upset the chip badly :P
22:26:19 <Vorpal> and be hard to fit too
22:28:55 -!- Phantom_Hoover has quit (Quit: Leaving).
22:31:42 -!- elliott_ has quit (Quit: Leaving).
22:42:45 -!- Sgeo has quit (Ping timeout: 240 seconds).
22:44:35 <lambdabot> forall a. (Eq a) => [a] -> [a] -> [a]
22:47:58 <newsham> > [1,2,3,4,5,6,7,8,9] \\ [5,3,11]
23:02:08 <oerjan> grumble reddit is having one of those days
23:04:53 <oerjan> "502 Bad Gateway"? i guess that's more serious than the usual down message...
00:12:46 <Lymee> > [1..] \\ [1,2,3,4,5]
00:12:46 <lambdabot> [6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,...
00:17:51 <ais523> although it would be amazing if it worked
00:18:29 <Lymee> It would be easy, wouldn't it.
00:18:41 <Lymee> Create a new infinite list which checks if the element is in the second list before yielding it.
00:18:50 <Lymee> Do a linear search which short circuits.
00:18:54 <Lymee> Is this hard in Haskell?
00:19:15 <Lymee> > [1..] \\ [2,4..]
00:19:31 <Lymee> If it doesn't exist, you end up with an infinite loop.
00:29:03 <Patashu> why can't haskell do proper strength reduction!!!!
00:29:47 <oerjan> > let odiff [] _ = []; odiff l [] = l; odiff xss@(x:xs) yss@(y:ys) = case compare x y of LT -> x:odiff xs yss; EQ -> odiff xs ys; GT -> odiff xss ys in odiff [1..] [2,4..]
00:29:50 <lambdabot> [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,5...
00:40:18 <lambdabot> [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,5...
00:42:00 <ais523> I think you missed the point of the question
00:42:02 <oerjan> a very small trinket, perhaps.
00:52:01 <CakeProphet> oerjan: that above only works on ordered lists right?
00:52:14 <oerjan> yes, that was the idea
00:55:39 <oerjan> and it could fail on data types other than integers, if infinitely many elements of the first list are larger than all of the second infinite one
00:56:38 <oerjan> ...actually, if _any_ element of the first list is larger than all of the second one
00:57:38 <oerjan> > let odiff [] _ = []; odiff l [] = l; odiff xss@(x:xs) yss@(y:ys) = case compare x y of LT -> x:odiff xs yss; EQ -> odiff xs ys; GT -> odiff xss ys in odiff [Left 10, Right 1] [Left n | n <- [1,3..]]
00:57:50 <CakeProphet> but if the second list is ordered in increasing order to infinity this is usually not the case, unless your data type has some sort of non-linear ordering.
00:58:13 <oerjan> CakeProphet: um that's what i meant by "non-integer"
00:58:25 <oerjan> and that was an example above
00:58:54 <oerjan> (technically that Left 10 should have got through, but i guess the timeout didn't keep the output)
01:00:32 <oerjan> also that's not non-linear, there are just two consecutive copies of the Integers.
01:00:39 -!- ais523 has quit (Remote host closed the connection).
01:01:45 <oerjan> > let odiff [] _ = []; odiff l [] = l; odiff xss@(x:xs) yss@(y:ys) = case compare x y of LT -> x:odiff xs yss; EQ -> odiff xs ys; GT -> odiff xss ys in odiff [-1/10 :: Rational, 1] [-1/n | n <- [1,3..]]
01:04:35 <oerjan> "The Soviet Soyuz 11 spacecraft suffered an uncontrolled decompression during reentry, killing cosmonauts Vladislav Volkov, Georgiy Dobrovolskiy and Viktor Patsayev—the only human deaths to occur in space."
01:05:18 <oerjan> so as far as we know, no human being has ever got _lost_ in space...
01:06:40 <quintopia> his capsule knew which way to go, though
01:08:31 <oerjan> so if i calculate correctly, today agora is an adult
01:08:45 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
01:15:30 <augur> tell me about july 27th
01:20:07 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:21:33 -!- Vorpal has quit (Ping timeout: 240 seconds).
01:24:59 -!- zzo38 has joined.
01:26:51 <zzo38> Today I was trying to figure out how to switch the Linux console into codepage 437 (at FreeGeek). I eventually figured out but it was a bit difficult. It required using the dd command with another dd command in a ` ` piped to awk and other things like that.
01:27:00 <zzo38> Is there simpler ways?
01:46:29 <lifthrasiir> zzo38: i don't know; btw why do you need codepage 437?
01:50:01 <zzo38> lifthrasiir: Some programs use it (including NetHack) and I wanted to the Linux console using not unicode. I have root access on those machines but it can be configured to work on individual sessions easily using the way I have, so it won't affect anything anyone else does (especially if using X).
01:51:15 <zzo38> The way I did it required a command structure something like this: dd if=/dev/mem skip=`dd if=/dev/mem | od | awk`; consolechars
01:51:33 <zzo38> Note I omitted most of the command-line parameters
01:52:14 <zzo38> Actually, I also used echo -e
01:53:31 <zzo38> echo -e is required to send the codes to turn off unicode and it is also necessary to turn off the character mapping by using the "console chars" program.
01:54:12 <zzo38> However, at least it could be done without rebooting (some documents said you needed to reboot)
01:54:24 * pikhq is distro-shopping. Again.
01:55:08 <pikhq> Hmm. I wonder how usable NixOS is.
02:22:03 <CakeProphet> not satisfied with the usual ambiguities of degree in language, I seek to quantify everything with silly point systems.
02:27:51 <lifthrasiir> (silly point) systems or silly (point systems)?
02:28:47 <monqy> silly ((silly point) systems)
02:29:29 <Lymee> -1 fake lisp points
02:30:43 <CakeProphet> it was more like ((((silly)) ((((point)) ((systems))))))
02:31:54 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:31:55 <CakeProphet> in cases like the one quintopia likes, I usually hyphenate. silly-point systems.
02:32:25 <CakeProphet> unless it's just clear from context or whatever.
02:33:25 -!- myndzi\ has quit (Ping timeout: 258 seconds).
02:34:56 -!- myndzi has joined.
02:42:33 -!- copumpkin has joined.
02:42:34 -!- copumpkin has quit (Changing host).
02:42:34 -!- copumpkin has joined.
02:44:18 -!- pumpkin has joined.
02:46:43 -!- copumpkin has quit (Ping timeout: 246 seconds).
02:47:33 <CakeProphet> > foldr $! (*) 33 (replicate 99999999999 1)
02:47:34 <lambdabot> Couldn't match expected type `a -> b -> b'
02:47:50 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> b
02:48:30 <oerjan> foldr' makes little sense as a direct recursion
02:49:16 <oerjan> you'd have to reverse the list first to make it efficient without exhausting the stack
02:50:25 <oerjan> since (*) is strict, you can probably get the same result by just using foldr?
02:51:40 <oerjan> now since (*) is also commutative, foldl' might be equivalent...
02:52:16 <oerjan> well sort of, it won't overflow the stack...
02:52:26 -!- pumpkin has changed nick to copumpkin.
02:52:28 <oerjan> and can probably be optimized into a loop
02:54:07 <CakeProphet> > let id1 x = foldr (*) x (replicate 99999 1); id2 = (!!999999999999 . iterate id1;
02:54:08 <lambdabot> <no location info>: parse error on input `;'
02:54:33 <CakeProphet> > let id1 x = foldr (*) x (replicate 99999 1); id2 = (!!999999999999) . (iterate id1) in id2 33
02:55:08 <CakeProphet> ..success. Time to write a library for inefficient chaining of inefficient id functions.
02:58:10 <oerjan> i have a hunch that that would have overflowed the stack if it actually got to finish building the thunks...
02:58:35 <oerjan> > let id1 x = foldr (*) x (replicate 99999 1); id2 = (!!999) . (iterate id1) in id2 33
02:59:59 <pikhq> Apparently, NixOS does not currently install.
03:00:24 <oerjan> you can only have NixOS if you already have it. *MWAHAHAHAHA*
03:02:52 <Lymee> NixOS seems interesting.
03:02:55 <Lymee> I'd love to see how it turns out.
03:03:11 <Lymee> > let id1 x = foldl (*) x (replicate 99999 1); id2 = (!!999999999999) . (iterate id1) in id2 33
03:03:15 <pikhq> Yeah, it's a very clever concept.
03:03:29 <pikhq> But with a completely and utterly broken installer, I have to rate its usability as "0".
03:03:39 <pikhq> (estimation: locks up on boot in qemu)
03:03:43 <Lymee> "if you change the kernel, Nix will ensure that external kernel modules such as the NVIDIA driver will be rebuilt as well"
03:03:55 <coppro> welcome to every sane distroy
03:04:43 <pikhq> coppro: What's more interesting about NixOS is that it makes it very, very difficult to break an install.
03:05:00 <pikhq> For instance, it is pretty much impossible for a library update to break packages.
03:05:15 <pikhq> Well. That's a feature of Nix, which NixOS uses. But you know what I mean.
03:05:54 <quintopia> wow, nix apparently is being developed on ARM
03:06:18 <Lymee> pikhq, sudo rm -rf /usr/lib
03:06:25 <quintopia> here's the thing that bothers me about it
03:06:29 <pikhq> Lymee: No such directory.
03:06:35 <Lymee> pikhq, sudo rm -rf /nix
03:06:57 <quintopia> since it never deletes old packages
03:07:00 <pikhq> Yesss, that would break it.
03:07:09 <quintopia> doesn't it slowly eat your storage up?
03:07:22 <pikhq> quintopia: You can call for a collection cycle.
03:07:24 <Lymee> quintopia, I assume it would have an "clean" command or something to manually purge things.
03:07:32 <Lymee> If they didn't think of it, I would be shockced.
03:07:51 <pikhq> Thereby telling it to garbage collect any packages not currently referenced by a configuration.
03:07:57 <quintopia> pikhq: so like "delete all configurations before X"?
03:08:17 <pikhq> quintopia: No, you'd do "delete all configurations before X", and then "garbage collect".
03:14:24 -!- azaq23 has quit (Ping timeout: 244 seconds).
03:17:00 * pikhq is so very tempted to NIH a distro.
03:17:05 <pikhq> This is not a good thing.
03:22:10 -!- zzo38 has quit (Remote host closed the connection).
03:27:42 <Lymee> I assume that installing Nix on an existing system is a bad idea.
03:33:03 <pikhq> That's an intended use-case.
03:35:13 <quintopia> what if the maintainers fuck up your shit
03:35:25 <pikhq> Okay, so you have a bad package.
03:35:46 <quintopia> yep and you need that package. it's the most important thing you need on your system
03:36:09 <pikhq> So, what you're saying is basically, "imagine that libc fucked up".
03:36:34 <quintopia> yes, or that the package that installs it fucks up or something
03:36:56 <pikhq> Only packages that depend on that specific package will be affected by it.
03:36:57 <quintopia> because packages here seem to be doing a lot more than traditional packages
03:37:09 <pikhq> All others will be depending on the previous libc.
03:38:08 <quintopia> do you think the userbase will be able to keep up with the demand for new packages?
03:39:36 <pikhq> Do you even understand how Nix works?
03:39:53 <pikhq> You're asking questions that make about as much sense as "What if the cat jumps over the moon?"
03:40:35 <quintopia> not completely, but i wouldn't be asking otherwise
03:40:52 <quintopia> but i do understand that a distro is only as good as its userbase
03:41:04 <oerjan> yeah everyone knows it's cows who do that
03:42:21 <pikhq> Okay, so each package has its files in /nix/HASH-pkgname/, where HASH is a cryptographic hash of all its dependencies concatenated (IIRC, things like "configuration settings" are part of that, and I know that build-time dependencies are)
03:42:49 <pikhq> Each package basically refers to files *in those directories*.
03:43:12 <pikhq> So, a package update literally cannot affect other packages unless those packages update.
03:48:21 <quintopia> i just wanted to know hard it would be to fiddle with a package
03:48:44 <quintopia> say "this package is broken, but i want this package, and the other users aren't fixing it"
03:49:55 <pikhq> Which packages are active (i.e. have symlinks in ~ for the sake of your PATH) is per-user.
03:50:11 <pikhq> You could just build your own packages, and voila.
03:50:13 <quintopia> and you say you can have multiple versions of the same package simultaneously. how much of a troubleshooting headache would this cause? seems like it would make the system dependency graph a bit hairier.
03:51:07 <quintopia> because every time you want to fix something, you have to know which versions of which packages it depends on. is there a tool to make that easier?
03:51:26 <pikhq> Yeees, the package manager.
03:52:02 <pikhq> You don't maintain all this *manually*.
03:52:16 <quintopia> obviously, but that's what bothers me you know :P
03:52:43 <quintopia> it makes it harder for me to visualize the weak points in the system
03:53:18 <pikhq> You might wish to read up on the Nix expression language.
04:01:05 -!- CakeProphet has quit (Ping timeout: 240 seconds).
04:15:14 -!- BeedaWeeda has joined.
04:18:59 <BeedaWeeda> do you think that if you were a kid and you were told growing up that jack and the bean stalk was religion that by the time you got older you would be defending jack and the bean stalk instead of jesus christ?
04:21:07 <monqy> sorry i dont religion
04:22:29 <pikhq> BeedaWeeda: No, because I do not defend the myth of IESVS.
04:23:01 <pikhq> But those who do? I'd certainly imagine so.
04:24:10 <pikhq> It is quite demonstrable that religious belief is primarily correlated with the beliefs of ones parents, followed quite closely by the common beliefs of the region.
04:24:19 <monqy> I'd imagine so too, though perhaps not as many
04:24:36 <pikhq> Well, yes; Jack and the Bean Stalk is a much less self-defending meme.
04:25:23 -!- derrik has joined.
04:26:45 -!- derrik has left.
04:27:01 -!- zzo38 has joined.
04:27:46 -!- BeedaWeeda has quit (Ping timeout: 244 seconds).
04:28:54 -!- BeedaWeeda has joined.
04:31:38 <BeedaWeeda> they had religious beliefs that are very similar to the ones commonly held today
04:31:57 <BeedaWeeda> and they denounced everyone elses gods
04:32:10 <BeedaWeeda> you can study this and see for yourself
04:32:43 <monqy> theory: people are silly
04:34:29 <BeedaWeeda> did you guys see this months edition of national geographic?
04:34:53 <BeedaWeeda> it features that archaeological site in turkey they discovered some decades ago, gobekli tepe
04:35:22 <BeedaWeeda> the site was built by primitive cave men, hunter gatherer type people
04:35:30 <pikhq> BeedaWeeda: No argument with that. It is *indeed* quite amusing that most current religious beliefs are very similar to ancient and dead beliefs.
04:36:47 <BeedaWeeda> they say the cavemen did this all on their own with some rope and logs
04:37:13 <BeedaWeeda> i held my head down in shame, i cant believe anyone could believe
04:37:33 <pikhq> More plausibly, it wasn't "cave men".
04:37:35 <BeedaWeeda> some primitive hunter/gatherer's could build a structure like tha
04:38:11 <pikhq> Such complex structures require, at a minimum, agriculture. Such that you can have people dedicated to such inessential crafts.
04:39:18 <BeedaWeeda> i think civilization goes back much further than is commonly believed in the scientific community
04:39:53 <pikhq> What makes you think that?
04:40:18 <pikhq> What's commonly believed in the scientific community is based upon evidence.
04:40:55 <BeedaWeeda> but unfortunately in a lot of cases, that notion becomes dogma
04:43:11 <pikhq> For instance, the origin of civilization is believed to be somewhere about 9500 BCE, because this is the approximate age of the oldest found sedentary, agricultural culture.
04:43:32 <pikhq> If we find an older such culture, then we can push the founding of civilization further back.
04:44:08 <pikhq> No, this is not an occult chatroom.
04:44:13 <coppro> "I don't put scientists on my committees. Give them more data and they'll just change their minds."
04:46:18 <quintopia> zzo38: i invoke your mystical power!
04:48:08 <zzo38> quintopia: I am at Canada.
04:48:17 <zzo38> What kind of mystical power are you trying to invoke?
04:48:39 <oerjan> whatever it was, i think it was successful
04:48:40 <quintopia> zzo38: BeedaWeeda is interested in Magic
04:49:30 <oerjan> as i was filled with zzo38 mystery at the moment i saw <zzo38> quintopia: I am at Canada.
04:52:24 <quintopia> `addquote <oerjan> as i was filled with zzo38 mystery at the moment i saw <zzo38> quintopia: I am at Canada.
04:52:25 <HackEgo> 475) <oerjan> as i was filled with zzo38 mystery at the moment i saw <zzo38> quintopia: I am at Canada.
04:52:50 <oerjan> i am not sure that works very well without context
04:52:56 <quintopia> anyone who sees that in the future will think it is two quotes
04:53:06 <quintopia> but that is the format that has been accepted
04:53:50 <oerjan> and then they will try to correct the spacing, and we must undo it
04:54:52 -!- Lymee has quit (Ping timeout: 258 seconds).
04:54:56 <quintopia> well you can delete it if you like too
04:55:02 <quintopia> but know that i also received the mystery
04:56:45 <BeedaWeeda> its interesting yea, but i wouldnt dedicate the time necessary to learn it
04:56:50 <zzo38> We very often have quotations without proper context so don't worry about it too much
04:56:53 <oerjan> with zzo38, it's mostly Magic
04:57:36 <oerjan> yeah but elliott has been known to delete them
04:57:48 -!- Lymee has joined.
05:08:00 -!- Vorpal has joined.
05:13:21 <zzo38> Let's play pokemon card: http://zzo38computer.cjb.net/textfile/miscellaneous/pokemon_card/puzzle.1
05:21:42 <zzo38> coppro: Goal is win.
05:22:04 -!- Lymee has quit (Ping timeout: 252 seconds).
05:22:50 <zzo38> Reload the file if necessary; I have clarified a bit
05:22:58 <oerjan> how would one make a game in which the goal was to lose, anyway
05:23:05 <zzo38> coppro: Yes, in one turn.
05:23:22 <zzo38> oerjan: Some chess puzzles might do that possibly (lose without resigning)
05:23:39 <zzo38> (I think in chess they are called "reflex mate")
05:25:19 <zzo38> coppro: Note that if you fail to win this turn, you will lose due to running out of cards!!
05:25:36 <coppro> zzo38: not if you restock your deck with garbage run
05:25:40 <coppro> zzo38: is it something other than gust of wind the porygon, move the damage from the hypno on to it, and then attack it?
05:26:25 -!- Vorpal has quit (Ping timeout: 250 seconds).
05:26:50 <zzo38> coppro: Yes. Doing that will knock out only one opponent's pokemon and you need to knock out 2 opponent's pokemons to win. Note opponent can knock you out in one turn you lose.
05:27:02 -!- Lymee has joined.
05:27:03 -!- Lymee has quit (Changing host).
05:27:03 -!- Lymee has joined.
05:27:30 <zzo38> You can restock your deck but it won't help much (opponent will probably knock you out; they have some cards you cannot see)
05:29:28 <zzo38> One hint: At the end of the game your hand will contain only the 2 cards you picked up from knocking out 2 of opponent's pokemons (what the cards are is irrelevant)
05:30:25 <coppro> oh right I forgot how prizes work
05:32:35 <zzo38> If you win, you make up a puzzle game of pokemon cards next.
05:32:51 <zzo38> (Actually you don't have to make up one if you don't want to)
05:34:44 <zzo38> Also, you cannot use CURSE to move damage from your own cards to opponent's cards. You can only move damage from one of opponent's card to another.
05:34:47 * pikhq has discovered a build system infinitely superior to Make.
05:34:52 <pikhq> I call it "/bin/sh".
05:35:10 <zzo38> pikhq: Yes that is what I use for my own programs.
05:36:27 <coppro> zzo38: can you please include pokemon's types somewhere?
05:36:56 <zzo38> coppro: They are included. That is what the "E:" means.
05:38:03 <pikhq> time sh -c './configure && make'; 2.807 seconds.
05:38:06 <zzo38> (It is short for "Energy type")
05:38:14 <pikhq> time ./build.sh; 0.275 seconds.
05:38:30 <pikhq> Heck time make; 0.349 seconds
05:38:33 <coppro> zzo38: so why does "use power to move damage from hypno to porygon, retreat to hypno, gust of wind mr mime, attack and deal the extra damage to porygon" not work?
05:38:49 <coppro> pikhq: `Heck': command not found
05:38:52 <pikhq> (okay, okay, so time make -j3;0.180 seconds)
05:40:24 <pikhq> If we decide to permit use of GNU parallel:
05:40:44 <zzo38> coppro: Yes, it doesn't work. For one thing, you cannot use CURSE to move damage from your cards to opponent's cards.
05:41:32 <pikhq> ... 0.406 seconds.
05:41:39 <zzo38> Actually I found an error in my text which I have now corrected. Opponent should have *two* of MR. MIME cards.
05:41:40 <pikhq> GNU parallel is slower than I'd like.
05:43:29 <coppro> zzo38: I mean from my opponent's hypno... oh
05:43:41 <coppro> oh wait, the damage is on the dark muk
05:43:42 <zzo38> Opponent has no HYPNO.
05:43:52 <zzo38> Yes, DARK MUK, that makes sense.
05:44:11 <zzo38> Still, I have correct it and now opponent has two MR. MIME cards, so what you say won't work.
05:44:34 <zzo38> (Please reload the file)
05:44:35 <coppro> then I would use gengar's power, use gust of wind, use itemfinder to get back goop, play goop, and then retreat and attack
05:45:00 <zzo38> coppro: Note that ITEMFINDER requires two other cards in your hand in order to do so.
05:46:38 <coppro> it doesn't say that it does
05:46:58 <zzo38> Another typo, thanks I will correct it.
05:49:10 <zzo38> I corrected that typo too, please reload the file.
05:50:09 <coppro> I'm not sure what the garbage run and bill are for
05:50:39 <zzo38> Some of the cards that do not say "irrelevant" can still be irrelevant.
05:51:08 <coppro> but I would go with: use my power to put the damage on porygon. gust of wind so that dark muk is active. retreat the gengar to the spearow; retreat the spearow to the hypno paying the two recycle energies, getting them in hand
05:51:28 <coppro> itemfinder discarding them to get back the goop gas attack, use it, attack dealing 6 damage to dark muk and 1 to porygon, giving two kos
05:51:40 <zzo38> coppro: Yes, good! That is correct.
05:52:43 <coppro> I, sadly, am not very good at puzzle composition
05:52:52 <coppro> much less with Pokemon cards, which I haven't played with in a long time
05:53:19 <coppro> also when you say old-style rules, what has changed?
05:53:35 <zzo38> coppro: I don't know what has changed actually, sorry.
05:55:13 <coppro> I was not under the impression that there were any major rules changes
05:56:56 <zzo38> Yes, this puzzle is in one such case where opponent's cards can be helpful to you!!
05:57:31 <coppro> Yes, that's quite often the case
05:58:30 -!- oerjan has quit (Quit: Good night).
06:01:37 <zzo38> coppro: Yes, in Magic: the Gathering such things are more common.
06:28:38 -!- VanillaIsotope has joined.
06:31:29 <VanillaIsotope> http://i299.photobucket.com/albums/mm295/umar_sajjad/PSY/gifpsy.gif
06:32:44 <zzo38> VanillaIsotope: What is that picture for?
07:01:41 -!- monqy has quit (Quit: hello).
07:02:37 <pikhq> Y'know, the miracles of Jesus really do reflect the time that the gospels were written in.
07:02:46 <pikhq> I mean, curing blindness and leprosy?
07:02:54 <pikhq> Sure, that may have been impressive back then.
07:03:33 <pikhq> But we can replace human vision, and leprosy is a probable target for extinction in the next, oh, 50 years.
07:04:15 <pikhq> It's all a bunch of things that a bunch of 0 CE Jews would've thought impressive.
07:04:39 <pikhq> Most of which a well-prepared time traveller could have pulled off.
07:05:07 <zzo38> Yes, they would call it impressive. Time traveller might be able to do it except that probably time travel cannot be done that way anyways.
07:05:09 <Lymee> Jesus as a time traveler?
07:05:30 <zzo38> I do not believe time travel can be done that way.
07:05:35 <Lymee> Starting Christianity?
07:06:00 <pikhq> We can even improve the amount of miracles doable if we allow for clever tricks to make it *appear* that the miracle happened, rather than actually doing it.
07:06:47 <pikhq> Not going to be able to handle the "rose from the dead" thing without a suicidal double, though.
07:07:50 <zzo38> pikhq: Yes you can figure out such kind of clever tricks, possibly, maybe. It might work. But I doubt the time travel idea will work.
07:08:45 <pikhq> zzo38: I am not proposing this as something someone should/could do.
07:08:53 <pikhq> Just as something to think about.
07:09:09 <pikhq> Ones thoughts need not actually be possible. ;)
07:09:17 <zzo38> pikhq: Yes, it is at least something to think about.
07:10:32 <Lymee> pikhq, "rise from the dead?"
07:10:46 <Lymee> Depends on the level of technology.
07:10:55 <Lymee> If you have, say, brain transfers?
07:11:06 <pikhq> Ah, true. I was merely discussing present technology.
07:11:25 <pikhq> If we allow for future but plausible technology, then bam.
07:11:48 <pikhq> The gospels could then be interpreted as a time traveller playing god.
07:12:16 <Lymee> If Jesus was a time traveler, wouldn't the Bible already exist in their time?
07:15:23 <zzo38> I doubt time travel can work that way. The laws of physics are not to be broken (it is OK to be bent slightly, though). The Old Testament probably already exist in their time, not the New Testament. But even if it is the case they wouldn't have necessarily brought it back in time with them!
07:16:11 <coppro> obligatory: wibbly wobbly
07:16:52 -!- CakeProphet has joined.
07:16:53 -!- CakeProphet has quit (Changing host).
07:16:53 -!- CakeProphet has joined.
07:23:07 -!- CakeProphet has quit (Ping timeout: 276 seconds).
07:47:18 <zzo38> repo.or.cz seems some problem I cannot edit the project settings.
07:47:53 <pikhq> http://aya.shii.org/wp-content/uploads/2011/06/chinabisyoujo10.jpg
07:47:59 <pikhq> The image is not doctored.
07:48:17 <pikhq> The person, obviously, is.
07:51:49 <pikhq> Would it make you feel better to realise that it's a combination of heavy makeup, contacts, and bizarre camera angles on someone with slightly odd proportions?
07:52:57 <pikhq> Well, yes, it is in the uncanny valley.
07:53:16 <coppro> I do feel better than there is no plsatic surgery involved
07:53:54 <coppro> that was my first reaction
08:05:38 <zzo38> I tried to make the Redmine tracking system for TeXnicard, so that now you can post issue report, document, wiki, forum, etc. There are some things isn't very good but at least it can work. However I might have done some things wrong too. https://devlabs.linuxassist.net/projects/texnicard
08:07:06 <zzo38> Maybe I did it wrong I don't know
08:08:20 <zzo38> pikhq: Yes I did when I saw the picture, must think it must be some combination of makeup, contacts, camera angle, odd proportions, etc
08:08:45 <pikhq> Still fucking creepy.
08:09:48 <zzo38> pikhq: Is that what you think?
08:13:06 -!- jcp|other has joined.
08:14:57 -!- javawizard has quit (Ping timeout: 258 seconds).
08:15:23 -!- jcp has quit (Ping timeout: 260 seconds).
08:16:08 <coppro> zzo38 thinks differently, not that it is a bad thing. It's actually quite interesting to watch zzo38 think.
08:16:38 <pikhq> zzo38: It's "uncanny valley" kind of creepiness.
08:17:05 <pikhq> Nothing *inherent*, just the picture triggering my brain into going "WTF THATS NOT RIGHT".
08:17:43 -!- BeedaWeeda has quit (Quit: The internet is full, go away.).
08:21:33 -!- jcp has joined.
08:23:47 <VanillaIsotope> http://ak0.okccdn.com/php/load_okc_image.php/images/16/150x150/558x800/0x39/675x714/0/5208418447782484391.jpeg
08:44:39 <Lymee> pikhq, it has not fallen that low yet.
08:45:30 -!- foocraft_ has quit (Excess Flood).
08:46:14 -!- foocraft_ has joined.
08:57:29 -!- VanillaIsotope has quit (Quit: wrong button).
09:18:10 <zzo38> Make a pokemon card puzzle involving the "IMAKUNI?" card.
09:19:35 <zzo38> Your active pokemon is now confused. Imakuni? wants you to play him as a basic pokemon but you can't. A strange creature not listed in the pokedex, he asks people "Who is cuter, Pikachu or me?"
09:21:02 -!- aloril has quit (Ping timeout: 258 seconds).
09:21:04 <zzo38> I have no link sorry
09:22:34 <zzo38> This card is only in Japan and in Pokemon Card Gameboy
09:23:33 <coppro> http://bulbapedia.bulbagarden.net/wiki/Imakuni%3F_(CoroCoro_promo)
09:23:51 <zzo38> It is, as far as I know, the only trainer card in the game that Pokemon Card Gameboy lets you play even if it would have no effect (where discarding cards from your hand does not count as an "effect" but shuffling your deck does count)
09:34:46 -!- aloril has joined.
09:47:19 -!- Vorpal has joined.
09:47:19 <zzo38> In addition to IMAKUNI? card, I would like to see RAINBOW ENERGY used in some pokemon card puzzle.
09:49:55 <zzo38> RAINBOW ENERGY: Can be used as any kind of energy but causes 1 point of damage to the card it is attached to when you play this energy card to attach.
09:58:45 -!- myndzi has quit (Remote host closed the connection).
09:59:50 -!- mr45 has joined.
10:00:02 -!- mr45 has left.
10:00:23 <zzo38> Make some puzzle involving knock out all six of opponent's pokemons and five of your own, all on the same turn. Is it possible somehow?
10:02:30 <zzo38> Make one where the game lasts multiple turns (maybe you have seen the opponent's cards already somehow)
10:05:18 -!- zzo38 has quit (Remote host closed the connection).
10:08:35 -!- myndzi has joined.
11:35:34 <Vorpal> aiee, grub has a different device map when booting and when running grub-install
11:49:37 -!- CakeProphet has joined.
11:49:37 -!- CakeProphet has quit (Changing host).
11:49:37 -!- CakeProphet has joined.
11:56:37 <Vorpal> the hell /dev/md1 got renamed to /dev/md126 somehow
12:10:54 <CakeProphet> how do I convert hex to byte value in Haskell?
12:49:04 -!- derrik has joined.
12:49:30 -!- derrik has left.
12:58:29 -!- BeholdMyGlory has joined.
12:59:45 -!- azaq23 has joined.
13:03:48 <CakeProphet> it would be cool if we used hex instead of decimal.
13:04:33 <lambdabot> [16.0,256.0,4096.0,65536.0,1048576.0,1.6777216e7,2.68435456e8,4.294967296e9...
13:04:41 <lambdabot> [16,256,4096,65536,1048576,16777216,268435456,4294967296,68719476736,109951...
13:04:58 <CakeProphet> we could rarely need more than 5 digits to really talk about most things.
13:07:56 <CakeProphet> same with scientific communication if you employ scientific notation. Though I guess the same could be said about decimal, since then the only thing that matters is your precision.
13:08:07 <lambdabot> [1,16,256,4096,65536,1048576,16777216,268435456,4294967296,68719476736,1099...
13:10:13 <CakeProphet> not really very different in elegance. I guess it's more efficient.
13:12:47 <Deewiant> Aye, but I think it's less more efficient than I first thought
13:13:38 <Deewiant> I think both do a number of multiplications that's linear in the length of the list
13:18:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:19:15 <CakeProphet> @pl fibs = 0:1:zipWith (+) fibs (tail fibs)
13:19:15 <lambdabot> fibs = fix ((0 :) . (1 :) . ap (zipWith (+)) tail)
13:20:17 <CakeProphet> I guess that actually is a nice definition.
13:21:09 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
13:21:26 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
13:22:46 <CakeProphet> @pl scanl f n = (n:) . ap (zipWith f) tail
13:22:46 <lambdabot> scanl = flip ((.) . (:)) . (`ap` tail) . zipWith
13:24:18 <Deewiant> @check \n xs -> scanl (+) n xs == ((n:) . ap (zipWith (+)) tail) xs
13:24:18 <lambdabot> "Falsifiable, after 1 tests:\n-3\n[3,0,-3]\n"
13:24:58 <CakeProphet> oh. I just took what you replaced with scanl (+) 1
13:27:28 <CakeProphet> @check \xs -> scanl (+) 1 xs == ((1:) . ap (zipWith (+)) tail) xs
13:27:29 <lambdabot> "Falsifiable, after 1 tests:\n[-1,-2]\n"
13:30:12 <CakeProphet> > let fibs = -1 : 1 : zipWith (+) fibs (tail fibs) in take 10 fibs
13:31:00 <Deewiant> > take 10 $ fix ((-1:) . scanl (+) 1)
13:31:45 <CakeProphet> but really you could do that with any n and -n pair so... it's not really unique or anything.
13:32:26 <CakeProphet> I don't really know if you could coherently go "backwards" from 0 in the fibonacci sequence.
13:33:08 <Deewiant> > take 10 $ fix ((-1:) . scanl (+) 0)
13:33:25 <Deewiant> > take 10 $ fix ((0:) . scanl (+) (-1))
13:33:36 <CakeProphet> > let fibs = 2 : -1 : zipWith (+) fibs (tail fibs) in take 10 fibs
13:33:52 <CakeProphet> > let fibs = -3 : 2 : zipWith (+) fibs (tail fibs) in take 10 fibs
13:34:36 <CakeProphet> well you you can just alternate sign as you count up in absolute value.
13:35:26 <CakeProphet> > let fibs = 5 : -3 : zipWith (+) fibs (tail fibs) in take 10 fibs
13:36:18 <CakeProphet> > let fibs = -8 : 5 : zipWith (+) fibs (tail fibs) in fibs
13:36:19 <lambdabot> [-8,5,-3,2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,...
13:37:14 <CakeProphet> so it's actually just the original fibonacci sequence but in reverse and with alternating signs.
13:40:10 <CakeProphet> > let fibs = 55 : -34 : zipWith (+) fibs (tail fibs) in fibs
13:40:10 <lambdabot> [55,-34,21,-13,8,-5,3,-2,1,-1,0,-1,-1,-2,-3,-5,-8,-13,-21,-34,-55,-89,-144,...
13:40:26 <CakeProphet> > let fibs = -55 : 34 : zipWith (+) fibs (tail fibs) in fibs
13:40:26 <lambdabot> [-55,34,-21,13,-8,5,-3,2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,...
13:41:55 <CakeProphet> alternating the sign correctly is important. Otherwise you'll end up with the negative Fibonacci sequence. He's a real curmudgeon.
13:44:53 <CakeProphet> > let fibs = -55 : 34 : zipWith (+) fibs (tail fibs) in foldl1 (+) $ take 21 fibs
13:47:25 <CakeProphet> > let fibs = -55 : 34 : zipWith (+) fibs (tail fibs) in foldl1 (+) $ take 20 fibs
13:49:13 <CakeProphet> > let fibs = 89 -55 : zipWith (+) fibs (tail fibs) in foldl1 (+) $ take 23 fibs
13:49:40 <CakeProphet> > let fibs = 89 : -55 : zipWith (+) fibs (tail fibs) in foldl1 (+) $ take 23 fibs
13:49:48 <CakeProphet> > let fibs = 89 : -55 : zipWith (+) fibs (tail fibs) in foldl1 (+) $ take 22 fibs
13:51:30 -!- Gregorrrrr has joined.
13:53:56 <CakeProphet> or you know, just forever (putChar 'y') or something
13:54:53 <CakeProphet> or fix (putChar 'y' >>) I believe would work.
14:19:01 -!- jcp has quit (Ping timeout: 246 seconds).
14:19:21 -!- jcp has joined.
14:21:32 -!- jcp|other has quit (Ping timeout: 264 seconds).
14:25:06 -!- copumpkin has joined.
14:25:06 -!- copumpkin has quit (Changing host).
14:25:07 -!- copumpkin has joined.
14:25:37 -!- javawizard has joined.
15:18:59 -!- Gregorrrrr has quit (Ping timeout: 252 seconds).
15:21:32 -!- Lymee has quit (Ping timeout: 264 seconds).
15:39:46 -!- zzo38 has joined.
15:40:56 <zzo38> Probably the reason my repo.or.cz password stopped working is someone reset it.
15:46:05 <zzo38> Now I reset it by myself too and now it works.
16:04:24 -!- augur has quit (Remote host closed the connection).
16:15:51 <zzo38> Did I put enough issue categories in here? https://devlabs.linuxassist.net/projects/texnicard/issues/report
16:16:23 <zzo38> Is there any one I forgot?
16:35:52 -!- Phantom_Hoover has joined.
16:35:59 <Phantom_Hoover> http://www.reddit.com/r/AskReddit/comments/ic80s/whats_an_extremely_controversial_opinion_you_hold/c22p825?context=3
16:36:19 -!- MigoMipo has joined.
16:36:42 <Vorpal> Phantom_Hoover, the pistons in mc 1.7 are cool btw
16:36:49 <Vorpal> in case you didn't notice, it is out
16:44:19 <Phantom_Hoover> Vorpal, so yeah, pistons are cool, but I can't really think of an original use offhand.
17:08:06 <Vorpal> Phantom_Hoover, I haven't updated yet, I'm running thermal stress test on my new computer
17:08:12 <Vorpal> if you want 1.6 I can give it however
17:08:50 <Vorpal> and wow, this GPU fan is quiet
17:22:44 -!- augur has joined.
17:40:48 -!- ais523 has joined.
17:42:14 -!- zzo38 has quit (Remote host closed the connection).
18:09:21 -!- monqy has joined.
18:35:33 -!- aloril has quit (Ping timeout: 240 seconds).
18:47:42 -!- NihilistDandy has joined.
18:48:56 -!- aloril has joined.
18:55:26 -!- copumpkin has quit (Ping timeout: 240 seconds).
18:56:05 -!- copumpkin has joined.
18:56:06 -!- copumpkin has quit (Changing host).
18:56:06 -!- copumpkin has joined.
19:29:38 -!- oerjan has joined.
19:33:50 -!- Phantom_Hoover has changed nick to evening.
19:40:22 <oerjan> <Deewiant> I think both do a number of multiplications that's linear in the length of the list
19:40:45 <oerjan> surely the map (16^) and map (16**) duplicate work more...
19:41:21 <Deewiant> ** does, but ^ is specialized for integers so it should be able to do a logarithmic number of multiplications
19:41:33 <Deewiant> It's still more work but I think it's asymptotically the same
19:41:40 <oerjan> not just integers, Integrals
19:42:11 <oerjan> and non-negative ones at that
19:43:11 <oerjan> well O(n log n) i guess, which is still somewhat more than O(n).
19:43:38 <oerjan> log 1 + log 2 + ... + log n
19:44:55 <oerjan> mind you this is still ignoring the exact complexity of each multiplication
19:47:22 <oerjan> stirling's approximation: ln n! = n ln n - n + O(ln(n))
19:47:34 <oerjan> so O(log (n!)) = O(n log n)
20:05:47 <evening> Quick, someone tell me if Clojure is A Bad Thing.
20:06:06 <evening> Logreading elliott: YES I KNOW SHUT UP OK
20:07:05 -!- evening has changed nick to Phantom_Hoover.
20:18:45 <oerjan> jew jould alwaje look for clojure in evjything
20:19:06 -!- boily has joined.
20:39:21 <boily> sorry, but I'm going to disappear for the weekend for a long paint-job.
20:39:28 <boily> back by monday, I guess!
20:39:33 -!- boily has quit (Quit: WeeChat 0.3.5).
20:44:38 -!- pikhq_ has joined.
20:47:54 -!- pikhq has quit (Ping timeout: 260 seconds).
21:10:48 -!- pikhq has joined.
21:12:54 -!- pikhq_ has quit (Ping timeout: 258 seconds).
21:22:27 -!- elliott has joined.
21:23:06 <elliott> oh that google+ thing came out
21:23:06 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
21:27:05 <quintopia> yeah i should check if my invite is valid yet
21:30:17 <quintopia> does anyone know if it's possible to make it so i don't get emailed about replies to my comments on a particular youtube video?
21:30:35 <quintopia> people keep replying even though i posted it a month ago and haven't said a thing since
21:30:46 <elliott> reply saying everyone is a faggot
21:30:58 <Gregor> Every last human being.
21:31:44 <oerjan> Gregor: nah there's still artificial insemination
21:32:47 <oerjan> yeah that could be awkward
21:33:03 <quintopia> Gregor: i just invented human parthenogenesis. we can be gay and still live on!
21:33:36 <oerjan> except for very sparsely populated countries, maybe
21:33:51 <oerjan> india would go down in flames
21:34:32 <oerjan> norway will greatly regret our insistence on building houses out of wood
21:34:35 <Phantom_Hoover> <quintopia> people keep replying even though i posted it a month ago and haven't said a thing since
21:35:29 <elliott> comex: go make gmail think that you send your messages
21:35:34 <elliott> maybe by removing the .s :P
21:35:53 <elliott> Phantom_Hoover: Wait did you just invent us catching fire rapidly for no reason or is there a link I'm missing.
21:36:13 <oerjan> elliott: no you did. pay attention.
21:36:41 <elliott> I liked it better when it was just "gays are really flammable for no reason at all".
21:37:16 <oerjan> i think the term is "flamboyant"
21:37:49 -!- augur has quit (Remote host closed the connection).
21:38:12 <oerjan> augur ran away before we remembered asking him to confirm
21:42:25 <quintopia> somehow people upvoted my comment to second place
21:42:29 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:50:02 <quintopia> and i have some interest in techniques of math education
21:51:09 <Phantom_Hoover> quintopia, protip: good techniques don't think tau is an important thing.
21:51:54 <quintopia> that is a matter of hotly contested opinion
21:52:07 <quintopia> and i distrust your expertise in the matter
21:52:19 <quintopia> (also, i was into vihart long before tau got popular)
21:52:30 <elliott> hotly contested opinion lol
21:52:37 <elliott> maybe among people who don't actually do any mathematics
21:53:34 <quintopia> among math educators. people who actually do mathematics couldn't give a rat's ass
21:54:30 <elliott> ok show me someone who actually teaches mathematics who gives a rat's ass, also, someone who's level of education actually involves teaching people pi
21:54:38 <elliott> as opposed to like a preschool teacher
21:55:02 <Phantom_Hoover> quintopia, protip 2: if you're teaching maths properly, i.e. to people who would benefit from it, tau vs. pi is irrelevant.
21:55:43 <quintopia> "peole who would benefit from it" is everyone
21:56:13 <Phantom_Hoover> quintopia, I'm not so deluded as to think everyone's time is worth learning calculus.
21:56:50 <Phantom_Hoover> Sure, it's good to build up your reasoning skills; but tau vs. pi is irrelevant to that.
21:56:56 <quintopia> calculus is not even a field of math
21:57:09 <quintopia> it's a set of tools required by ... engineers mostly
21:57:28 <Phantom_Hoover> There is nothing you can say now that will salvage this.
21:57:41 <quintopia> there are fields of math that require calculus, but calculus would not be called calculus if it weren't meant to be just that: a set of tools
21:57:47 <Phantom_Hoover> You are now firmly marked down as An Idiot in my mind.
21:58:13 <quintopia> you're pretty annoying, you know that?
21:58:26 <oerjan> quintopia: if you exclude calculus from math, then you have also excluded every level of "math" at which tau vs. pi could conceivably matter.
21:58:54 <Phantom_Hoover> quintopia, I don't suffer fools gladly, if that's what you mean.
21:59:04 <quintopia> oerjan: it doesn't really matter to me.
21:59:35 <quintopia> i think tau is slightly more elegant in the grand scheme of things, but i have no data as to its pedagogical value
21:59:42 <elliott> <quintopia> calculus is not even a field of math
21:59:42 <Phantom_Hoover> If you hadn't just said calculus isn't a field of maths, I wouldn't be doing this.
21:59:46 <elliott> <quintopia> it's a set of tools required by ... engineers mostly
21:59:53 <elliott> is he available for laughing purposes
21:59:56 <elliott> i cant do it all by myself
22:00:10 * oerjan throws a pie in elliott's face
22:00:12 <elliott> <quintopia> there are fields of math that require calculus, but calculus would not be called calculus if it weren't meant to be just that: a set of tools
22:00:23 <elliott> hurr calculus is a bunch of integration rules not a set of formal definitions hurrrrr
22:00:39 <elliott> hurr it's actually really hard to act this stupid i'm going to have to stop
22:00:58 <quintopia> i think we're pretty much at the poin that there is no way to make myself understood. there is no reason for me to try.
22:01:41 <elliott> erm, but what's your reply to that
22:01:45 <elliott> quintopia: i have an imagination
22:03:50 <quintopia> alright, if you must have it to prove me wrong...what is the latest groundbreaking theorem in the field of calculus?
22:04:10 <elliott> OK, so something has to be a full field to be mathematics?
22:04:22 <elliott> OK, so if a certain branch of mathematics ends up being mostly solved somehow, it is no longer part of mathematics?
22:04:24 <oerjan> it is not entirely unreasonable to consider calculus to be the mindless part of the field of math otherwise called analysis
22:04:38 <elliott> Of course calculus is analysis? :P
22:05:22 <Phantom_Hoover> oerjan, sure, but it was certainly cutting-edge mathematics when it was developed, and it's still mathematics regardless of the fact that it's been superseded by more developed fields.
22:05:51 <quintopia> oerjan's point is my point exactly
22:05:53 <Phantom_Hoover> Nothing new comes out of it because it advanced to the point that the new stuff got different names.
22:07:15 <Phantom_Hoover> quintopia, OK, run by me why, exactly, calculus is not a field of mathematics.
22:07:15 <quintopia> from the dictionary: "a method of calculation"
22:07:51 <elliott> Dictionary: literally God.
22:07:58 <elliott> Newton + dictionary: you have now won the argument.
22:08:10 <Phantom_Hoover> quintopia, I really don't see how you can't view it as mathematics.
22:08:29 <quintopia> addition and subtraction is mathematics too
22:08:40 -!- Vorpal has quit (Ping timeout: 240 seconds).
22:08:41 <oerjan> didn't he add some "of ..." to the phrase for distinction? the latin word "calculus" would include plain arithmetic...
22:08:59 <quintopia> oerjan: "calculus of integration" etc. yes.
22:09:02 <Phantom_Hoover> oerjan, the Latin word calculus just means 'pebble', doesn't it?
22:09:27 <Phantom_Hoover> quintopia, wait, you're basing this on pedantry of the very hazily-defined word 'field'?
22:09:53 <Phantom_Hoover> Which seems to mean, in your mind, an area of mathematics in which active research is being pursued?
22:10:00 <quintopia> of course. i consider a field to be a branch of the science/art where research takes place.
22:10:08 <elliott> you said that "calculus wasn't mathematics"
22:10:13 <elliott> you must defend this statement, not any other
22:10:15 <quintopia> things you can get a doctoral degree in
22:10:24 <elliott> so addition is not mathematics?
22:10:28 <elliott> you can't get a doctorate in addition
22:10:52 <quintopia> it is a tool of mathematics, but boasts nothing of the art
22:11:04 <oerjan> elliott: now division on the other hand...
22:11:26 <elliott> this is stupid and you're stupid
22:11:55 <Phantom_Hoover> Its history alone is a perfect illustration of the reasons for rigour.
22:12:18 <quintopia> it is not a field. this is what i said, and this is what i mean. it is useful in a couple of fields, but it is not (although it might once have been) a field unto itself
22:12:25 <oerjan> stupid est et stupidi estis
22:13:31 -!- azaq23 has quit (Quit: Leaving.).
22:15:06 -!- Robdgreat has left.
22:16:54 -!- Lymee has joined.
22:16:55 -!- Lymee has quit (Changing host).
22:16:55 -!- Lymee has joined.
22:20:16 <pikhq> oerjan: stultum est et stulti estis?
22:22:06 <oerjan> they're both latin words...
22:29:50 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:30:39 -!- nooga has joined.
22:34:55 <nooga> i've got 16 girls in my apartament and they can drink more than me
22:35:16 <nooga> my gf invited them
22:35:46 <quintopia> really. 16 people can drink more than one?
22:36:05 <nooga> every single one can
22:37:08 <oerjan> maybe they're secretly refilling your drink while you're not watching
22:37:36 <oerjan> being 16, should not be hard
22:41:30 <nooga> we drink shots man
22:42:39 <oerjan> maybe they're secretly watering out their _own_ shots
22:48:15 <oerjan> ah the classical reverse trolling
22:49:43 <elliott> nooga: turn into an architecte
22:49:44 <elliott> nooga: turn into an architect
22:53:03 <elliott> Will it be a space rock opera.
22:54:48 -!- Phantom_Hoover has quit (Quit: Leaving).
22:58:21 <elliott> How do HTTPS query strings work?
22:58:31 <elliott> Wait, the path is sent encrypted, right?
22:58:35 <elliott> So HTTPS query strings aren't sent in plaintext.
23:27:52 -!- fizzie has quit (Ping timeout: 240 seconds).
23:31:08 <pikhq> So, I've found a usage where redo fucking makes sense.
23:32:51 <nooga> 1364 seconds of joy
23:37:16 <pikhq> It makes sense because all you really want in your build setup is a shell script that happens to handle dependencies.
23:37:22 <pikhq> And redo offers just that.
23:37:57 <elliott> also everything that can run a shell script
23:38:15 <pikhq> elliott: tup fails pretty horribly at this, actually.
23:39:17 <pikhq> Doesn't much like things like "directories".
23:39:34 <pikhq> You can't have a Tupfile build a file in a seperate directory from what it's in.
23:40:07 <pikhq> Nor can you easily have a Tupfile untar, cd, ./configure&&make&&make install.
23:41:50 <pikhq> And make handles the case pretty poorly, because in order to do even slightly more complex package builds, I pretty much need to have it call into a seperate shell script.
23:42:08 <pikhq> And having dependency info seperate from the actual rules to make it is a pain.
23:49:42 -!- copumpkin has joined.
23:49:42 -!- copumpkin has quit (Changing host).
23:49:42 -!- copumpkin has joined.
23:55:04 <oerjan> nough, made by fairies