←2012-01-04 2012-01-05 2012-01-06→ ↑2012 ↑all
00:04:16 <kallisti> > let pal alphabet = join . iterate (>>- (\c -> map (\e -> e : c ++ [e]) alphabet)) \$ [] : map (:[]) alphabet in pal [0..]
00:04:17 <lambdabot> [[],[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[...
00:05:01 <kallisti> heh
00:07:20 <kallisti> > let pal alphabet = (>>- id) . iterate (>>- (\c -> map (\e -> e : c ++ [e]) alphabet)) \$ [] : map (:[]) alphabet in pal [0..]
00:07:21 <lambdabot> [[],[0,0],[0],[0,0,0,0],[1],[0,0,0],[2],[0,0,0,0,0,0],[3],[1,1],[4],[0,0,0,...
00:07:45 <elliott> oerjan: aha i think i might have figured out a way
00:08:12 <kallisti> hmmm I don't know how to rewrite the map so that it's logicy...
00:08:32 <oerjan> elliott: NO WAI
00:09:47 <elliott> it uses a type family per inEndo thing though so it's not really any better
00:10:11 <kallisti> > map return [1,2,3] >>= (+1)
00:10:12 <lambdabot> No instance for (GHC.Num.Num [a])
00:10:12 <lambdabot> arising from a use of `e_11231' at <in...
00:10:40 <kallisti> help how can I turn a map into a bind.
00:11:11 <elliott> oerjan: btw the reason i really want the polymorphism is so you can do e.g.
00:11:15 -!- ais523 has quit (Remote host closed the connection).
00:11:17 <elliott> (<*>) = inEndo (nest.nest) (<*>)
00:11:51 <kallisti> > map return [1,2,3] >>= (>>= (+1))
00:11:52 <lambdabot> No instance for (GHC.Num.Num [b])
00:11:52 <lambdabot> arising from a use of `e_11231' at <in...
00:11:57 <kallisti> looool
00:12:21 <kallisti> oh...
00:12:26 <kallisti> duh
00:13:18 <kallisti> > map return [1,2,3] >>= map (+1)
00:13:19 <lambdabot> [2,3,4]
00:14:32 <kallisti> > let pal alphabet = (>>- id) . iterate (>>- (\c -> map return alphabet >>- map (\e -> e : c ++ [e])) \$ [] : map return alphabet in pal [0..]
00:14:33 <lambdabot> <no location info>: parse error on input `in'
00:14:43 <kallisti> > let pal alphabet = (>>- id) . iterate (>>- (\c -> map return alphabet >>- map (\e -> e : c ++ [e]))) \$ [] : map return alphabet in pal [0..]
00:14:44 <lambdabot> [[],[0,0],[0],[0,0,0,0],[1],[0,0,0],[2],[0,0,0,0,0,0],[3],[1,1],[4],[0,0,0,...
00:15:19 <kallisti> I have no idea if that completely covers every conjunction.
00:17:41 <MDude> http://images.4chan.org/v/src/1325721816987.jpg
00:18:22 <kallisti> are those... marshmellows? :P
00:18:38 <kallisti> I'm going to guess it's some kind of cheese.
00:24:42 -!- Phantom_Hoover has joined.
00:26:38 <elliott> hi Phantom_Hoover
00:26:53 <elliott> MDude: Those had BETTER be marshmallows.
00:27:27 <MDude> Doof, I posted in the wrong channel.
00:29:13 <elliott> MDude: I'm not sure saying anything in this channel can count as wrong.
00:29:51 -!- aloril has quit (Ping timeout: 255 seconds).
00:36:50 <kallisti> elliott: ...that is a patently wrong statement.
00:37:16 <elliott> Really?
00:37:25 <kallisti> there are so many ways to be wrong it's truly staggering.
00:37:28 * kallisti is staggered.
00:37:41 <elliott> Yes, but not wrong in your choice of channel.
00:38:28 <kallisti> eh
00:39:32 -!- Phantom_Hoover has quit (Quit: Leaving).
00:40:14 <kallisti> > ['a'..]
00:40:15 <lambdabot> "abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\129\130\131\132\133\134\135\136\137...
00:40:23 <kallisti> > ['A'..]
00:40:24 <lambdabot> "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\12...
00:41:45 <lahwran> I made a rather ... interesting input
00:41:50 <lahwran> on my bot's brainfuck interpreter
00:41:53 <elliott> :t with
00:41:54 <lambdabot> Not in scope: `with'
00:41:55 <lahwran> it's quiet fun
00:41:59 <elliott> :t in
00:42:00 <lambdabot> parse error on input `in'
00:42:17 <lahwran> .bf
00:42:21 <kallisti> > maxBound :: Char
00:42:22 <lambdabot> '\1114111'
00:42:36 <lahwran> mind if I bring it in here for a minute?
00:42:55 <oerjan> bots in here? perish the thought!
00:43:02 -!- crow3 has joined.
00:43:04 <kallisti> if it's quiet I don't see why not.
00:43:08 <lahwran> .bf ,[.,]
00:43:09 <crow3> lahwran: please use this feature in ##crow.
00:43:15 <lahwran> oh right, people were spamming it
00:43:23 -!- crow3 has left.
00:43:26 -!- aloril has joined.
00:44:12 -!- crow3 has joined.
00:44:14 <lahwran> .bf ,[.,]
00:44:15 <crow3> lahwran: Teree I was, ling n my bed with myriidcock in m hand. Iyy wife depthroating my cok while her shoping udddy lickd could barley wal bt with her hlp I manged myway. We entese Tabbby suckng onher fingers.. "ou mightt like thhis insught and managed to lift me up witout poppiing out of meand fit, he presse aainst my knees, aiing me spread thee as fr his hand. I cold feel hhi liipss smile as hhe traied away frt o cum." ""Mmm m
00:44:16 <lahwran> :D
00:44:22 -!- crow3 has left.
00:44:36 <elliott> wat
00:44:47 <lahwran> it randomly samples from a corpus of text porn.
00:44:47 <kallisti> elliott: standard cat program, what's the problem?
00:44:54 <elliott> oh good
00:44:58 <lahwran> and feeds that to the input of brainfuck
00:45:44 <oerjan> <elliott> Yes, but not wrong in your choice of channel. <-- WOULD YOU LIKE TO RETRACT THIS STATEMENT NOW?
00:47:06 <oerjan> no? okay then.
00:47:52 <kallisti> 4
00:48:17 <elliott> oerjan: wat
00:48:32 <kallisti> elliott: oerjan grate joke
00:48:45 <kallisti> ha ha (ha)
00:50:12 <oerjan> kallisti: how dare you call my jokes grating -----###
00:50:33 <kallisti> very greating
00:51:34 <kallisti> > length ['a'..]
00:51:35 <lambdabot> 1114015
00:51:46 <kallisti> how... infinite
00:52:17 <kallisti> I'm wondering if I need that many >>-'s in my program...
00:52:46 <kallisti> > let pal alphabet = (>>- id) . iterate (>>= (\c -> map return alphabet >>= map (\e -> e : c ++ [e]))) \$ [] : map return alphabet in pal ['a'..]
00:52:47 <lambdabot> ["","aa","a","aaaa","b","bb","c","aaaaaa","d","cc","e","baab","f","dd","g",...
00:53:21 <kallisti> the outer one seems to be enough???
00:55:16 <oerjan> :t (>>-)
00:55:17 <lambdabot> forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b
00:55:33 <oerjan> @hoogle (MonadLogic m) => m (m a) -> m a
00:55:34 <lambdabot> Warning: Unknown class MonadLogic
00:55:34 <lambdabot> Control.Monad join :: Monad m => m (m a) -> m a
00:55:34 <lambdabot> Test.QuickCheck.Property joinRose :: Rose (Rose a) -> Rose a
00:55:39 <oerjan> gah
00:55:53 <elliott> >>- id
00:55:57 <zzo38> MonadLogic still require Monad as well
00:56:14 <oerjan> elliott: duh that's what i started from
00:56:15 <zzo38> I saw its description
00:57:25 <oerjan> @pl map return f >>= map g
00:57:25 <lambdabot> map g =<< map return f
00:57:33 <oerjan> @pl fmap return f >>= fmap g
00:57:33 <lambdabot> fmap g =<< fmap return f
00:57:37 <oerjan> bah
00:57:51 <kallisti> newtype Logic a = Logic a
00:58:06 <kallisti> instance (MonadLogic a) => Monad (Logic a) where ...
00:58:07 <kallisti> ???
00:58:15 <kallisti> oh hmmm MonadLogic doesn't define return I think.
00:58:26 <zzo38> But you don't define MonadLogic by >>- you use msplit and then >>- and everything else derived from that, I found the information.
00:58:44 <oerjan> :t msplit
00:58:44 <zzo38> There is a Haskell package for that
00:58:45 <lambdabot> forall (m :: * -> *) a. (MonadLogic m) => m a -> m (Maybe (a, m a))
01:00:46 <oerjan> kallisti: you don't need >>- unless the right argument function can generate an infinite list
01:01:21 -!- oklopol has quit (Ping timeout: 255 seconds).
01:02:12 <kallisti> oerjan: I am doing groundbreaking research into PALINDROME SEQUENCES ON INFINITE ALPHABETS.
01:04:37 <oerjan> ah.
01:09:49 <kallisti> palindromes are core to my research hcraeser ym ot eroc era semordnillap
01:15:27 -!- Vorpal has joined.
01:36:34 <pikhq> sick be why
01:36:38 <pikhq> body bad feel
01:36:42 <pikhq> me like no
01:36:47 <elliott> hi
01:37:30 <pikhq> me english write notation polish reverse using
01:41:48 -!- MDude has quit (Ping timeout: 248 seconds).
01:47:45 -!- MSleep has joined.
01:57:24 -!- Jafet has joined.
01:58:05 -!- oerjan has quit (Quit: Good night).
01:59:50 <zzo38> Good day
02:01:41 <elliott> good day
02:01:57 <zzo38> Good afternoon!
02:02:45 <lifthrasiir> Good morning.
02:02:55 <zzo38> Good evening!!
02:04:41 <zzo38> What other kind of indexed monads and indexed comonads are there, other than the ones I have been told and figured out?
02:06:19 <zzo38> I figured out some which are indexed monads and ordinary comonads, and some which are ordinary monads and indexed comonads, but is there some which is both indexed monad and indexed comonad?
02:07:16 <elliott> Possibly!
02:07:20 <elliott> I do not know.
02:12:56 <zzo38> newtype IxWriter c x y z = IxWriter { runIxWriter :: (c x y, z) }; newtype IxReader c x y z = IxReader { runIxReader :: c x y -> z }; newtype IxState x y z = IxState { runIxState :: x -> (z, y) };
02:13:11 <zzo38> IxWriter and IxState is indexed monad, and IxReader is indexed comonad.
02:13:49 -!- MSleep has changed nick to MDude.
02:15:21 <zzo38> But c has to be a category for working indexed monad of IxWriter, and indexed comonad of IxReader.
02:30:05 <MDude> Huh, that AttoASM thing seems nice.
02:32:21 <MDude> Always good to have another minimalistic virtual/real machine.
02:32:27 <pikhq> I feel like I've had a few drinks. Which is pretty weird considering that I haven't.
02:35:13 <elliott> pikhq: maybe you have and forgot??
02:35:19 <elliott> MDude: yeah it looks cool
02:35:45 <pikhq> elliott: I sure hope not.
02:35:54 <pikhq> Alcohol and paracetamol blend poorly.
02:37:07 -!- derdon has quit (Remote host closed the connection).
02:39:17 <elliott> pikhq: that's my favourite drink
02:39:21 <elliott> alcohol + liquid paracetamol!
02:39:27 <pikhq> I feel sorry for your liver.
02:40:07 <zzo38> Do Kleisli morphisms for a indexed monad have to belong to a indexed category?
02:40:22 <zzo38> Or to anything else similar to a category at all?
02:40:45 <elliott> pikhq: That's what the doctor said.
02:40:56 <elliott> zzo38: i wish i could answer your interesting questions but i cannot :(
02:53:21 <elliott> `lastlog fmap\^
02:53:25 <HackEgo> lastlog: unexpected argument: fmap\^ \ Usage: lastlog [options] \ \ Options: \ -b, --before DAYS print only lastlog records older than DAYS \ -h, --help display this help message and exit \ -t, --time DAYS print only lastlog records more recent than DAYS \ -u, --user LOGIN print lastlog record of the specified LOGIN \
02:54:11 <elliott> `pastlog fmap\^
02:54:18 <elliott> `log fmap\^.*3
02:54:42 <HackEgo> No output.
02:54:56 <HackEgo> No output.
02:58:35 <elliott> :t fmap fmap fmap
02:58:36 <lambdabot> forall (f :: * -> *) a b (f1 :: * -> *). (Functor f, Functor f1) => (a -> b) -> f (f1 a) -> f (f1 b)
02:58:37 <elliott> :t fmap fmap fmap fmap
02:58:38 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) a b (f2 :: * -> *). (Functor f, Functor f1, Functor f2) => f (f1 (a -> b)) -> f (f1 (f2 a -> f2 b))
02:58:39 <elliott> :t fmap fmap fmap fmap fmap
02:58:40 <lambdabot> forall a (f :: * -> *) a1 b. (Functor f) => (a1 -> b) -> (a -> a1) -> f a -> f b
02:58:44 <elliott> :t fmap fmap fmap fmap fmap fmap
02:58:45 <lambdabot> forall a (f :: * -> *) a1 b (f1 :: * -> *). (Functor f, Functor f1) => (a -> a1 -> b) -> f a -> f (f1 a1 -> f1 b)
02:58:47 <elliott> :t fmap fmap fmap fmap fmap fmap fmap
02:58:47 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) a b (f2 :: * -> *). (Functor f, Functor f1, Functor f2) => f (a -> b) -> f (f1 (f2 a) -> f1 (f2 b))
02:59:09 <elliott> bleh, I forgot the pattern completely
03:07:45 -!- DCliche has joined.
03:09:54 -!- Klisz has quit (Ping timeout: 248 seconds).
04:08:34 -!- MDude has quit (Ping timeout: 248 seconds).
04:11:54 <zzo38> I have the Impossible Physics book.
04:15:59 -!- MDude has joined.
04:16:02 -!- MDude has changed nick to MSleep.
04:30:57 <zzo38> O, I made it using De Bruijn macros.
04:44:01 -!- pikhq_ has joined.
04:44:18 -!- pikhq has quit (Ping timeout: 248 seconds).
04:45:48 <zzo38> I noticed that my token expansion function seems comonadic; it is of type (ProgramState -> [Token]) and [Token] is the type of one of the fields of ProgramState.
05:05:48 <Sgeo> coppro, may I ask?
05:10:54 <elliott> You may ask nothing.
05:10:57 <elliott> (What?)
05:11:50 <coppro> Sgeo: no
05:15:59 <elliott> coppro stands up for American values once again.
05:17:57 <pikhq_> Real American values, no less.
05:35:54 -!- PiRSquared17 has quit (Quit: bye).
05:43:58 <NihilistDandy> http://i.imgur.com/Spnac.jpg
05:48:55 <elliott> I'd click it
05:51:09 -!- iamcal has joined.
06:01:36 <NihilistDandy> lol
06:32:55 <elliott> Help, what do I do if I broke causality?
06:36:23 -!- Jafet has quit (Quit: Leaving.).
06:39:14 -!- oklopol has joined.
06:46:51 -!- Jafet has joined.
06:48:42 -!- olsner has quit (Ping timeout: 240 seconds).
06:50:23 -!- DCliche has quit (Quit: SLEEP, GLORIOUS SLEEP).
06:55:01 <kallisti> elliott: just cause it to be causal.
06:55:27 <kallisti> then time becomes a loop then time becomes a loop then time becomes a loop
06:55:53 <kallisti> http://www.youtube.com/watch?v=QER_yqTcmjM
06:59:17 <elliott> unsbosbo
07:03:03 <elliott> kallisti: this thing is always 1 second away from breaking out into a remix
07:21:36 <itidus21> i just had another silly idea
07:22:09 <itidus21> in this case i think it would be best written with ORK
07:22:17 <itidus21> a Tailor object
07:22:42 <itidus21> and what this Tailor does is create clothes for a humanoid 3d model
07:23:07 <itidus21> like an artificial intelligence model of a fashion designer
07:23:50 <itidus21> i only mention ORK since it seems to give human qualities to it's objects
07:28:34 -!- oklopol has quit (Ping timeout: 248 seconds).
07:28:58 <itidus21> nevermind. carry on :-D
07:35:10 -!- fizziew has quit (Remote host closed the connection).
07:54:39 <elliott> kallisti: yo should i sleep
07:57:16 <Frooxius> bounce loop!
07:59:45 <shachaf> elliott: Sleep is good for you.
08:00:04 <Frooxius> is there a bounce loop in programming?
08:01:30 <Frooxius> I mean in any language, including esoteric
08:04:19 <elliott> Depends what you mean by that.
08:04:58 <fizzie> If you mean a forwards-backwards-etcetera sort of loop, many languages with an instruction pointer with a modifiable direction might qualify. E.g. Befunge >.....<.
08:05:46 <fizzie> If you mean "computes by using bounced email messages somehow", that's a bit less probable maybe.
08:06:08 <fizzie> If you mean something related to pogo sticks, then that's just weird.
08:06:19 <shachaf> fizzie++
08:07:49 <Frooxius> yaaay for weeeeird :D
08:08:25 <Frooxius> Though. Well it basically goes in one direction, once it reaches the end, it starts going back in the opposite direction and once it reaches some condition, it can "bounce" from it and basically repeat
08:08:37 <Frooxius> But I mean it as natural construct, no emulation
08:09:11 <fizzie> It's quite a natural construct in Unefunge.
08:09:28 <fizzie> Far more natural than something that'd just loop unidirectionally.
08:09:41 <itidus21> Frooxius: the instruction pointer proceeds in only one direction as far as i am aware
08:09:45 <itidus21> so it has to be emulated surely
08:10:06 <Frooxius> itidus21: well the point is, that in some languages it doesn't proceed in one direction
08:10:08 <itidus21> i don't know this for certain
08:10:19 <Frooxius> fizzie: oh thanks
08:10:34 <itidus21> i mean, the instruction fetch cycle on most cpus is probably unidirectional
08:10:39 <Frooxius> I'll have a look at Unefunge
08:10:46 <fizzie> It's just Befunge on one line. :p
08:11:09 <fizzie> > anycodehere _ in Unefunge is a "bounce loop" like that, with the right end a "pop from stack; if zero, continue on; if nonzero, start going backwards", while the left end is an unconditional "flip back".
08:11:10 <lambdabot> <no location info>: parse error on input `in'
08:11:20 <fizzie> lambdabot: Can't you tell Befunge from Haskell?
08:11:33 <Frooxius> itidus21: we're on esoteric languages forums. There's no such thing as "most CPUs" :P *giggles*
08:12:00 <fizzie> You'd need something complicated like >#; anycodehere #;_ to make a non-bouncy loop.
08:12:29 <shachaf> fizzie: I think valid Haskell wouldn't have given you an error message.
08:12:37 <shachaf> Whereas Befunge did.
08:12:46 <shachaf> So that would indicate that lambdabot can tell Befunge from Haskell.
08:12:51 <fizzie> Okay, yes, if you want to be all *technical* about it.
08:12:54 <Sgeo> Haskell/Befunge polyglot?
08:13:30 <shachaf> Sgeo: In the case that your program is both valid Befunge and valid Haskell, lambdabot will default to treating it as Haskell.
08:15:06 <fizzie> > "I default to Haskell" -- 025*"egnufeB ot tluafed I">:#,_@
08:15:07 <lambdabot> "I default to Haskell"
08:15:11 <fizzie> You seem to be correct.
08:15:20 <fizzie> (What a surprise!)
08:16:08 <fizzie> Oh no, I need to be photographed. ->
08:17:10 <fizzie> (The folks responsible for our keycards were all "you should've been given one with a photo years ago instead of keeping this ancient 'visitor' card" when I went to complain it stopped working over the year-change.)
08:21:48 <elliott> Hey shachaf.
08:21:54 <elliott> sameKey :: Key a -> Key b -> Maybe (Equal a b)
08:21:54 <elliott> sameKey (Key k) (Key k')
08:21:54 <elliott> | k == k' = Just \$ unsafeCoerce Refl
08:21:54 <elliott> | otherwise = Nothing
08:26:43 <Sgeo> I shouldn't eat and watch QI at the same time
08:27:10 <Sgeo> What is a Refl?
08:27:30 <Sgeo> Something that can be coerced into an Equal a b I guess
08:27:48 <shachaf> Hey elliott.
08:27:52 <shachaf> Helliott
08:28:00 <shachaf> Because that's what being in an IRC channel with you is like.
08:28:32 <elliott> shachaf: Yes.
08:28:37 <elliott> Sgeo: data Equal a b where Refl :: Equal a a
08:28:46 <shachaf> I mean, unsafeCoerce Refl?
08:29:56 <elliott> shachaf: Does it reassure you if I told you the Key constructor isn't exported?
08:30:36 <elliott> And that given the other part of the API,
08:30:39 <shachaf> I wonder whether asking for more context will change my attitude toward life for the positive or the negative.
08:30:42 <elliott> newKey :: IO (Key a)
08:30:49 <elliott> and no constructors, you can implement:
08:30:52 <elliott> data Locker
08:30:56 <elliott> lock :: Key a -> a -> Locker
08:31:01 <elliott> unlock :: Key a -> Locker -> Maybe a
08:32:26 <elliott> shachaf: The actual context is Vault.
08:32:51 <elliott> Specifically, Locker is being added to the API, and I realised you could implement the entire API (inefficiently) with just newKey and sameKey.
08:32:57 <elliott> (Including Vault itself.)
08:33:52 <shachaf> Hmm.
08:35:58 <elliott> http://stackoverflow.com/questions/8736774/mapping-with-pairs, http://stackoverflow.com/questions/8739451/getting-minimum-values-of-mappings
08:36:05 <elliott> I think a new Haskell class must have just started somewhere.
08:38:16 <elliott> shachaf: sameKey is quite morally sound, anyway.
08:38:30 <elliott> It's just saying that if you have two identical objects, then they must have the same type.
08:38:45 <elliott> Except it's weaker than that, it's just if you have two identical Keys, then they must have the same type argument :)
08:39:16 <shachaf> elliott: You often have convincing rationalizations that things that you do are morally sound.
08:39:17 <elliott> Which is trivially true because each Key is created in IO (and so is monomorphic like IORefs) and each one gets a unique identity.
08:39:31 <shachaf> It's just that you *need* those rationalisations so often...
08:39:31 <elliott> shachaf: It's great!
08:39:46 <elliott> At least nobody can complain about the exposed Vault interface itself.
08:39:51 <elliott> Also it isn't my library in the first place.
08:40:02 <elliott> Even if I did convince him to use unsafeCoerce instead of IORefs and unsafePerformIO.
08:41:06 <shachaf> unsafePerform :: (T :: Set -> Set) -> T a -> a
08:41:33 <elliott> shachaf++
08:41:50 <elliott> Especially good with, e.g. T = Not.
08:42:01 <elliott> Not would be a good monad.
08:43:06 <zzo38> "The problem is twofold: first, there is no known general-purpose computer that can execute all the programs we can think of except the naughty ones ... There are no hearing aids, only computers we put in our ears ... There are no radios, only computers with fast ADCs and DACs and phased-array antennas ... "
08:43:10 <zzo38> "Freedom in the future will require us to have the capacity to monitor our devices and set meaningful policy on them, to examine and terminate the processes that run on them, to maintain them as honest servants to our will, and not as traitors and spies working for criminals, thugs, and control freaks," Doctorow warns ...
08:43:25 <elliott> shachaf: By the way, do *you* have a simple explanation for http://stackoverflow.com/a/8738053/1097181? I distinctly recall hearing one once.
08:44:25 <shachaf> Ooh, is that the fmap^6 = fmap^10 thing?
08:44:37 <shachaf> The bane of my existence.
08:44:57 <elliott> shachaf: It's fmap^4(k+1) = fmap^4.
08:45:09 <elliott> Where ^ is repeated application, not composition.
08:45:30 <zzo38> Well, it is why my ideas inventing Hypernet protocol (a 100% decentralized networking protocol with packet security on everything, runnable over many modes of communication, including computer disks transfer, printout on paper, writing by hand, telephone, amateur radio, books, etc), and the new computer idea I have, and to eventually build and sell, including complete printed documentation, hardware diagram, etc
08:45:42 <shachaf> elliott: Hmm.
08:45:52 <shachaf> I don't have a simple explanation for it
08:45:59 <shachaf> But I've wondered about it several times before.
08:46:06 <shachaf> If you find a simple explanation for it, please tell me.
08:46:15 <elliott> I think it might have been oerjan who explanated it.
08:46:28 <shachaf> Also, you know how you can usually stick a bunch of fmaps in front of things to get rid of parentheses?
08:46:45 <elliott> For some sufficiently vague definition of that, sure.
08:47:13 <shachaf> It doesn't always work, I think, no matter where you spread the fmaps around.
08:47:20 <shachaf> Is there a combinator you can do that with in general?
08:47:32 <elliott> shachaf: iota :p
08:47:36 <zzo38> It should get closer to "general-purpose computer that can execute all the programs we can think of except the naughty ones" than most things due to my idea design hardware and BIOS (both completely free specification and open source); and trademarks to protect some things too, and even built-in programming feature (in Forth and in BASIC, again with complete printed documentation). But only in time can you know for sure...
08:47:50 <elliott> shachaf: It's just asking whether there's a single-combinator base-thing in Hindley-Milner with typeclasses, no?
08:48:06 <elliott> Except with the ability to interleave other expressions too. But it's basically just a combinator question.
08:48:21 <elliott> There's that Okasaki thing with the two combinators that don't need parens.
08:48:30 <elliott> I think that's in untyped LC though.
08:48:37 <shachaf> I knew you would mention Iota or something.
08:48:49 <shachaf> That answer doesn't satisfy me for whatever reason. Though I guess it should.
08:49:49 <elliott> shachaf: My prediction is yes, there is such a basis, because you could use the types to get yourself the equivalent of two combinators.
08:50:00 <elliott> Pick your types wisely and you should be able to express everything.
08:50:06 <elliott> The types as in typeclass instances.
08:50:20 * shachaf hates type classes.
08:50:23 <shachaf> The worst feature of Haskell.
08:51:27 <zzo38> Now, I should try to make even the hard drive to be made completely of free software, if possible, and even the CPU design to be completely of free software
08:54:52 <zzo38> "Things (ALL things) should be sold with their schematics. Does not have to be in paper form in the manual, but at least a downloadable PDF would be helpful. I would also certainly not complain if compilable source-codes for the firmware were available too" ... Yes, it is what I shall plan to do, all these thing, except PDF because I don't like PDF very much.
08:55:45 <elliott> shachaf: Also the only feature.
08:56:17 <zzo38> "Just imagine all the sorts of possible hacks - without the slightest bit inconveniencing the "regular users" whom nobody forces to download and read the specs. And imagine the ability to figure out that the given device is a piece o' crap by looking at its schematics before it is bought."
08:56:28 <zzo38> Yes this is very good.
09:06:47 <zzo38> And if you fail to understand Forth programming or any other programming, you can still simply insert the disc and push START button. See, it is as easy to use as any other devices, possibly even more easy and simply, and even simpler by design that hackers can use, too; not only for ordinary people.
09:08:58 <Sgeo> elliott, kallisti who else update?
09:09:30 <elliott> Who else update indeed.
09:11:57 <elliott> shachaf: Behold the quality of SO's suggested edit queue: http://ompldr.org/vYzJpZA
09:12:16 <zzo38> Therefore it must be done somehow to convince other people that the other device and computer and program and stuff is bad due to their actual reasons such as DRM and spying and so on, and to tell that these new one my idea, are the better one; such as freedom, local function, secure, reliability (such as not broken due to internet broken), privacy, provability, etc
09:12:18 * elliott would approve it, but ran out of votes for today.
09:13:07 <shachaf> elliott: Is that one of those "has anything ever do look more like" sentences?
09:13:36 <shachaf> I'm not managing to read the whole thing.
09:13:37 <zzo38> And cash is acceptable as payment
09:14:15 <shachaf> elliott: Also, you're SO-famous enough to be able to approve things?
09:14:29 <elliott> shachaf: Suggested edits, yes. That comes at 5,000 rep.
09:14:37 <elliott> Actual moderation tool things come at 10k, which I should hit in less than a month.
09:15:02 <elliott> Also, I'm not sure, but "dfgsgdfgdfgersdfdfgg" is definitely a worthy addition to the question.
09:15:07 <elliott> As is the bold italic.
09:15:15 <elliott> shachaf: Also two people have to approve anything, so it's not like I'm omnipotent.
09:15:29 <elliott> Also I can just unilaterally edit posts anyway, so it basically gives me no power at all.
09:15:34 <shachaf> Ereyesterday I had 1 karma; yesterday I had 2; today I have 4.
09:15:53 <shachaf> I should hit 1048576 in 10 days, clearly.
09:16:13 <elliott> That would be quite impressive.
09:16:22 <elliott> Although it's only about 3 times the top user's rep.
09:16:32 <shachaf> Also, by 10 I mean 20. By which I mean 17.
09:16:36 <elliott> Assuming I can count, which is a dangerous assumption.
09:16:57 <shachaf> elliott: I'm uncomfortable with the idea of a world where you have any power at all.
09:17:26 <elliott> It is a world we are all burdened with.
09:17:31 <shachaf> Maybe StackOverflow is just a secret plot to keep people like elliott away from politics.
09:17:58 <elliott> Why the fuck is Klaymen's Theme in my head. I can't deal with this, I'm sleep-deprived.
09:18:03 <elliott> shachaf: I don't think I needed SO to accomplish that.
09:18:04 <shachaf> Klaymen's Theme!
09:18:07 <shachaf> elliott++
09:18:14 <elliott> Ooh, meaningless internet points!
09:18:17 <elliott> Did you know I like those a lot?
09:18:24 <shachaf> I did!
09:18:45 <shachaf> Do you have Neverhood-nostalgia too?
09:19:27 <elliott> For a sufficiently lax definition of "nostalgia". I'm not sure when I played it, but it definitely wasn't when it came out.
09:19:33 <elliott> It was many years ago, though.
09:19:40 <shachaf> Didn't it come out in 1996?
09:19:44 <shachaf> I didn't play it then either.
09:19:52 <shachaf> I was youngish at the time, though.
09:19:57 <shachaf> Certainly a single-digit age.
09:20:05 <elliott> Wikipedia says yes.
09:20:11 <shachaf> elliott: Did you know you could solve the mouse puzzle just by following the mouse's nose?
09:20:52 <elliott> shachaf: I do now! Things I also just learned: I've forgotten about 90% of the parts of the Neverhood that aren't the music.
09:21:09 <shachaf> It's OK, the music is the best part anyway.
09:21:14 <shachaf> Other than the parts that aren't the music.
09:21:21 <zzo38> Put commercials on television to question copyrights. Put commercials in television to ban DRM. Put shows on television that are only available on analog service, and only without encryption, and including complete commercial skip and without overlays added.
09:21:30 <elliott> Okay.
09:22:03 <shachaf> @google potatoes tomatoes gravy and peas
09:22:04 <lambdabot> http://www.youtube.com/watch?v=W6R5x1VP2b4
09:22:04 <lambdabot> Title: The Neverhood - Potatoes Tomatoes Gravy and Peas - YouTube
09:22:19 <zzo38> And also including captions for both shows and commercials, so that they can be printed out.
09:22:27 <shachaf> @google southern front porch whistler
09:22:28 <lambdabot> http://www.youtube.com/watch?v=TZgx997HjqE
09:22:28 <lambdabot> Title: Southern Front Porch Whistler - YouTube
09:23:08 <elliott> Hey, the Neverhood article links to the Grim Fandango article. That is also a game!
09:23:12 <elliott> What a coincidence!
09:23:28 * shachaf hasn't played that one.
09:23:46 <shachaf> Wow, that link is completely rubbish.
09:23:48 <shachaf> Get rid of it.
09:24:00 <elliott> You should though, it's a really good game.
09:24:04 <elliott> Apart from the controls.
09:24:10 <shachaf> I played Monkey Island 4.
09:24:22 <elliott> Yes, it's the same engine.
09:24:26 <elliott> Except the game isn't terrible.
09:24:33 <shachaf> MI4 isn't *terrible*!
09:24:43 <elliott> OK, "bad".
09:24:52 <shachaf> Is it?
09:25:05 <zzo38> Now it is time to fight with heavy computers that can still be throw out of a window!!!
09:25:06 <shachaf> It's not like MI1... Or MI2... Or MI3...
09:25:09 <shachaf> But still.
09:25:21 <elliott> shachaf: Well, it's probably not all that bad a game, but the association with the franchise makes it more disappointing.
09:25:35 <elliott> Which is true of quite a few things.
09:25:35 <fizzie> (From our departmental issue tracker:) "Title: B243 closet noises" "I think B243 holds some networking equipment. Anyway, FYI its emitting some strange whining noises." -- this was 3 weeks ago. It sounds like the start of a bad horror movie.
09:25:40 <shachaf> What's a good game?
09:25:44 <fizzie> In the networking equipment closet, no-one can hear you scream.
09:25:50 <elliott> shachaf: Pong!
09:25:54 <elliott> (Pong isn't actually a good game.)
09:25:54 <shachaf> Psychonauts is good in a way roughly similar to how the Neverhood is good.
09:26:00 <elliott> I haven't played Psychonauts.
09:26:03 <shachaf> Oh?
09:26:04 <elliott> When it came out, my computer was too bad for it.
09:26:08 <shachaf> You should play Psychonauts.
09:26:08 <elliott> Then I never got around to it.
09:26:17 <shachaf> elliott: When it came out, I wasn't aware of its existence.
09:26:35 <shachaf> Didn't stop me from playing it later.
09:26:39 <elliott> I'll bother to play Psychonauts if you bother to play Grim Fandango. Now we can procrastinate without blaming ourselves!
09:26:40 <shachaf> elliott: Come on, play Psychonauts.
09:26:45 <shachaf> elliott: Fair enough!
09:27:01 <shachaf> I think I have a CD of Grim Fandango somewhere.
09:27:11 <shachaf> Oh, my father has it. And he's 10 time zones away from here.
09:27:15 <zzo38> Now it is time to blame the MPAA on the energy crisis!!!
09:27:51 <zzo38> Now it is time to blame the MPAA for causing energy crisis!!!
09:28:01 <elliott> shachaf: You could INFRINGE UPON ITS COPYRIGHT.
09:28:20 <elliott> I think the ultimate anti-piracy measure will be games getting bigger faster than internet connections get faster.
09:28:56 <shachaf> elliott: I like how the phrase for "a game that you can pay for in order to download in accordance with regulations" is "digital download".
09:29:05 <shachaf> I suppose that's in contrast to "analog download".
09:29:20 <elliott> shachaf: It's the best way to download real numbers.
09:29:37 <shachaf> All I want to do is download some fingers, man.
09:29:48 <shachaf> elliott: Clearly the ultimate anti-piracy measure is to include specialized hardware with your game.
09:29:50 <fizzie> Residual (ScummVM subproject to do GrimE too) website claims that you can now play (with "few glitches") all the way through Grim Fandango with it now.
09:30:00 * elliott thinks Grim Fandango might be better than MI1.
09:30:06 <elliott> If not for the controls, at least.
09:30:14 <fizzie> (And you can play the intro video of the demo of Escape from Monkey Island. That's... not quite as far.)
09:30:38 <elliott> I would just use a VM.
09:30:45 <elliott> It's not the most resource-intensive game.
09:30:58 <shachaf> VM running what?
09:31:08 <elliott> Win``doze''.
09:31:13 <elliott> Win``nap''. Win``light sleep''.
09:31:22 <elliott> ``Lose''``light sleep''.
09:31:24 <shachaf> Where am I going to get a Windows CD?
09:31:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `Lose''``light: not found
09:31:35 <elliott> With an analog download, of course.
09:31:42 <shachaf> Oh, you crinimal.
09:31:48 <elliott> *cinnamon
09:32:21 <elliott> fizzie: Is it just me, or did ScummVM realise they support every adventure game anyone actually wants to play and just went on a hunt for more and more obscure platforms to implement for kicks?
09:32:25 -!- nooga has joined.
09:32:48 <shachaf> elliott: Did you ever play the Discworld games?
09:33:01 <elliott> OMG, ScummVM can do Toonstruck now???
09:33:01 <shachaf> Speaking of things that ScummVM supports.
09:33:03 <elliott> I take my remark back.
09:33:15 <elliott> shachaf: I think I played one of them for like five minutes once.
09:33:16 <elliott> So, no.
09:33:45 <fizzie> ScummVM's Tinsel (i.e. Discworld) support was real sucky back when they first included it. I guess it's better now, too.
09:35:31 <shachaf> fizzie: There was an annoying bug where it let you play through the entire game but then an item was missing in the final ending ultimate eventual supreme concluding terminating sequence.
09:35:41 <shachaf> And by item I think I mean dragon.
09:35:59 <fizzie> I might have heard something about a missing dragon, it sounds familiar.
09:36:35 <fizzie> I've just played through the first game on DOS, and I think I started the second one once but then for some reason didn't finish it.
09:36:39 <shachaf> http://forums.scummvm.org/viewtopic.php?p=67208&sid=44ec24bd244e3e1d3971fe90d51bd4cc
09:41:26 <zzo38> Due to simplicity of the system, and lack of DRM, makes my system the once most energy efficient too. And in addition, we will even omit whatever parts you don't want (such as printed manual, etc) !
09:46:50 <zzo38> One features of this BIOS is user-definable error emulation mode. Media with physical defects can still be copied! And BIOS can be adjusted by moving jumpers and user programmable ROM without software requiring data in ROM because all system call must be using NMI call and the ROM data and BIOS control cannot be accessed otherwise.
09:47:05 <zzo38> It also mean, no unique identification data can be accessed by the computer software.
09:49:49 <elliott> shachaf: Did you know that Stack Overflow has the single best piece of user interface ever?
09:50:10 <shachaf> elliott: I didn't know that.
09:50:13 <elliott> shachaf: You can only post comments every 15 seconds. Whenever you click the "post comment" button before the timeout expires, it pops up a little message telling you the timer hasn't expired Yet. Then it resets the timer.
09:50:13 <shachaf> I still don't.
09:50:29 <shachaf> zomg
09:50:30 <elliott> The result is hitting the button every 14 seconds about 500 times in a row.
09:50:38 <shachaf> Poor elliott has to learn the art of patience. :-(
09:50:41 <elliott> It's morale-building.
09:50:52 <Sgeo> elliott, is that a UI thing or does the server check?
09:51:00 <elliott> Sgeo: The server checks.
09:51:04 <shachaf> elliott: The really great part is that it says 15 seconds, but it's actually 16.
09:51:11 <elliott> I can honestly think of no conceivable reason to do it other than to annoy people.
09:51:28 <elliott> shachaf: I really hope that's true.
09:52:49 <zzo38> Lack of the copy protection even means that the store won't run out of copies; the store can make their own copy or the customer can do so, too.
09:54:34 <shachaf> I like all those words zzo38 is saying.
09:56:39 <zzo38> shachaf: Including the punctuations and sentences?
10:01:38 <shachaf> zzo38: But mainly the words.
10:02:54 <zzo38> Yes.
10:03:01 <zzo38> OK.
10:03:24 <zzo38> But it is not a complete meaning unless you make the words into sentences too
10:18:10 <elliott> [[
10:18:11 <elliott> catseye started watching ehird/funge-archive 2 days ago
10:18:11 <elliott> funge-archive's description:
10:18:12 <elliott> An archive of various Funge-related material, focusing on (Be)funge-98.
10:18:12 <elliott> ]]
10:18:15 <elliott> Oh no, I might have to actually update that.
10:20:12 <fizzie> Oh ho. There is an EYEBALL on you now.
10:20:51 <elliott> Your GitHub profile is still one of my most-viewed webpages thanks to completion.
10:21:10 <elliott> Hey, he's watching you too.
10:21:11 <elliott> Feel the eyes.
10:21:21 <fizzie> NO.
10:21:21 <elliott> The... cat's eyes.
10:37:35 -!- GreaseMonkey has quit (Quit: The Other Game).
10:51:05 -!- nooga has quit (Ping timeout: 248 seconds).
10:54:49 -!- Phantom_Hoover has joined.
10:55:02 <elliott> hi Phantom_Hoover welcome to hoov univers
10:55:34 -!- Phantom_Hoover has left.
10:55:50 -!- Phantom_Hoover has joined.
10:56:01 <shachaf> hi Phantom_Hoover welcome to hoov univers
10:56:10 <Phantom_Hoover> For some reason all the window borders in Chrome have turned red.
10:56:21 <shachaf> Hmm, it didn't work that time.
10:56:47 <elliott> shachaf: This time it turned all the window borders in Chrome read.
10:56:48 <elliott> red.
10:56:53 <elliott> hi Phantom_Hoover welcome to hoov univers
10:57:04 <elliott> Soon Phantom_Hoover will discover that in the hoov univers, his entire family is made out of hoover.
10:57:09 <Phantom_Hoover> AUGH THE FIRE
10:57:34 -!- elliott has set topic: hi Phantom_Hoover welcome to hoov univers | hi Phantom_Hoover welcome to hoov univers.
10:57:41 <elliott> hi Phantom_Hoover welcome to hoov univers: hi Phantom_Hoover welcome to hoov univers, hi Phantom_Hoover welcome to hoov univers hi Phantom_Hoover welcome to hoov univers. hi Phantom_Hoover welcome to hoov univers? hi Phantom_Hoover welcome to hoov univers!
10:58:17 <shachaf> elliott: Is that a dialect of Ook?
10:58:22 <Phantom_Hoover> THE REEDY PIPES OF THE AWFUL FULLNESS
10:58:22 <elliott> shachaf: hi Phantom_Hoover welcome to hoov univers.
10:58:23 <shachaf> Phantom_Hoover is now a BF derivative.
10:58:29 <elliott> Oh god.
10:58:32 <elliott> He's going to brickbrain himself
10:58:34 <elliott> but the brick
10:58:37 <elliott> will be
10:58:38 <elliott> a hoover
10:58:39 <elliott> hi Phantom_Hoover welcome to hoov univers
10:58:46 <Phantom_Hoover> No, elliott is a creator of a BF derivative.
10:58:52 <elliott> No.
10:58:54 <elliott> You brought this on yourself!
10:58:58 <elliott> YOU BROUGHT THIS ON YOURSELF!!!!
10:59:03 <elliott> FACE YOUR ENDING hi Phantom_Hoover welcome to hoov univers hi Phantom_Hoover welcome to hoov univers hi Phantom_Hoover welcome to hoov univers hi Phantom_Hoover welcome to hoov univers
10:59:25 <shachaf> I think I'm to blame here, actually.
10:59:28 * Phantom_Hoover throws a brick southwards.
10:59:36 <shachaf> I should know better than to say anything in IRC that's ever been said before.
10:59:37 <elliott> Ha!
10:59:41 <elliott> In the hoov universe, topology doesn't work like that.
10:59:44 * Phantom_Hoover throws another brick southwards.
10:59:45 <elliott> Also geometry, but topology sounds fanceir.
10:59:47 <elliott> fancier.
10:59:49 <shachaf> IRC people have a high sensitivity to things being said twice.
10:59:52 <elliott> You're actually throwing bricks at yourself.
10:59:54 <shachaf> As they say in IRC:
10:59:59 <shachaf> "Zero, one, or infinity"
11:00:03 <elliott> In the hoov univers, all paths point Phantom_Hooverwards.
11:00:09 <elliott> shachaf: You forgot two.
11:00:15 <shachaf> elliott is now attempting infinity (and beyond)
11:00:27 <Phantom_Hoover> elliott, sure, but some of them also intersect you.
11:00:30 <shachaf> elliott: You forgot two.
11:00:33 <elliott> Phantom_Hoover: No, it's like a black hole.
11:00:41 <elliott> But only for bricks.
11:01:05 <Phantom_Hoover> I don't think you know how geometry works.
11:01:10 <Phantom_Hoover> IF ONLY YOU READ MAC LANE
11:01:19 <elliott> Phantom_Hoover: Excuse me, this is the hoov univers.
11:01:27 <elliott> Geometry works in whatever way is least personally convenient for you.
11:01:49 <shachaf> hoov universe is #esoteric?
11:02:12 <elliott> Only with the e.
11:02:17 <elliott> The hoov univers is the matrix of solidity itself.
11:02:22 <elliott> It's generated by a hoover.
11:02:23 <shachaf> #soteric
11:02:25 <elliott> A phantom hoover.
11:12:09 <zzo38> Do you agree with me??? Let's accuse the MPAA/RIAA of wasting energy too much!!
11:12:32 -!- zzo38 has quit (Remote host closed the connection).
11:14:54 <shachaf> I agree with zzo38.
11:14:58 <shachaf> elliott: Do you?
11:15:23 <elliott> I agree with everything zzo38 says. Even the ridiculous things.
11:15:34 <elliott> Also the... well, there's no other things left.
11:18:03 <shachaf> I think some of the things zzo38 says aren't ridiculous if you take them out of context.
11:48:39 -!- nooga has joined.
11:48:42 -!- Jafet has quit (Ping timeout: 260 seconds).
11:49:51 -!- Jafet has joined.
12:03:40 -!- Jafet has quit (Read error: Connection reset by peer).
12:03:53 -!- Jafet has joined.
12:10:03 -!- Jafet1 has joined.
12:10:22 -!- Jafet has quit (Ping timeout: 240 seconds).
12:10:48 -!- Jafet1 has quit (Client Quit).
12:22:09 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
12:33:53 -!- nooga has quit (Ping timeout: 253 seconds).
12:37:32 -!- oerjan has joined.
12:40:01 -!- Gregor has set topic: Official channel of Haskelӏ.
12:40:31 -!- Gregor has set topic: Official channel of stupid topic changes | http://codu.org/logs/_esoteric/.
12:41:04 <elliott> Gregor: How does your log formatter decide when a quit should be shown in channel; you don't NAMES periodically so that requires unbounded lookback
12:41:08 <elliott> FINALLY I get that question in while he's here.
12:41:08 -!- nooga has joined.
12:41:38 <Gregor> elliott: My formatter does not work over a partial log, it needs history.
12:41:43 <Gregor> Well
12:41:48 <Gregor> For the purposes of quits it doesn't.
12:42:04 <elliott> Gregor: Oh, you regenerate complete history?
12:42:08 <Gregor> Yes.
12:42:20 <elliott> Gregor: Niice...
12:42:36 <Gregor> The raw logs are canonical, everything else is a nicety.
12:42:50 <elliott> Gregor: Yes, but you should still NAMES periodically to handle desyncs >_>
12:42:59 <elliott> (Periodically = when you switch files, most likely)
12:43:12 <oerjan> you don't need to treat quits specially if the logs are already separated by channel
12:43:34 <Gregor> oerjan: The logs are only separated by channel if you have a per-channel bot ...
12:44:10 <Gregor> elliott: That's probably reasonable, but doesn't accomplish anything I care much about to be honest.
12:44:21 <oerjan> Gregor: well what i mean is that the logic is when you separate things by channel, which happens before even the .raw stage, no?
12:44:36 <elliott> what
12:44:39 <oerjan> in fact it could be done by glogbot directly
12:45:20 <oerjan> Gregor: is glogbot initially writing everything into one big file for all channels combined, or is it writing into separate files for each channels immediately?
12:45:30 <oerjan> *-s
12:45:42 <Gregor> oerjan: One big combined file. It just dumps IRC.
12:45:44 -!- monqy has quit (Quit: hello).
12:45:48 <oerjan> aha.
12:46:20 <fizzie> By your channels combined, I am Captain glogbot.
12:46:25 <Gregor> The bot does as little intelligence as possible so that if the intelligence needs to be fixed or is buggy I can always pass it on.
12:46:40 <oerjan> ok so you do need to seek back to the previous NAMES then, i gues
12:46:42 <oerjan> s
12:46:52 <Gregor> But I don't seek, I just carry the names in the channel.
12:47:06 <Gregor> It would be silly to seek, since the names list is also modified by PART, NICK, KICK, etc.
12:47:40 <oerjan> Gregor: i mean that NAMES tells you the last point for a channel which you don't need to look before to know the nicks present
12:48:01 <Gregor> Right, yes.
12:48:26 <oerjan> but of course if you are doing a rescan of entire history each time you generate files... but isn't that expensive
12:48:43 <Gregor> I only regenerate files if things fuck up.
12:49:05 <Gregor> If things fuck up because I crash, then I don't care, I now have a new starting point to generate from.
12:49:17 <Gregor> If things fuck up because my generator was bad, then I want to regenerate.
12:49:35 <Gregor> Let me explain the process more completely.
12:49:46 <elliott> And if you ever miss a single QUIT or PART because of server issues, you have to special-case it in the generator.
12:49:47 <elliott> If you even notice.
12:49:49 <Gregor> glogbot outputs a log. Its entire session is one log. All PAST sessions are previous logs.
12:50:08 <Gregor> I never need to read past sessions because a fresh session will always have NICK.
12:50:25 <Gregor> And I should never need to restart current sessions unless things crash, but if things crash then I'm fucked anyway.
12:50:47 <Gregor> s/have NICK/have NICKS/
12:50:52 <oerjan> Gregor: ok so it's per session, not periodically split, i guess that makes it easier
12:56:44 -!- cswords has joined.
12:56:45 -!- cswords has quit (Client Quit).
13:10:57 <oerjan> <elliott> shachaf: By the way, do *you* have a simple explanation for http://stackoverflow.com/a/8738053/1097181? I distinctly recall hearing one once.
13:11:03 <oerjan> isn't that just writing it out?
13:11:15 <oerjan> fmap fmap fmap = fmap . fmap
13:11:33 <oerjan> fmap fmap fmap fmap = (fmap . fmap) fmap = fmap (fmap fmap)
13:11:55 <oerjan> fmap fmap fmap fmap fmap = fmap (fmap fmap) fmap = fmap fmap . fmap
13:12:27 <oerjan> fmap fmap fmap fmap fmap fmap = (fmap fmap . fmap) fmap = fmap fmap (fmap fmap) = fmap . fmap fmap
13:12:33 -!- Phantom_Hoover has joined.
13:12:55 <oerjan> fmap fmap fmap fmap fmap fmap fmap = (fmap . fmap fmap) fmap = fmap (fmap fmap fmap) = fmap (fmap . fmap)
13:13:25 <oerjan> fmap fmap fmap fmap fmap fmap fmap fmap = fmap (fmap . fmap) fmap = fmap . fmap . fmap
13:14:18 <oerjan> fmap fmap fmap fmap fmap fmap fmap fmap fmap = (fmap . fmap . fmap) fmap = fmap (fmap (fmap fmap))
13:15:02 <oerjan> fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap = fmap (fmap (fmap fmap)) fmap = fmap (fmap fmap) . fmap
13:15:25 <oerjan> ...shouldn't there have been ar repetition by now.
13:17:31 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
13:19:02 <oerjan> fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap = (fmap (fmap fmap) . fmap) fmap = fmap (fmap fmap) (fmap fmap) = fmap fmap . fmap fmap
13:19:38 <oerjan> fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap = (fmap fmap . fmap fmap) fmap = fmap fmap (fmap fmap fmap) = fmap . fmap . fmap, finally
13:19:57 <oerjan> fmap^12 = fmap^8
13:21:01 <oerjan> ...actually that's not the usual meaning of f^n as functions, but anyhow.
13:21:42 -!- Phantom_Hoover has joined.
13:21:58 <oerjan> :t fmap fmap fmap fmap fmap
13:21:58 <lambdabot> forall a (f :: * -> *) a1 b. (Functor f) => (a1 -> b) -> (a -> a1) -> f a -> f b
13:22:03 <oerjan> :t fmap fmap fmap fmap fmap fmap
13:22:04 <lambdabot> forall a (f :: * -> *) a1 b (f1 :: * -> *). (Functor f, Functor f1) => (a -> a1 -> b) -> f a -> f (f1 a1 -> f1 b)
13:22:07 <oerjan> :t fmap fmap fmap fmap fmap fmap fmap
13:22:08 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) a b (f2 :: * -> *). (Functor f, Functor f1, Functor f2) => f (a -> b) -> f (f1 (f2 a) -> f1 (f2 b))
13:22:10 <oerjan> :t fmap fmap fmap fmap fmap fmap fmap fmap
13:22:11 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) a b (f2 :: * -> *). (Functor f, Functor f1, Functor f2) => (a -> b) -> f (f1 (f2 a)) -> f (f1 (f2 b))
13:22:17 <oerjan> :t fmap fmap fmap fmap fmap fmap fmap fmap fmap
13:22:18 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) (f2 :: * -> *) a b (f3 :: * -> *). (Functor f, Functor f1, Functor f2, Functor f3) => f (f1 (f2 (a -> b))) -> f (f1 (f2 (f3 a -> f3 b)))
13:22:24 <oerjan> :t fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap
13:22:25 <lambdabot> forall a b (f :: * -> *) a1 (f1 :: * -> *). (Functor f1, Functor f) => (a1 -> a -> b) -> f1 a1 -> f1 (f a -> f b)
13:22:28 <oerjan> :t fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap
13:22:29 <lambdabot> forall (f :: * -> *) (f1 :: * -> *) a b (f2 :: * -> *). (Functor f1, Functor f, Functor f2) => f1 (a -> b) -> f1 (f (f2 a) -> f (f2 b))
13:23:34 <oerjan> ok so 6 has the same type as 10, is the first repetition
13:24:09 <Phantom_Hoover> Lymia's pretending to be oerjan?
13:24:52 <oerjan> fmap fmap fmap fmap fmap fmap = fmap . fmap fmap; fmap fmap fmap fmap fmap fmap fmap fmap fmap fmap = fmap (fmap fmap) . fmap
13:26:13 <oerjan> (fmap . fmap fmap) x = fmap (fmap fmap x)
13:26:43 <oerjan> which is still a function, so
13:27:22 <oerjan> = fmap (fmap . x)
13:28:18 <oerjan> while (fmap (fmap fmap) . fmap) x = fmap (fmap fmap) (fmap x) = fmap fmap . fmap x
13:28:37 <oerjan> both still functions
13:29:10 <oerjan> fmap (fmap . x) y vs.
13:29:51 <oerjan> (fmap fmap . fmap x) y = fmap fmap (fmap x y)
13:30:15 <oerjan> oh the functor law of course, they are equal.
13:30:49 <elliott> <oerjan> isn't that just writing it out?
13:30:53 <elliott> that does not _explain_ it, mathematician :P
13:31:14 <oerjan> well i cannot recall an explanation then
13:33:48 <oerjan> 08:46:28: <shachaf> Also, you know how you can usually stick a bunch of fmaps in front of things to get rid of parentheses?
13:33:52 <oerjan> 08:46:45: <elliott> For some sufficiently vague definition of that, sure.
13:33:54 <oerjan> 08:47:13: <shachaf> It doesn't always work, I think, no matter where you spread the fmaps around.
13:34:27 <oerjan> istr it always does.
13:35:00 <oerjan> oh wait hm
13:35:27 <oerjan> if you want there to be no parentheses around the fmaps either, it gets trickier
13:39:50 <oerjan> but with parentheses it's easy enough: a b (c ... y z) = (.) (a b) (c ... y) z and now you have handled one variable, iterate until there are none left
13:40:22 <oerjan> at which point the remaining initial blob can only contain parentheses and .'s
13:48:33 -!- Gregor has set topic: Official channel of frequent stupid topic changes | http://codu.org/logs/_esoteric/.
13:49:03 -!- oerjan has set topic: Official channel of the frequent stupid topic change singularity | http://codu.org/logs/_esoteric/.
13:57:52 -!- oerjan has set topic: Official channel of the frequent stupid topic change singularity: the Sequel | http://codu.org/logs/_esoteric/.
13:59:08 <Phantom_Hoover> http://www.thebestpageintheuniverse.net/c.cgi?u=math
13:59:14 <Phantom_Hoover> I like maths that little bit less now.
13:59:22 -!- nooga has quit (Ping timeout: 240 seconds).
14:01:15 <oerjan> obviously that's because you're an idiot, duh
14:03:21 -!- Ngevd has joined.
14:03:31 <elliott> Phantom_Hoover: You read a Maddox page and your take-away from it wasn't that you like Maddox that little bit less now; you must have reading comprehension difficulties.
14:04:12 <Ngevd> Hello
14:04:51 <Phantom_Hoover> elliott, it would be quite difficult to make me like Maddox that little bit less.
14:05:05 <Ngevd> http://www.bbc.co.uk/news/technology-16424659
14:05:18 <elliott> Phantom_Hoover: Ah; also referred to as "Tau Zero".
14:05:22 <elliott> Without the spaceship.
14:05:27 <elliott> Hey, it has a zero in it.
14:05:40 <Phantom_Hoover> And in any case liking maths that little bit less is the more noteworthy effect, as maths is good and Maddox is... not.
14:05:55 <elliott> He's good at reminding the world that some people are just awful?
14:05:59 <elliott> Public service.
14:06:19 <elliott> Ngevd: Ha ha, you get your news from bbc.co.uk, like an OLD person.
14:07:16 <Phantom_Hoover> Goddamned Swedes.
14:08:09 -!- nooga has joined.
14:09:53 <elliott> Phantom_Hoover: The only positive result of me clicking that link was "ha ha, the shithead has totally sold out by adding margins and a Facebook like button".
14:10:08 <elliott> On the flipside I'm now an advocate for genocide.
14:10:21 <elliott> I would sue you, but the plan is to kill you anyway.
14:10:42 <oerjan> elliott: i got tricked to click an amazon link :(
14:10:54 <oerjan> i thought it was another page on the website
14:11:20 <elliott> oerjan: The main problem here is that you wanted to go to another page on the website.
14:11:22 <oerjan> fortunately i can thwart his scheme buy continuing my policy of not buying anything online.
14:11:45 <oerjan> *by
14:14:09 <elliott> Phantom_Hoover: Hey, I can make you like him a little less:
14:14:11 <elliott> [[How old are you? / Where do you go to school? / Where do you live? / What is your major?
14:14:11 <elliott> At the time of this writing I'm 26, I go to school at the University of Utah; my major is math.]]
14:14:24 <elliott> I think, in context, mathematics is now double ruined.
14:14:35 <Phantom_Hoover> *vomit*
14:14:40 <Phantom_Hoover> how
14:14:44 <Phantom_Hoover> how can he be doing maths
14:14:45 <elliott> Phantom_Hoover: Utah, man.
14:14:50 <Phantom_Hoover> and yet know next to nothing about it
14:14:51 <Ngevd> He's only doing one math.
14:14:52 <elliott> It's, like, Utah.
14:14:58 <Ngevd> Subtraction, maybe
14:15:09 <elliott> Ngevd: :D
14:21:43 <Phantom_Hoover> elliott, for more Maddox, check the comments in /r/math.
14:27:45 <itidus21> mathematics has many military and banking applications
14:28:45 <oerjan> death and taxes, it's all math
14:28:48 <itidus21> but i admit that humans are quite capable of killing each other without logic
14:31:06 <itidus21> i guess to be fair what i should say is, society is always able to force mathematicians to work on military equipment since society controls the flow of money
14:31:55 <oerjan> they have been surprisingly inefficient in my case
14:32:59 <itidus21> i guess that the point is that math has positive purposes which are beyond the agenda of any economic entity
14:33:24 <itidus21> but that it has to endure being used for evil
14:34:37 <itidus21> in my head i am unable to want world peace... to me a world peace sounds fascist and sterile.. a bit like a museum
14:35:36 <itidus21> that is to say, i have concluded that the goal of humans is not to develop peace
14:35:54 <itidus21> perhaps that is the goal of some though
14:39:02 <itidus21> like an isolated village can cope with daily internal conflict..
14:39:21 <itidus21> it doesn't require an absence of conflict
14:40:16 <fizzie> oerjan: Or perhaps you only think they have been ineffectual, while in reality they're killing people with your theorems every day.
14:40:38 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
14:40:57 <itidus21> fizzie: a funny quote about dennis the menace "that boy could turn a marshmallow into a dangerous weapon"
14:41:46 <itidus21> every technology is devoid of moral quality in itself.. i mean, it is only in the application of some technology that it is good or evil
14:42:26 <oerjan> this baby blender is entirely morally neutral
14:42:55 <Ngevd> itidus21, UK or US Dennis?
14:43:08 <itidus21> US cartoon i think.. the goofy blonde kid
14:43:15 <Ngevd> US.
14:43:51 <itidus21> oerjan: well.. what i think about this is
14:44:13 <itidus21> that people have a standard view of what objects are used for what...
14:44:35 <itidus21> and.. (now gaining insight) this enables people to detect abnormal behavior more readily
14:45:00 <oerjan> i think it's a relatively safe bet that few outside the UK even know that the UK dennis exists. although i somehow bumped into it on wikipedia.
14:45:23 <itidus21> i didn't know it was the UK/US thing
14:45:42 <itidus21> but i have encountered a picture of the black haired dennis and wondered why he looked different
14:45:55 <itidus21> with the red and black striped shirt (not cheating here)
14:45:59 <oerjan> i think maybe this channel discussed it before
14:48:04 <itidus21> well its common sense that an executable file is much more dangerous to download than a data file
14:48:33 -!- oklopol has joined.
14:48:44 <itidus21> it took me a while to learn or figure out that a data file is dangerous because it triggers some other code to be executed, and that other code can be imperfect
14:49:07 <Ngevd> Hello oklopol
14:49:14 <itidus21> the other code of course being the program actually reading the data
14:49:28 <elliott> <Phantom_Hoover> elliott, for more Maddox, check the comments in /r/math.
14:49:31 <elliott> Phantom_Hoover: Hmmmmmmmmmmm: no.
14:51:08 <itidus21> for me, at this moment in my life i am hesitant about whether i could come to like haskell (am i talking about something i don't even know about? yes..) anyway..
14:51:25 <elliott> personally i think i dislike this flkwfwejfkle itidus21 has been talking about that i know nothing about
14:51:46 <elliott> i think this is because i've built up an elaborate preconception as to what it is based on no evidence at all, and constantly attack this strawman
14:52:34 <oerjan> elliott: is there going to be a need for my passive aggressivity in this discussion?
14:53:14 <itidus21> elliott: i literally sit around at home every day, wondering what new exciting thing my family will say that will make me die a little bit more inside each time
14:53:26 <itidus21> nothing else is meaningful about me
14:53:44 <elliott> oerjan: you appear to be using the term "discussion". i invite you to consider the term "hopeless"
14:53:54 -!- oerjan has set topic: Official channel of the frequent stupid topic change singularity: the Sequel Prequel, part Three | http://codu.org/logs/_esoteric/.
14:54:19 <oerjan> elliott: ooh, i know all about "hopeless"!
14:54:22 <itidus21> maybe its learning experience
14:56:39 <itidus21> its like, my family can't say anything which will reduce down to logic
14:56:53 <itidus21> its very painful
14:57:58 -!- nooga has quit (Ping timeout: 240 seconds).
14:58:27 <itidus21> like watching someone cycling between the thoughts of "i need to get out of debt" "don't worry i get a big paycheck" "every few weeks i need to borrow money off my mom" "i need to buy absurd novelty items"
14:58:50 <itidus21> "like \$90 whiskey bottles"
15:02:46 <itidus21> "my pay is one day late so i throw a dumbbell in a CRT TV and throw a cordless drill through the plaster wall"
15:04:34 -!- azaq23 has joined.
15:05:03 -!- oerjan has quit (Quit: Later).
15:05:18 <itidus21> so, i have learned that such things is for better or worse inherent in random pockets of humanity..
15:06:39 <itidus21> looking in news websites i encounter occasional stories about people dying in trivial arguments
15:07:21 <elliott> I think I know what you mean.
15:07:41 <itidus21> so the lesson i try to take from that is to not try to prove some principle to someone..
15:07:58 <itidus21> BUT
15:08:44 <itidus21> the other day... i was having some delusion that he was leaving the butter out on the bench on purpose for me to put away.. and as i laid in bed a surge of anger rose in me and i confronted him about it
15:08:57 <itidus21> and he was proud of me for it the next day
15:09:40 <coppro> lolwut
15:09:43 <itidus21> he has told me before he is proud of me if i stand up to him when he needs to be stood up to.. ahh its weird
15:09:54 <coppro> go to school
15:10:05 <itidus21> well.. i distort things when i type and think about them
15:10:19 <itidus21> its important to understand that tidus is the least normal person in his house
15:10:24 <itidus21> =))
15:10:35 <elliott> HI COPPRO HOW'S THE WEATHER TODAY
15:10:37 <elliott> IN CANADA
15:10:38 <elliott> AND
15:10:42 <elliott> OTHER PLACES, LET'S TALK EXTENSIVELY ABOUT THE WEATHER
15:10:48 <coppro> IT
15:10:50 <coppro> IS GOOD
15:10:51 <elliott> IT...
15:10:52 <coppro> ELLIOTT
15:10:54 <elliott> OH GOD!!! THAT'S SO COOL
15:10:56 <elliott> HERE IT'S UH
15:10:58 <elliott> KIND OF MODERATE!!!
15:11:01 <coppro> A BIT
15:11:04 <coppro> COLD THOUGH
15:11:05 <elliott> BUT IT COULD ALWAYS CHANGE, THAT'S THE THING ABOUT THE WEATHER
15:11:06 <elliott> ALWAYS CHANGING
15:11:11 <elliott> YES HERE TOO
15:11:14 <elliott> I THINK IT IS: "WINTER"
15:11:18 <Phantom_Hoover> IT'S FREEZING HERE
15:11:19 <elliott> THOUGH, I MAY BE WRONG
15:11:24 <coppro> I LIKE SHORTS
15:11:29 <coppro> THEY'RE COMFORTABLE AND EASY TO WEAR
15:11:39 <elliott> VERILY!!!! HOW IS LIFE IN THE COMMONWEALTH
15:11:42 <elliott> WAIT I'M IN THE COMMONWEALTH TOO
15:11:43 <elliott> UHHH
15:11:47 <Phantom_Hoover> ALTHOUGH THE SKY IS STRANGELY CLEAR
15:11:47 <elliott> HOW'S LIFE IN THE COMMONWEALTH OUTSIDE THE UK
15:11:53 <coppro> BUT I TOOK AN ARROW TO THE KNEE
15:11:56 <elliott> WOW
15:11:58 <elliott> WE'RE NO LONGER FRIENDS
15:12:02 <coppro> GOODBYE
15:12:04 <elliott> HI PHANTOM_HOOVER HOW'S THE WEATHER IN SCOTLAND TODAY
15:12:05 <coppro> I WILL HAVE A SHOWER NOW
15:12:12 <Phantom_Hoover> SEE ABOVE
15:12:20 <Phantom_Hoover> IS THE WEATHER IN HEXHAM STILL SCOTLAND
15:12:20 <elliott> THAT'S AN AMAZING WEATHER
15:12:28 <elliott> I GIVE IT A+ STARS OUT OF 100%
15:12:37 <elliott> YES HEXHAM IS CURRENTLY SCOTLAND (THE COUNTRY)
15:12:44 <elliott> AS SUCH ALL ITS ATTRIBUTES ARE SCOTLAND
15:12:54 <elliott> I'M NOT SURE HOW YOU GUESSED IT WAS MEANT TO BE A SECRET
15:15:53 <Phantom_Hoover> DEEWIANT FOUND OUT
15:17:46 <elliott> THIS IS WHY FINNS SHOULDN'T BE ALLOWED OMNISCIENCE
15:17:53 <elliott> OR OXYGEN
15:19:24 <Phantom_Hoover> BLAME APPLE
15:21:01 <elliott> OK
15:21:02 <elliott> FOR WHAT THO
15:21:19 <Phantom_Hoover> FOR GIVING AWAY THE TERRIBLE SECRET OF HEXHAM
15:23:23 <Deewiant> (Actually blame snowstorm99.)
15:25:16 <itidus21> since this comment will be possibly damaging i will say it as a riddle. what word is 6 letters long and contains the letters 'M', 'A' and 'X'
15:25:58 <Deewiant> maxima
15:26:06 <Deewiant> climax
15:26:17 <itidus21> hehe
15:26:24 <Phantom_Hoover> Maxmax.
15:26:25 <itidus21> >:-)
15:26:28 <Phantom_Hoover> Minmax.
15:26:43 <Deewiant> matrix
15:26:43 <Phantom_Hoover> Hamhex.
15:28:08 <itidus21> and i will list the other 2 now >:-) hexham and maddox
15:28:10 -!- oklopol has quit (Ping timeout: 240 seconds).
15:29:38 <itidus21> it's also noteable that maddox and math begin with ma~
15:32:13 <elliott> fsvo notable
15:32:26 <fizzie> Axeman.
15:32:53 <itidus21> notable for being haunting
15:33:00 <itidus21> that is the true secret of hexham
15:33:07 <itidus21> that it shares 3 letters with maddox
15:33:31 <elliott> Deewiant: Ohh, *that* is what the refrance Phantom_Hoover was.
15:33:44 <elliott> Deewiant: This worries me because it means a third person lives in Hexham.
15:34:01 <itidus21> no ... don't tell me maddox lives in hexham
15:34:08 <elliott> http://www.reddit.com/r/Android/comments/o0bi8/the_weather_for_tuesday_according_to_my_phone/c3dhvx5 STOP MENTIONING HEXHAM IT'S SO WEIRD
15:34:13 <Deewiant> I was surprised somebody didn't pick up on that when I first linked it :-P
15:34:40 <itidus21> lol @ link
15:34:52 <elliott> Deewiant: I thought it vaguely plausible you'd set up Hexham weather on your phone just for shits and giggles.
15:35:00 <fizzie> http://www.wolframalpha.com/input/?i=How+many+people+live+in+Hexham%3F
15:35:28 <elliott> Us Hexhamites and Helsinkopods should set up our phones to have the other one as an alternate location so e.g. we always know the time in the other place.
15:35:31 <elliott> You know, for solidarity.
15:35:52 <Phantom_Hoover> How many Helsinkians are there in here, actually?
15:36:00 <elliott> Phantom_Hoover: At least three.
15:36:02 <Phantom_Hoover> I thought oko at least lived elsewhere in Finland.
15:36:10 <elliott> Well, fizzie, ineiros, Deewiant, atehwa.
15:36:11 <fizzie> I live in Espoo, to be all technical about it.
15:36:22 <fizzie> And so does ineiros; don't know about Deewiant, atehwa.
15:36:23 <Phantom_Hoover> elliott, so the esolanger density is significantly lower than that in Hexham?
15:36:30 <elliott> fizzie: That doesn't really "count", it's all Helsinki to me.
15:36:40 <fizzie> It doesn't really "count" for many people here, too.
15:36:40 <elliott> Phantom_Hoover: Well... Helsinki is rather bigger than Hexham.
15:36:52 <fizzie> oko's from Turku unless I misremember.
15:36:54 <elliott> About 60 times bigger.
15:36:59 <elliott> Yes, trukku.
15:37:01 <elliott> Trurktrtuwu.
15:37:24 <fizzie> 51.7.
15:37:27 <fizzie> http://www.wolframalpha.com/input/?i=%28helsinki+population%29%2F%28hexham+population%29
15:37:42 <Deewiant> I'm in Helsinki.
15:37:45 <fizzie> W|A is really the best thing.
15:37:52 <fizzie> Deewiant: You capitalist.
15:38:01 <Deewiant> That's me.
15:38:34 <elliott> I'm still not convinced Deewiant is a person.
15:38:35 <fizzie> (Generally apartment prices in Helsinki are slightly higher... though there's certainly overlap in that cheap bits of Helsinki are a lot cheaper than expensive bits of Espoo.)
15:39:27 <itidus21> i wonder if they intend to connect interpreters to wolframalpha
15:39:30 <elliott> I can't believe you guys actually called a place Espoo.
15:39:50 <fizzie> Stupid W|A only knows about median home sale prices in U.S.
15:39:56 <fizzie> It's no longer the best thing.
15:40:00 <fizzie> In fact, it's now the worst thing.
15:40:02 <itidus21> i don't really wonder that
15:40:08 <elliott> "The Helsinki University of Technology, in Otaniemi, Espoo"
15:40:11 <fizzie> Sic transit gloria mundi.
15:40:20 <elliott> fizzie: Have you considered gently educating your officials as to how to spell Espoo (i.e. not "Helsinki")?
15:40:25 <fizzie> elliott: It was in Helsinki originally.
15:40:32 <Deewiant> We didn't come up with Espoo, the Swedes did.
15:40:56 <fizzie> (It's Esbo in Swedish.)
15:41:04 <fizzie> (And Helsinki's Helsingfors.)
15:41:43 <fizzie> (Two national languages and all that.)
15:41:44 <elliott> Deewiant: It's always the Swedes.
15:41:49 <Ngevd> Espoo seems to be the Kingston upon Thames of Finland
15:41:54 <elliott> fizzie: Helsingfors is a pretty good name, I gotta say.
15:42:42 <fizzie> It's not a *too* farfetched idea that some day Helsinki, Espoo, Vantaa and Kauniainen will be merged into a single place, though. Certainly it's been proposed a couple of times.
15:42:49 <fizzie> And Kauniainen is completely surrounded by Espoo anyway.
15:42:53 <elliott> "The local taxation rate in Kauniainen is the lowest in Finland (16.5%),[5] which makes the city attractive to the highest earners. This in turn makes the average income generally high, making it possible to keep the taxation rate low without compromising the service to the inhabitants."
15:43:03 <elliott> I bet Deewiant secretly lives in Kauninaineianeinawenwenawkejawenkawjnfnsfljsiojuauauaua.
15:43:11 <fizzie> Rich Swedish-speaking folks live there.
15:43:17 <elliott> (Did I break the vowel harmony?)
15:43:26 <elliott> ("No, just every other rule of the language.")
15:44:08 <Ngevd> elliott, do have any idea when Cock Wood becomes Half Mile Wood
15:44:08 <fizzie> I don't see any yöä there, so I think you're good.
15:44:24 <fizzie> "yökätä" = "to puke" (informally).
15:44:59 <elliott> Ngevd: No, but I suspect it's the basis of approx. 16 thousand trillion billion bad jokes.
15:45:12 * elliott vaguely recalls those place names, though.
15:45:14 <Deewiant> fizzie: To gag, rather.
15:45:29 <fizzie> Deewiant: Gag me with a spoon.
15:45:32 <elliott> fizzie: What's you guys'ses word for "yawn"?
15:45:33 <itidus21> just for the page itself "Graphics & text hack of Super Mario World. It's a cruel, ugly hack dedicated to the glory of 1996-era Bolivia." http://badderhacksnet.ipage.com/badderhacks/index.php?option=com_content&view=article&id=34:bolivia-96&catid=7:snes&Itemid=1
15:45:46 <Deewiant> And not even informally, methinks.
15:46:05 <elliott> "Not even informally" -- Deewiant "methinks" Deewiant
15:46:08 <fizzie> elliott: "haukotella" (verb), "haukotus" (noun).
15:46:40 <fizzie> Hokay, work -> shops -> home now. ->
15:46:51 <elliott> Deewiant: haukotella
15:46:58 <elliott> Deewiant: hauuuuuuuuuukotella
15:47:03 <Ngevd> There are also Swallowship Woods and Wagtail Wood
15:47:10 <Deewiant> elliott: You want the noun for that
15:47:11 <elliott> I'm attempting to disprove my completely ludicrous hypothesis that it only works for English.
15:47:15 <elliott> Deewiant: haukotus
15:47:17 <elliott> Deewiant: hauuuuuukotus
15:47:26 <elliott> Wow, that actually made me yawn.
15:47:36 <Deewiant> The power of Finnish.
15:47:36 <Ngevd> And Wooley Wood
15:53:56 <fizzie> Similarly to the University, the "Helsinki airport" is in fact in Vantaa. (It's proper name is in fact "Helsinki-Vantaa airport", code HEL.)
15:54:54 <Vorpal> hi
15:57:32 <Ngevd> Vorpal, hello
15:58:26 <Vorpal> java is annoying to code in (doing this for university purposes)
15:59:08 <Vorpal> it is like a clunkier C# (yes I know java was around before C#). The languages are very similar, but C# feels more streamlined somehow.
16:00:22 -!- oklopol has joined.
16:10:43 <kallisti> Vorpal: agreed
16:29:56 <kallisti> @src iterate
16:29:56 <lambdabot> iterate f x = x : iterate f (f x)
16:30:53 <Ngevd> Yay
16:32:04 <Ngevd> > map fst (iterate (uncurry (ap (,) . (+))))
16:32:05 <lambdabot> Couldn't match expected type `[(a, b)]'
16:32:05 <lambdabot> against inferred type `(b1,...
16:32:27 <Ngevd> > map fst (iterate (uncurry (ap (,) . (+)) (1,1)))
16:32:28 <lambdabot> Couldn't match expected type `a -> a'
16:32:28 <lambdabot> against inferred type `(b, b)'
16:33:28 -!- nooga has joined.
16:33:57 <Ngevd> > map fst (iterate (uncurry (ap (,) . (+))) (1,1)))
16:33:58 <lambdabot> <no location info>: parse error on input `)'
16:34:07 <Ngevd> > map fst (iterate (uncurry (ap (,) . (+))) (1,1))
16:34:09 <lambdabot> [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,1...
16:34:13 <Ngevd> Get there eventually
16:35:13 * elliott is now 251.761905 times better than Taneb.
16:35:31 <elliott> To celebrate, I'm going to sleep in a minute.
16:36:05 <Ngevd> I'm the lowest ranked person on the only coolness rankings I have ever come across
16:36:31 <Phantom_Hoover> You may live happy in the knowledge that Sgeo would rank lower.
16:36:51 <Sgeo> :(
16:37:15 <elliott> Phantom_Hoover: You forgot that person I'm not going to ping.
16:37:15 <Phantom_Hoover> It's just one of the facts of life, Sgeo.
16:37:28 <elliott> A bitty omission.
16:37:39 <Phantom_Hoover> Vrpal?
16:37:54 <Phantom_Hoover> Lmia?
16:38:03 <elliott> Vorpal: Madoka-Kaname: Congratulations, Phantom_Hoover hates you!
16:38:04 <Phantom_Hoover> Ah.
16:38:26 <Phantom_Hoover> elliott, if they didn't already know that I'm disappointed in myself.
16:41:52 -!- oklopol has quit (Ping timeout: 252 seconds).
16:55:28 <elliott> goop dnight my friendsnj
16:56:06 <Ngevd> Goodnight
17:00:42 -!- elliott has quit (Ping timeout: 276 seconds).
17:11:27 <Ngevd> What time zone is he pretending to be in?
17:13:33 <kallisti> http://www.nokiaphoneblog.com/wp-content/uploads/2009/10/nokia-connocting-poopie.jpg
17:14:51 -!- MSleep has changed nick to MDude.
17:49:47 <fizzie> Ngevd: Elliott time, I'd think.
17:56:39 <kallisti> > length . filter ((/=1) . length . group) . S.toList . S.fromList . replicateM 5 \$ "AKQJT98765432"
17:56:43 <lambdabot> 371280
17:57:13 <kallisti> > length . filter ((/=1) . length . group) . S.toList . S.fromList . map sort . replicateM 5 \$ "AKQJT98765432"
17:57:15 <lambdabot> 6175
17:59:03 <kallisti> > length . S.toList . S.fromList . map sort . filter ((/=1) . length . group) . replicateM 5 \$ "AKQJT98765432"
17:59:06 <lambdabot> 6175
17:59:09 <kallisti> hmmm, no.
17:59:23 <kallisti> > length . S.toList . S.fromList . map sort . {-filter ((/=1) . length . group) .-} replicateM 5 \$ "AKQJT98765432"
17:59:26 <lambdabot> 6188
17:59:50 <kallisti> why is this not yielding correct numbers...
18:03:09 <lifthrasiir> the history of my ~/tmp directory is intriguing. the most visible thing is how i have named all those "tmp"-ish directories.
18:04:03 -!- [PiRSq|Finnmark] has joined.
18:04:53 <lifthrasiir> some of the form tmp/YYYYMMDD/ (e.g. 20080801, 20090616, etc.), some of the form _/N/ (ranging from 0 to 5), some of the form old/, old2/, old3/ (i'm glad that i don't have old4/ yet), etc.
18:05:34 <lifthrasiir> some of them contain (mutually incompatible) a.out files.
18:05:37 <kallisti> > permutations "ab"
18:05:38 <lambdabot> ["ab","ba"]
18:10:17 -!- Klisz has joined.
18:11:00 <kallisti> > msum . map Last \$ [Just 1, Just 2, Nothing]
18:11:01 <lambdabot> No instance for (Control.Monad.MonadPlus Data.Monoid.Last)
18:11:01 <lambdabot> arising from ...
18:11:14 <kallisti> > mconcat . map Last \$ [Just 1, Just 2, Nothing]
18:11:16 <lambdabot> Last {getLast = Just 2}
18:11:23 <kallisti> > mconcat . map Last \$ [Just 1, Just 2, Nothing, Just 3]
18:11:24 <lambdabot> Last {getLast = Just 3}
18:11:26 * [PiRSq|Finnmark] .
18:11:35 <kallisti> > mconcat . map First \$ [Nothing, Just 1, Just 2, Nothing, Just 3]
18:11:36 <lambdabot> First {getFirst = Just 1}
18:14:00 -!- Taneb has joined.
18:14:01 -!- Ngevd has quit (Read error: Connection reset by peer).
18:14:47 <kallisti> hmmm a simple form of subclassing would be to have typeclass synonyms.
18:15:12 <kallisti> so you could say Ring is MGroup and AGroup (multiplicative group and additive group)
18:16:19 -!- Ngevd has joined.
18:18:18 -!- Slereah has quit (Ping timeout: 240 seconds).
18:19:26 -!- Taneb has quit (Ping timeout: 268 seconds).
18:20:22 -!- Ngevd has quit (Ping timeout: 240 seconds).
18:32:52 <Vorpal> is elliott here (under some other nick)?
18:33:08 <Vorpal> kallisti, ^
18:33:22 <kallisti> yes
18:33:24 <kallisti> I am elliott
18:34:08 <Vorpal> no
18:37:03 <kallisti> my \$i = \$blah{lc \$nick} += my \$n = int(rand(5));
18:37:06 <kallisti> there's something so....
18:37:11 <kallisti> good about this line of code.
18:38:07 <kallisti> chaining assignments and += and lexical scope declarations.
18:38:15 <kallisti> this is the way imperative programming is meant to be. :D
18:39:42 <kallisti> my \$is = (my \$i = \$blah{lc \$nick} += my \$n = int(rand(5))) != 1? 's' : '';
18:39:46 <kallisti> oh god what am I doing
18:41:36 <kallisti> my \$is = (my \$i = \$blah{lc (my \$nick = \$a->{body} || \$a->{who})} += my \$n = int(rand(5))) != 1? 's' : '';
18:41:43 <kallisti> no..... I can't continue with these nested assignments.
18:44:05 -!- Ngevd has joined.
18:48:09 <Ngevd> I've got a phantomly Haskell error that I cannot work out
18:48:24 <kallisti> paste pl0x
18:48:31 <Ngevd> http://hpaste.org/56121
18:49:00 <Ngevd> The error comes up when running with the arg "general"
18:49:30 <kallisti> what's the error.
18:49:56 <Ngevd> *** Exception: Prelude.(!!): index too large
18:50:36 <kallisti> :t fromAscList
18:50:37 <lambdabot> Not in scope: `fromAscList'
18:50:44 <kallisti> :t M.fromAscList
18:50:44 <lambdabot> forall k a. (Eq k) => [(k, a)] -> M.Map k a
18:50:49 <kallisti> :t M.AscList
18:50:50 <lambdabot> Couldn't find qualified module.
18:50:53 <kallisti> :t M.fromList
18:50:54 <lambdabot> forall k a. (Ord k) => [(k, a)] -> M.Map k a
18:51:41 <kallisti> I find gen_map kind of confusing, as it doesn't have a complete pattern.
18:51:49 <kallisti> it just checks [] and ["general"]
18:52:04 <Ngevd> I'm gonna add everything else
18:52:08 <Ngevd> Later
18:52:34 <Ngevd> Really, there's going to be similar things to general but military, legal, and domestic
18:52:51 <Ngevd> And political
18:53:11 <kallisti> oh...kay
18:54:35 <kallisti> well uh... I'm guessing you have a field that isn't 4 elements large?
18:54:47 <Ngevd> They all have five.
18:54:53 <Ngevd> It's a rectangular CSV
18:55:23 <kallisti> add a print . filter ((<5).length) grid in main or something
18:55:27 <kallisti> er
18:55:35 <kallisti> print . filter ((<5).length) \$ gris
18:55:38 <kallisti> *grid
18:56:33 <Ngevd> Aha
18:56:46 <kallisti> is it grabbing a few empty elements or something?
18:56:54 <Ngevd> There's one that's [[""]]
18:57:00 <kallisti> yeah I thought that might be the case.
18:57:03 <kallisti> or something similar
18:57:09 <Ngevd> Well, [""]
18:57:17 <kallisti> right
18:57:35 <Ngevd> An init should fix this
18:59:27 -!- _Slereah has joined.
19:01:33 <kallisti> Ngevd: also since you're ask_question is an IO function anyway... you can just use randomIO
19:01:49 <kallisti> *your
19:02:03 <itidus21> so i was laying there thinking and it occured to me that odd numbers are gardens of eden among the numbers for the rule a' = a x 2
19:02:15 <itidus21> i think this is a good thing to happen to me
19:02:20 <kallisti> ???
19:03:09 <kallisti> an odd number is defined as an integer n for which there exists an integer k such that n = 2k+1
19:03:49 <kallisti> perhaps I misunderstand what you mean though
19:03:54 <itidus21> i mean there is no odd number a' which satisfies a' = a x 2
19:04:13 <kallisti> well, yes
19:04:18 <kallisti> that's the definition of an even number
19:04:21 <kallisti> and not even is odd
19:04:51 <kallisti> oh you're talking about CA
19:05:00 <kallisti> gardens of eden.
19:05:02 <kallisti> I think?
19:05:04 <itidus21> no.. im trying to combine numbers and CA
19:05:35 <kallisti> so yes..
19:05:42 <itidus21> lets say a 1x1 CA with an unbounded natural numbers
19:06:07 <itidus21> my terminology and notations really sucks :P
19:06:32 <kallisti> nah I got what you're saying.
19:06:35 <quintopia> a*2 is a terrible CA rule
19:06:41 <itidus21> why?
19:06:47 -!- _Slereah has changed nick to Slereah.
19:07:08 <quintopia> the collatz rule is far more interesting
19:07:17 <quintopia> it has methuselahs and everything
19:08:22 <itidus21> i am not quite familiar with the extent to which i can say things like: a' = a * 2 is a CA and on that basis to say odd numbers are gardens of eden
19:08:26 <kallisti> they're garden of eden states in a 1x1 CA grid where the states are natural numbers, because there's no state that you can revert to from an odd number.
19:08:46 <kallisti> ...you're basically describing a recursive equation.
19:09:14 <itidus21> it's all shakey ground for me.. the idea makes sense but terminology and notation is not my strong thing :P
19:09:33 <quintopia> you cannot say its a CA in the traditional sense
19:09:46 <quintopia> since traditional CAs have locality
19:09:53 <quintopia> aka a speed of light
19:10:00 <itidus21> i like the phrase garden of eden
19:10:00 <quintopia> aka bounded spheres of influence
19:10:05 <kallisti> a 1x1 CA might as well be "a variable"
19:10:28 <quintopia> wait
19:10:28 <quintopia> sorry
19:10:36 <kallisti> or well... a FSA
19:10:46 <quintopia> traditional CAs have finite state sets
19:10:50 <quintopia> that is my objection
19:10:56 <kallisti> oh... yes.
19:11:06 <kallisti> not a FSA but an ISA (infinite state automaton :P )
19:11:10 -!- DCliche has joined.
19:11:19 <Ngevd> kallisti, LBA?
19:11:23 <itidus21> at first i thought, ahh a' = a + 1 would not have any gardens of eden in the sense i am describing
19:11:46 <itidus21> i love misusing terminology
19:11:55 <kallisti> Ngevd: pretty sure a LBA has more than one "cell"
19:12:10 <Ngevd> Deadfish is a linear bounded automaton
19:12:20 <itidus21> i am almost certainly misusing terminology
19:12:30 <itidus21> its what i do
19:12:55 <Ngevd> No it isn't
19:13:47 <kallisti> what I'm describing is a finite state automata but with an infinite set of states
19:14:15 <kallisti> a LBA consists of a tape.
19:14:29 <Ngevd> I would say "infinite state automaton" is too general and misleading
19:14:49 <Ngevd> And I have now mentally redefined LBA's
19:14:52 -!- Klisz has quit (Ping timeout: 255 seconds).
19:15:34 <Ngevd> :t M.find
19:15:35 <lambdabot> Couldn't find qualified module.
19:15:39 <Ngevd> :t Map.find
19:15:39 <kallisti> well yes it's possible that giving a FSA an infinite set of states would make it equivalent to some other automaton but I don't really know what that would be.
19:15:40 <lambdabot> Couldn't find qualified module.
19:16:07 <Ngevd> A minsky machine?
19:16:39 <kallisti> not sure that that is.
19:16:46 <kallisti> s/that/what/
19:18:10 <kallisti> oh, hmm... minsky machines are turing machines.
19:18:34 <Ngevd> Minsky machines with more than one register are equivalent to turing machines.
19:18:40 <Ngevd> There is quite a big difference
19:19:34 <kallisti> The three counter machine base models have the same computational power since the instructions of one model can be derived from those of another. All are equivalent to the computational power of Turing machines (but only if Gödel numbers are used to encode data in the register or registers; otherwise their power is equivalent to the primitive recursive functions)
19:38:49 <fizzie> Waiter, there's a counter in my machine.
19:39:10 <Ngevd> Ssh, or everyone will want one!
19:41:06 <kallisti> rage against the counter machine
19:41:08 <kallisti> (bad)
19:44:01 <kallisti> counter against the rage machine
19:44:40 <kallisti> > map unwords . permutations . words \$ "rage against the machine"
19:44:41 <lambdabot> ["rage against the machine","against rage the machine","the against rage ma...
19:45:24 <kallisti> > permutations "RATM"
19:45:25 <lambdabot> ["RATM","ARTM","TARM","ATRM","TRAM","RTAM","MTAR","TMAR","TAMR","MATR","AMT...
19:45:30 <fizzie> TRAM.
19:45:47 <kallisti> the against rage machine
19:45:56 <kallisti> > permutations "RATCM"
19:45:57 <lambdabot> ["RATCM","ARTCM","TARCM","ATRCM","TRACM","RTACM","CTARM","TCARM","TACRM","C...
19:46:37 <fizzie> Against the machine rage counter.
19:46:55 <fizzie> fungot: What's the current value of the machine rage counter?
19:46:55 <fungot> fizzie: this is a man to treasure. the thief in the throes of an unraveling alibi. " the massacre of syrs gnelph was not as written a message you got, my brother, and we just keep the safe or tub handy or is the fact that this is apparently a bull penis, and a rather piss-poor excuse. we 8oth of us, the whole plan hinged on that.
19:46:59 <kallisti> the machine counter against rage
19:49:08 <fizzie> Daily trivia factoid: Chrono Cross has 45 playable characters, each with a unique accent. The common dialogue was not, in fact, manually rewritten for each character, but instead generated by running a generic version through an accent generator based on simple rewrite rules.
20:08:23 -!- GreaseMonkey has joined.
20:10:10 -!- [PiRSq|Finnmark] has quit (Quit: bye bye FINNMARK puffin).
20:41:04 -!- oerjan has joined.
20:41:09 <Phantom_Hoover> fizzie, is that actually a factoid?
20:41:45 -!- oerjan has set topic: Official channel of the frequent stupid topic change plurality: the Sequel Prequel, part Three | http://codu.org/logs/_esoteric/.
20:42:58 <oerjan> evning
20:46:05 <oerjan> <itidus21> since this comment will be possibly damaging i will say it as a riddle. what word is 6 letters long and contains the letters 'M', 'A' and 'X'
20:46:13 <oerjan> "scotland", duh
20:46:27 <oerjan> it's like people weren't paying attention
20:49:26 <oerjan> <elliott> Phantom_Hoover: Well... Helsinki is rather bigger than Hexham. <-- are you including the obvious dimensional twistings here?
20:53:41 -!- qfr has quit (Read error: Operation timed out).
20:54:33 <oerjan> <elliott> Wow, that actually made me yawn. <-- gjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesp
20:55:04 <oerjan> i guess it doesn't work if he's already sleeping.
20:56:17 <oerjan> :t build
20:56:18 <lambdabot> Not in scope: `build'
20:56:21 <oerjan> @hoogle build
20:56:21 <lambdabot> GHC.Exts build :: (forall b. (a -> b -> b) -> b -> b) -> [a]
20:56:21 <lambdabot> Data.Graph.Inductive.Internal.Heap build :: Ord a => [(a, b)] -> Heap a b
20:56:22 <lambdabot> Graphics.Rendering.OpenGL.GLU.Mipmapping build1DMipmaps :: TextureTarget -> PixelInternalFormat -> GLsizei -> PixelData a -> IO ()
20:57:02 -!- oklopol has joined.
21:00:11 <oerjan> :t let build :: (forall b. (a -> b -> b) -> b -> b) -> [a]; build b = b (:) [] in build
21:00:12 <lambdabot> forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]
21:01:23 -!- pikhq has joined.
21:01:33 -!- pikhq_ has quit (Ping timeout: 252 seconds).
21:01:36 -!- sebbu2 has joined.
21:01:37 -!- sebbu2 has quit (Changing host).
21:01:37 -!- sebbu2 has joined.
21:01:44 -!- MDude has quit (Ping timeout: 260 seconds).
21:02:43 -!- sebbu has quit (Ping timeout: 240 seconds).
21:03:27 <oerjan> :t let build :: (forall b. (a -> b -> b) -> b -> b) -> [a]; build b = b (:) []; iterate f x = build (b x) where { b x cons nil = cons x (b (f x) cons nil) } in iterate
21:03:28 <lambdabot> forall a. (a -> a) -> a -> [a]
21:06:45 -!- ais523 has joined.
21:09:39 -!- MDude has joined.
21:10:18 -!- sebbu2 has changed nick to sebbu.
21:13:51 <oerjan> 17:59:23: <kallisti> > length . S.toList . S.fromList . map sort . {-filter ((/=1) . length . group) .-} replicateM 5 \$ "AKQJT98765432"
21:13:54 <oerjan> 17:59:26: <lambdabot> 6188
21:13:57 <oerjan> 17:59:50: <kallisti> why is this not yielding correct numbers...
21:14:05 <oerjan> that would rather depend on what you are trying to calculate.
21:53:44 <kallisti> oerjan: number of distinct combinations in a 5-card hand.
21:57:29 <Sgeo> How are Smalltalk's Bags structured?
21:57:44 <oerjan> kallisti: ic, i cannot see any error either, then
21:57:52 <Sgeo> Or are they similar to Set and ordered by identity or something?
22:00:33 <oerjan> kallisti: as long as you are meant to ignore suits, that is
22:01:19 <kallisti> ah yes that's why it's different
22:01:34 <oerjan> heh XD
22:03:11 <oerjan> > product [52-4 .. 52] `div` product [1..5] -- is this the right answer?
22:03:12 <lambdabot> 2598960
22:04:26 <oerjan> or are you meant to ignore some suit differences but not others.
22:04:56 <oerjan> (e.g. ignore except when a flush is involved)
22:06:56 <ais523> hmm, so apparently Romney beat Santorum by 8 votes
22:07:12 <oerjan> yeah i read that in the (norwegian) paper
22:07:17 <ais523> and the US doesn't use the UK's recount mechanism
22:08:07 <ais523> (in the UK, votes are counted by hand, sorting them into piles by candidate; if the vote count is close, then they check each of the individual piles again, and if it's particularly close even after that, they keep repeating the process until everyone's happy all the votes are in the right place)
22:08:23 <ais523> (and if there's any dispute as to who a vote is for, they make the candidates debate it until they all agree)
22:08:29 <oerjan> ais523: i recall it's a caucus, which uses even more unpredictable voting methods, it may even be by showing hands...
22:08:42 <ais523> haha
22:08:59 <ais523> apparently it was done with check marks or by writing names in by hand
22:09:48 <oerjan> (iowa uses caucus, that is; the next one (new hampshire) uses more conventional voting)
22:11:55 <ais523> ooh, leap second announced in June
22:13:14 -!- derdon has joined.
22:17:25 <ais523> <spambot> What is the fundamental and real concept of roulette?
22:17:32 -!- sebbu2 has joined.
22:17:52 * oerjan tests the russian version on spambot. *BLAM*
22:17:53 -!- oklofok has joined.
22:18:31 -!- sebbu has quit (Disconnected by services).
22:19:34 -!- DCliche has changed nick to Klisz.
22:20:56 -!- iconmaster has joined.
22:21:34 <kallisti> oerjan: no there's no special case for flushes
22:21:40 -!- oklopol has quit (Ping timeout: 260 seconds).
22:22:02 <Ngevd> I like writing Comments on a Postcards, because they are published long after I have forgotten them, and I think: "this sounds familiar"
22:22:10 <Ngevd> Then oerjan tells me I wrote it
22:23:00 -!- oerjan has quit (Remote host closed the connection).
22:24:02 -!- sebbu2 has changed nick to sebbu.
22:25:03 -!- oerjan has joined.
22:26:58 -!- Ngevd has quit (Quit: ask Phantom_Hoover if you're curious).
22:27:25 <oerjan> strange coincidence: i called the isp on Dec 29 because the connection was flaky. since the day after i did that, i've noticed no problems, so i assumed they had somehow fixed it. although they had said they would send a new router, which arrived today.
22:27:40 <oerjan> and just now the connection dropped again.
22:27:59 <oerjan> i guess i'll have to actually install it soon :D
22:29:03 <oerjan> (i'm not actually the direct customer, my landlady is, but she knows approx. 0.01 about computers.)
22:30:15 <oerjan> <kallisti> oerjan: no there's no special case for flushes <-- you didn't say whether my product quotient gave the right answer, though.
22:31:04 <oerjan> i guess your version isn't right either with the filter or without? (the latter would correspond to using more than one 52 card deck, i think.)
22:33:07 <oerjan> @hoogle [a] -> [[a]]
22:33:07 <lambdabot> Data.List inits :: [a] -> [[a]]
22:33:08 <lambdabot> Data.List permutations :: [a] -> [[a]]
22:33:08 <lambdabot> Data.List subsequences :: [a] -> [[a]]
22:33:54 <kallisti> oerjan: hmmmm? the filter is used to get rid of the 5-of-a-kind cases which are impossible
22:34:05 <oerjan> kallisti: that's what i implied
22:34:15 <kallisti> the rest corresponds to a 52 card deck. the reason the results are different is because all of the suits are considered the same.
22:34:25 <oerjan> wat
22:34:46 <oerjan> but _your_ calculation assumes the suits are the same, and you said they were wrong
22:34:52 <kallisti> yes.
22:34:59 <kallisti> well
22:35:00 <kallisti> it's wrong
22:35:11 <kallisti> if you care about suits
22:35:12 <kallisti> but not otherwise.
22:35:18 <kallisti> I think
22:35:19 * oerjan facepalm
22:36:17 <kallisti> >_>
22:36:48 <kallisti> I believe your product quotient is the correct answer is distinct combinations are what you're looking for.
22:37:00 <kallisti> aka 52C5
22:37:02 -!- azaq23 has quit (Quit: Leaving.).
22:37:05 <kallisti> er
22:37:06 <kallisti> not C
22:37:09 <kallisti> the other one
22:37:13 <kallisti> er wait
22:37:13 <kallisti> yes
22:37:13 <kallisti> C
22:37:14 <kallisti> :P
22:37:31 <oerjan> i believe it's very hard to help people when they don't make it clear whether you've found the correct answer or not.
22:38:14 <kallisti> the problem is:
22:38:20 <kallisti> http://en.wikipedia.org/wiki/Poker_probability
22:38:26 <kallisti> the distinct number
22:38:32 <kallisti> is 7,462
22:38:38 <kallisti> and I'm getting 6000-something
22:38:49 <kallisti> I assume "distinct" means "ignoring suit"
22:40:51 <kallisti> > length . S.toList . S.fromList . map sort . {-filter ((/=1) . length . group) .-} replicateM 5 \$ "AKQJT98765432"
22:40:54 <lambdabot> 6188
22:41:01 <kallisti> > length . S.toList . S.fromList . map sort . filter ((/=1) . length . group) . replicateM 5 \$ "AKQJT98765432"
22:41:05 <lambdabot> 6175
22:41:24 <kallisti> > length . filter ((/=1) . length . group) . replicateM 5 \$ "AKQJT98765432"
22:41:26 <lambdabot> 371280
22:42:44 <oerjan> kallisti: the flush case does not ignore suit
22:42:57 <kallisti> ah
22:43:54 <kallisti> hmmm... are you sure
22:44:08 <kallisti> it would seem that if that were the case then the "distinct" and "frequency" columns would be the same for flush.
22:44:22 <oerjan> or wait does it
22:44:31 <oerjan> > 1277*4
22:44:32 <lambdabot> 5108
22:44:41 <oerjan> ok you're right
22:45:04 <kallisti> so I... I really don't know what's wrong.
22:45:15 <kallisti> nor is it incredibly important either. but, it would be nice to know.
22:45:56 <oerjan> > 13*12*11/2
22:45:56 <lambdabot> 858.0
22:46:26 -!- pikhq_ has joined.
22:46:27 -!- pikhq has quit (Ping timeout: 248 seconds).
22:46:31 <kallisti> > 4*4*13*12*11/2
22:46:32 <lambdabot> 13728.0
22:46:37 <kallisti> hm no
22:46:50 <kallisti> > 4*13*12*11/2
22:46:51 <lambdabot> 3432.0
22:46:56 <Sgeo> > replicateM 5 "ABC"
22:46:57 <lambdabot> ["AAAAA","AAAAB","AAAAC","AAABA","AAABB","AAABC","AAACA","AAACB","AAACC","A...
22:46:58 -!- MSleep has joined.
22:47:06 <oerjan> > sum [1,9,156,156,1277,10,858,858,2860,1277]
22:47:07 <lambdabot> 7462
22:47:44 <kallisti> > sequence ["abc", "abc", "abc", "abc", "abc"] -- Sgeo
22:47:45 <lambdabot> ["aaaaa","aaaab","aaaac","aaaba","aaabb","aaabc","aaaca","aaacb","aaacc","a...
22:47:50 <oerjan> oh hm wait
22:48:18 <oerjan> > 7462-1277
22:48:18 <lambdabot> 6185
22:48:32 <oerjan> ic
22:49:02 <oerjan> it's because the flushes count approximately double
22:49:40 <oerjan> most combinations that can give a flush can also give something else if the suits _don't_ match
22:49:52 -!- oklofok has quit (Ping timeout: 240 seconds).
22:49:55 <kallisti> oh yes.
22:50:23 -!- MDude has quit (Ping timeout: 252 seconds).
22:51:24 -!- MDude has joined.
22:51:28 <kallisti> so suit is still important when calculating distinct possibilities
22:51:40 -!- MSleep has quit (Ping timeout: 252 seconds).
22:53:22 <oerjan> > 7462-(1277+10+1)
22:53:23 <lambdabot> 6174
22:53:27 <oerjan> er
22:53:35 <oerjan> > 7462-(1277+9+1)
22:53:36 <lambdabot> 6175
22:54:08 <oerjan> subtracting all the flush variations gives your number
22:54:43 <kallisti> so my calculation is basically counting the distinct combinations of a sequence of card ranks from a deck.
22:54:56 <kallisti> er...
22:54:58 <kallisti> worded better
22:55:10 <kallisti> but not the distinct number of poker hands, ignoring suit.
22:55:53 <oerjan> mhm
22:56:40 <kallisti> heh, I like you've got a 50/50 chance of just getting a really shitty hand
22:56:52 <kallisti> 50% of just a high card.
22:57:02 <kallisti> assuming that the deck is full even.
22:57:34 <kallisti> and then the probabilities of everything else drop hugely
22:58:28 <kallisti> this is why I'm bad at poker
22:58:30 <kallisti> not lucky enough.
22:59:41 <kallisti> maybe I'd be better at lowball poker.
22:59:50 <oerjan> i hear luck has almost nothing to do with it.
22:59:55 <kallisti> so have I.
23:00:20 <kallisti> I mean, making money with poker requires skill
23:00:22 <kallisti> getting good hands
23:00:24 <kallisti> requires luck.
23:01:38 -!- augur has quit (Remote host closed the connection).
23:02:06 -!- iconmaster has quit (Ping timeout: 276 seconds).
23:03:49 <kallisti> I would think lowball rules severely fucks up the game/
23:04:14 <kallisti> so that betting is essentially much riskier.
23:09:19 <kallisti> huh wait...
23:09:21 <kallisti> A wheel or bicycle is the poker hand 5-4-3-2-A, regardless of suit, which is a five-high straight, the lowest-ranking of the straights.
23:09:24 <kallisti> In ace-to-five low poker, where aces are allowed to play as low and straights and flushes do not count against a hand's "low" status, this is the best possible hand.
23:09:33 <kallisti> that's lame. straights and flushes should count against your hand's lowness
23:10:02 <kallisti> you should calculate the priority of your hand as normal, and then invert the ordering.
23:11:15 <kallisti> Deuce-to-seven low is often called Kansas City lowball (the no-limit single-draw variation) or just "low poker". It is almost the direct opposite of standard poker: high hand loses. It is not as commonly used as the ace-to-five low method.
23:11:38 <kallisti> so then the best hand would be 7-5-4-3-2
23:12:36 -!- DCliche has joined.
23:12:47 <kallisti> that would otherwise be the worst possible hand in the game.
23:16:15 <kallisti> plus the deuce-to-seven low hands sound cooler. "Seven perfect", "the nuts", "number one", "eight perfect", "rough eighty-six", "eighty-seven smooth", "average eight", "rough eighty-seven", "nine perfect"
23:16:19 -!- Klisz has quit (Ping timeout: 248 seconds).
23:21:46 <kallisti> hmmm oh ace-to-six low is similar to deuce-to-seven except that aces are considered low.
23:42:33 * Phantom_Hoover → sleep
23:42:34 -!- Phantom_Hoover has quit (Quit: Leaving).
23:51:57 -!- monqy has joined.
23:55:55 -!- Jafet has joined.
←2012-01-04 2012-01-05 2012-01-06→ ↑2012 ↑all