00:01:12 <zzo38> What does reticent Millwall mean? I don't actually know the names of any of the systems
00:02:14 <Phantom_Hoover> Well, it's a modification of Millwall such that it doesn't end up at O(\zeta(n)) in the case of pseudoretrocausal scores.
00:02:34 <zzo38> I don't even know what Millwall means
00:03:37 <zzo38> Yes it is true I don't know. It might correspond to something that I understand but don't know the name of.
00:04:25 <Phantom_Hoover> It's just ablative exponentiation combined with Chiswick normalisation.
00:04:36 -!- calamari has joined.
00:04:46 <elliott> zzo38: The key part of millwall is w(x) = \tau 2^-x - \zeta(e+pi)^(i pi x)
00:04:58 <elliott> \tau 2^-x being the Chiswick normalisation ofc
00:05:21 <zzo38> elliott: O, OK. But I still don't know if that has anything to do with five pin bowling.
00:05:28 <elliott> You take the integral of that and floor the result and plug it into the standard Chernobyl construction
00:05:44 <elliott> I thought we were talking about theoretical physics.
00:05:49 <zzo38> Yes, five pin bowling is what I was asking about
00:06:06 <Phantom_Hoover> Unfortunately fivepin bowling isn't subject to the Katamari degeneracy, so there's no closed form for the integrand.
00:06:44 <Sgeo> Phantom_Hoover, elliott kallisti update
00:11:15 -!- Phantom_Hoover has quit (Quit: Leaving).
00:11:28 -!- Phantom_Hoover has joined.
00:14:09 <Phantom_Hoover> http://www.reddit.com/r/math/comments/nuob8/what_are_some_applications_of_prime_numbers_in/
00:14:39 -!- madbr has quit (Ping timeout: 252 seconds).
00:15:37 -!- sebbu2 has changed nick to sebbu.
00:17:08 <Sgeo> Phantom_Hoover, http://mspandrew.tumblr.com/post/14993719073/it-loads-just-fine
00:17:32 <zzo38> It loads backward and sideways
00:17:56 <elliott> http://www.reddit.com/r/math/comments/nuob8/what_are_some_applications_of_prime_numbers_in/c3c52bw http://www.reddit.com/r/math/comments/nuob8/what_are_some_applications_of_prime_numbers_in/c3c3f60
00:17:59 <elliott> Phantom_Hoover: so cool ;__;
00:18:41 <elliott> Advice on teaching yourself. Please help. (self.math)
00:19:08 <quintopia> that thing about the cicadas is p awesome. i never knew that.
00:19:19 -!- madbr has joined.
00:21:00 <Sgeo> Everyone who saw the new Homestuck flash: Take a good look at Prospit
00:21:05 <hagb4rd> 2 percent really doesn't seem to be much.. i wonder how they found out
00:21:52 <elliott> Sgeo: stfu until anyone other than you has seen it at the very least
00:22:32 <Sgeo> elliott, I wasn't aware I was the only one who saw it
00:22:35 <Sgeo> I did say update >.>
00:22:45 <elliott> Sgeo: and then Phantom_Hoover said "it doesn't load"
00:23:06 <Sgeo> elliott, but it does load
00:23:09 <quintopia> hagb4rd: it implies that there would be 2% more of the 17yr locusts than the 15yr locusts every 15 years or so. that advantage can add up in terms of population.
00:23:15 <Sgeo> At least for me
00:23:49 <quintopia> also, if a predator does figure out how to explot the composite-locust, there is a boon for that predator, which would further improve the advantage.
00:24:24 <hagb4rd> they must have watched cicadas for about hundred years
00:25:42 <Phantom_Hoover> For a hundred years, they watched us. Counting the years in our life cycle. Factorising. In hindsight, they were really slow at that.
00:27:03 <elliott> Phantom_Hoover: Can we breed cicadas in an environment with computer-controlled predators to crack RSA?
00:27:06 <elliott> Is this the best idea ever?
00:27:27 <zzo38> What time is it on the moon?
00:32:44 -!- Vorpal has quit (Ping timeout: 276 seconds).
00:34:11 <quintopia> why might a tar -xvz just lock up and not print anything?
00:35:33 <Deewiant> If you don't use -f or stdin to give it input?
00:36:02 -!- Vorpal has joined.
00:36:52 <quintopia> yeah of course. pathname already provided.
00:45:17 <calamari> quintopia: I've noticed that with modern versions you don't have to specify the compression type.. tar -xvf filename works great
00:52:29 -!- hagb4rd2 has joined.
00:53:08 -!- hagb4rd has quit (Disconnected by services).
01:03:27 -!- DCliche has joined.
01:03:46 <elliott> Deewiant: Can you get Pandoc included as a GHC boot lib, thx
01:05:18 -!- Phantom_Hoover has quit (Quit: Leaving).
01:06:42 -!- Klisz has quit (Ping timeout: 240 seconds).
01:12:39 <elliott> what is this λ calculus you talked about? Sounds interesting, is it a kind of mathematica for functional programming? Thank you for your hints! – makelc Mar 7 at 8:15
01:16:09 <elliott> http://symbolhound.com/ oh awesome
01:28:35 <elliott> lmfao, there's a closed Stack Overflow question ... asked by Alan Kay
01:30:33 <Sgeo> Xanadu is still a thing being worked on, right?
01:33:01 <Sgeo> http://xanarama.net/
01:33:14 * Sgeo wonders if it works in WINE
01:33:57 <Sgeo> "that I will not redistribute the software, or keys to the software, in violation of copyright"
01:34:04 <elliott> <Sgeo> Xanadu is still a thing being worked on, right?
01:34:15 <Sgeo> " to render my firstborn to be brainwashed and enslaved in Xanadu's underground dungeons"
01:35:41 <Sgeo> Copyright 2007
01:36:16 <Sgeo> It's not rendering properly, I think
01:36:44 <Sgeo> I agree to give them my firstborn, and for what?
01:37:00 <elliott> Sgeo: Let me attempt to disambiguate my statement somewhat: Xanadu will never, ever be released, not even if everyone working on it stopped dying tomorrow and lived until the sun burned out.
01:37:31 <elliott> Personally I think this is a good thing as I object rather heavily to some of the principles behind it, but it's not like anyone would use it anyway...
01:38:03 <elliott> "We should be able to fly documents in 3D gaming space (using today's incredible gaming graphics)-- http://transliterature.org/index_files/tlit-FlyingIslandDocuments.png" hahaha christ
01:38:37 <Sgeo> I don't know much about it other than it's worse vaporware than Duke Nukem 3d
01:38:51 <elliott> So is everything, that game was released on schedule.
01:39:40 <Sgeo> Duke Nukem 3d stopped being a good example for stuff
01:40:05 <elliott> Sgeo: I'm sorry, I'm not going to be able to avoid calling you an idiot.
01:40:05 <Sgeo> Not Duke Nukem 3d. Duke Nukem Forever
01:40:21 <elliott> Xanadu is better than Duke Nukem Forever, I will grant it that.
01:41:54 <elliott> Sgeo: Well, Duke Nukem Forever is widely acknowledged as completely and utterly terrible and unsalvagable, so... I feel safe betting on that.
01:42:25 <Sgeo> Oh, in terms of quality
01:42:35 <Sgeo> In terms of development time, Xanadu's longer, isn't it?
01:43:06 <elliott> DNF wasn't started in 1960, so... yes.
01:51:56 -!- Patashu has joined.
01:58:52 -!- elliott has set topic: nobody azerty | http://codu.org/logs/_esoteric/.
02:00:13 -!- Gregor has set topic: nobody azerty | shellac my colemak | http://codu.org/logs/_esoteric/.
02:02:35 -!- Gregor has set topic: nobody azerty | shellac my colemak | I implore: That? 'tis Dvorak? | http://codu.org/logs/_esoteric/.
02:03:49 -!- Gregor has set topic: nobody azerty | shellac my colemak | I implore: That? 'tis Dvorak? | BAD KEYBOARD LAYOUT PUN TIME IS BAD KEYBOARD LAYOUT FUN TIME | http://codu.org/logs/_esoteric/.
02:03:50 * quintopia ruins it more by pronouncing it like the composer's name
02:04:02 <Gregor> quintopia: So ... incorrectly?
02:04:25 -!- elliott has set topic: pachelbel used dvorak | http://codu.org/logs/_esoteric/.
02:04:34 <quintopia> Gregor: so incorrectly even you can't stop it
02:04:39 -!- Gregor has set topic: pachelbel used dvorak | (if you know what I mean) | http://codu.org/logs/_esoteric/.
02:05:33 -!- quintopia has set topic: pachelbel used dvorak | (if you know what I mean) | As canon fodder? | http://codu.org/logs/_esoteric/.
02:05:57 -!- Gregor has set topic: pachelbel used dvorak | (if you know what I mean) | As canon fodder? | (if you know what I mean) | http://codu.org/logs/_esoteric/.
02:06:16 -!- elliott has set topic: unmitigated awfulness | http://codu.org/logs/_esoteric/.
02:06:24 <elliott> topic is now most accurate topic; future edits disallowed
02:07:29 -!- elliott has set topic: {{pp-dispute}} | unmitigated awfulness | http://codu.org/logs/_esoteric/.
02:07:41 <elliott> you can only view the topic's source now
02:08:25 -!- quintopia has set topic: {{pp-dispute}} | unstipulated godawfulness | http://codu.org/logs/_esoteric/.
02:08:34 -!- elliott has set topic: {{pp-dispute}} | unmitigated awfulness | http://codu.org/logs/_esoteric/.
02:08:47 -!- elliott has set topic.
02:09:20 -!- Gregor has set topic: Log URL (md5sum compressed): d12f6451164ee3a49c57aad146bf6f9b.
02:09:24 -!- quintopia has set topic: http://codu.org/logs/_esoteric/.
02:09:28 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `3l1t3'': not found
02:09:35 -!- elliott has set topic: Log URL (md5sum compressed): d12f6451164ee3a49c57aad146bf6f9b.
02:09:44 <elliott> MD5 is even feasibly crackable (I think) so nobody can complain :P
02:10:12 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `hax0r: not found
02:10:44 <elliott> Aren't there sites where you can submit plaintexts to be added into an MD5 lookup database
02:11:34 <Gregor> Topic changes are in the logs now.
02:11:41 <Gregor> So they can just look the URL up.
02:12:28 <elliott> fizzie: Vorpal: Can I have that logs-into-SQL script
02:12:38 <elliott> Actually hmm, wouldn't help me here I don't think
02:14:36 -!- quintopia has set topic: Log URL (md5sum compressed): d12f6451164ee3a49c57aad146bf6f9b | Plaintext Log URL is available by grepping the logs.
02:16:09 <Gregor> TECHNICALLY you can get the URL by typing !logs
02:17:59 -!- quintopia has set topic: Log URL (md5sum compressed): d12f6451164ee3a49c57aad146bf6f9b | Plaintext Log URL is available by asking a bot (the required command is in the logs).
02:18:53 <quintopia> apparently that isnt the right command
02:20:04 <zzo38> Please correct the topic message don't do like that?
02:21:16 <zzo38> I got rid of all my other HaskGlk stuff because I did it wrong so I try to start over. This time done properly.
02:21:49 <zzo38> Is this correct? module Glk where { class GlkMain x where { glkMain :: x -> IO (); }; runMain :: GlkMain () => IO (); runMain = glkMain (); }
02:21:59 <zzo38> Would something like that even work?
02:22:22 <zzo38> (I know that FlexibleContexts extension is required and I have enabled it)
02:24:02 <elliott> zzo38: class GlkMain a where { glkMain :: IO a }
02:24:06 <elliott> Then you don't need FlexibleContexts
02:24:12 <elliott> Just main = glkMain will work.
02:24:25 <elliott> (Because it defaults to (), etc.)
02:25:30 <zzo38> elliott: That is no good, because what I need to do, main is in C, and glk_main is in C, which calls a Haskell function which must be defined in this library, and then need to be imported by another program, and then it make the executable.
02:26:37 <elliott> zzo38: Well, OK, but it's still simpler than your original solution
02:26:45 <elliott> You just use glkMain :: IO () directly instead of runMain
02:28:08 <zzo38> But I think I will still need FlexibleContexts and it seem I might even need the context on a foreign exported function. Is that allowed?
02:28:39 <zzo38> Because, when the library is being compiled, there will be no instance!
02:29:09 <elliott> Are you sure yuo can even export runMain like that
02:29:19 <elliott> I think it'll reject it with the context
02:29:21 <elliott> And fail without it obviously
02:29:27 <zzo38> Actually, neither of those functions were the ones I wanted to export.
02:29:37 <elliott> Hmm, what would you export to C then?
02:29:45 <zzo38> But the one I need to export, needs to do other stuff including calling that one.
02:30:00 <elliott> Well, does it still have the context?
02:30:05 <elliott> If so I think it'll run into the same problem
02:30:28 <elliott> The context will end up as passing a typeclass dictionary, so exporting it to C like that would be like trying to export a function without one of its arguments, I think.
02:31:16 <zzo38> As far as I know, it will require the context because otherwise the library will not be able to compile due to lack of instances
02:31:29 <elliott> Right. So I don't think you will be able to export it.
02:31:43 -!- NihilistDandy has joined.
02:32:05 <elliott> I think having the user define the entry point for where C calls in and exporting it is unavoidable.
02:34:20 <zzo38> Is it possible to make up an extension to GHC that would allow it to work?
02:35:29 <elliott> You could... add support for enumerating all instances of a class in IO or something, but that doesn't really fit with how GHC does instances at all.
02:35:59 <elliott> I think the best solution would be to supply a glk-glue.hs that users have to compile with their program, that imports GlkMain.glkMain which the user creates.
02:43:21 -!- madbr has left.
02:48:02 -!- DCliche has changed nick to Klisz.
02:53:07 <zzo38> How exactly should that work?
02:57:22 <elliott> import GlkMain; foreign export exported_glk_main ...; exported_glk_main = ... set things up and call glkMain ...
02:57:28 <elliott> it could be as simple as = libraryCall glkMain ofc
02:57:37 <elliott> then the user just writes a GlkMain.glkMain as opposed to a Main.main
02:57:44 <elliott> and does ghc --make GlkMain.hs glk-glue.hs
02:57:49 <elliott> and whatever else is needed to be linked to, etc.
02:59:11 <zzo38> Will the C codes that are already written in the library be able to call it like that?
03:00:43 -!- Sgeo_ has joined.
03:01:40 <zzo38> Other issue is that some Glk libraries will implement Unicode, some won't, and there might be some different versions, there will be functions lacked..... Although I suppose I could avoid those issues by calling those functions through the dispatch layer
03:02:26 -!- Gregor has set topic: Log URL (md5sum compressed): d12f6451164ee3a49c57aad146bf6f9b | You can learn the plain text log URL and more by visiting your local library! Knowledge is power!.
03:03:13 -!- Sgeo has quit (Ping timeout: 240 seconds).
03:03:17 <zzo38> WinGlk does not even implement the latest version of the Glk specification at this time
03:08:40 <zzo38> How do I use C union types in Haskell?
03:09:54 <zzo38> Or even C structure types?
03:18:28 <kallisti> Vorpal: I think the animus fragments are for like backstory or something.
03:18:52 <kallisti> @tell oerjan oh you make corrections? I pulled the >>+ from the logs on the same day you mentioned the obviousness.
03:25:29 <zzo38> Maybe I should just write wrapper functions in C instead, which can be written to be meant for use with Haskell program, and then import those into Haskell
03:31:47 -!- Slereah_ has quit (Ping timeout: 268 seconds).
03:32:04 -!- Slereah_ has joined.
03:47:12 <zzo38> How can I tell Mozilla not to load any images or anything else until after the entire HTML has been loaded?
03:50:29 -!- DCliche has joined.
03:52:38 -!- Klisz has quit (Ping timeout: 252 seconds).
03:54:25 <kallisti> zzo38: there was an extension I once had that did something like that.
03:54:34 <kallisti> but it was one of those generic "speed up" extensions
04:25:32 <elliott> Hmm, I really want a Chrome extension that saves the entire opened tabs (in all windows) as a bookmark folder.
04:28:09 <lambdabot> forall b a. (b -> Maybe (a, b)) -> b -> [a]
04:28:32 <lambdabot> forall g a. (Random a, RandomGen g) => g -> (a, g)
04:36:53 <kallisti> elliott: I'm trying to convince someone that randomly generated a string of 10 characters has nothing to do with alpha conversion.
04:37:17 <kallisti> and also he's using GADT because it "helps him see the type signature" but he's doing it wrong. :(
04:39:22 <elliott> also you're still on watch for misusing gadts mister
04:39:57 <elliott> yeah with your signal stuff, trying to stuff discrete and continuous signals into single data type
04:40:09 <elliott> (btw you basically just reinvented frp (which i was too tired to realise at the time), so you're in good company)
04:40:27 <elliott> (in frp, Behavior a ~ Time -> a, and Event a ~ [(Time,a)] -- continuous and discrete signals, respectively)
04:43:38 <kallisti> elliott: I noticed that later as I was reading about FRP
04:44:46 * elliott has managed to convince himself that some-form-of-FRP solves just about every need he has of a programming system, which is great, because I can procrastinate with impunity thanks to its research status
04:46:08 <elliott> I realised that discrete stream processing a la iteratees is just arrowised (or, well, signal-transformer style) FRP with discrete time :)
04:47:47 <elliott> pro: I can apply all the FRP knowledge out there to stream processing
04:47:51 <elliott> con: stream processing is now an unsolved problem
04:48:59 <elliott> kallisti: what fucking time is it over there
04:49:42 <elliott> i thought that's when you woke up
04:50:17 <kallisti> elliott: oh yeah actually I realized something similar recenly, when someone in Haskell mentioned that Nat -> a can be considered isomorphic to Stream a
04:50:32 <kallisti> elliott: I woke up about an hour ago.
04:50:35 <elliott> well that's obvious. and i don't think there are any extra _|_s
04:52:03 <kallisti> and so Stream a is just an Event with a constant interval between every Time
04:52:45 <elliott> but note that no sane FRP implementation since Fran actually implements the types like that
04:52:55 <elliott> also because they let you do too much
04:52:59 <elliott> consider Behavior a -> Behavior b
04:53:04 <elliott> it can look into the future of the behaviour it's given
04:53:10 <elliott> so it's not really streaming
04:53:18 <elliott> congratulations, you're now up to the point where nobody knows how to solve this
04:53:21 <elliott> (well OK there are proposals)
04:53:23 <kallisti> I assume it can also blow memory / call stack
04:53:31 <elliott> er yes but I don't see how that's relevant
04:53:48 <kallisti> relevant to the part where you mentioned those implementations are inefficient
04:54:09 <elliott> well...yes... but you can't stop a program blowing memory/call stack
04:54:17 <elliott> they're inefficient even for efficient implementations of Behaviors and Times
04:55:08 <kallisti> yeah I guess "lol THEY CAN ASPLODE COMPUTER" is sort of a trivial point...
04:58:42 <elliott> 75 rep already today. oh no. all those upvotes are going to go down the drain later on
04:59:39 <kallisti> elliott: just think of all the things you could do with that wasted rep
05:00:26 <elliott> http://stackoverflow.com/badges/146/legendary
05:00:53 <kallisti> imagine if it were "150 times consecutively"
05:01:42 <kallisti> elliott: I told this guy about De Bruijn indices and he... seems reluctant.
05:01:45 <elliott> http://stackoverflow.com/users/1097181/ehird?tab=reputation
05:01:53 <elliott> i've slipped exactly one day
05:02:15 <kallisti> I have no idea why his "randomly generate 10 variable names" is going to be easier than De Bruijn indices.
05:02:23 <kallisti> it literally makes ALPHA CONVERSION SO EASY
05:02:56 <elliott> that's the point of de bruijn
05:05:01 <kallisti> how are free variables typically represented?
05:07:33 <elliott> variable indices greater than the number of nested lambdas
05:07:57 <kallisti> could you do like.. negatives instead or is that less convenient?
05:10:54 <kallisti> I don't know if I understand what the index for free variables signifies
05:12:33 <kallisti> as far as I can tell it just identifies it. so in term with a "lambda depth" of 3, any 4 would be referring to the same free variable
05:12:42 <kallisti> and any 5 would be referring to a different free variable.
05:12:59 <elliott> and every other variable is increased by 1
05:13:09 <elliott> for someone advocating de bruijn you don't seem to know anything about it :P
05:13:43 -!- DCliche has changed nick to Klisz.
05:14:57 <kallisti> elliott: also that's irrelevant to what I was talking. those are bound variables. I get those.
05:15:21 <kallisti> but would it be bad to use negative indices instead for free variables?
05:15:37 <elliott> well you could never bind them...
05:15:44 <elliott> whereas you can bind free vars by doing (\e)x
05:17:10 <kallisti> maybe I don't get the point of free variables then...
05:18:09 <kallisti> that doesn't look like a complete lambda term to me.
05:18:45 <elliott> e is the expression you want to bind the free variable of
05:18:55 <elliott> for instance let's say we have (\1 0) with free variable 1
05:19:04 <elliott> and we want to bind 1 to be print
05:19:50 <elliott> and want to bind its free variable to print
05:20:09 <kallisti> huh, why have I never seen this ever. :P
05:20:16 <kallisti> maybe I didn't pay attention to that.
05:21:44 <kallisti> I was misinterpreting your syntax above
05:21:58 <kallisti> I wasn't reading (\e)x in the de bruijn notation.
05:22:11 <kallisti> since there was letters involved.
05:23:19 <kallisti> couldn't you have an arbitrary order to how you assign free variables though?
05:27:38 <elliott> i don't know why you'd use de bruijn for free variables
05:27:41 <elliott> people usually use names for those
05:27:57 <kallisti> I was just going by the Wikipedia article, which assigns indices to them
05:28:10 <kallisti> but yeah it would probably be easier to use -1 for the index and just keep the name floating around
05:29:55 * kallisti is wondering what the most efficient algorithm for assigning De Bruijn indices in Haskell is.
05:30:25 <kallisti> whast I'm thinking of is probably horrible...
05:31:27 <elliott> <kallisti> but yeah it would probably be easier to use -1 for the index and just keep the name floating around
05:31:33 <elliott> data Lam = Free String | Bound Int | ...
05:32:24 <elliott> rewr env (VLam name e) = Lam (rewr (Map.insert name 0 (Map.map succ env))))) e))))
05:33:04 <kallisti> elliott: that's basically what I was thinking, though not quite so concise.
05:37:05 <kallisti> and you'd want a datatype to represent the syntax tree and a data type to represent the tree after de bruijnifying right?
05:40:02 <elliott> if you mean you want a data type for the named and de bruijn representation, then yes duh
05:40:09 <elliott> unless you want to process strings :P
05:43:28 <elliott> kallisti: help can't sleep need rep
05:53:59 <kallisti> elliott: work on your #esoteric rep
05:57:35 <kallisti> elliott: he still wants to alpha convert. ;_;
05:57:54 <elliott> i told you to do that hours ago
05:58:06 <kallisti> none of my other RL friends know Haskell at all. :P
05:58:46 <elliott> and the one you do is terrible
05:58:50 <elliott> friendship improvement drive
05:59:21 <kallisti> he's at least realized that randomly generating 10 variables names for each variable does absolutely nothing for him.
06:00:08 <kallisti> he's an electrical engineering major so I guess I can excuse him for being bad at programming.
06:00:22 <elliott> http://en.wikipedia.org/wiki/Train_(unidentified_sound) this freaks me out way more than bloop
06:02:27 <kallisti> elliott: Julia sounds freakier to me.
06:03:11 <elliott> http://en.wikipedia.org/wiki/Whistle_(unidentified_sound) aaaaaaaaaah god
06:04:23 * kallisti should make some electronic noise music with upsweep in the background
06:04:33 <elliott> "The sound appears to be seasonal, generally reaching peaks in spring and fall, but it is unclear whether this is due to changes in the source or seasonal changes in the propagation environment. The source can be roughly located at 54° S 140° W, near the location of inferred volcanic seismicity, but the origin of the sound is unresolved. The overall source level has been declining since 1991 but the sounds can still be detected on NOAA's equato
06:04:34 <elliott> rial autonomous hydrophone arrays.[1]"
06:04:57 <elliott> http://toolserver.org/~geohack/geohack.php?pagename=Upsweep_(unidentified_sound)¶ms=54_S_140_W_scale:40000000 oh great, the source is out in the middle of fucking nowhere
06:05:02 <elliott> that makes me feel so much better
06:05:12 <elliott> if it was off the coast of ireland or something
06:05:17 <elliott> sure w/e can't be anything too serious
06:05:29 <elliott> but satan could rise from the deep there and nobody would notice
06:06:51 <elliott> kallisti: http://www.listentothedeep.com/acoustics/index.html
06:06:54 <elliott> hear the next bloop AS IT HAPPENS
06:06:57 <kallisti> elliott: http://matt.might.net/articles/cek-machines/ hmmm have you heard of these?
06:06:59 <calamari> vlc implemented a crt tv emulation deinterlacing mode called "phosphor".. but I don't have it :(
06:07:01 <elliott> the best way to be completely fucking terrified!
06:07:26 <elliott> calamari: Just port VLC to VICE, it has really good C64-on-an-NTSC-TV emulation.
06:07:42 <elliott> kallisti: I think I've seen that article.
06:08:54 <calamari> sounds like.. a magnetohydrodynamic movie prop!
06:09:24 <kallisti> Most of the Haskell in this article is not idiomatic.
06:09:25 <kallisti> For examples, data constructors take tuples instead of expanding the components into fields.
06:13:48 <kallisti> elliott: hmmm does "free variable" have a kind of contextual definition as well?
06:14:10 <kallisti> could you say that x is a free variable in the inner lambda?
06:14:21 <kallisti> but bound in the whole expression?
06:14:25 -!- calamari has quit (Quit: Leaving).
06:16:42 -!- MDude has changed nick to MSleep.
06:17:28 <elliott> kallisti: if you... wanted to?
06:17:45 <kallisti> elliott: I ask because this CEK machine thing uses "free variable" in this way.
06:18:06 <kallisti> "The type D contains values. For the basic lambda-calculus, there is only one kind of value: the closure. A closure is a lambda term paired with an environment that defines the values of its free variables."
06:24:33 * kallisti elliott I feel my interpreter class for my programming language for work is getting kind of ridiculous
06:25:08 <elliott> http://en.wikipedia.org/wiki/Oymyakon why would you live her
06:25:55 <kallisti> "why did I end up being me? and not something else."
06:26:02 <kallisti> this concept of identity blows my mind.
06:26:38 <kallisti> consciousness. I AM JUST MATTER WHY DO I EXIST AS THIS REACTIVE PRESENCE.
06:27:35 <elliott> kallisti: http://toolserver.org/~geohack/geohack.php?pagename=Extreme_points_of_Earth¶ms=48_52.6_S_123_23.6_W_type:landmark&title=Point+Nemo
06:27:42 <elliott> pacific pole of inaccessibility
06:27:48 <elliott> that's like RIGHT NEXT to the source of that sound*
06:30:50 <elliott> "Since the Earth is a spheroid, its center (the core) is thousands of kilometres beneath its crust" thanks wp
06:36:51 <kallisti> elliott: is that because it's a spheroid or because the earth has thousands of kilometres of volume.
06:38:00 <kallisti> "Because the earth is a spheroid and has thousands of cubic kilometres of volume, its center is thousands of kilometres beneath its crust" -- MoreAccuratepedia
06:44:23 <kallisti> any reason why Haskell randomly decided that Ordering constructors have all caps.
06:44:29 <kallisti> EQ LT GT instead of Eq Lt and Gt
06:44:48 <kallisti> I guess they're abbreviations, but most abbreviations in Haskell don't do that.
06:47:47 <kallisti> I guess for acronyms it typically is capitalized
06:48:00 <kallisti> but yes, EQ is not an acronym.
06:50:15 -!- Klisz has quit (Quit: SLEEP, GLORIOUS SLEEP).
06:54:45 <elliott> kallisti should i catch a sleep
06:55:56 <monqy> sleep may be a good idea, but only if you are tired
06:56:09 <monqy> sleepeing in the day time is fine too
06:56:35 <elliott> i cant sleeep too much ebcause ill run out of stack oevrflow reputaewiotn ;_;
06:58:52 <fungot> elliott: i am just as confused. you just don't know
06:58:58 <elliott> but you are acold emotionallynes robot :(
06:59:00 <fungot> elliott: if that is not used commonly and carries with it an array subscript was too easy heh one time i figured if it's possible, notify the notary.
07:01:19 <kallisti> sprunge is the best thing ever
07:04:22 <elliott> i hate you all hate you all hate
07:05:10 <elliott> monqy: im going to go to bed NO THANKX TO U AND UR MEDLING KIDS
07:05:31 <monqy> just a bed is bad, but slep a bed is good
07:05:36 <elliott> FUCK YOUUUUUUUUUUUUUUUUUUU
07:05:42 <elliott> YOU CANT BETRAY ME THEN DEMAND THE ANSWERS
07:05:44 <monqy> sometimes i just a bed then slep in the day
07:05:50 -!- elliott has quit (Quit: A SINGULAR CRY).
07:06:03 <lambdabot> forall (m :: * -> *) a. (Monad m) => [m a] -> m [a]
07:11:14 <lambdabot> ["ad","ae","af","bd","be","bf","cd","ce","cf"]
07:19:04 <kallisti> > replicateM 5 "AKQJ0123456789"
07:19:06 <lambdabot> ["AAAAA","AAAAK","AAAAQ","AAAAJ","AAAA0","AAAA1","AAAA2","AAAA3","AAAA4","A...
07:19:38 -!- Vorpal has quit (Ping timeout: 276 seconds).
07:20:24 <kallisti> > filter ((==1).length.group) $ replicateM 5 "AKQJ0123456789"
07:21:02 <kallisti> > length $ filter ((==1).length.group) $ replicateM 5 "AKQJ0123456789"
07:21:54 <kallisti> > length $ filter ((/=1).length.group) $ replicateM 5 "AKQJ0123456789"
07:22:01 <kallisti> > filter ((/=1).length.group) $ replicateM 5 "AKQJ0123456789"
07:22:02 <lambdabot> ["AAAAK","AAAAQ","AAAAJ","AAAA0","AAAA1","AAAA2","AAAA3","AAAA4","AAAA5","A...
07:23:09 <zzo38> What is it called when you make a variant of an existing Alternative (or MonadPlus) that reverses <|>
07:23:46 <zzo38> Often, "T" is used for a ten in a deck of cards, if that is what you are trying to do
07:25:59 <kallisti> > filter ((==2).length.group) $ replicateM 5 "AKQJ0123456789"
07:26:00 <lambdabot> ["AAAAK","AAAAQ","AAAAJ","AAAA0","AAAA1","AAAA2","AAAA3","AAAA4","AAAA5","A...
07:26:18 <kallisti> that's all four-of-a-kinds and full houses
07:27:00 <lambdabot> forall (a :: * -> * -> *) b c c'. (Arrow a) => a b c -> a b c' -> a b (c, c')
07:28:26 <kallisti> > filter (\h -> length (group h) == 2 && all ((/=4).length) h) $ replicateM 5 "AKQJ0123456789"
07:28:27 <lambdabot> Couldn't match expected type `[a]'
07:28:27 <lambdabot> against inferred type `GHC.Types...
07:28:45 <zzo38> But you should use 'T' for ten
07:29:07 <kallisti> > filter ((\h -> length h == 2 && all ((/=4).length) h).group) $ replicateM 5 "AKQJ0123456789"
07:29:09 <lambdabot> ["AAAKK","AAAQQ","AAAJJ","AAA00","AAA11","AAA22","AAA33","AAA44","AAA55","A...
07:29:25 <kallisti> > filter ((\h -> length h == 2 && all ((/=4).length) h).group) $ replicateM 5 "AKQJT98765432"
07:29:27 <lambdabot> ["AAAKK","AAAQQ","AAAJJ","AAATT","AAA99","AAA88","AAA77","AAA66","AAA55","A...
07:29:46 <kallisti> @pl ((\h -> length h == 2 && all ((/=4).length) h).group)
07:29:46 <lambdabot> ap ((&&) . (2 ==) . length) (all ((4 /=) . length)) . group
07:31:00 <zzo38> Yes, that is better, before you had fourteen cards anyways. Now they are in descending order properly
07:32:05 <kallisti> > filter ((\h -> length h == 2 && any ((==4).length) h).group) $ replicateM 5 "AKQJT98765432"
07:32:06 <lambdabot> ["AAAAK","AAAAQ","AAAAJ","AAAAT","AAAA9","AAAA8","AAAA7","AAAA6","AAAA5","A...
07:32:38 <kallisti> I guess actually I need to sort them first
07:33:04 <kallisti> > filter ((\h -> length h == 2 && any ((==4).length) h).group.sort) $ replicateM 5 "AKQJT98765432"
07:33:06 <lambdabot> ["AAAAK","AAAAQ","AAAAJ","AAAAT","AAAA9","AAAA8","AAAA7","AAAA6","AAAA5","A...
07:33:16 <kallisti> > filter ((\h -> length h == 2 && all ((/=4).length) h).group.sort) $ replicateM 5 "AKQJT98765432"
07:33:18 <lambdabot> ["AAAKK","AAAQQ","AAAJJ","AAATT","AAA99","AAA88","AAA77","AAA66","AAA55","A...
07:33:36 <kallisti> sorting them gives me duplicates
08:08:52 <zzo38> catMaybe = (>>= maybe empty pure); In what cases does catMaybe . optional = id fails? I think it fails when there are error messages associated with it? And the list monad has no error messages so it succeeds with that one.
08:09:13 <Sgeo_> I go to watch a video of This is Gallifrey, music info says "Martha Triumphant"
08:09:24 <Sgeo_> I go to Martha Triumphant, underneath is "Donna's Theme"
08:09:28 <Sgeo_> http://www.youtube.com/watch?v=-HANl6jQxxQ
08:12:38 <zzo38> When looking at the continuation monad definitions, I notice it seems to be similar to the type for double nots
08:13:10 <zzo38> (And will be, if in ((a -> r) -> r) if r is uninhabited type!)
08:13:22 <Sgeo_> Donna's Theme is The Stowaway, apparently
08:13:49 <Sgeo_> http://www.youtube.com/watch?v=REwOudgPQTI&feature=related gets the song right
08:13:52 <zzo38> But there is also codensity monads, which is similar but r is universally quantified instead of being a parameter. That is the other way too.
08:13:57 <Sgeo_> Maybe it's just the channel
08:14:58 <zzo38> Actually I think the codensity monad *is* the double nots.
08:24:57 <zzo38> Is this a proper implementation of category of walks? data Walk w x y where { WalkId :: Walk w a a; WalkTo :: w a b -> Walk w b c -> Walk w a c; }; instance Category (Walk w) where { id = WalkId; WalkId . z = z; z . WalkId = z; z . WalkTo x y = WalkTo x (z . y); }; makeWalk :: w x y -> Walk w x y; makeWalk = flip WalkTo WalkId;
08:30:45 <zzo38> Is it supposed to have a different name?
08:44:58 <copumpkin> http://www.cse.chalmers.se/~nad/listings/lib/Data.Star.html#553
08:46:16 <zzo38> I do not understand an Agda code much.
08:46:35 <copumpkin> http://www.mail-archive.com/haskell-cafe@haskell.org/msg19411.html is a little more comprehensible, but he instantiated your w variable
08:47:13 <copumpkin> but the usual name I've seen for it is reflexive, transitive closure
08:48:36 <kallisti> hi scrutinize my lambda calculus stuff: http://sprunge.us/SjJZ
08:50:46 <zzo38> That one doesn't appear to have a Category instance. Also, when I named it "Walk" I was thinking that w could be a digraph, which is why I called it that, although of course w can be any type of the kind (* -> * -> *). And I think it is not a functor from (w) to (Walk w) but is a functor the other way around. Is it? Maybe I am wrong?
08:51:39 <zzo38> (Where x and y are the nodes and the constructors of w are the edges)
09:14:59 <zzo38> Do you know anything else about this kind of thing related to these way too?
09:17:58 <lambdabot> forall a. (Show a) => a -> String -> String
09:20:23 <kallisti> lol apparently λ in a string doubles as an escape character?
09:20:47 <kallisti> maybe it's an error in emacs syntax highlighter
09:25:27 <Sgeo_> lambdabot may have different behavior due to bleh
09:25:59 <Sgeo_> Well, GHCi does not consider it to be an escape character
09:29:23 -!- oerjan has joined.
09:32:04 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
09:32:39 <oerjan> <kallisti> @tell oerjan oh you make corrections? I pulled the >>+ from the logs on the same day you mentioned the obviousness.
09:32:54 <oerjan> it wasn't a correction, it was a theory of why i'd say something that stupid :P
09:33:03 <oerjan> which might itself be wrong, of course
09:35:53 <oerjan> <kallisti> lol apparently λ in a string doubles as an escape character? <-- erm show for Strings gives Unicode points outside ASCII as escape characters, i think.
09:37:59 <oerjan> oh hm i probably misunderstood what you were asking
09:39:59 <oerjan> 08:24:57: <zzo38> Is this a proper implementation of category of walks? data Walk w x y where { WalkId :: Walk w a a; WalkTo :: w a b -> Walk w b c -> Walk w a c; }; instance Category (Walk w) where { id = WalkId; WalkId . z = z; z . WalkId = z; z . WalkTo x y = WalkTo x (z . y); }; makeWalk :: w x y -> Walk w x y; makeWalk = flip WalkTo WalkId;
09:40:04 <oerjan> 08:30:45: <zzo38> Is it supposed to have a different name?
09:41:34 <oerjan> yes, that looks isomorphic to http://hackage.haskell.org/package/thrist-0.2.1
09:46:13 <zzo38> oerjan: O, yes, OK. But I didn't think it should be arr? I think it is a functor the other way around instead or what, I don't know?
09:47:28 <oerjan> zzo38: well the arrow instance requires w / ~> to be an arrow
09:48:45 <oerjan> and you need something similar to map back from Walk w to w, i think
09:48:49 <kallisti> I used to make arrow instances, then I took an arrow to the knee.
09:50:29 <zzo38> oerjan: I did see that. But still, it doesn't look like it is really a functor from another category to this one, as far as I can tell. It looks like to me, it is a functor the other way around
09:52:45 <zzo38> I did look at the RULES pragma for Control.Arrow and isn't it supposed to be arr is some kind of functor from one category to another?
09:53:07 <zzo38> (As opposed to fmap, which is an endofunctor)
09:53:35 <oerjan> zzo38: it looks to me like a free construction, which means there should be a free walk functor (not necessarily Functor) one way, and an underlying w functor the other way, which are hopefully an adjoint pair in the category sense
09:53:42 <kallisti> oerjan: I mean backslash not escape character
09:53:49 <kallisti> oerjan: but it's an emacs syntax highlighting thing
09:54:06 <kallisti> if I put a lambda before an end quote it continues treating the stuff after the end quote as a string
09:55:00 <oerjan> zzo38: also, where there is an adjoint pair there will be a category monad, not necessarily a Monad
09:55:22 <oerjan> (since it's probably defined on the subcategory of w a b objects)
09:55:44 <kallisti> oerjan: hi http://sprunge.us/FgOU
09:56:00 <kallisti> I made the untyped lambda calculus in Haskell. See if it's wrong.
09:56:34 <zzo38> But it won't hold arr id = id arr x . arr y = arr (x . y) (This second one is called "compose/arr" in Control.Arrow) At least, it is the case in mine, whether or not theirs is
09:57:19 <oerjan> zzo38: ah right, it only holds if you identify obvious compositions, i guess.
09:57:20 <kallisti> oerjan: I hope you don't mind my gratuitous use of case expressions, I find them less annoying than writing "f x y" over and over when I don't actually pattern match x or y ever.
09:57:49 <kallisti> and in the case of showDBForm I didn't feel like writing that name 4 times.
09:58:08 <zzo38> oerjan: I think a functor the other way around works though.
10:03:10 <oerjan> kallisti: your showDBForm needs parentheses for right nested applications
10:03:29 <zzo38> For example: class (Category c1, Category c2) => CatFunctor c1 c2 where { funct :: c1 x y -> c2 x y; }
10:03:52 <zzo38> So it is really a generalization of arr, but without first
10:06:23 <kallisti> oerjan: when beta reducing what do I need to do to non-substituted indices?
10:06:28 <kallisti> is it okay to leave them alone?
10:06:51 <oerjan> * kallisti lazy. <-- heard of copy/paste? :P
10:07:11 <kallisti> I seriously need at least like 4 copy paste buffers I think.
10:09:36 <kallisti> I just realized my reduceSteps function doesn't show you the last reduction. :(
10:10:16 <kallisti> > catMaybes [Nothing, Nothing..]
10:10:17 <lambdabot> <no location info>: parse error on input `]'
10:10:25 <kallisti> > catMaybes [Nothing, Nothing..Nothing]
10:10:26 <lambdabot> A section must be enclosed in parentheses
10:10:30 <oerjan> kallisti: your reduce seem to be missing the case of App f x where f needs to be reduced recursively
10:11:18 <kallisti> oh you mean when f is the variable being substituted or?
10:11:33 <oerjan> no, when f is itself an App
10:14:36 <oerjan> quite sure. how would you ever get App (App (Abs (Abs 0)) (Free "a")) (Free "b") reduced with your reduce?
10:14:42 * oerjan hopes he got that right
10:16:07 <oerjan> (aka (\x y -> y) a b, he hopes)
10:18:46 <oerjan> <kallisti> > catMaybes [Nothing, Nothing..Nothing] <-- (1) . after a capitalized identifier gets interpreted as module qualification (2) there is no Enum instance for Maybes
10:20:24 <kallisti> is there something like iterate except it stops on a Nothing?
10:20:48 <oerjan> takeWhile isJust . iterate f
10:20:54 <monqy> I was just about to say
10:21:42 <oerjan> i cannot recall anything succinct
10:21:53 <Sgeo_> Oh, so it doesn't use fromJust. Good
10:22:06 <monqy> why would it use fromjust
10:22:14 <monqy> you know what catmaybes does right
10:22:21 <Sgeo_> map fromJust . filter isJust
10:22:31 <monqy> that's a rather bad way to put it
10:22:39 <monqy> or maybe a good one
10:22:45 <Sgeo_> Is there a better way to do it without list comprehensions?
10:23:57 <kallisti> oerjan: hmmm so....reduce (App f x) = App (reduce f) x
10:24:44 <oerjan> your canReduce needs adjustment too
10:25:21 <kallisti> oerjan: how do you feel about my where clause inbetween two cases of a function. :P
10:25:30 <oerjan> kallisti: you could use the trick of returning a Maybe which gives Nothing if there was nothing reduced
10:25:42 <kallisti> oerjan: yes that's what I was doing
10:25:48 <kallisti> that's why I asked the above thing about iterate and Maybes :P
10:26:20 <Sgeo_> Hmm, I guess recursion could work for a safe catMaybes?
10:26:39 <Deewiant> ?ty \f -> fst . until (isNothing.snd) (\(x,Just prev) -> (prev, f x)) . (id &&& Just)
10:26:40 <lambdabot> forall a. (a -> Maybe a) -> a -> a
10:26:44 <kallisti> oerjan: hmmm please tell me I don't have to if-then-else though :(
10:27:51 <oerjan> kallisti: i think your subst Bound case is wrong, iirc
10:28:07 <kallisti> oerjan: yes I was wondering what I should do with indices when I'm substituting.
10:28:08 <monqy> :t concatMap maybeToList
10:28:34 <monqy> "a good catMaybes" - monqy
10:28:40 <monqy> unless it does something weird
10:28:48 <oerjan> kallisti: i think you need to increment things in sub when entering an abstraction
10:28:50 <lambdabot> forall a b. (a -> [b]) -> [a] -> [b]
10:29:11 <kallisti> oerjan: how sure are you about that?
10:29:33 <oerjan> not very, i'm not particularly familiar with debruijn indexes :P
10:29:36 <kallisti> oerjan: "increment things" so you mean every bound variable?
10:31:19 <oerjan> actually i think i'm retracting that.
10:31:46 <oerjan> since you are only reducing at top level, every bound variable in sub will be bound _inside_ sub
10:32:07 <oerjan> and those should obviously not be renumbered
10:32:10 <kallisti> I'm doing only one beta reduction step.
10:32:16 <kallisti> at the top level of the expression
10:32:51 <oerjan> as long as you don't do any reductions inside abstractions, it should be fine
10:33:04 <oerjan> but i hope you'll be testing it well ;P
10:36:52 <oerjan> also if you use Maybe you can probably use unfoldr
10:37:26 <lambdabot> forall b a. (b -> Maybe (a, b)) -> b -> [a]
10:37:42 <oerjan> it's always tricky whether you get it right at the end then
10:38:01 -!- GreaseMonkey has quit (Quit: The Other Game).
10:38:30 <kallisti> reduceSteps = catMaybes . takeWhile isJust . iterate maybeReduce . Just . indexify
10:38:36 <kallisti> oerjan: hi make this less terrible
10:38:38 <kallisti> | canReduce e = Just (reduce e)
10:39:17 <oerjan> kallisti: you don't use canReduce with the Maybe solution
10:39:27 <oerjan> you let _reduce_ return a Maybe
10:39:59 <oerjan> but it's the easiest way to avoid the duplication of work between canReduce and reduce
10:40:51 -!- Ngevd has joined.
10:41:30 <kallisti> oerjan: except now I have to unwrap the maybe everytime I iterate
10:42:32 <oerjan> > let collatz 1 = Nothing; collatz x | even x = Just $ x `div` 2 | otherwise = Just $ 3*x+1 in unfoldr ((id &&& id) . collatz) 19
10:42:34 <lambdabot> Couldn't match expected type `Data.Maybe.Maybe (a, b)'
10:43:02 <oerjan> > let collatz 1 = Nothing; collatz x | even x = Just $ x `div` 2 | otherwise = Just $ 3*x+1 in unfoldr ((id &&& id) <=< collatz) 19
10:43:05 <lambdabot> Couldn't match expected type `Data.Maybe.Maybe (a, b)'
10:43:56 <kallisti> reduceSteps :: LCExpr -> [DBForm]
10:43:57 <kallisti> reduceSteps = catMaybes . takeWhile isJust . iterate (>>=reduce) . indexify
10:44:10 <kallisti> reduce (App f x) = Just (App (reduce f) x)
10:44:43 <oerjan> flip App x <$> reduce f
10:45:27 <oerjan> App <$> reduce f <*> Just x
10:45:56 <lambdabot> forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b
10:46:15 <kallisti> remember I don't have that flip. :P
10:46:20 <oerjan> lambdabot's extended flip is actually what would work there
10:46:52 <oerjan> it probably doesn't have the right precedence, though
10:46:52 <kallisti> mainly because I have an unwarranted phobia of using flip.
10:47:16 <oerjan> (`App` x) <$> return f
10:47:19 -!- Ngevd has quit (Ping timeout: 252 seconds).
10:47:25 <kallisti> but I don't really like that either.
10:47:31 <kallisti> that's my usual solution to flip though
10:48:54 <kallisti> the only problem now is that I have no way to show steps in normal lambda calculus notation without performing alpha conversion (I think?)
10:49:03 <kallisti> or, well, I could assign a unique character based on DB index
10:50:03 <oerjan> @hoogle Functor f => (b -> c) -> (a -> f a) -> f c
10:50:04 <lambdabot> Control.Parallel.Strategies ($|) :: (a -> b) -> Strategy a -> a -> b
10:50:04 <lambdabot> Control.Parallel.Strategies ($||) :: (a -> b) -> Strategy a -> a -> b
10:50:04 <lambdabot> Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> (a -> c)
10:50:14 <oerjan> @hoogle Functor f => (b -> c) -> (a -> f b) -> f c
10:50:14 <lambdabot> Control.Parallel.Strategies ($|) :: (a -> b) -> Strategy a -> a -> b
10:50:14 <lambdabot> Control.Parallel.Strategies ($||) :: (a -> b) -> Strategy a -> a -> b
10:50:14 <lambdabot> Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> (a -> c)
10:50:20 <oerjan> that one seems to be missing
10:50:27 <kallisti> wat Control.Monad doesn't have <$> anymore>
10:50:31 <oerjan> @hoogle (b -> c) -> (a -> f b) -> f c
10:50:32 <lambdabot> Control.Parallel.Strategies ($|) :: (a -> b) -> Strategy a -> a -> b
10:50:32 <lambdabot> Control.Parallel.Strategies ($||) :: (a -> b) -> Strategy a -> a -> b
10:50:32 <lambdabot> Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> (a -> c)
10:50:47 <oerjan> kallisti: it never did, it's in applicative
10:50:55 <oerjan> and also in functor itself
10:51:37 <kallisti> reduceSteps = catMaybes . takeWhile isJust . iterate (>>=reduce) . Just . indexify
10:53:16 <kallisti> my Haskell functions are usually one of three things 1) long lines of combinators 2) monsterous recursive case/guard things 3) do notation glue stuff
10:53:45 <oerjan> > let collatz 1 = Nothing; collatz x | even x = Just $ x `div` 2 | otherwise = Just $ 3*x+1 in unfoldr (\x -> (id &&& id) <$> collatz x) 19
10:53:46 <lambdabot> [58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
10:54:07 <oerjan> kallisti: ^ that's the general structure for using unfoldr for such things
10:55:33 <oerjan> hm i guess this doesn't give the _initial_ value.
10:56:35 <kallisti> oerjan: hi what should my LC expression trees derive
10:56:41 <kallisti> Eq, Show, Read, Typeable, ...?
10:57:12 -!- azaq23 has quit (Quit: Leaving.).
10:58:31 <kallisti> oh I need DeriveDataTypeable for that apparently
10:59:03 <kallisti> I would think it's generally good practice to derive Typeable, though I could see it being unecessary sometimes (probably in this case)
10:59:48 <oerjan> well it's the sort of thing that's useful for library users, i guess
11:00:00 <kallisti> this is a LAMBDA CALCULUS LIBRARY
11:04:13 <kallisti> http://www.youtube.com/watch?v=TaXqU7hVVhI
11:05:27 <zzo38> Do you know how to make glyphs for the dwarf planets in our solar system which do not currently have glyphs assigned? (at least, Wikipedia doesn't have them)
11:07:22 <zzo38> Have you read the latest of my D&D recording? One thing it is supposed to be like is a story, like you can just read the text as a novel. (Although, there are also additional things such as footnotes and game data, in case you are interested in that too)
11:08:24 <zzo38> My character's inventory (including money) seem to change a lot (relatively)
11:10:12 <kallisti> --showReduceSteps :: LCExpr -> [String]
11:10:12 <kallisti> --showReduceSteps = map showDBForm . reduceSteps
11:10:13 <kallisti> --showFullReduce :: LCExpr -> String
11:10:14 <kallisti> --showFullReduce = last . showReduceSteps
11:10:22 <kallisti> I think these functions are probably unecessary.
11:10:27 -!- zzo38 has quit (Quit: Do you like inverted qualia?).
11:23:49 <oerjan> @tell zzo38 <zzo38> When looking at the continuation monad definitions, I notice it seems to be similar to the type for double nots <-- http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence#Correspondence_between_classical_logic_and_control_operators is probably relevant
11:28:07 * Sgeo_ reads about conduits
11:28:41 -!- Phantom_Hoover has joined.
11:37:17 -!- olsner has joined.
11:37:49 <olsner> so my local library has the plain text log url for #esoteric?
11:39:07 <oerjan> no, that's just the beginning of the process. you will have to find a secret portal and rescue a princess.
11:40:04 <oerjan> just a hint: if someone tells you the princess is in another castle, don't believe them, they're planted spies.
11:43:15 <kallisti> are you sure they don't just have "internet access and computers"
11:43:19 -!- Ngevd has joined.
11:43:48 <olsner> oerjan: there are castles!?
11:43:53 <oerjan> yeah libraries cannot afford real books these days
11:44:00 <kallisti> Ngevd: hi. Look what I did. http://sprunge.us/CWOb
11:44:06 <kallisti> Ngevd: I've gone and made the lambda calculus.
11:44:34 <oerjan> olsner: of course there are castles, have you not paid attention in your history classes?
11:44:36 <Ngevd> In a language that already features a form of Lambda Calculus?
11:45:14 <Ngevd> :t \m n f -> m (n f)
11:45:15 <lambdabot> forall t t1 t2. (t1 -> t2) -> (t -> t1) -> t -> t2
11:45:30 <Ngevd> But yeah, Haskell can't handle the S I I
11:45:39 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
11:45:39 <lambdabot> Probable cause: `id' is applied to too few arguments
11:45:39 <lambdabot> In the second argument of `ap', namely `id'
11:45:58 <oerjan> olsner: good policy. however, you can also find castles in tourist guides
11:45:58 <Ngevd> Can kallisti calculus?
11:46:16 <oerjan> (not the castles themselves, directions to them)
11:46:23 <olsner> oerjan: you can't go in those castles though, they're too flat
11:46:29 <Ngevd> Can kallisti's implementation of lambda calculus handle \x -> x x?
11:46:45 <kallisti> Ngevd: probably, since it's an untyped lambda calculus evaluator.
11:47:04 <oerjan> Abs (App (Bound 0) (Bound 0))
11:47:24 <kallisti> oerjan: eventually I'll have a parser for it.
11:47:30 <kallisti> but I don't feel like it right now.
11:47:49 <kallisti> also I'll have it spit out notation for each step by assigning unique variable names and stuff.
11:49:08 <Ngevd> Wow, that makes MIBBLLII developement much easier!
11:49:45 <Ngevd> join id, it's a brainfuck-disguised combinatory logic esolang
11:50:07 <oerjan> @pl ap id id (ap id id)
11:50:10 <lambdabot> optimization suspended, use @pl-resume to continue.
11:50:26 <Ngevd> Instead of saying <>> I can say ,>
11:50:46 <kallisti> I wonder if this is what most Haskell LC evaluators do
11:50:56 <kallisti> (iteratively apply beta reduction)
11:51:16 <kallisti> or maybe they write the evaluation in one big function?
11:54:25 <kallisti> hmmm just got an idea for a language:
11:54:33 <kallisti> what would happen if you this LC expression:
11:55:05 <Ngevd> I could probably make my downhill esolang a CA
11:57:54 <Sgeo_> elliott was criticizing conduit but I don't remember how
11:59:35 <oerjan> Sgeo_: i think he dislikes the underlying impurity
12:00:02 <Sgeo_> If I take what he said literally, he's wrong
12:00:11 <Sgeo_> "00:00:56: <elliott> Sgeo: For one apparently you have to be in IO and use mutable variables to maintain any kind of internal state but it's ok because you're going to be in IO all the time anyway!
12:00:17 <Sgeo_> conduits work with ST
12:00:19 <kallisti> possible candidate esolang names: goosereduce, reducearound, calculus the lambda, the calculus lambda, lambda the calculus, reduceagoose
12:01:01 <oerjan> kallisti: WE HAVE METHODS
12:01:05 <HackEgo> blait dea our lie teinstata canage ling ready deflti bri see min dor beere pathe kurallammy mong apegulige coll sprii chaspatio acl cher aan erre behambrigh ligetally white barquitsu 3344.2 ardshutio prohilie lypock pasted ear uponcia txy iiide oouric urrilledg king nulatth haw ence belit frusinher matoirn aleneth eorredisport sembelfa
12:01:30 <Sgeo_> oerjan, the Yesod blogposts talked about how the impurity makes things simpler, but if we're usually not touching the underlying mechanisms, how does it make it simpler?
12:02:07 <oerjan> Sgeo_: i've not read most of the conduit posts
12:03:00 <oerjan> it's not a word it's a free number
12:03:44 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: numberwang: not found
12:03:53 * oerjan recalls from his childhood books a talking squid by the number of 1030.25
12:03:54 <olsner> argh, which bot is that again
12:04:12 <olsner> I must know if 3344.2 is numberwang!
12:04:31 <oerjan> he was named after the battle of stiklestad
12:04:34 * Sgeo_ blinks at there being two HasRef (ST s) instances
12:04:56 <Sgeo_> Oh, for lazy and strict
12:05:02 * kallisti blinks at Sgeo's announcement of this.
12:05:15 * kallisti blinks at olsner not checking numberwang
12:05:33 <kallisti> that would be because there's no egobot
12:05:35 <olsner> the relevant bot is not present_
12:06:04 <olsner> argh! xfce's layout switcher forgets the layout at random intervals
12:06:50 <kallisti> @tell zzo38 I recall that you were interested in giving Haskell a more extensible syntax. If you look at Perl 6 you can see that it provides a way to redefine language syntax. Perhaps you could look at this for inspiration on how this could be done in Haskell.
12:07:42 <oerjan> it's particularly expressive about the lexical syntax of comments
12:08:11 <olsner> cool stuff, I should learn perl6 some day
12:08:37 * kallisti is still in his comfy perl5 shoes.
12:09:06 <olsner> "comfy"? enjoy your clogs...
12:10:12 * oerjan may be altogether too comfy in haskell these days
12:10:43 <kallisti> yes, you might forget that things mutate sometimes!
12:10:57 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA mutants
12:11:55 <kallisti> I got thrown off by this particular bit of Python code: i = iter(ls); for x,y in itertools.izip(i,i): ...
12:12:02 <kallisti> which is similar to zip`ap`tail
12:12:23 <kallisti> at first I was skeptical that it would work, thinking it would be like join zip i
12:12:34 <kallisti> ...because I forgot iterators mutate.
12:14:52 -!- Ngevd has quit (Ping timeout: 240 seconds).
12:17:23 -!- Ngevd has joined.
12:18:44 <kallisti> oerjan: is LC LR (hahaha acronyms)
12:18:52 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
12:19:08 <oerjan> kallisti: LR(1)? certainly.
12:19:33 <kallisti> oerjan: but I still should be able to use Parsec to parse it, yes..
12:19:36 <kallisti> I'll just have to do that thing
12:19:43 <kallisti> that I don't remember the name of
12:19:47 <oerjan> kallisti: erm you don't know what LR means do you :P
12:19:59 <kallisti> oerjan: I have a very vague idea.
12:21:07 <kallisti> basically that it can recurse before terminals... or whatever.
12:22:37 <kallisti> help there are a lot of topics in CS.
12:23:05 <oerjan> http://en.wikipedia.org/wiki/LR_parser it's not an abbreviation for left recursion
12:23:20 <kallisti> well I meant LR as in left recursion
12:24:00 <oerjan> kallisti: well yes you'll have the application chains, but you can use the chainl1 combinator for them
12:24:07 <lambdabot> Text.ParserCombinators.ReadP chainl1 :: ReadP a -> ReadP (a -> a -> a) -> ReadP a
12:24:08 <lambdabot> Text.Parsec.Combinator chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
12:24:08 <lambdabot> Text.ParserCombinators.Parsec.Combinator chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
12:24:51 <kallisti> oerjan: I've seen elliott use LR to mean left recursion therefore it is totally legit. :P
12:25:45 <kallisti> it brings tears of joy and pain to my eyes.
12:25:52 <oerjan> er was i punning, i didn't notice
12:26:14 <kallisti> yes you recursed right into punning.
12:26:43 <oerjan> well as long as it wasn't a freudian penis.
12:26:55 <kallisti> was that a pun too? I'm so confused.
12:27:02 -!- Vorpal has joined.
12:27:12 <oerjan> i think that may be a matter of definition
12:27:35 <kallisti> you freudian slipped in the word "freudian slip", right?
12:28:05 <oerjan> i have no idea what you are fucking about.
12:31:02 <kallisti> Not I. I have good oral standing.
12:32:52 -!- monqy has quit (Quit: hello).
12:33:45 -!- olsner has quit (Ping timeout: 255 seconds).
12:34:05 * kallisti considers also supporting De Bruijn notation.
12:37:09 <Sgeo_> o.O something that ehird didn't know
12:37:25 <Sgeo_> (existence of online parsers in Haskell)
12:37:36 <Sgeo_> http://www.reddit.com/r/haskell/comments/nsarm/conduits_part_3_sinks/c3bm3ab
12:38:06 <kallisti> proof that elliott isn't omniscient.
12:38:14 <kallisti> (or that he's tricking us into thinking he is mortal)
12:38:17 * Sgeo_ sees the UU thing every time he looks at the list of Hackage packages
12:38:49 <Sgeo_> Because someone decided it's so great, it doesn't fit in any categories, or something
12:39:15 <kallisti> oerjan: I considering using GADTs for the expression tree but I don't think I'll get much benefit from it.
12:40:04 <kallisti> basically it prevents the first field of an abstraction term from being anything other than a variable term.
12:40:41 <kallisti> that could be fixed by... not using variable terms in the first field of abstraction terms.
12:40:57 <kallisti> and just using strings or whatever
12:44:32 <oerjan> you _could_ just use another data or newtype definition for variables
12:46:03 <oerjan> BUT IT IS NOT COMPLETELY TYPE-SAFE
12:46:07 <kallisti> though later I might add a String field to Bound so that I can write better output
12:46:24 <kallisti> I switched LCAbs LCExpr LCExpr to LCAbs String LCExpr
12:48:21 -!- cheater has joined.
12:54:12 -!- oerjan has quit (Quit: Later).
12:54:40 -!- cheater has quit (Read error: Connection reset by peer).
12:58:21 <Phantom_Hoover> "You could argue that Donald Knuth is a mathematician." — someone in /r/math.
12:58:40 <Ngevd> Who was Knuth again?
13:05:20 <itidus21> knuth wrote the art of computer programming and invented some kind of up arrow notation
13:06:30 -!- Phantom__Hoover has joined.
13:07:56 <Sgeo_> Will elliott start yelling at me if I start writing code with conduits?
13:08:34 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
13:08:36 <itidus21> wiki says he is a mathematician, computer scientist, programming language designer, typographer, donald knuth, writer, pioneer, academic and combinatorialist
13:09:21 <itidus21> donald knuth is in the category donald knuth
13:12:24 <Ngevd> Samoa, always on the winners' side of the international date line
13:13:55 <Ngevd> Not if you treat the world as two roughly hemispherical bodies, connected at the Greenwich median and the international date line
13:14:41 <Phantom__Hoover> Ah, but then you're defining which side of the international date line you're on based on a second line.
13:15:28 <Ngevd> Yes, which, when taken with the mean international date line, forms a great circle
13:15:33 <Ngevd> s/median/meridian/
13:19:14 -!- sebbu has quit (Ping timeout: 240 seconds).
13:23:42 -!- Phantom__Hoover has quit (Remote host closed the connection).
13:23:54 -!- hagb4rd2 has quit (Ping timeout: 240 seconds).
13:24:16 -!- Phantom_Hoover has joined.
13:31:09 -!- derdon has joined.
13:34:10 -!- sebbu has joined.
14:10:34 -!- Ngevd has quit (Ping timeout: 248 seconds).
14:23:23 -!- Ngevd has joined.
14:23:56 -!- Ngevd has quit (Client Quit).
14:32:21 -!- Patashu has quit (Ping timeout: 252 seconds).
15:09:41 -!- Ngevd has joined.
15:10:13 <Ngevd> Well, my "annoying elliott" version of my genealogy program is off to a... start
15:13:06 -!- NihilistDandy has quit (Quit: Linkinus - http://linkinus.com).
15:15:06 -!- elliott has joined.
15:21:32 <Ngevd> For the record, I meant version for the purpose of annoying elliott, not version which is for elliott who is annoyin
15:26:58 <elliott> 09:48:49: <kallisti> I used to make arrow instances, then I took an arrow to the knee.
15:28:53 <elliott> 10:22:45: <Sgeo_> Is there a better way to do it without list comprehensions?
15:29:08 <elliott> Sgeo_: concatMap (maybe mzero pure) :p
15:29:28 <elliott> 10:28:08: <monqy> :t concatMap maybeToList
15:29:29 <elliott> 10:28:08: <lambdabot> forall b. [Maybe b] -> [b]
15:29:37 <elliott> those are what the list comprehension reduces to
15:29:59 <elliott> 09:55:44: <kallisti> oerjan: hi http://sprunge.us/FgOU
15:30:14 <elliott> @ask kallisti why TF are you doing substitution. half the point of de bruijn is that you can just carry an argument stack
15:33:08 <lambdabot> Source not found. My pet ferret can type better than you!
15:33:09 <lambdabot> Source not found. Have you considered trying to match wits with a rutabaga?
15:33:32 <Sgeo_> @undo (\ls -> [x | Just x <- ls]
15:33:35 <Sgeo_> @undo (\ls -> [x | Just x <- ls])
15:33:35 <lambdabot> (\ ls -> concatMap (\ a -> case a of { Just x -> [x]; _ -> []}) ls)
15:43:22 <elliott> 12:00:02: <Sgeo_> If I take what he said literally, he's wrong
15:43:23 <elliott> 12:00:11: <Sgeo_> "00:00:56: <elliott> Sgeo: For one apparently you have to be in IO and use mutable variables to maintain any kind of internal state but it's ok because you're going to be in IO all the time anyway!
15:43:23 <elliott> 12:00:17: <Sgeo_> conduits work with ST
15:43:39 <elliott> Sgeo_: yes, because storing all state in STRefs is so much better. all my haskell programs live in ST and use STRefs as locals.
15:43:53 <elliott> oh, and of course you can't use the ST stuff with any stream from the real world ever
15:45:49 <elliott> 12:24:51: <kallisti> oerjan: I've seen elliott use LR to mean left recursion therefore it is totally legit. :P
15:45:52 <elliott> while hallucinating perhaps
15:52:44 -!- MSleep has changed nick to MDude.
15:57:12 <lambdabot> kallisti: You have 2 new messages. '/msg lambdabot @messages' to read them.
15:57:17 <kallisti> at first I thought it was urine
16:12:17 <elliott> Holy shit, this feature request is the most mammoth thing ever.
16:12:31 <Ngevd> For what is the feature request for?
16:12:38 <elliott> You know it's bad when you end up with bulleted lists and subheadings.
16:12:42 <elliott> Ngevd: https://github.com/HeinrichApfelmus/reactive-banana/issues/22
16:14:15 -!- derdon has quit (Remote host closed the connection).
16:34:30 <kallisti> elliott: ar...ar...argument stack?
16:35:16 <kallisti> I think that might break my do-one-beta-reduction-at-a-time-with-no-state-inbetween model, unless I wrap the DBForm type into a type with an added stack.
16:36:14 <Ngevd> elliott, that's quite some feature request, reply, and reply to the reply
16:37:33 <elliott> kallisti: The term you're looking for is small-step.
16:40:09 <Ngevd> Wikipedia: '"Pimply-faced youth" redirects here. For youths who have pimples, see Puberty.'
16:41:06 <kallisti> anyway the main purpose of this, if there even was one, was to show successive beta reductions. I'm guessing this is still possible with an argument stack but I haven't really thought much on how it would work.
16:41:22 <kallisti> because, I'm mid-going-back-to-sleep
17:01:26 <quintopia> i've discovered how to make the world a friendlier place
17:01:50 <quintopia> any time one would use the word "fuck", one uses "hug" instead
17:02:00 <Ngevd> That's a hugging awful idea.
17:03:05 <quintopia> elliott: you can just hug off, you bastard
17:03:52 <Ngevd> quintopia, I think if this idea is put into practice it would just bring down the word "hug"
17:05:26 <augur> no no having sex with people of the same gender would be gay
17:06:09 <Ngevd> with /only/ people of the same gender
17:06:25 <quintopia> once upon a time, so would be decking the halls and making the yuletide merry
17:09:26 -!- augur has quit (Remote host closed the connection).
17:26:37 <elliott> You can't say hug in #jesus.
17:29:53 -!- bitc has joined.
17:31:52 <HackEgo> bitc: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
17:31:58 * elliott wonders if bitc is using an IRC client written in Bit-C.
17:37:44 <Ngevd> So, what brings you to this neck of the web, bic?
17:37:50 <elliott> In the future we'll buy software written in Bit-C with bitcoins and then proceed to bitch about it.
17:38:02 <elliott> Also every word will inexplicably start with bitc.
17:38:55 <Ngevd> bitchug, that would be crazy!
17:39:40 <bitc> i am looking for the language with no predefined tokens at all.
17:39:43 <kallisti> Let's take a little break from math now and examine the Von Neumann construct from a philosophical/metaphysical perspective. The Von Neumann construction is amazing in the sense that it requires only 3 elements: {"0","{","}"}. 0 is ultimately connected with emptiness and nothingness, a very basic characteristic of the universe. The two other symbols, "{" and "}" are ultimately connected with the properties of consciousness,
17:40:10 <itidus21> i tried to make 0xHAM work but i couldn't
17:40:17 <kallisti> In a sense the first step of creation is consciousness "recognizing" the vast emptiness of space. As soon as this happens, the emptiness "separates" into "something" (that which has perceived the emptiness) and the emptiness itself. As soon as we have two things, a boundary is created: The 3rd element. The sequence thus is:
17:40:39 <kallisti> (from: http://ioannis.virtualcomposer2000.com/math/Naturals.html)
17:41:23 <Ngevd> bitc, remind me, what is a predefined token?
17:41:29 <Ngevd> I'm not good at these words
17:41:41 <itidus21> sounds like chinese philosophy
17:41:59 <Ngevd> itidus21, you're on the wrong #esoteric
17:43:23 <itidus21> so i click the link and see a yin yang...
17:43:52 <bitc> Ngevd, that is a keyword or any fixed sequence of bits with meaning associated with them before beginning to write the program. for example the = sign (which makes us all think of the same thing), the while keyword or any \" signed string literal..
17:44:07 <itidus21> note 7: Tao Te Ching: (tr. Mair 1990:9): "The Way (nothingness) gave birth to unity (God), Unity gave birth to duality (Firstborn), Duality gave birth to trinity, Trinity gave birth to the myriad creatures.".
17:44:31 <Ngevd> bitc, Unnecassary?
17:44:33 <itidus21> and note 9: Tao Te Ching, Chapter 42: "Tao begets one; one begets two; two begets three; three begets all things.".
17:45:06 <bitc> Ngevd, i think so
17:48:05 <elliott> bitc: Well, if you don't want semantics, you'll have a hard time finding a language :)
17:48:23 <elliott> However, Feather is like that.
17:48:34 <elliott> (And for once I'm not joking when I say that...)
17:48:48 <Ngevd> You'll have a hard time finding Feather
17:49:12 <itidus21> Ngevd: i guess you're right.. wrong esoteric
17:49:16 <bitc> Ngevd, gotta go building the time machine..
17:49:54 <elliott> bitc: Forth may interest you, though.
17:50:28 <elliott> In that Forth's initial semantics are very trivial, and language constructs are implemented by completely taking over the parser.
17:51:41 <Ngevd> I can never remember if Forth is an actual esoteric language
17:52:01 <kallisti> > map (x -> read (replicate x "1") ^ 2) [1..]
17:52:02 <lambdabot> Pattern syntax in expression context:
17:52:07 <kallisti> > map (\x -> read (replicate x "1") ^ 2) [1..]
17:52:07 <lambdabot> Couldn't match expected type `GHC.Types.Char'
17:52:30 <kallisti> > map (\x -> read (replicate x '1') ^ 2) [1..]
17:52:31 <lambdabot> [1,121,12321,1234321,123454321,12345654321,1234567654321,123456787654321,12...
17:54:30 <Ngevd> > read (replicate 11 '1') ^ 2
17:55:51 <Ngevd> > read (replicate 10 '1') ^ 2
17:56:04 <Ngevd> Just as I thought... the 10 carrie
17:56:55 <lambdabot> Data.Char intToDigit :: Int -> Char
17:56:55 <lambdabot> Data.Text index :: Text -> Int -> Char
17:57:30 <lambdabot> *Exception: Char.intToDigit: not a digit 17
17:57:34 <lambdabot> *Exception: Char.intToDigit: not a digit 16
17:58:19 <kallisti> > map (\x (read $ map intToDigit [1..x]) * 9 + x + 1 -> ) [1..]
17:58:20 <lambdabot> <no location info>: Parse error in pattern
17:58:26 <kallisti> > map (\x -> (read $ map intToDigit [1..x]) * 9 + x + 1 -> ) [1..]
17:58:27 <lambdabot> <no location info>: parse error on input `)'
17:58:33 <kallisti> > map (\x -> (read $ map intToDigit [1..x]) * 9 + x + 1) [1..]
17:58:34 <lambdabot> [11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,*Exception:...
17:59:10 <kallisti> > map (\x -> (read $ map intToDigit [0..x]) * 9 + x + 1) [0..]
17:59:11 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,*Exceptio...
17:59:54 <Ngevd> With coin flips, I generally say "edge", as I normally don't care about the outcome, and if it lands edge it'd be awesome
18:00:57 <kallisti> > map (\x -> (read . take x $ cycle ['0'..'9']) * 9 + x) [1..]
18:00:59 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,111111110...
18:01:14 <kallisti> hmmm I'm not sure how to repeat the pattern
18:02:10 <kallisti> > map (\x -> (read . take x $ cycle (['0'..'9']++['9'..'0']) * 9 + x) [1..]
18:02:11 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
18:02:16 <kallisti> > map (\x -> (read . take x $ cycle (['0'..'9']++['9'..'0'])) * 9 + x) [1..]
18:02:18 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,111111110...
18:02:55 <kallisti> > map (\x -> (read . take x $ cycle (['0'..'9']++"0")) * 9 + x) [1..]
18:02:56 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,111111110...
18:05:28 <Ngevd> > 123456789- * 9 + 101
18:05:30 <lambdabot> <no location info>: parse error on input `*'
18:05:35 <Ngevd> > 1234567890 * 9 + 101
18:06:42 <kallisti> so I'm just missing part of the formula
18:10:08 <kallisti> > (11111111111 - (101-11)) / 9
18:10:17 <Ngevd> > let f 1 = 1; f n = 10 * (f (n - 1)) + 1 in map f [1..]
18:10:18 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,111111111...
18:10:58 <Ngevd> I was never told the rules
18:11:11 <kallisti> the rules were to continue the above pattern.
18:11:33 <Ngevd> > let f 1 = 1; f n = 10 * (f (n - 1)) + 1 in map ((^2) . f) [1..]
18:11:35 <lambdabot> [1,121,12321,1234321,123454321,12345654321,1234567654321,123456787654321,12...
18:12:07 <Ngevd> > 123456789 * 9 + 9
18:12:13 <Ngevd> > 123456789 * 9 + 10
18:12:28 <Ngevd> > 1234567990 * 9 + 11
18:12:45 <Ngevd> > 12345678900 * 9 + 11
18:12:54 <Ngevd> > 1234567900 * 9 + 11
18:13:17 <Ngevd> > 12345679011 * 9 + 12
18:13:29 <Ngevd> > 123456790123 * 9 + 13
18:13:47 <Ngevd> > 123456790122 * 9 + 12
18:13:51 <Ngevd> > 123456790122 * 9 + 13
18:14:04 <Ngevd> > 1234567901233 * 9 + 14
18:14:10 <Ngevd> > 12345679012344 * 9 + 15
18:14:17 <Ngevd> > 123456790123455 * 9 + 16
18:14:39 <kallisti> I don't feel like coding that. :P
18:15:45 <kallisti> > 123456789012345678900 * 9 + 19
18:17:00 <kallisti> the 8 decides to disappear for some reason
18:17:04 <kallisti> I NO LONGER LIKE THIS DIGIT SEQUENCE
18:17:52 <Ngevd> > let f 0 = 1; f n = 10 * (f (n - 1)) + n in map f [0..]
18:17:53 <lambdabot> [1,11,112,1123,11234,112345,1123456,11234567,112345678,1123456789,112345679...
18:18:17 <Ngevd> > let f 1 = 1; f n = 10 * (f (n - 1)) + n in map f [1..]
18:18:18 <lambdabot> [1,12,123,1234,12345,123456,1234567,12345678,123456789,1234567900,123456790...
18:18:41 <kallisti> Ngevd: working with the base directly, must be nice.
18:20:54 <kallisti> ah, I see why the 8 disappears now.
18:22:13 <Ngevd> > let f n = read (replicate n '1') - n `div` 9 in map f [1..]
18:22:14 <lambdabot> [1,11,111,1111,11111,111111,1111111,11111111,111111110,1111111110,111111111...
18:22:35 <Ngevd> > let f n = read (replicate n '1') - n + 1 `div` 9 in map f [1..]
18:22:37 <lambdabot> [0,9,108,1107,11106,111105,1111104,11111103,111111102,1111111101,1111111110...
18:22:56 <Ngevd> > let f n = (read (replicate n '1') - n) `div` 9 in map f [1..]
18:22:57 <lambdabot> [0,1,12,123,1234,12345,123456,1234567,12345678,123456789,1234567900,1234567...
18:24:42 <kallisti> > (^2) . read . flip replicate '1' <$> [1..]
18:24:44 <lambdabot> [1,121,12321,1234321,123454321,12345654321,1234567654321,123456787654321,12...
18:25:29 <Ngevd> > (^2) . read . flip replicate '1' <$> [12]
18:25:51 <kallisti> and once again the 8 disappears
18:28:13 -!- oerjan has joined.
18:28:52 <kallisti> > (^2) . read . flip replicate '1' <$> [1..]
18:28:54 <lambdabot> [1,121,12321,1234321,123454321,12345654321,1234567654321,123456787654321,12...
18:29:07 <kallisti> > (^2) . read . flip replicate '1' <$> [10..]
18:29:09 <lambdabot> [1234567900987654321,123456790120987654321,12345679012320987654321,12345679...
18:29:38 <Phantom_Hoover> "It should be done away with in my opinion. Do you realize how many foreigners with immunity get away with terrible crimes such as murder? It is appalling. You can bet if an american commited a crime on foreign soil they would be punished. America is just too soft on criminals domestic or otherwise."
18:29:54 <Phantom_Hoover> The thing this person is shooting their mouth off about is /diplomatic immunity/.
18:30:35 <elliott> The famous policy where we invite diplomats over for killing sprees.
18:31:03 <Phantom_Hoover> The famous policy where we consider any foreigner a diplomat and are surprised when noöne else does this.
18:31:06 <elliott> "The car on the right is double parked. Since it has Diplomatic License Plates, the driver would not be obliged to pay any citation issued." --[[Diplomatic immunity]]
18:31:16 <elliott> I want one of those license plates.
18:31:31 <elliott> "Illustrating how widespread this problem is that in France, between November 2003 and 2004, there were 2,590 cases of diplomatic cars caught speeding by automatic radars. The Autobahn 555 in Cologne, Germany was nicknamed the "Diplomatenrennbahn" (Diplomatic Raceway), back when Bonn was the capital of West Germany, because of the numerous diplomats that used to speed through the highway under diplomatic immunity."
18:31:44 <Phantom_Hoover> "Take the Libyan embassy worker in London who, in April 1984, decided to open fire at a mob of anti-Gadhafi protesters outside his embassy, fatally wounding a police officer and injuring 10 others. The police laid siege to the embassy for 11 days, at which point the government stepped in, allowed the ambassador and his staff to leave the premises -- and promptly kicked them out of the country, with a nice long fuck you t
18:31:44 <Phantom_Hoover> o take back to Gadhafi. The countries' diplomatic relations were torn apart, but no one was ever convicted of the shootings."
18:32:16 <Phantom_Hoover> I note that this was not a case of getting away with it due to diplomatic immunity; instead, it's just a "normal criminal proceedings weren't followed".
18:34:33 <oerjan> <elliott> The famous policy where we invite diplomats over for killing sprees. <-- i hear vlad tepes had a penchant for this.
18:39:34 <oerjan> <Ngevd> Not if you treat the world as two roughly hemispherical bodies, connected at the Greenwich median and the international date line
18:39:50 <oerjan> suggestion: get great britain to move across the international date line
18:41:22 <oerjan> <Ngevd> For the record, I meant version for the purpose of annoying elliott, not version which is for elliott who is annoyin <-- yeah those are easy to confuse
18:41:51 <Ngevd> I am in the Western hemisphere, so I'd end up a day ahead
18:41:58 <oerjan> 15:26:58: <elliott> 09:48:49: <kallisti> I used to make arrow instances, then I took an arrow to the knee.
18:42:01 <oerjan> 15:27:01: <elliott> kallisti: cease breathing
18:42:16 <Ngevd> I used to breath, but then I took an arrow to the lung
18:42:31 <oerjan> i feel so left out, i only get to know this meme _after_ everyone is fed up with it.
18:43:02 <oerjan> elliott: hey are you laughing at me or Ngevd, this is important
18:44:00 * oerjan does a little victory dance
18:44:45 <oerjan> admittedly it _is_ possible everyone was fed up with this meme from its birth
18:45:47 <oerjan> i used to be good at haskell, but then i took an arrow to m'nads
18:46:16 * elliott has set mode +b oerjan*!*@*
18:46:24 * elliott has kicked oerjan (I hate you and everything you stand for.)
18:46:47 <oerjan> why thank you, i'll be here all week except when my router croaks
18:47:35 <elliott> It's like that wossname in h2g2 where the wossname body part killed the wossname poet. Phantom_Hoover will remember.
18:47:56 <kallisti> http://en.wikipedia.org/wiki/File:Accidents.png
18:48:15 <oerjan> ah yes the second worst poet in the universe
18:49:52 <lambdabot> Ambiguous type variable `a' in the constraints:
18:50:05 <elliott> > (maxBound - minBound) :: Int
18:50:15 <elliott> > (maxBound - minBound) :: Word
18:50:32 <kallisti> elliott: I only used it because I felt the punniness warranted it.
18:50:37 <elliott> > (maxBound - minBound) :: Int8
18:51:27 <kallisti> and here elliott learns about one's complement.
18:54:19 <oerjan> kallisti: you might want to check your terminology.
18:54:26 <Ngevd> Could someone explain Monads?
18:54:34 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
18:54:36 <Ngevd> I want to learn them next
18:54:53 <oerjan> kallisti: it's not _one's_ complement
18:54:53 <kallisti> Ngevd: m >>= f = join (fmap f m)
18:54:54 <fizzie> kallisti: Now you broke him.
18:55:16 <Ngevd> oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
18:55:53 <oerjan> Ngevd: well monads are a bit like vestlandslefse
18:56:26 <kallisti> oerjan: well yes, it's not. I guess two's complement would have made more sense, but I was implying that one's complement is what elliott seemed to expect.
18:56:36 <kallisti> perhaps I... did that wrong. :P
18:56:56 <kallisti> Ngevd: there, do you get monads now>
18:57:47 <kallisti> another way to think about it would be:
18:58:12 <kallisti> but that's probably not the direction you want to go.
18:58:25 <elliott> Ngevd: you have learn you a haskell, right?
18:58:29 <HackEgo> Monads are just monoids in the category of endofunctors.
18:58:43 <elliott> don't try to understand them before reading the previous chapters, it's just a waste of time since your knowledge won't be up to it yet
18:58:48 <elliott> once you do get there they'll be trivial
18:59:05 -!- iconmaster has joined.
18:59:09 <Ngevd> I like the sound of the voice my brain assigns oerjan
18:59:43 <kallisti> Ngevd: think of monads as burritos
18:59:56 <Ngevd> What's a burrito again?
19:00:25 <kallisti> do british people not have burritos?
19:00:39 <Ngevd> We probably do, but Hexham's pretty damn remote
19:00:51 <Ngevd> The nearest Mexican restaurant is 21 miles away
19:01:22 <oerjan> ok, think of monads as haggis
19:01:33 <Ngevd> I know what haggis is
19:01:38 <elliott> trolling people with joke monad explanations is not really helpful if they don't already know what a monad is.
19:01:51 <kallisti> elliott: it's not hurtful either.
19:01:54 <Ngevd> The nearest Scottish restaurant is right here
19:02:17 <kallisti> they'll try to apply their logic of burritos to monads.
19:02:34 <elliott> kallisti: awesome, that gives me one (1) free card to call you stupid the next time you make a mistake
19:02:37 <oerjan> ok, think of monads as haggis in a spacesuit in the middle of the ocean
19:02:49 <kallisti> elliott: do you need anymore of those cards?
19:03:16 <kallisti> it has a substantial population
19:03:30 <kallisti> even my town has a mexican restaurant. YOUR COUNTRY IS WRONG.
19:03:31 <Ngevd> kallisti, it's remote in terms of Mexican restaurants
19:03:32 <elliott> hexham is in the texan desert
19:03:45 <Ngevd> We have at least two Italian restaurants
19:03:56 <kallisti> and a pizza place, if that counts (it doesn't)
19:03:58 <Ngevd> And a Greek restaurant
19:04:04 <Ngevd> And a French restaurant
19:04:17 <kallisti> French people have food? why haven't we Americanized it yet.
19:04:23 <fizzie> I don't think there's a Mexican place in the similarly sized "city" in Finland I know of.
19:04:54 <kallisti> do Spanish people not eat burritos?
19:05:13 <Phantom_Hoover> They're horrible, but everyone pretends to like them to save face?
19:05:51 <kallisti> you guys are so easily traumatized by programming concepts. There's a lot of "horrible" and "bad" things, apparently.
19:06:01 <kallisti> even though... monads aren't really all that horrible?
19:06:05 <Ngevd> http://goo.gl/lMdak
19:06:22 <fizzie> This is their main "restaurant": http://www.tinatahti.fi/index.php?pinc=3 -- yes, it's the "Photos" page, and it's empty.
19:06:29 * oerjan swats Ngevd for using url shorteners -----###
19:06:37 <Ngevd> It's a bloodly long URL!
19:06:40 -!- Ngevd has quit (Quit: dinner).
19:07:14 <kallisti> oerjan: what's wrong with URL shorteners?
19:07:34 <kallisti> @tell Ngevd http://g.co/maps/5h4nd
19:07:38 <oerjan> Phantom_Hoover: precisely!
19:08:03 <oerjan> kallisti: you cannot easily see where they lead
19:08:24 <kallisti> oerjan: sorry next time I'll paste http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=restaurant+in+hexham&aq=&sll=53.800651,-4.064941&sspn=14.745606,43.286133&vpsrc=0&ie=UTF8&start=0&hq=restaurant&hnear=Hexham,+Northumberland,+United+Kingdom&t=m&z=16
19:08:33 <fizzie> That's like, less than 512 characters.
19:08:36 <fizzie> Not long by any means.
19:08:54 -!- HackEgo has quit (*.net *.split).
19:08:56 -!- bitc has quit (Quit: Page closed).
19:08:57 <elliott> <oerjan> kallisti: you cannot easily see where they lead
19:09:02 <elliott> and they're fragile. although i admit goo.gl will probably not die any time soon
19:09:30 <fizzie> goo.gl follows the "+ convetion" of put-a-+-at-the-end-and-you'll-get-a-page-with-the-expansion, but that's one extra step to take.
19:09:33 -!- TeruFSX_ has quit (Ping timeout: 244 seconds).
19:10:17 <fizzie> Well, I think one of the others did it too.
19:13:57 <kallisti> fizzie: have you ever ate Mexican food?
19:14:57 <fizzie> Oh, there's quite many Mexican places *here*, just not in the comparable-to-Hexham-maybe-except-in-#esoteric-ness-and-many-other-things-I-guess place.
19:14:58 <elliott> fizzie: More like BIT TOO LIBYAN FOR ME.
19:15:30 <fizzie> They do run j.mp too; though maybe that's BIT TOO NORTHERN MARIANA ISLANDS FOR YOU.
19:16:09 <fizzie> Right, I sort of got that too late.
19:16:32 <elliott> We should outlaw URL shorteners.
19:17:16 <kallisti> "comparable-to-Hexham-maybe-except-in-#esoteric-ness-and-many-other-things-I-guess"
19:18:03 <fizzie> I just mean it's got about as many people in it, but I don't think there's anyone doing #esoteric from there, while from Hexham we've got, what, hundreds of guys?
19:18:23 <fizzie> And I guess it's a bit colder?
19:18:31 -!- xandy| has quit (*.net *.split).
19:18:31 -!- coppro has quit (*.net *.split).
19:18:31 -!- Zwaarddijk has quit (*.net *.split).
19:18:31 -!- ineiros has quit (*.net *.split).
19:18:41 -!- Slereah_ has quit (Read error: Connection reset by peer).
19:18:50 <kallisti> fizzie: what does that have to do with Mexican restaurants and eating at them..
19:19:00 <elliott> kallisti: To quote Italian physicist Noam Chomsky, "damn it feels good to be a gangsta".
19:19:25 -!- itidus21 has quit (*.net *.split).
19:19:32 -!- Slereah_ has joined.
19:19:38 <kallisti> You forgot the rest of that quote
19:19:58 <kallisti> "A real gangsta-ass nigga plays his cards right"
19:20:58 <fizzie> kallisti: "<fizzie> I don't think there's a Mexican place in the similarly sized "city" in Finland I know of." See, just because they don't have Mexican restaurants doesn't mean what passes for civilization around here wouldn't have them.
19:21:21 -!- Ngevd has joined.
19:21:45 <elliott> fizzie: The interesting thing is that that place is actually Hexham.
19:21:53 <elliott> fizzie: Finland is topologically grafted to the UK.
19:21:58 -!- EgoBot has joined.
19:21:58 -!- HackEgo has joined.
19:21:58 -!- TeruFSX has joined.
19:21:58 -!- xandy| has joined.
19:21:58 -!- coppro has joined.
19:21:58 -!- Zwaarddijk has joined.
19:21:58 -!- ineiros has joined.
19:22:11 <elliott> Whenever anyone ends up in a really cold place, they just assume they've wandered into Scotland.
19:22:19 -!- itidus21 has joined.
19:22:32 <elliott> As Scotland is uninhabitably bitter and ugly, they immediately turn round.
19:23:19 -!- Slereah_ has quit (*.net *.split).
19:23:19 -!- aloril has quit (*.net *.split).
19:23:19 -!- MDude has quit (*.net *.split).
19:23:19 -!- jix has quit (*.net *.split).
19:23:20 -!- Phantom_Hoover has quit (*.net *.split).
19:23:20 -!- mtve has quit (*.net *.split).
19:23:20 -!- lambdabot has quit (*.net *.split).
19:23:20 -!- sebbu has quit (*.net *.split).
19:23:20 -!- copumpkin has quit (*.net *.split).
19:23:20 -!- Madoka-Kaname has quit (*.net *.split).
19:23:20 -!- lifthrasiir has quit (*.net *.split).
19:23:20 -!- yiyus has quit (*.net *.split).
19:23:20 -!- SimonRC_ has quit (*.net *.split).
19:24:07 -!- Slereah_ has joined.
19:24:07 -!- sebbu has joined.
19:24:07 -!- Phantom_Hoover has joined.
19:24:07 -!- copumpkin has joined.
19:24:07 -!- Madoka-Kaname has joined.
19:24:07 -!- mtve has joined.
19:24:07 -!- aloril has joined.
19:24:07 -!- MDude has joined.
19:24:07 -!- jix has joined.
19:24:07 -!- lambdabot has joined.
19:24:07 -!- lifthrasiir has joined.
19:24:07 -!- yiyus has joined.
19:24:07 -!- SimonRC_ has joined.
19:25:14 <fizzie> Apparently it's actually just 0°C in Lieksa right now. But this has been a weird crazy-mild early-winter in Finland so far. Last November was in the top three warmest Novembers in the last 50 years.
19:25:17 <Phantom_Hoover> 19:22:11: <elliott> Whenever anyone ends up in a really cold place, they just assume they've wandered into Scotland.
19:25:34 <Phantom_Hoover> Funny, since it hasn't been particularly cold here for about a year.
19:26:09 <fizzie> And the September-November period was the warmest since 1938.
19:27:01 -!- Slereah_ has quit (Ping timeout: 257 seconds).
19:27:48 <elliott> Phantom_Hoover: he says, from inside his insulated Scottish space suit.
19:27:54 <elliott> (They're made out of cardboard.)
19:28:09 <Ngevd> It's because the annual high pressure front in Siberia which means that the Gulf of Mexico doesn't stop giving the UK heat hasn't developed
19:28:09 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
19:28:31 -!- iconmaster has quit (Quit: Ayup, this is a quit message.).
19:28:47 -!- Slereah_ has joined.
19:31:11 <fizzie> Normally the place looks like this: http://www.vastavalo.fi/albums/userpics/14685/normal_P1167142.jpg (Okay, not all of it; but the national park there is a popular spot for photos in winter-themed Christmas cards.)
19:32:35 <kallisti> ...my car windshield gets a little frosty here.
19:33:43 <fizzie> http://en.wikipedia.org/wiki/Koli_National_Park -- I'm actually a bit surprised the Wikipedia article doesn't have a winter picture, I think it's an equally iconic sight.
19:34:15 <fizzie> (Who keeps putting all these panoramic pictures in every Wikipedia article of a place ever?)
19:34:25 <kallisti> current temp according to google
19:38:41 <kallisti> fizzie: stop having a somewhat reasonable highway system.
19:38:55 <kallisti> http://upload.wikimedia.org/wikipedia/commons/1/1f/Map_of_Finland-en.svg
19:39:40 <fizzie> The "1st class roads", at least up north, might not quite be what you'd call "highways".
19:40:21 <fizzie> http://www2.liikennevirasto.fi/alk/kelikamerat/kamera-C1454101.html -- do you call this a highway?
19:41:14 <fizzie> (It's the red-yellow road from Map_of_Finland-en.svg near the "Inari" place up there in the north.)
19:41:16 <kallisti> does anyone actually live in north Norway?
19:42:11 <kallisti> fizzie: that's not too different from state highways near rural areas where I live.
19:42:15 <oerjan> (aka "most of my family")
19:42:48 <fizzie> http://en.wikipedia.org/wiki/Honningsv%C3%A5g -- 2367 family members of oerjan.
19:42:53 <Vorpal> kallisti, I think Assassin's Creed Revelations get repetitive after a while. It was fun for a few hours once I got the hang of the controls.
19:43:04 <Ngevd> Henxe "Johansenland"
19:43:19 <elliott> I am currently 132.387097 times better than kallisti and 195.428571 times better than Ngevd.
19:43:24 <Vorpal> oerjan, what does "Honningsvåg" mean?
19:43:25 <kallisti> Vorpal: that's a common complaint of the series, actually. Especially with the first game.
19:43:35 <Vorpal> oerjan, something wave or something scale?
19:43:35 <Ngevd> elliott, define "better"
19:44:04 <Ngevd> Because I'm very negative on the megafonzie scale
19:44:11 <oerjan> Vorpal: i dunno, that's etymology
19:44:33 <kallisti> Vorpal: I always found it fun to play. But I never owned it I just played it occasionally on other people's consoles.
19:44:47 <oerjan> våg means, er, damn what's the english word
19:44:53 <Vorpal> kallisti, it just lack variation. Parkour sure looks amazing but if it is just basically hold right-click w and space and tap shift every now and again...
19:45:05 <kallisti> Vorpal: the second game had quite a bit more variety than the first, I think. I especially enjoyed the "assassin's tombs" which were basically especially difficult platformer-puzzles.
19:45:14 <Vorpal> oerjan, that is what våg means in Swedish
19:45:46 <oerjan> Vorpal: neither, those are bølge and vekt
19:45:59 <Vorpal> oerjan, so what is weight then?
19:46:06 <oerjan> Vorpal: oh it _can_ mean wave
19:46:13 <kallisti> Vorpal: I could see the slightly more cumbersome PC controls becoming monotonous.
19:46:34 <Vorpal> oerjan, as well as scale?
19:46:41 <fizzie> oerjan: We just recently reserved one of these things ->http://www.rorbuer.no/en <- for three nights near next Easter.
19:46:59 <oerjan> Vorpal: but the relevant meaning for place names is "bay"
19:47:10 <Vorpal> kallisti, not sure I'm such a fan of platformer puzzles. Especially if they are in the dark. I had problems with that thing in a lighthouse in this game due to not being able to see clearly wtf was going on.
19:47:30 <Vorpal> kallisti, like I couldn't see the dark grey ledge against the dark grey stone
19:47:38 <Vorpal> so I couldn't figure out where to jump
19:47:52 <oerjan> (btw i don't know that any of my family lives as far north as finnmark)
19:48:07 <Vorpal> oerjan, which would be vik in Swedish
19:48:07 <kallisti> Vorpal: in the second game it was somewhat challenging to maintain a steady pass through the city without falling.
19:48:37 <kallisti> dunno I enjoyed it. But I didn't play it for hours.
19:48:39 <Vorpal> kallisti, also the city control mini game is just boring
19:48:47 <Vorpal> but you end up needing that income
19:48:59 <Vorpal> kallisti, you never played this incarnation?
19:49:08 <Vorpal> I was under the impression you had
19:49:39 <oerjan> Vorpal: yes vik and bukt are other words for it, våg is i think typically northern norwegian
19:49:53 <Vorpal> kallisti, basically you can send assassin's out to other cities around the Mediterranean to level up and gain influence over the city (giving you income from said city)
19:50:14 <oerjan> <Vorpal> oerjan, as well as scale? <-- and yes.
19:50:19 <Vorpal> oerjan, isn't bukt basically a less "sharp" vik?
19:50:40 <Vorpal> in Swedish I think it is
19:51:25 <kallisti> Vorpal: oh hm apparently they changed the combat system quite a bit in the third game.
19:51:28 <Vorpal> oerjan, what is "honning" then? I hope that is the Norwegian word for "honey" because that is what I first thought when I saw it "honey wave" XD
19:51:39 <Vorpal> (it is honung in Swedish)
19:51:56 <Vorpal> kallisti, I see. Can't compare it to previous incarnations
19:52:01 <Vorpal> kallisti, how do they differ?
19:52:38 <kallisti> The combat system has been modified. Striking first and offensive actions are more deadly in Brotherhood than previous games where counter-attacks were the most efficient. Before, this made the player wait until the AI struck, which slowed down the pace of fighting. The AI in this game is thus more aggressive and enemies can attack simultaneously.
19:52:56 <kallisti> To dispatch them, Ezio can use melee and ranged weapons at the same time, as well as introducing the hidden pistol in combat. After killing one enemy the player can start an execution streak to dispatch multiple enemies quickly.
19:53:17 <Vorpal> yes I noticed those streaks
19:53:26 <Vorpal> however, I can't say I'm good at them
19:53:29 <oerjan> <Vorpal> oerjan, isn't bukt basically a less "sharp" vik? <-- dunno
19:53:35 <Vorpal> never been good at combo-based combat
19:54:31 <oerjan> Vorpal: yes honning means honey although it feels strange for that to be prevalent that far north...
19:54:34 <kallisti> I recently played Batman: Arkham City which is basically all combo based
19:54:49 * kallisti can get 50x combos consistently
19:54:51 <oerjan> so possibly it's a distortion of something else
19:54:54 <Vorpal> kallisti, anyway there was a level where you had to freerun above water to race a boat below you with templars in it to the end. It was tricky until I figured out I basically had to hold right mouse, space and forward, and tap shift a few time to use the hookblade. Oh and steer a bit with the mouse to change the camera angle
19:55:07 <Vorpal> kallisti, maybe you are just good at that?
19:55:23 <Vorpal> anyway the combo combat made me decide to not play that game
19:55:42 <Vorpal> oerjan, you mean it is too cold for honey up there?
19:55:50 -!- PiRSquared17 has joined.
19:55:57 <oerjan> Vorpal: finnmark is more well-known for mosquitos than bees :P
19:56:32 <oerjan> and yes, iirc much of finnmark is genuinely arctic climate
19:56:44 <Vorpal> so where is this, wikipedia has no map
19:56:48 <kallisti> Vorpal: that sounds annoying, I'm bad with PC controls on games like that.
19:57:37 <Vorpal> kallisti, anyway I'm bad with gamepads. I used them for a handful of hours in my entire life
19:57:51 <Vorpal> (which is why I'm bad at them probably)
19:57:59 <Vorpal> I can manage an snes pad though XD
19:59:09 <kallisti> Vorpal: it looks to me like Revelations didn't really improve much on the gameplay.
19:59:19 <oerjan> Vorpal: http://maps.google.no/maps?hl=no&safe=off&q=honningsv%C3%A5g&gs_upl=719484l722234l7l723609l11l6l0l2l2l1l656l2219l2-2.3.0.1l8l0&bav=on.2,or.r_gc.r_pw.,cf.osb&biw=1074&bih=624&wrapid=tlif132526983959310&um=1&ie=UTF-8&hq=&hnear=0x45c9a941d0d2fa49:0xbda760a333169846,Honningsv%C3%A5g&gl=no&ei=ihf-Ts3QMM2q-Abyi7HKAQ&sa=X&oi=geocode_result&ct=title&resnum=2&ved=0CD0Q8gEwAQ
19:59:20 <kallisti> whereas AC to AC2 to Brotherhood were all improvements in gameplay.
19:59:33 <Phantom_Hoover> Not just a humorous combination of Finland and Denmark.
19:59:39 <Vorpal> oerjan, "Den här anslutningen är inte tillförlitlig" lol
20:00:11 <Vorpal> oerjan, the certificate is not for google.no according to my browser. Just for google.com, google.co.uk and a shitload of other ones
20:00:23 <oerjan> Vorpal: i got no complaint
20:00:28 <kallisti> Vorpal: still AC is an awesome series. The first game was pretty much groundbreaking.
20:00:43 <Vorpal> kallisti, I'm not saying it wasn't
20:00:47 <oerjan> Vorpal: but then it's not https
20:00:51 <kallisti> Vorpal: YES YOU ARE OBVIOUSLY YOU ARE
20:00:57 <Vorpal> oerjan, wtf why did I get https
20:01:09 <Vorpal> it redirects me to https?
20:01:40 <kallisti> "a number of new features have been attempted to make Revelations feel new and different from its predecessors. In that quest for broader variety and a unique identity from the earlier games, Revelations makes some missteps that are hard to ignore. However, the game offers more of what has been great about the franchise, and that should be enough to bring most fans to the table, even if it a poor starting point for new play
20:01:50 <kallisti> Vorpal: you should probably really play the old games
20:02:16 <kallisti> Vorpal: though playing Revelations may have spoiled you already. :P
20:02:18 <oerjan> <Phantom_Hoover> Wait, is Finnmark a real place. <-- yes it's norway's northernmost mainland county
20:02:33 <Vorpal> Phantom_Hoover, why are you surprised?
20:02:38 <Vorpal> is the word odd to you?
20:02:38 <elliott> Phantom_Hoover: I was surprised too.
20:02:51 <oerjan> Phantom_Hoover: the morphemes are the same as in finland and denmark, i think
20:02:53 <Phantom_Hoover> Because if I was going to make up a fake Scandinavian country, it would probably be called Finnmark.
20:03:14 <Phantom_Hoover> PiRSquared17, the bastard child of Finland and Denmark.
20:03:42 <fizzie> Sort of the wrong direction, considering Denmark.
20:03:55 <Vorpal> Phantom_Hoover, what about Lappland? That is a Swedish county. (fizzie: I believe it is a Finnish county too?)
20:04:15 <kallisti> Vorpal: I'd recommend AC2 and Brotherhood at least.
20:04:44 <fizzie> Finnmark should be somewhere in South-Sweden.
20:04:50 <Ngevd> I've never played AC1
20:04:58 <fizzie> (Or is that where Denland is?)
20:05:06 <Ngevd> I've played Assassin's Creed: Altair's Chronicles
20:05:15 <oerjan> Phantom_Hoover: heh i recall the yafgc comic seemed to have wanted a fake viking country and called it nordland, which is _another_ of our counties. the one where most of my family lives, btw
20:05:29 -!- quintopia has quit (Remote host closed the connection).
20:05:37 -!- quintopia has joined.
20:06:44 <fizzie> Vorpal: We abolished counties at the end of 2009, but yes, we had a Lappland (Lappi in Finnish).
20:06:45 <Vorpal> Ngevd, DS? Sounds horrible
20:07:01 <kallisti> Vorpal: I really think they should have stopped focusing on Ezio and maybe added a third character.
20:07:08 <oerjan> Phantom_Hoover: finnmark is both the largest and (one of?) the least populated counties, something like alaska is for the us i think
20:07:08 <Vorpal> fizzie, I assume you still have län?
20:07:53 <fizzie> Vorpal: I was assuming län to be the closest representative of English 'county'; those are exactly what we no longer have.
20:09:09 <fizzie> elliott: Well, Germans had already burned it...
20:09:13 <Vorpal> fizzie, eh, we have län and landskap
20:09:24 <Vorpal> landskap no longer fills any official function
20:10:02 <Vorpal> well I think there might still be a heraldic symbol or such per landskap. Anyway that is the old old old system.
20:10:12 <Vorpal> fizzie, what do you have instead of län then?
20:10:21 <oerjan> fizzie: wait the germans burned lapland? they also burned finnmark.
20:11:18 <fizzie> oerjan: It's a bit of what they do. This was the time when we no longer were such good friends any more, and told them to go away.
20:11:39 * elliott wonders what the most elegantest pure memo table for rationals are
20:11:45 * elliott considers scaring oerjan away by pinging him after saying that.
20:11:56 <elliott> `addquote <oerjan> fizzie: wait the germans burned lapland? they also burned finnmark. <fizzie> oerjan: It's a bit of what they do. This was the time when we no longer were such good friends any more, and told them to go away.
20:12:00 <HackEgo> 787) <oerjan> fizzie: wait the germans burned lapland? they also burned finnmark. <fizzie> oerjan: It's a bit of what they do. This was the time when we no longer were such good friends any more, and told them to go away.
20:12:07 <Vorpal> why is some neighbour shooting fireworks atm.... Come on that is for tomorrow...
20:12:30 <oerjan> elliott: that continued fraction tree thing?
20:12:33 <elliott> I think Arcane Sentiment may be dead :(
20:12:43 <Ngevd> The Scots burnt Hexham
20:12:50 <Ngevd> So did the Vikings
20:12:54 <fizzie> Vorpal: We had a big reorganization of the "län" structure in 1997, in which several were merged to go from 12 to 6; and since 2010 those went away too. Now they just have six "aluehallintovirasto", "regionförvaltningsverk", which I guess do some of the same things.
20:12:57 <elliott> oerjan: that's a good idea! thanks
20:13:03 <Vorpal> fizzie, hm wikipedia translates landskap with province and län with county it seems.
20:13:11 <Phantom_Hoover> <Vorpal> why is some neighbour shooting fireworks atm.... Come on that is for tomorrow...
20:13:21 <Vorpal> Phantom_Hoover, oh crap
20:13:34 <elliott> oerjan: oh it's as simple as just Rational -> a = (a, Rational -> a, Rational -> a)
20:13:52 <Vorpal> Phantom_Hoover, I just asked them if they were german. They said nein, should I trust them?
20:14:19 <Vorpal> elliott, speaking of other strangly named provinces: Medelpad
20:14:33 <Vorpal> that one always sounded odd to me, as a Swede
20:14:38 <elliott> oerjan: otoh the actual function for (Rational -> a) -> memoised form is probably ugly :(
20:15:24 <Vorpal> also it seems landskap were replaced with län in 1634
20:15:40 <Vorpal> yet people still refer to the landskap when they say where they are from and such
20:16:45 <Vorpal> (also the plural of a Swedish word in an English sentence ends up awkward, so I skipped that there)
20:16:58 <kallisti> Vorpal: I guess the hookblade probably makes it easier to traverse the city.
20:17:14 <Vorpal> kallisti, somewhat, It gives you a bit of extra reach. Not that much really
20:17:30 <elliott> oerjan: UNLSES I'M MISSING SOME GREAT INSIGHT COUGH COUGH
20:17:34 <Vorpal> kallisti, especially useful when scaling towers and such in high profile mode.
20:17:36 <kallisti> do you start the game being able to jump upward while climbing?
20:17:53 <Vorpal> kallisti, eh you get the hookblade like 4 missions into the game or so
20:17:57 <kallisti> this is not a thing you could do in the first game, and you could only do it in AC2 after learning it from someone.
20:18:01 -!- MDude has quit (Ping timeout: 240 seconds).
20:18:04 <kallisti> Vorpal: no I think this is different.
20:18:07 <Vorpal> kallisti, and I don't think you can do that
20:18:08 <oerjan> elliott: well you'd have to construct the stern-brocot tree and annotate each node with its corresponding a, no?
20:18:17 <Vorpal> kallisti, you kind of can do it with the hookblade though
20:18:23 <kallisti> Vorpal: really? it would kind of make sense assuming linear continuity between sequels.
20:18:36 <Vorpal> kallisti, well maybe you can. I usually always use the hookblade when scaling
20:18:45 <Vorpal> since it is automatic if you have it equipped
20:18:56 <Vorpal> and I prefer that as a weapon anyway (compared to the sword)
20:19:43 <kallisti> my favorite weapon is unarmed. :)
20:20:00 <Vorpal> that works for beating up people but not for killing them?
20:20:22 <oerjan> elliott: you could probably annotate it with the rational itself and apply fmap for trees
20:20:39 <elliott> oerjan: well yes but usually there's a more direct way of doing it... i.e. memo f = Tree (f 1) (memo (f . g)) (memo (f . h))
20:20:44 <elliott> i'm just not smart enough to figure out what g and h are :P
20:20:46 <Vorpal> kallisti, also initial starting-game cut scene sucked. It was so blatantly not using the in-game engine.
20:21:15 <Vorpal> kallisti, I was obviously ray traced, or possibly photon mapped. And used much more high def models
20:21:29 <oerjan> elliott: hm oh. well iirc the subtrees are parametrized by the bounding rationals at each end, aren't they?
20:21:38 <Vorpal> I despise games doing that. Thankfully all the remaining cut scenes are with the in game engine
20:21:55 <oerjan> -inf and inf for the large one, that needs some special handling
20:22:18 <kallisti> Vorpal: so you're complaining that it was.... too high definition?
20:22:36 <Vorpal> kallisti, I'm complaining that it wasn't the same definition as the rest of the game!
20:22:43 <elliott> oerjan: well you just need a map from the rationals to the rationals on the left and the rationals on the right of the tree
20:22:53 <Vorpal> kallisti, besides it was upscaled on my monitor
20:23:09 <kallisti> Vorpal: apparently you learn the climb leap in Brotherhood as well. even though Ezio learns it in AC2. weird.
20:23:12 -!- derdon has joined.
20:23:14 <fizzie> oerjan: Based on the interwebs, the Germans burned your place while on their way out of the Finnish Lapland, after having burned it too. And it was the same Lothar Rendulic guy.
20:24:07 <fizzie> He seems to have been really keen on the burning.
20:24:23 <Vorpal> kallisti, also I would love to see a photon mapped game :P
20:24:33 <Phantom_Hoover> <Vorpal> kallisti, also initial starting-game cut scene sucked. It was so blatantly not using the in-game engine.
20:24:34 <Phantom_Hoover> <Vorpal> kallisti, I was obviously ray traced, or possibly photon mapped. And used much more high def models<Vorpal> I despise games doing that. Thankfully all the remaining cut scenes are with the in game engine
20:24:47 <oerjan> elliott: hm well so we need a g such that g(-inf) = -inf, g(inf) = 0, g((a+b)/(c+d)) = (g a + g b)/(g c + g d), does that exist...
20:25:08 <elliott> oerjan: you realise -inf \not\in \mathbb{R} and so you don't have to handle it in g :P
20:25:11 <oerjan> iirc that (a+b)/(c+d) is the combining function for those trees
20:25:13 <Vorpal> Phantom_Hoover, you keep to your shiny rocks I keep to my immersion breaking cut-scenes.
20:25:42 <kallisti> Vorpal: I take it your not a fan of the Final Fantasy series?
20:25:45 <elliott> Vorpal: you realise the shiny rock thing was mocking you
20:25:50 <oerjan> elliott: well it's mathematically simplest to find g that way, i suspect
20:25:56 <Vorpal> kallisti, I was fine with the one I played. Which was for SNES.
20:25:59 <kallisti> though starcraft 2 does have some in-engine cutscenes.
20:26:02 <Phantom_Hoover> elliott, no, they were mocking dumb prevailing HD trends.
20:26:08 <Vorpal> kallisti, and I never played starcraft
20:26:17 <Phantom_Hoover> Such as making all the rocks pearlescent to show off how good your lighting engine is.
20:26:25 <elliott> Phantom_Hoover: i mean you talking about shiny rocks after Vorpal complained
20:27:09 <Vorpal> kallisti, but really I can accept most sort of graphical qualities as long as it is consistent within the game.
20:27:27 <kallisti> Vorpal: based on things I'm reading it seems that the climbing in Revelations is significantly less interesting because it requires fewer buttons.
20:27:58 <elliott> Vorpal: -vorp "i didnt play ac1 because i wanted top gfx qual" vorp
20:28:04 <Vorpal> kallisti, that is one reason I despise Rage. (Apart from the mediocre gameplay that is). Things like the skydome and the weapon you hold are superb. Things like the fence right next to you is really really low-def
20:28:23 <kallisti> Vorpal: for example to jump while climbing you have to press jump and then grab to grab the ledge above.
20:28:23 <Vorpal> elliott, at the time yes.
20:28:30 <Vorpal> elliott, I might play ac1 later on *shurg*
20:28:35 <Vorpal> depends on what I feel like
20:28:54 <Vorpal> Phantom_Hoover, that should be answered above
20:29:22 <Phantom_Hoover> So paintings scour at the very core of your being, because they are of a different resolution to everything else?
20:29:23 <fizzie> Vorpal: To have FMVs was sort of a selling point for games at one point, after distribution media (CD) made that possible.
20:29:29 <HackEgo> 324) [After a long monologue] <oklopol> i think i have to escape this heated discussion before it becomes a flamewar
20:29:35 <Vorpal> kallisti, from what I seen shift is always drop while climbing (and grab while jumping and such)
20:30:01 <fizzie> Vorpal: "A Full motion video (FMV) is a video game narration technique that relies upon pre-recorded video files (rather than sprites, vectors, or 3D models) to display action in the game. While many games feature FMVs as a way to present information during cutscenes, games that are primarily presented through FMVs are referred to as full-motion video games or interactive movies."
20:30:45 <Vorpal> anyway iirc the nwn1 movies between the chapters were okay because they used a completely different art style. They showed stuff like grey scale silhouettes, or maps.
20:30:46 <elliott> (science(tm) facts(C)(R))(SM)
20:30:58 -!- kallisti has quit (Read error: Operation timed out).
20:31:06 <elliott> oerjan: ok maybe i'll just do the construct the tree thing :P
20:31:22 <Vorpal> fizzie, not a fan of those indeed
20:31:30 <fizzie> It had movies? I don't recall those at all. (Not that I'm disputing the fact.)
20:31:59 <Vorpal> fizzie, there was .txt with the narration from the movies somewhere iirc
20:32:09 <Vorpal> because they couldn't license the codec for linux
20:32:13 <Vorpal> you can watch them with mplayer
20:32:26 <Vorpal> iirc they are .bik files or something. It works with some mplayer installations
20:32:33 <Vorpal> like on my desktop but not on my laptop
20:32:46 <fizzie> The modern Sonic games I think all have pre-rendered cutscenes.
20:33:11 <Vorpal> fizzie, wait why, as far as I remember Sonic is not aiming for a realistic look /anyway/
20:33:42 <fizzie> They're not *realistic*, just more glitzy than the in-game 3D. Better water reflections and so on.
20:34:06 <Vorpal> all this tends to be pointless anyway due to compression artifacts and upscaling
20:34:18 <Vorpal> elliott, I don't know what bink is
20:34:25 <fizzie> Vorpal: Chrono Trigger's PSX version has "anime"-style animated cutscenes, incidentally.
20:34:36 <elliott> im severing all our friendships
20:34:37 <Vorpal> fizzie, I played that game on snes
20:34:45 <Vorpal> elliott, the name sounds familiar
20:34:56 <elliott> that had FMV up the wazoo :P
20:35:04 <Vorpal> elliott, I don't think I ever played it
20:35:09 <Vorpal> just heard the name somewhere
20:35:27 <Vorpal> elliott, well wp says it is a point and click
20:36:07 <fizzie> Vorpal: I played it on an emulator. :p But anyway, the PSX version is pretty close to identical (no graphical upgrades or anything there; some random bonus features) except for the "anime cut scenes created by original character designer Akira Toriyama's Bird Studio and animated by Toei Animation".
20:36:39 <fizzie> And I think the DS port includes the cutscenes too.
20:36:51 <Vorpal> fizzie, I think I saw a youtube video of the cut scene where Ayla (sp?) was introduced.
20:37:09 <Vorpal> and I went like, "really, that much bare skin"
20:37:14 -!- kallisti has joined.
20:37:14 -!- kallisti has quit (Changing host).
20:37:14 -!- kallisti has joined.
20:37:46 <fizzie> Vorpal: Well, you know, there's quite a lot of skin in http://www.videogamesprites.net/ChronoTrigger/Party/Ayla/ too.
20:37:58 <Vorpal> fizzie, presumably I didn't realise how much there was from the upscaled smoothed sprite
20:38:09 <kallisti> this explains why the logs are this checksum stuff.
20:38:22 <elliott> "Access to the webpage was denied
20:38:22 <elliott> It is likely that the server hosting the webpage has been overloaded or encountered an error. In order to avoid causing too much traffic and making the situation worse, Chromium has temporarily stopped allowing requests to the server."
20:38:40 <Vorpal> elliott, chrome does what?
20:38:49 <elliott> Vorpal: it tells you how to turn it off on the next line :P
20:38:50 <Vorpal> I assume there is a button to resume that?
20:39:01 <kallisti> Vorpal: it enforces good manners on the web. how horrible.
20:39:11 <elliott> not that I will bother, because refreshing youtube's 500 page was not productive
20:39:19 <elliott> i will instead refresh this denied page
20:39:41 <kallisti> oh no I just misremembered the stalker mode URL
20:39:55 <Vorpal> fizzie, also why the tail, I always wondered
20:40:05 <kallisti> 15:29 < kallisti> I think tabletop RPGs have the best graphics ever.
20:40:06 <kallisti> 15:29 < kallisti> and the gameplay engine is remarkably varied. :> :> :>
20:40:13 <kallisti> said before disconnected. important words.
20:40:55 <kallisti> also if I really want them I can have shiny rocks.
20:41:07 <kallisti> I can just imagine all the rocks to be really shiny.
20:41:09 <elliott> http://www.youtube.com/watch?v=xERRV7JmZk8#t=1m15s
20:41:49 <Vorpal> kallisti, game you should play at some point: Bastion.
20:41:54 <kallisti> elliott: what a lame ringtone on that phone.
20:43:03 <kallisti> elliott: why are so many awesome people in this thing.
20:43:31 <elliott> because it is an awesome game
20:45:01 <kallisti> elliott: this guy draws for a living like I program for a living.
20:48:01 -!- augur has joined.
20:52:06 <Gregor> <---> I was never sure what the emotion was honestly
20:52:06 <Gregor> <---> So I just imagined you actually saying what you wrote and I think that got me there most of the time
20:52:06 <Gregor> <---> I'd even add some of your drawn out voice-quavers. :)
20:52:17 <Gregor> ^^^ A story about me not using the tongue-face smiley.
20:52:36 <Gregor> Apparently I have "drawn out voice-quavers"
20:52:58 <elliott> I believe I have heard Gregor's voice exactly once.
20:53:18 <Gregor> My voice is awesome[1]!
20:53:21 <Gregor> [1]: Not actually awesome
20:54:05 <elliott> kallisti: btw the sprite actually has animations for like everything that happens in the game
20:54:15 <elliott> i can't imagine how long it took to film it all
20:55:07 <kallisti> elliott: aha I thought that voice was familiar. that bird-guy that they talk to at the beginning is also a character called Choose Goose in Adventure Time.
20:55:12 <kallisti> that voice actor has a very distinct voice.
20:55:58 <kallisti> http://www.imdb.com/name/nm0071818/
20:55:59 <elliott> forever destined to be a bird
20:56:05 <fizzie> Vorpal: Oh, speaking of Sonic and realism, I guess the 2006 Sonic has a sorta-wannabe-realistic-ish human too, http://www.youtube.com/watch?v=6_yFxEnqLr8
20:56:35 <fizzie> I guess that game is a bit of a "did not happen" for many people, though.
20:56:48 <elliott> kallisti: flux is homer btw
20:57:13 <kallisti> you must think I've been paying a lot of attention
20:57:29 <elliott> is voiced by Dan Castellaneta
21:00:28 <Vorpal> fizzie, my reaction: wait that isn't a final fantasy game?
21:00:44 <fizzie> Vorpal: No, that's a Sonic game.
21:00:55 <Vorpal> really, I haven't seen sonic yet
21:01:03 <fizzie> He'll be in the video.
21:01:06 <Gregor> Oh, it doesn't have Sonic in it.
21:01:25 <fizzie> You should see the touching Sonic/Elise kiss scene, which also is in the game.
21:02:38 <Vorpal> fizzie, this... this is wrong on so many levels
21:02:40 <fizzie> Well, you know, they're both consenting adults and so on. (Though IIRC Sonic's dead at that point, so maybe he's not so consenting.)
21:03:26 <Vorpal> fizzie, also is that a tron hedgehog in that video you linked?
21:03:39 <fizzie> elliott: Yeah, so in Hedgehog Years he's a senior, I think.
21:03:48 <fizzie> Vorpal: That's a hedgehog from the future.
21:03:59 <elliott> It's like Vorpal has never seen a future hedgehog before.
21:04:00 <fizzie> Vorpal: You see, chaos control, time travel.
21:04:23 <kallisti> elliott: http://www.youtube.com/watch?v=_xATi_9seuk
21:04:39 <Vorpal> elliott, I haven't. I never played much sonic. I played a level or two at a friend's house once
21:05:12 <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op.
21:05:40 <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:06:04 <elliott> `addquote <Vorpal> fizzie, also is that a tron hedgehog in that video you linked? <fizzie> Vorpal: That's a hedgehog from the future. [...] <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op. <Vorpal> fizzie, err... <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:06:06 <Vorpal> fizzie, so the retcon was in the same work as it retconned?
21:06:07 <HackEgo> 788) <Vorpal> fizzie, also is that a tron hedgehog in that video you linked? <fizzie> Vorpal: That's a hedgehog from the future. [...] <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op. <Vorpal> fizzie, err... <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:06:21 -!- aloril has quit (Ping timeout: 240 seconds).
21:06:42 <elliott> fizzie: So is that game better or wose than the Shadow one (neither of which I have played)
21:06:46 <Vorpal> elliott, that isn't quote-worthy IMO
21:06:54 -!- Ngevd has quit (Ping timeout: 240 seconds).
21:06:58 <HackEgo> *poof* <Vorpal> fizzie, also is that a tron hedgehog in that video you linked? <fizzie> Vorpal: That's a hedgehog from the future. [...] <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op. <Vorpal> fizzie, err... <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:07:01 <HackEgo> 777) <ais523> `delquote 419 * HackEgo has quit (Remote host closed the connection) * EgoBot has quit (Remote host closed the connection) * glogbot has quit (Remote host closed the connection)
21:07:14 <fizzie> It's a three-main-characters-with-storylines game. Sonic does what Sonic does; Silver (the future hedgehog) does telekinesis and self-levitation with psychic powers; and Shadow does... uh, kickboxing, or something.
21:07:22 <elliott> `addquote <Vorpal> fizzie, also is that a tron hedgehog in that video you linked? <fizzie> Vorpal: That's a hedgehog from the future. [...] <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op. <Vorpal> fizzie, err... <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:07:22 <Vorpal> elliott, I heard that sonic generations is pretty okay btw
21:07:25 <HackEgo> 788) <Vorpal> fizzie, also is that a tron hedgehog in that video you linked? <fizzie> Vorpal: That's a hedgehog from the future. [...] <fizzie> Vorpal: Anyway, the final cutscene retroactively erases the whole game's events from the timeline, so canonically speaking the game's a no-op. <Vorpal> fizzie, err... <fizzie> Vorpal: The future hedgehog has telekinesis, though, obviously.
21:07:30 <Vorpal> elliott, which is iirc the last one
21:07:38 <elliott> Vorpal: Is that the nth-reboot one?
21:07:52 <Vorpal> elliott, not sure I don't really follow the sonic franchise
21:08:27 <Vorpal> elliott, I think it has both modern style and classical style levels or something like that
21:08:30 <elliott> I wonder how much aspirin Sonic takes for his headaches.
21:08:48 <fizzie> elliott: I haven't watched an LP of the Shadow game. I've just watched the 2006 Sonic, the Unleashed were-hog game, the really bizarre Sonic and the Black Knight thing, and the second-to-latest Sonic Colors one.
21:08:54 <elliott> Eagerly awaiting Sonic 5: Darker and Edgier: The Addiction.
21:08:57 <fizzie> Vorpal: I just bought Generations the other day. :p
21:09:14 <fizzie> (It was a Daily Deal at -66%, how could I resist.)
21:09:14 <Vorpal> fizzie, was Sonic and the Black knight cannon or a fan made thingy?
21:09:24 <Vorpal> fizzie, and is it a Monty Python reference?
21:09:36 <elliott> "Sonic and the Black Knight was de-listed in 2010, following on from Sega's decision to remove all Sonic titles with average Metacritic scores from retail stores in order to increase the value of the brand after positive reviews for Sonic 4 and Sonic Colors.[5]"
21:09:59 <Vorpal> elliott, well now /that/ is a jerk move
21:10:01 <fizzie> Vorpal: They're all real games; but it's bizarroid. It's like this fairytale-themed thing.
21:10:14 <elliott> Sega aren't exactly obligated to sell games they don't thinka re good :P
21:10:14 <Vorpal> elliott, well yes. There are far worse ones
21:10:45 <elliott> http://upload.wikimedia.org/wikipedia/en/c/c7/SBKCanyon1.jpg ;; HARDCORE RAILROAD GRINDING
21:10:45 <fizzie> Colors was all right. The dialogue is amusingly self-satirical, and it doesn't take itself at all seriously.
21:10:54 <Vorpal> fizzie, so is the generation one any good?
21:11:11 <Vorpal> fizzie, I was thinking about it but decided not to due to not really playing much sonic before.
21:11:16 <elliott> fizzie: That's usually a recipe for trying too hard. :p
21:11:33 <elliott> fizzie: At least Rayman 3 suffered a bit from all the sarcastic lampshading.
21:11:49 <fizzie> elliott: Well, it wasn't too grating.
21:11:50 <elliott> (But it was good enough on its other merits to not suffer too badly, so...)
21:11:55 <Vorpal> fizzie, I was thinking of picking up Alice Madness Returns recently
21:12:18 <Vorpal> I have a fairly limited budget. I did pick up Terraria and Bastion and a few other things though
21:12:24 <elliott> american mcgee's alice is so obnoxious
21:12:39 <fizzie> Vorpal: So far it seems good; I've only played through the first three of the ten areas. Each area has two acts, first with "classic-style" mostly-2D Sonic with the classic-like controls, and the second with "modern" Sonic doing the current 2D/3D switcharoo with modern controls (homing attack and whatever).
21:12:44 <Vorpal> elliott, the platforming looked fairly fun from a youtube video I saw
21:12:46 <elliott> IT'S LIKE ALICE IN WONDERLAND BUT GRITTY AND EDGY YOU GUYS!!! RATED TEEN
21:13:13 <Vorpal> elliott, don't see the issue with that
21:13:55 <Vorpal> elliott, anyway I think you would love Terraria
21:14:01 <Vorpal> if you haven't already played it
21:14:26 <Vorpal> fizzie, does sonic work well without a gamepad?
21:14:58 -!- Klisz has joined.
21:15:00 <Vorpal> elliott, in reply to what line?
21:15:03 <fizzie> Vorpal: I don't really know, I guess a pad might be a good idea. I've been playing it with the PS3 controller I have.
21:15:07 <Phantom_Hoover> I love how any ~modern reinvention~ of Alice in Wonderland feels the need to stick the Jabberwock in somewhere.
21:15:15 <Vorpal> elliott, it isn't like minecraft at all actually. It is more RPGish
21:15:16 <fizzie> Vorpal: All the areas are thematically lifted from earlier Sonic games; so far there's been Green Hill Zone from Sonic 1, Chemical Plant from Sonic 2, and Sky Sanctuary from Sonic & Knuckles. The rest are from the moderner games which I haven't played.
21:15:23 <Phantom_Hoover> elliott, I was totally offered a free copy of Terraria from a guy at school!
21:15:31 <Vorpal> Phantom_Hoover, did you say yes or no
21:15:32 <Phantom_Hoover> I told him to go away because he was Annoying Homestuck Guy.
21:16:01 <elliott> Vorpal: Yes, exactly: It lacks most of the elements I find interesting about Minecraft (e.g. isolation, overworld exploration) and amplifies the stupid RPG stuff Notch keeps adding.
21:16:09 <elliott> (Not intending any kind of chronological relation, just comparing.)
21:16:23 <Vorpal> elliott, it isn't trying to be minecraft though
21:16:24 <Phantom_Hoover> Weren't you praising the addition of that very stupid RPG stuff shortly after it was added?
21:16:26 <oerjan> elliott: ok thinking about it and looking at the wikipedia page (which doesn't seem to have a formula), i think possibly g x | x <= 0 = x-1 | otherwise = -1/(x+1); h x | x < 0 = 1/(1-x) | otherwise = 1+x
21:16:42 <Vorpal> Phantom_Hoover, I seem to remember that as well
21:16:51 <elliott> Vorpal: <elliott> (Not intending any kind of chronological relation, just comparing.)
21:17:02 <elliott> Phantom_Hoover: Nnno, I said the idea is nice.
21:17:02 <fizzie> Vorpal: Also the dickiest move: the PS3/Xbox360 versions of Generations contain the first MegaDrive/Genesis "Sonic the Hedgehog" game as an unlockable add-on; but the PC/Steam version doesn't. Some have speculated that's because Sega's still selling the original game in Steam as "SEGA Classics" series title.
21:17:09 <elliott> It's not nice as part of Minecraft and it turned out to be badly-executed.
21:17:17 <elliott> But it could make an interesting game itself, if it wasn't cra.
21:17:32 <Phantom_Hoover> Although ISTR liking the new terrain gen too until I actually looked at it up close.
21:17:33 <fizzie> I had read it's in there from the Generations Wikipedia article, and was all like "ooh, where can I unlock this thing".
21:17:45 <Phantom_Hoover> Well, actually, until walking through it for more than 100 metres.
21:17:45 <fizzie> Apparently the answer is "nowhere".
21:18:14 <fizzie> OTOH, it wouldn't have frustration-reducing savestates, like an emulator copy. :p
21:18:23 <fizzie> (But it'd be Legal(tm) and all that.)
21:18:25 <Vorpal> Phantom_Hoover, just upscaling the biome size in the old one might have worked
21:18:41 -!- aloril has joined.
21:18:57 <fizzie> You have to pay more pretend-money (that you get from playing) to unlock infinite continues in it, separately, after unlocking the game itself.
21:19:01 <Phantom_Hoover> But they'd be an acceptable tradeoff for keeping interesting land.
21:19:14 <fizzie> (And that's just continues from start of the "zone".)
21:19:19 <Vorpal> Phantom_Hoover, so special case ocean somehow?
21:20:11 <elliott> oerjan: i pushed that to my stack but it got lost
21:20:14 <Phantom_Hoover> On the one hand, it seems like a good way to do it; on the other hand, special-cased biome terrain is exactly why the new terrain gen is crap.
21:20:19 <Vorpal> Phantom_Hoover, or add more detail to it in some way?
21:20:34 <elliott> oerjan: that seems simple enough. although I _did_ switch to trying to figure out how to construct the tree recursively :P
21:20:45 <elliott> Phantom_Hoover: The only solution is EC terrain gen.
21:21:14 <fizzie> Vorpal: Also I just won "Men of War: Vietnam" from Steam's ongoing "gift pile" thing. What the doop am I supposed to do with *that*? ("The new, story-driven campaign lets you taste the explosive mix of the jungle, Hueys and rock-n-roll in 1968. The US campaign focuses on a team of elite special ops soldiers, and each one of them has a personality.")
21:21:16 <elliott> Phantom_Hoover: WHICH YOU NEED TO KEEP THINKING ABOUT
21:21:22 <elliott> Phantom_Hoover: BTW I want jungles, work out how I can have jungles somehow.
21:21:53 <fizzie> I guess I could play it for the personalities?
21:22:02 <Vorpal> fizzie, I only won some coal + a coupon for a game I already own!
21:22:24 <fizzie> It's technically worth 30 eur. (Well, except for today, it's a daily deal at 7.49 eur at the moment.)
21:22:46 <Vorpal> fizzie, actually I seem to have 3 coupons and 5 coal. If you want to trade or such for something? I don't know what Men Of War is though
21:22:59 <Vorpal> isn't it some hard core milsim?
21:23:04 <fizzie> Well, purely going on the name, I think you shoot people.
21:23:19 <elliott> Vorpal: It's spelled "Muslim".
21:23:20 <fizzie> I quoted the description above.
21:23:37 <elliott> http://upload.wikimedia.org/wikipedia/en/5/56/Men_of_War.jpg ;; looks legit
21:23:58 <Vorpal> fizzie, I have coupons for VVVVVV and RedOrchestra2 if you want. I'm not going to use either. VVVVVV I already know (what a dick move of Valve to give me that thus)
21:24:03 <fizzie> I do also have a "-25% off any Valve game, valid Jan 2nd through March 1st" coupon too, which is kind-of useless.
21:24:12 <Vorpal> fizzie, I have that too yes
21:24:20 <Phantom_Hoover> elliott, shortly after, the man was killed due to not being able to see anything above him.
21:24:32 <elliott> `addquote <Phantom_Hoover> oh jesus my mother is trying to ship bear grylls with miranda hart aerio;jghaeirugha
21:24:35 <fizzie> Vorpal: They come in many amounts, yes. My wife's brother has a -50% one.
21:24:35 <HackEgo> 788) <Phantom_Hoover> oh jesus my mother is trying to ship bear grylls with miranda hart aerio;jghaeirugha
21:25:09 <Vorpal> fizzie, well, interested in trading any of the ones I have?
21:25:10 <fizzie> Vorpal: Also he won the "Valve Complete Pack" thing, which is technically worth 200 eur or so; except he had all the games already, so...
21:25:11 <elliott> Vorpal: What a dick move, they didn't give you a free game.
21:25:34 <elliott> What, it's 24.99 pounds right now.
21:25:36 <fizzie> elliott: Well, you know, mathematically speaking.
21:25:39 <Vorpal> elliott, they could have given me a coupon for a game I didn't already own in steam!
21:25:41 <elliott> That's... that's cheaper than anything.
21:25:42 <fizzie> It's discounted at the moment. :p
21:25:58 <elliott> fizzie: Can I buy Steam games without having to actually set it up right now? :P
21:26:17 <elliott> Vorpal: But there's an online store!
21:26:17 <fizzie> elliott: You need an account, but I don't think you need to install the client.
21:26:30 <elliott> fizzie: Aweeeeeesooooooome when does the discount end.
21:26:35 <fizzie> Vorpal: I don't really know. Red Orchestra 2 sounds really not very different from Men of War, and I've got VVVVVV already.
21:26:43 <Vorpal> fizzie, anyway I don't think I will do any of the daily objectives today.
21:26:53 <fizzie> Vorpal: What, not even the SpaceChem one?
21:27:07 <Vorpal> fizzie, I only done the tutorial in that game
21:27:11 <Vorpal> fizzie, it is not really my genre
21:27:39 <Vorpal> Phantom_Hoover, I meant the objective
21:27:43 <fizzie> Vorpal: Oh, well, in that case it might be quite a lot of playing. It's... something like 1/4th of the way through the game, so it's not *terribly* far, but it's not right at the start either.
21:27:54 <fizzie> (The objective is just "reach this point".)
21:28:12 <Vorpal> I wish it was a shorter game
21:28:16 <Phantom_Hoover> Trying to build robust systems is like eating pomegranate wearing boxing gloves.
21:28:45 <Vorpal> fizzie, anyway if you want a red orchestra 2 coupon?
21:28:46 <fizzie> elliott: I'm guessing the discount will end on Jan 2nd, but that's just a guess. I'm sure they'll discount it during the next holiday whatever too, though.
21:28:56 <fizzie> Vorpal: <fizzie> Vorpal: I don't really know. Red Orchestra 2 sounds really not very different from Men of War, and I've got VVVVVV already.
21:29:00 <kallisti> can someone explain what "robust" means?
21:29:19 <Vorpal> fizzie, anyway Red Orchestra 2 is iirc super-realistic
21:29:19 <Phantom_Hoover> kallisti, "won't jam up under any possible set of inputs specified in the level".
21:29:20 <kallisti> for me scalable and fault tolerant comes to mind.
21:29:26 <Vorpal> fizzie, think ARMA realism level
21:29:57 <fizzie> Vorpal: I guess I'd be interested if I wanted to shoot people in Europe instead of Vietnam.
21:30:07 <Vorpal> kallisti, he means a game
21:31:00 <Vorpal> fizzie, did you pick up bastion btw?
21:31:16 <Vorpal> fizzie, I think it is quite discounted still even though it isn't a daily deal. And it is so worth it
21:31:39 <fizzie> Vorpal: Based on Wikipedia, I guess Men of War is sort of tactics thing where you command more than one dude? Or something. And Red Orchestra is a first-person shooter, I think. Anyway, neither sounds very much like what I'd play.
21:32:19 <kallisti> Vorpal: right I was just asking what "robust" actually means in the context of software in general.
21:32:21 <fizzie> And no, I didn't; did consider it, though. Maybe I'll consider some more.
21:32:45 <Vorpal> fizzie, watch some youtube video of it. It is probably on my top-two list of the games this year
21:32:56 <Vorpal> (shared first place with witcher 2)
21:33:17 <Phantom_Hoover> I would play Men of War if it was a strategy game where you control individual zooids in a Portuguese Man o' War.
21:34:17 <Vorpal> fizzie, what about terraria?
21:34:30 <kallisti> http://en.wikipedia.org/wiki/Zoids
21:34:43 <Vorpal> according to steam I played 11 hours of bastion and 10 of terraria. And I bought both just a few days ago
21:35:48 <Vorpal> and since I completed bastion twice (once in new game+) during that time, it really doesn't take long to play. Yet it is so awesome
21:36:14 <Vorpal> I wonder if skyrim measures how long you played...
21:36:35 <elliott> Phantom_Hoover: Dude... let's make that game.
21:37:03 <Vorpal> it crashed on the main menu
21:38:19 <Vorpal> it says 302 days passed, 81 hours slept and 692 hours waited. I guess you could calculate from that
21:38:25 <Vorpal> how much I actually spent playing it
21:38:43 <Vorpal> elliott, 302 in-game days
21:38:58 <fizzie> Vorpal: The weirdest thing was the other day, I had successfully done that And Yet It Moves objective, so the Steam-installed copy worked just fine; then it suddently started to day "Fatal-ISV: (..\..\source\dgl\bitmapPng.cc @...", "Error reading PNG file: incorrect data check" after the loading screens, then quit away. Two days later, it again worked just fine.
21:39:51 <fizzie> And it wasn't just a single-time fluke, I tried to start it four times consecutively and always got the same PNG file error.
21:40:06 <fizzie> Though I guess it's possible Steam might have done some sneaky updating-on-the-background there.
21:40:17 <Phantom_Hoover> elliott, OK: pneumatophores are basic structural units; dactyloooids are your military; gonozooids are needed for construction; and gastrozooids produce resources.
21:40:18 <Vorpal> I hate that yes. You have to change that /per game/
21:40:36 <Vorpal> Phantom_Hoover, which game is this?
21:41:14 <Vorpal> never heard of it, is it indie?
21:41:34 <Vorpal> "Siphonophorae or Siphonophora, the siphonophores, are an order of the Hydrozoa, a class of marine invertebrates belonging to the phylum Cnidaria."
21:41:43 <Vorpal> Phantom_Hoover, I thought the names were too weird :P
21:42:10 <elliott> Phantom_Hoover: *Man o' War: Lord of the Sea
21:42:36 <elliott> Phantom_Hoover: Slogan: THIS SIPHONOPHORE AIN'T NO CEPHALOPHORE
21:43:12 -!- copumpkin has quit (Remote host closed the connection).
21:43:15 <Phantom_Hoover> elliott, if you lose, your man o' war is shown carrying its head.
21:43:23 -!- copumpkin has joined.
21:43:53 <Vorpal> fizzie, If I ever made a game and sold it on steam it would have loads of weird achievements. Like "Opened main menu" and even getting an achievement for getting your first achievement or something like that
21:44:14 <fizzie> They should put Achievement Unlocked and Achievement Unlocked 2 on Steam.
21:44:26 <fizzie> And then make each achievement there a daily objective.
21:44:30 <fizzie> Lots of coal for everyone.
21:44:30 <Vorpal> ah yes, I had forgotten about those
21:44:40 <Vorpal> I should play one of them some time
21:44:47 <elliott> `quote killing myself repeatedly
21:44:50 <HackEgo> 44) <Deewiant> I spent the last minute or so killing myself repeatedly
21:45:03 <fizzie> The second one had unlockable scenarios and all.
21:45:16 <Vorpal> fizzie, which one should I play?
21:45:35 <fizzie> The first one's of course the first, and you do get the idea from it just fine.
21:45:41 <fizzie> The second one is just more of the same, really.
21:46:09 <Vorpal> it seems to be available on several sites?
21:46:15 <elliott> There should just be an achievement for getting an achievement, and so once you get your first achievement your screen fills up with achievement messages and you run out of RAM and your computer crashes and when you go to look at your achivement counter it says א₁.
21:46:22 <elliott> Vorpal: Most Flash games are.
21:46:33 <Vorpal> elliott, okay which place should I go to for it
21:46:39 <elliott> The one that makes you happiest inside.
21:46:46 -!- Ngevd has joined.
21:46:51 <Vorpal> well I don't know which ones are trustworthy
21:46:56 <Vorpal> that is the top result anyway
21:46:58 <elliott> http://jmtb02.com/achievementunlocked/ is maybe better.
21:47:06 <elliott> But it's Officially(tm) an Armor Games thing.
21:48:34 -!- copumpkin has quit (Quit: Leaving...).
21:49:16 <fizzie> To get all the achievements.
21:49:54 <Vorpal> every block you touch gives an achievement...
21:50:11 <elliott> You can see the full list at the right. :p
21:50:17 <fizzie> Not every. And it calms down quite a lot once you've gotten 50 or 60% of hem.
21:50:49 -!- rodgort has quit (Read error: Operation timed out).
21:51:04 <fizzie> The second game has some rather curious ones, like the "have it open in two tabs at once" thing, where the second tab shows a completely different thing where you can achieve a couple more achievements.
21:51:17 <Vorpal> scrolling achievement list list achievement
21:51:35 <Vorpal> fizzie, how can the game determine that?
21:51:43 <Vorpal> fizzie, after all I'm using a sandboxing browser
21:51:47 <fizzie> I don't know; it's Flash.
21:52:14 <fizzie> I haven't checked whether it works in Chrome. I'd suppose it does, though.
21:52:24 <fizzie> Maybe it uses the Flash persistent storage thing.
21:52:54 <fizzie> You can visit them in different order, for example.
21:53:02 <fizzie> The achievement names give hints.
21:53:55 <elliott> fizzie: Isn't there an achievement in #1 for reloading the page?
21:54:34 <fizzie> Could be. There's all kinds of meta-stuff.
21:54:49 <fizzie> Like the "Bandwidth Exploiter: Preload the game", which I haven't figured out how not to get.
21:55:00 <fizzie> IIRC I've always just initially gotten it automatically.
21:55:06 <elliott> fizzie: That's the joke. :p
21:55:13 <elliott> You get the sponsorship screen one immediately too.
21:55:29 <elliott> Flash people call all loaders "preloaders".
21:55:42 <fizzie> "Preload" just makes it sound like something special.
21:55:55 -!- rodgort has joined.
21:56:14 <elliott> Phantom_Hoover: Guess how much SO rep I have (NO PEEKING). kallisti: Also you.
21:56:50 <elliott> Phantom_Hoover: NO BUT SERIOUSLY???? It's more than that I mean come on.
21:57:13 -!- copumpkin has joined.
22:00:38 <fizzie> "Clear! You Finished in 644 Seconds". Well, that was a nice and well-wasted ten minutes and a bit.
22:00:53 <fizzie> Also not much of a score. :p
22:01:29 <fizzie> The first time took quite a bit longer though.
22:03:22 <elliott> kallisti: AS ANEUREMNRCUMCIC
22:04:39 <kallisti> for some reason the silent g in poignant unnerves me.
22:05:14 <fizzie> For some reason the murderous but bouncy insects of poing-ant unnerve me.
22:05:27 <elliott> @tell catseye Become cpressey dammit!
22:05:37 <elliott> @tell cpressey FELIX IN ACTION: http://stackoverflow.com/a/8684400/1097181
22:05:57 -!- zzo38 has joined.
22:06:23 <elliott> He's going to get that in like five years.
22:06:34 <kallisti> uh sorry Google I don't think pungent and poignant are synonyms.
22:07:05 <elliott> kallisti: GUESS A NAUMAAUMBUMBER
22:07:25 <elliott> Phantom_Hoover: UGUES A NUMBER
22:07:33 <HackEgo> pappliatic engraphage poston mel jag esque beggy eite basto belocheta ant elufe baldank schesaun rec pula disan exha graphil henkehrbur escam sylhel trivabi embulbecom rejani
22:08:26 <fizzie> "I bought Spiritual Survival During the Y2K Crisis last year at a Thrift Store and here is the bookmark that was left inside it: http://users.ics.tkk.fi/htkallas/diagrammatis.jpg" -- cracked.com. That's some serious religious research going on there. (Didn't want to direct-link their image.)
22:08:32 <elliott> Phantom_Hoover: NEITHER OF THOSE
22:08:37 <elliott> In fact it is between those.
22:09:01 <kallisti> > "elliott: " + (unwords $ map show [0..])
22:09:02 <lambdabot> No instance for (GHC.Num.Num [GHC.Types.Char])
22:09:09 <kallisti> > "elliott: " ++ (unwords $ map show [0..])
22:09:11 <lambdabot> "elliott: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
22:09:16 <kallisti> elliott: here I've produced all the numbers
22:09:16 <elliott> fizzie: Is it bad that my first thought was "that would make good album art"?
22:12:50 -!- MSleep has joined.
22:14:30 <kallisti> I loved diagrams like this in my literature class
22:14:42 <kallisti> they were always a huge mess of lines and circles and vague concepts.
22:14:48 <zzo38> That diagram is difficult for me.
22:14:48 <lambdabot> zzo38: You have 5 new messages. '/msg lambdabot @messages' to read them.
22:14:56 <fizzie> kallisti: Did they always end up in "RELATIONAL ANARCHY !!" too?
22:15:10 <kallisti> they were usually about Freedom and Love and stuff like that.
22:15:26 <elliott> fizzie: Hey, you've DONE SOMETHING to zem.fi. (The non-zem.fi URL of that made me curious.)
22:15:41 <elliott> Also you have a host called β.zem.fi for some reason.
22:16:07 <kallisti> zzo38: it's a FSA, the initial state is Resekah (see the double circle)
22:16:19 <elliott> Ohh, I know what happened. fizzie was setting up a new computer and it asked for the hostname and he said "beta" but you know how it is with speech recognition.
22:16:55 <zzo38> kallisti: Doesn't it say "REBEKAH"?
22:17:06 <fizzie> elliott: Yes, it's a bit messed up right now. With the faster-and-cheaper tubes came non-static IPs, and I didn't want to have the main "zem.fi" A record change all the time, so I put the local stuff into β.zem.fi which is a CNAME of a lower-TTL dynamically updated record, and let that prgmr VPS hold the main "zem.fi" thing. Maybe one day I'll put a website(tm) up there.
22:17:18 <oerjan> in which elliott finally gouds [sp?] fizzie to use his op powers
22:18:17 <zzo38> Even if it is FSA, it is still difficult, there is all sorts of different lines, shapes, overlapping stuff, and so on.
22:18:23 <kallisti> "wandered off into a rape" huh, wonder how that happened.
22:18:27 <fizzie> elliott: Anyway, "beta.zem.fi" also works, I just had this weird hankering of some IDNs. It doesn't really work in e.g. this Chromium; since it thinks I don't read Greek, or some-such, it just shows "xn--nxa" instead of "β".
22:18:42 <elliott> fizzie: Apache's error message is where I saw it; it does the ponycode too.
22:19:05 <kallisti> zzo38: Biblical characters are more difficult than computers.
22:19:14 <fizzie> Firefox whitelists by TLD, so IDNs in ".fi" get shown properly.
22:19:40 <fizzie> I don't think the TLD strategy really makes sense to apply for IDNy stuff in the not-the-second-level-domain-name.
22:19:59 <kallisti> the TLD kind of mystifies me...
22:20:12 <kallisti> like, what kind of server farm is handling all that traffic?
22:20:15 <elliott> fizzie: Maybe we should stop relying on visual appearance of glyphs for security. :p
22:20:21 <elliott> kallisti: http://www.root-servers.org/
22:20:30 <elliott> kallisti: DNS results are cached at basically every level.
22:20:37 <elliott> Most requests you make won't ever get outside your ISP.
22:21:03 <fizzie> Firefox folks whitelist TLDs which have a published "policy" for either disallowing similar-looking glyphs, or dealing with the confusion.
22:21:08 <elliott> kallisti: But the root servers still get hammered with traffic most people can't even dream about because of bad configurations.
22:21:18 <elliott> (Do the root servers run on any special hardware config, I wonder, or just beefy commodity stuff?)
22:21:41 <fizzie> Some (many) of them are in anycast IPs that get routed to the nearest of N actual servers, at least.
22:21:52 <fizzie> And they don't run stock BIND from what I recall. :p
22:22:01 <zzo38> There is a mode to always show ASCII domain names. My program always show ASCII domain names anyways
22:22:11 <kallisti> elliott: how does my computer know where to send DNS queries to?
22:22:17 <elliott> kallisti: Your router tells it.
22:22:31 <elliott> kallisti: Most likely it tells you to get your DNS results from your router.
22:22:39 <elliott> And your router talks to your ISP's DNS server.
22:22:40 <fizzie> http://en.wikipedia.org/wiki/Root_servers#Root_server_addresses -- 9 out of 13 are distributed to multiple places.
22:22:51 <kallisti> that thing that also mystifies me.
22:22:54 -!- MSleep has changed nick to MDud.
22:22:58 -!- MDud has changed nick to MDude.
22:23:13 <fizzie> I see there's a K and I instance in Finland.
22:23:14 <elliott> kallisti: It's just a protocol for "hey, gimme an IP and a DNS server IP". :p
22:23:30 <elliott> It would be very awesome if every DNS query had to go through a single root server, to a TLD server, to a hosting company, though.
22:23:31 <kallisti> where does your router get the IP for the TLD?
22:23:46 <elliott> kallisti: It doesn't, it just talks to the ISP.
22:23:51 <elliott> The ISP will know where the root servers are, of course.
22:24:06 <elliott> I believe it's only the tier-something ISPs that actually do DNS stuff, but don't quote me on that.
22:24:26 <fizzie> elliott: Those, and people like Vorpal who want to run their own DNSSEC-enabled resolvers. :p
22:24:47 <kallisti> elliott: how does my router know the IP for my ISP network hub thing.
22:24:51 <elliott> fizzie: Vorpal has a measure of 0 or something.
22:25:02 <elliott> kallisti: Well, your router's sole purpose is kind of to talk to your ISP. :p
22:25:31 <fizzie> Initial DHCP request (before the client has an address at all) is sent to 255.255.255.255, and thus picked up by the DHCP server on the link.
22:25:42 <fizzie> DHCP also carries all kinds of random crap; my current ISP sticks NTP time server addresses there.
22:26:06 <kallisti> so it just broadcasts a DHCP request.
22:26:59 * kallisti is now wondering how broadcast addresses work.
22:27:09 * elliott decides to defer to fizzie now as he's exhausted his expertise.
22:27:32 <elliott> kallisti: The DHCP request probably doesn't go to every host on the internet, mind you :P
22:27:38 <fizzie> kallisti: That depends on what the IP's going over on. E.g. on Ethernet they're sent as broadcast frames, which are picked up by everyone on the link.
22:27:44 <elliott> I'm pretty sure the ISP will just respond to any DHCP stuff addressed to 255.255.255.255.
22:27:50 <elliott> That's sent over the wirezz.
22:28:01 <elliott> I misread what kallisti was talking about.
22:28:11 <kallisti> ah okay that's how broadcast works.
22:28:18 <fizzie> And right, no-one routes 255.255.255.255 forward. It's just that the client doesn't know the network-specific broadcast address it should use at that point.
22:28:38 <elliott> fizzie: I think the inability to send packets to the entire internet is one of internetworking's greatest failures.
22:28:43 <elliott> I mean, multicast would be so simple.
22:29:02 <fizzie> elliott: Also you could then deprecate all other addresses, and then routing would be so simple too.
22:29:08 <kallisti> elliott: yes I agree I should be able to command my botnet to flood every router in the world with spam packets.
22:29:23 <elliott> kallisti: Well, *one* packet to the entire internet would probably not do THAT much.
22:29:32 <elliott> (I don't know, maybe it would, ask fizzie.)
22:29:39 <kallisti> but I'm spamming packets constantly
22:29:42 <elliott> fizzie: Also we'd save so much space in IP packets, just drop the IP fields.
22:29:50 <elliott> fizzie: And we'd never have to upgrade.
22:30:12 <kallisti> on (potentially) hundreds of network nodes (help I am bad at network terminology)
22:30:33 <elliott> That's some mighty big botnet, dude.
22:30:53 <elliott> Storm: 160,000 to 50 million.
22:30:57 <elliott> kallistinet: HUNDREDS TO THOUSANDS
22:31:12 <elliott> (The Storm estimates are a bit... wide: "Some have estimated that by September 2007 the Storm botnet was running on anywhere from 1 million to 50 million computer systems.[1][2] Other sources have placed the size of the botnet to be around 250,000 to 1 million compromised systems. More conservatively, one network security analyst claims to have developed software that has crawled the botnet and estimates that it controls 160,000 infected computer
22:31:35 <fizzie> kallisti: Anyway, after it's gotten an IP once, as long as the "lease" for the IP it gets is still valid (those tend to be valid for a day or so), the DHCP client keeps just periodically contacting the DHCP server it knows about and saying "is it okay if I keep this address a bit longer?", and the initial "I don't know who I am and where I am" discovery process doesn't really happen except if the router's been off-link for a long while. (I do think the
22:31:35 <fizzie> clients also ask about expired leases if they're not *too* old.)
22:32:16 <fizzie> I guess if you were a dicky DHCP server you could enforce non-stable addresses, though.
22:32:43 <fizzie> "No, no, you've had that address for like a week already, give someone else a turn with it. Share and enjoy!"
22:32:51 <elliott> Someone link to that vulgar DNS comic, that will answer every question.
22:33:07 <kallisti> "the operators of the botnet began to further decentralize their operations, in possible plans to sell portions of the Storm botnet to other operators."
22:33:26 <fizzie> Think about all the bitcoins you could mine.
22:33:52 <elliott> Storm could easily take over the bitcoin network even if it's only 160k strong, couldn't it?
22:34:03 <elliott> I mean, you only need to control over half the nodes to completely break the chain thing, IIRC.
22:34:15 <fizzie> Also it would be awesome if the bitcoin mining earning potential would be >= the botnet rent you have to pay. Doesn't sound too likely, though.
22:34:31 <elliott> Failing that 160k to 50 million computers with ordinary CPUs and maybe even semi-decent GPUs is... pretty powerful.
22:35:01 <elliott> http://news.bbc.co.uk/1/hi/programmes/click_online/7938201.stm
22:35:03 <fizzie> From what I've understood, normally people just rent.
22:35:13 <kallisti> elliott: dude if I get botnet what do?
22:35:35 <elliott> kallisti: Use it to take down the spammers you work for.
22:35:54 * elliott idly dreams of using Storm to DDOS spammers.
22:36:05 <kallisti> shhh, you're not supposed to talk about that.
22:36:45 <elliott> Maybe you just RUINED IT and INCRIMINATED YOURSELF.
22:38:08 <kallisti> elliott: I wonder if Storm has ever DDOS'd 4chan
22:38:55 <elliott> kallisti: You realise they're used for money-making illegal activities, not for shits and giggles.
22:39:55 -!- shachaf has joined.
22:40:08 <kallisti> I find the software behind such a system fascinating, despite its purpose.
22:41:01 <fizzie> I wonder if the good old Back Orifice still exists.
22:41:14 <kallisti> that it reacts to repeated malware requests by launching a DOS attack. I imagine it's also capable of patching itself otherwise it would quickly disappear.
22:41:57 <fizzie> It used to be so that you could just probe dialup network ranges with the standard BO port, and find about three to five computers with that wide open within each /24.
22:42:05 <fizzie> Presumably it's all more professional now.
22:42:19 <Vorpal> <elliott> I believe it's only the tier-something ISPs that actually do DNS stuff, but don't quote me on that. <-- looking at the DHCP config my ISP has it's own one
22:42:40 <Vorpal> <elliott> The ISP will know where the root servers are, of course. <-- that is a "well known" list
22:42:56 <fizzie> Everyone *has* a DNS server, but it's anyone's guess whether they forward to their transit providers, or do full recursive queries themselves.
22:46:19 <fizzie> Incidentally, the root servers only tell resolvers where each TLD's own name servers are. So [ABCDEFGHIJKLM].root-servers.net only answers queries of the form "where's .fi?" by saying "at [abcdefghi].fi, with these IP addresses", and then those servers handle all queries of "so where's foo.fi then?"
22:46:59 <elliott> fizzie: I want to see traffic statistics/hardware info, but am too lazy to google. :(
22:47:01 <fizzie> .com and .net are both hosted on [abcdefghijklm].gtld-servers.net, while .org is on Afilias' nameservers, and so on.
22:47:41 <fizzie> "A survey in 2003 [2] reports that only 2% of all queries to the root servers were legitimate. Incorrect or non-existent caching was responsible for 75% of the queries, 12.5% were for unknown TLDs, 7% were for lookups using IP addresses as if they were domain names, etc. Some misconfigured desktop computers even tried to update the root server records for the TLDs."
22:47:47 <fizzie> Most of what they get is just crap. :p
22:48:03 -!- derdon has quit (Remote host closed the connection).
22:48:22 <fizzie> [2] is a link to report titled "Wow, That's a Lot of Packets".
22:48:50 <fizzie> "Organizations operating Root DNS servers report loads exceeding 100 million queries per day." --Wow, That's a Lot of Packets.
22:49:13 <fizzie> It looks stupid in an attribution line like that.
22:49:26 -!- sebbu2 has joined.
22:49:26 -!- sebbu2 has quit (Changing host).
22:49:27 -!- sebbu2 has joined.
22:49:50 -!- sebbu has quit (Ping timeout: 255 seconds).
22:49:50 <oerjan> we shall now have to make a report titled "It looks stupid in an attribution line like that."
22:49:58 <elliott> fizzie: What, only 100 million?
22:50:08 <elliott> How big's a DNS query this side of Neptune?
22:50:13 <Vorpal> elliott, per root server I presume?
22:50:42 <fizzie> Mostly they're a single UDP packet, so less than 1500 bytes.
22:50:58 <elliott> So 140 gigabytes a day at the worst.
22:51:00 <kallisti> "A second variant of the virus, discovered in December 2008, added the ability to propagate over LANs through removable media and network shares.[18] " -- Conficker article
22:51:11 <Vorpal> elliott, "exceeding" it says
22:51:24 <elliott> Vorpal: Anything under a terabyte a day is peanuts!! :P
22:51:55 <elliott> I mean, that's only 1.7 megs/sec.
22:51:58 * kallisti puts flash drive in infected computer and is now carrying a computer virus with him to any other computer he uses.
22:52:13 <Vorpal> elliott, root servers has an easy job really. The hard work is for TLD servers I expect
22:52:15 <elliott> kallisti: This is why you always wear a condom.
22:52:33 <elliott> Vorpal: Yes, let's get fizzie to dig up TLD server reports.
22:52:46 <Vorpal> elliott, I didn't say that
22:53:00 <fizzie> There's a well-known traffic amplification attack, to flood DNS servers with a very short query which generates a very long response, and a spoofed source address. If the answer is (say) 50 times longer than the query, if you send a megabyte's worth of queries per second, the spoofed source will get 50 megabytes/sec of spurious DNS answers from all around the interwebs.
22:53:09 <elliott> Vorpal: No, I was being serious, let's.
22:53:12 <Vorpal> elliott, but anyway on properly configured systems stuff like .com .net and so on will be cached pretty quickly
22:53:24 <elliott> fizzie: That sounds fun. Is that practical these days?
22:53:31 <Vorpal> elliott, there are many more entries under .com than under the root
22:53:40 <Vorpal> thus I expect much much higher load there
22:54:23 -!- oerjan has quit (Quit: Good night).
22:54:30 <fizzie> Oh, I'm sure it still works up to some degree, though maybe not quite that well. You do need to find "open resolver" style DNS servers.
22:55:51 <fizzie> And I'm pretty sure responsible such (like, say, Google's ones, which probably have fat pipes) have some sort of "do not send more than K packets/second to a single client" limits.
22:56:32 <fizzie> It's not like DNS traffic in a regular situation should consume much bandwidth at all.
22:57:16 <elliott> Unless you're using BITTORRENT OVER DNS.
22:57:25 <elliott> Oh. http://www.netrogenic.com/dnstorrent/
22:57:34 <elliott> Aw, it just works for .torrent files.
22:57:57 <Vorpal> elliott, wait you joked about it and didn't know it existed?
22:58:31 <fizzie> You can do "IP over DNS" to use (some) non-free Wifi networks without paying.
22:58:43 <fizzie> They can't block all DNS traffic, or their own login pages wouldn't work.
22:58:53 <zzo38> fizzie: Yes I have thought of the same kind of idea
22:58:57 <elliott> Oh, how shocking, the dot-p2p thing doesn't load any more.
22:59:02 <kallisti> reading the Wikipedia article on Conficker is like "How to write a botnet: the book"
22:59:04 <fizzie> If they do happen to allow arbitrary DNS traffic, as long as you have a cooperative name server somewhere, you can talk over that.
22:59:09 <zzo38> Actually, even for use with ones that you do not ordinarily have to pay.
22:59:15 <zzo38> In case the login page won't work
22:59:31 <fizzie> http://thomer.com/howtos/nstx.html
22:59:38 <zzo38> Or in case some other things are blocked for some reason
23:00:10 <fizzie> And the linked-to iodine is a newer thing.
23:00:37 <fizzie> Packaged in Debian and everything.
23:00:53 <fizzie> It's sort of impolite for the DNS server, though.
23:01:08 <fizzie> Well, and impolite for the network operator too, of course, especially if they expect people to pay.
23:01:36 <fizzie> But at least one of the systems (maybe NSTX?) caused quite huge loads on (at least some) DNS servers.
23:01:54 -!- Ngevd has quit (Ping timeout: 240 seconds).
23:02:01 <fizzie> Possibly iodine tries to reduce that, I haven't checked.
23:03:23 <Vorpal> was looking at the current daily deals. This one sounds like it has a pretty wide scope: "Universe Sandbox"
23:04:10 <Vorpal> some pretty good stuff in the deals today though. 75% off all GTA games for example
23:05:23 <zzo38> One one WiFi that says "Free WiFi (except HTTP, HTTPS, MSN, and people who smoke inside this building while using this WiFi service)"
23:06:42 <Vorpal> so you could just ssh tunnel
23:07:08 <zzo38> Well, yes, you could use SSH tunnel.
23:07:29 <zzo38> If you don't have one then too bad
23:07:50 <fizzie> I seem to hear "AirPort Network", "JepJepJoo", "Macverkko", "THOMSON", "TS", "zuHause" and "ZyXEL" to my desk. These are all other people's private networks, though. (Except the THOMSON one in fact seems open. Curious.)
23:08:28 <zzo38> (Except for smoking is not allowed even SSH tunnel, because that is due to smoking laws instead of internet)
23:08:57 <fizzie> Oh, there's also "jepjep" in addition to "JepJepJoo". Wonder if those are related.
23:09:19 <fizzie> And the "zuHause" folks must be Germans, probably planning to burn down the building.
23:09:50 <Vorpal> fizzie, I can see 44 networks if I place my laptop in the window
23:10:12 <Vorpal> fizzie, there are no networks around here on channel 13 though so I picked that one
23:10:16 <fizzie> There's a different set in different rooms.
23:10:33 <fizzie> Channel 13's one of those that are not valid globally, IIRC.
23:10:55 <Vorpal> also this is is not a very urban area. Villaområde, whatever that is in English
23:11:14 <Vorpal> it is valid in Sweden though
23:11:56 <fizzie> "Except not on Fridays, due to bad luck." (Okay, not really. But wouldn't that be screwy?)
23:12:36 <zzo38> I suppose if you want to, you could make a WiFi network that disables channel 13 on Friday
23:13:57 <fizzie> Apparently the regulatory situation for the 5 GHz channels is ever more complicated than for regular old 2.4 GHz.
23:14:38 * Sgeo_ wonders if Befunge-98 is easier to implement in Haskell due to laziness
23:14:54 <Sgeo_> A whatever by whatever array that defaults to 0 or something
23:15:12 <Sgeo_> ...is defaults to 0 a sensible thing for Haskell arrays to do
23:15:21 <fizzie> It should default to 32, anyway. :p
23:15:47 <Sgeo_> Although hmm, would it try to store every box in memory at once, that's no good
23:15:47 <Vorpal> fizzie, well I have a 11g network
23:16:09 <fizzie> And I don't really think functional datastructures are "easier" (than what?), based on how long it seems to take for elliott to finally finish that CCBI-killing Fungespace for Shiro. :p
23:16:30 <fizzie> The new VDSL2 box does some 11n stuff.
23:17:05 <fizzie> With 50M downstream, it probably doesn't help all that much, though; and anyway the old iBooks and the N900 don't do 11n either.
23:17:39 <fizzie> (Except that according to speedtest.net I seem to be getting around 68M downstream, I don't know what's up with that. Not that I'm exactly complaining.)
23:23:39 <fizzie> The box has a statistics page with byte counters that seem to be saturating 32-bit, because the numbers are stuck at 2147483647. I'm not sure if that's better or worse than 32-bit with wraparound. At least there (if you poll often enough) you can compute running totals yourself.
23:24:22 <fizzie> kallisti: Yes, I'm expecting like eight pointed comments about speech recognition in retaliation.
23:24:38 <kallisti> fizzie: well I think the issue was that he was inventing a non-standard data structure from scratch, iirc.
23:27:24 -!- olsner has joined.
23:27:39 <kallisti> I guess a "non-functional" data structure in the context of Haskell would be, say, an opaque pointer to a mutable array.
23:30:25 -!- Patashu has joined.
23:31:00 <elliott> <fizzie> And I don't really think functional datastructures are "easier" (than what?), based on how long it seems to take for elliott to finally finish that CCBI-killing Fungespace for Shiro. :p
23:31:25 <elliott> fizzie: Only because I'm trying to do an extreme optimisation while staying pure and immutably.
23:31:50 <elliott> If I wasn't trying to emulate Oleg, it'd be done in the 3 days Shiro 1 was. :p
23:32:45 <elliott> <Vorpal> was looking at the current daily deals. This one sounds like it has a pretty wide scope: "Universe Sandbox"
23:33:14 <elliott> <fizzie> Oh, there's also "jepjep" in addition to "JepJepJoo". Wonder if those are related.
23:33:24 <elliott> <Vorpal> fizzie, I can see 44 networks if I place my laptop in the window
23:33:30 <elliott> Vorpal: I thought you lived in nowheretown.
23:34:09 <elliott> Sgeo_: Anyway, the problem with constructing fungespace up-front is that just moving through spaces allocates unfreeable memory.
23:34:18 <elliott> Only inserts should do that, preferably.
23:35:06 <elliott> Phantom_Hoover: Guess how many reps out of 200 I made today!
23:35:27 <elliott> Wrong! The correct answer is 305.
23:35:47 <olsner> 305? that's not over 9000, nor is it (probably) numberwang
23:35:53 <lambdabot> 788657867364790503552363213932185062295135977687173263294742533244359449963...
23:36:05 <shachaf> kallisti clearly thinks highly of you, elliott.
23:36:17 <elliott> shachaf: That was yesterday.
23:36:45 <shachaf> Do you know what I hate, by the way?
23:37:04 <shachaf> People who make "you said <number> exclamation mark therefore you meant factorial ha ha ha!" jokes.
23:37:17 <elliott> Yes, I too hate at least one person who has made one of those jokes.
23:37:27 <elliott> olsner: I'm way above that, man.
23:37:33 <shachaf> It's exactly the same joke each time.
23:38:36 <shachaf> Turns out the server running my IRC client was down.
23:39:08 <kallisti> why do you have a server running your IRC client?
23:39:11 <elliott> This is why reasonable people IRC directly; then when their IRC server is down, they can't use their computer at all.
23:39:31 <shachaf> I kept thinking the network I'm using was blocking outgoing SSH connections.
23:39:37 <shachaf> Which it *was*, some of the time, I think.
23:41:57 <shachaf> Now I need to reörder all my channels.
23:42:04 <shachaf> Did that Unicode character not go through?
23:42:26 <shachaf> The one between "re" and "rder".
23:43:06 <shachaf> Now even most of Unicode is broken.
23:45:31 <olsner> well, obviously... everything is broken you see
23:52:23 <zzo38> If you have viewed the Agora Horoscope, have you wondered what all those lines on the chart are doing, what the numbers are doing, what "Placidus houses" means, why the glyphs for Pluto and Uranus are different to what you knew before, and what "Node" means?
23:54:58 -!- Phantom_Hoover has quit (Quit: Leaving).
23:55:10 <elliott> Pfft, it's not even midnight.
23:55:21 <zzo38> At least, in here is not even midnight.
23:59:16 <lambdabot> itidus21 said 8d 17h 14m 9s ago: welcome back
23:59:16 <lambdabot> itidus21 said 8d 17h 13m 17s ago: it was funny for me at the time since you were joining and leaving at a high rate. but the joke has expired
23:59:16 <lambdabot> oerjan said 5d 14h 14m 1s ago: btw, fmap' shows that T is also a contravariant functor in its first argument.
23:59:16 <lambdabot> oerjan said 12h 35m 26s ago: <zzo38> When looking at the continuation monad definitions, I notice it seems to be similar to the type for double nots <-- http://en.wikipedia.org/wiki/Curry%E2%80%
23:59:16 <lambdabot> 93Howard_correspondence#Correspondence_between_classical_logic_and_control_operators is probably relevant
23:59:18 <lambdabot> kallisti said 11h 52m 25s ago: I recall that you were interested in giving Haskell a more extensible syntax. If you look at Perl 6 you can see that it provides a way to redefine language syntax.
23:59:20 <lambdabot> Perhaps you could look at this for inspiration on how this could be done in Haskell.